@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --ink: #030405;
  --ink-soft: #090b0d;
  --panel: #0f1215;
  --paper: #edf1f3;
  --paper-warm: #ece9e3;
  --text: #f5f4f0;
  --muted: rgba(229, 235, 239, 0.66);
  --steel: #aec0cc;
  --steel-bright: #dcebf4;
  --steel-deep: #6e8391;
  --line: rgba(218, 232, 240, 0.12);
  --line-strong: rgba(174, 192, 204, 0.28);
  --shadow: 0 30px 90px rgba(0, 0, 0, 0.34);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', Arial, sans-serif;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); color-scheme: dark; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 12% 0%, rgba(174, 192, 204, .06), transparent 28rem),
    linear-gradient(180deg, var(--ink) 0%, #07090a 48%, var(--ink) 100%);
  color: var(--text);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: rgba(174, 192, 204, .34); color: #fff; }
img { display: block; width: 100%; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p { margin: 0; line-height: 1.82; }
h1, h2, h3, .serif, .logo {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.045em;
}
button, input, select, textarea { font: inherit; }
.container { width: min(var(--container), calc(100% - 3rem)); margin-inline: auto; }

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  background: rgba(3, 4, 5, .62);
  border-bottom: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  transition: background .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.site-header.is-scrolled {
  background: rgba(3, 4, 5, .92);
  border-bottom-color: var(--line);
  box-shadow: 0 12px 44px rgba(0,0,0,.25);
}
.header-inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; min-height: 76px; }
.logo { color: #fff; font-size: 1.5rem; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.logo::after { content: ''; display: block; width: 32px; height: 1px; margin-top: .35rem; background: linear-gradient(90deg, var(--steel-bright), transparent); opacity: .55; }
nav { display: flex; align-items: center; gap: clamp(1rem, 2.2vw, 2rem); }
nav a { position: relative; color: rgba(245,244,240,.72); font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; transition: color .25s var(--ease); }
nav a::after { content: ''; position: absolute; left: 0; bottom: -.55rem; width: 100%; height: 1px; background: var(--steel-bright); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--ease); }
nav a:hover, nav a.active { color: var(--steel-bright); }
nav a:hover::after, nav a.active::after { transform: scaleX(1); transform-origin: left; }
.nav-request { padding: .72rem 1.08rem; border: 1px solid var(--line-strong); border-radius: 999px; background: rgba(174,192,204,.06); }
.nav-request::after { display: none; }

/* Shared type */
.eyebrow { display: inline-block; margin-bottom: 1.15rem; color: var(--steel-bright); font-size: .66rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.display { font-size: clamp(4.2rem, 9vw, 8.8rem); line-height: .82; text-wrap: balance; }
.section-title { color: var(--text); font-size: clamp(3rem, 5.6vw, 5.8rem); line-height: .9; text-wrap: balance; }
.section-copy { max-width: 680px; margin-top: 1.35rem; color: var(--muted); font-size: 1rem; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr); align-items: end; gap: 4rem; margin-bottom: 4rem; }
.section-heading .section-copy { margin-top: 0; }
.center { text-align: center; }
.center .section-copy { margin-inline: auto; }

/* Buttons */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .95rem 1.45rem; overflow: hidden; border: 1px solid transparent; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: transform .25s var(--ease), color .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease); }
.btn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.3), transparent 80%); transform: translateX(-130%); transition: transform .55s var(--ease); }
.btn:hover::before { transform: translateX(130%); }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--steel-bright), #849ba9); color: #050607; box-shadow: 0 14px 34px rgba(124,151,168,.16); }
.btn-primary:hover { box-shadow: 0 20px 48px rgba(124,151,168,.24); }
.btn-secondary { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.025); color: #f4f7f9; }
.btn-secondary:hover { border-color: var(--line-strong); color: var(--steel-bright); background: rgba(174,192,204,.06); }
.btn-dark { background: #070809; color: #fff; }
.text-link { display: inline-flex; align-items: center; gap: .7rem; padding-bottom: .35rem; border-bottom: 1px solid var(--line-strong); color: var(--steel-bright); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: gap .25s var(--ease), border-color .25s var(--ease); }
.text-link:hover { gap: 1rem; border-color: var(--steel-bright); }

/* Shared hero */
.hero { position: relative; min-height: 84svh; display: flex; align-items: flex-end; padding: 10rem 0 7rem; overflow: hidden; isolation: isolate; background-position: center; background-size: cover; }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.34) 48%, rgba(0,0,0,.12) 72%, rgba(0,0,0,.42) 100%), linear-gradient(180deg, rgba(0,0,0,.08) 30%, var(--ink) 100%); }
.hero::after { content: ''; position: absolute; right: max(1.5rem, calc((100vw - var(--container))/2)); bottom: 2.2rem; left: max(1.5rem, calc((100vw - var(--container))/2)); height: 1px; background: linear-gradient(90deg, rgba(174,192,204,.12), rgba(220,235,244,.58), rgba(174,192,204,.12)); }
.hero-copy { max-width: 850px; }
.hero h1 { color: #fff; text-shadow: 0 20px 70px rgba(0,0,0,.42); }
.hero p { max-width: 620px; margin-top: 1.45rem; color: rgba(239,244,247,.76); font-size: clamp(1rem, 1.4vw, 1.12rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.1rem; }
.page-home .hero { min-height: 100svh; align-items: center; background-image: url('images/IndexMainPic.png'); }
.page-home .hero::before { background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.38) 48%, rgba(0,0,0,.08) 78%), linear-gradient(180deg, rgba(0,0,0,.05), var(--ink)); }
.page-approach .hero { background-image: url('images/AboutMain.png'); background-position: right center; }
.page-experiences .hero { background-image: url('images/ExperiencesMain.png'); }
.page-fleet .hero { background-image: url('images/MaybachFleetPicture2.png'); }
.page-reserve .hero { min-height: 66svh; align-items: center; text-align: center; background: radial-gradient(circle at 50% 20%, rgba(174,192,204,.13), transparent 28rem), linear-gradient(180deg, #080b0d, var(--ink)); }
.page-reserve .hero::before { background: linear-gradient(180deg, rgba(0,0,0,.02), var(--ink)); }
.page-reserve .hero-copy { margin-inline: auto; }
.page-reserve .hero p { margin-inline: auto; }

/* Section shells */
section { position: relative; padding: 8.5rem 0; }
.section-dark { background: radial-gradient(circle at 15% 0%, rgba(174,192,204,.06), transparent 28rem), #080a0c; border-block: 1px solid rgba(255,255,255,.045); }
.rule { height: 1px; background: var(--line); }

/* Home */
.home-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: end; gap: clamp(3rem, 8vw, 8rem); width: 100%; }
.home-detail { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; padding: 1.4rem 0 1.4rem 1.4rem; border-left: 1px solid var(--line-strong); }
.home-detail-index { color: var(--steel-deep); font-size: .68rem; font-weight: 700; letter-spacing: .16em; }
.home-detail strong { display: block; margin-bottom: .45rem; color: #edf6fb; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; }
.home-detail p { margin: 0; color: rgba(239,244,247,.64); font-size: .9rem; line-height: 1.7; }

.scroll-story { height: 300svh; padding: 0; background: var(--ink); }
.scroll-story-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.story-image { position: absolute; inset: 0; opacity: 0; transform: scale(1.045); transition: opacity .72s var(--ease), transform 1.15s var(--ease); }
.story-image.is-active { opacity: 1; transform: scale(1); }
.story-image img { height: 100%; object-fit: cover; }
.story-shade { position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.52) 46%, rgba(0,0,0,.12) 75%), linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.68)); }
.story-frame { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 8rem 0 3rem; }
.story-top { display: flex; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.18); color: rgba(239,244,247,.58); font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.story-copy { position: relative; min-height: 380px; max-width: 820px; }
.story-step { position: absolute; inset: auto 0 0; opacity: 0; transform: translateY(28px); pointer-events: none; transition: opacity .48s var(--ease), transform .62s var(--ease); }
.story-step.is-active { opacity: 1; transform: none; pointer-events: auto; }
.story-step h2 { max-width: 800px; color: #fff; font-size: clamp(3.5rem, 6.5vw, 6.8rem); line-height: .86; text-shadow: 0 20px 70px rgba(0,0,0,.5); }
.story-step p { max-width: 590px; margin-top: 1.3rem; color: rgba(239,244,247,.72); }
.story-progress { height: 1px; background: rgba(255,255,255,.16); }
.story-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--steel-bright), var(--steel-deep)); transform: scaleX(0); transform-origin: left; }

.editorial-split { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(4rem, 8vw, 8rem); }
.editorial-copy h2 { margin-bottom: 1.6rem; }
.editorial-copy p { max-width: 610px; color: var(--muted); }
.editorial-copy .text-link { margin-top: 2rem; }
.editorial-gallery { position: relative; min-height: 710px; }
.editorial-gallery figure { position: absolute; margin: 0; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.editorial-gallery figure:first-child { top: 0; right: 0; width: 78%; height: 560px; }
.editorial-gallery figure:last-child { bottom: 0; left: 0; width: 54%; height: 330px; }
.editorial-gallery img { height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.editorial-gallery figure:hover img { transform: scale(1.025); }
.editorial-gallery figcaption { position: absolute; right: 1.2rem; bottom: 1rem; left: 1.2rem; z-index: 2; display: flex; justify-content: space-between; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.24); color: rgba(245,248,250,.72); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.editorial-gallery figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.7), transparent 44%); }

.standard-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(4rem, 9vw, 9rem); }
.standard-intro { position: sticky; top: 0; align-self: start; display: flex; flex-direction: column; justify-content: center; min-height: 100svh; }
.standard-intro p { max-width: 430px; margin-top: 1.4rem; color: var(--muted); }
.standard-list { padding: 13vh 0; }
.standard-item { display: grid; grid-template-columns: 60px 1fr; min-height: 74svh; align-content: center; gap: 2rem; border-bottom: 1px solid var(--line); }
.standard-item:first-child { border-top: 1px solid var(--line); }
.standard-number { color: var(--steel-deep); font-size: .7rem; font-weight: 700; letter-spacing: .16em; }
.standard-item h3 { color: #fff; font-size: clamp(3.2rem, 5.4vw, 5.6rem); line-height: .88; }
.standard-item p { max-width: 620px; margin-top: 1rem; color: var(--muted); }
.standard-tag { display: inline-block; margin-top: 1.5rem; padding-bottom: .45rem; border-bottom: 1px solid var(--line-strong); color: var(--steel); font-size: .66rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-block: 1px solid var(--line); }
.audience-card { position: relative; min-height: 320px; padding: 2.5rem 2.2rem; }
.audience-card + .audience-card { border-left: 1px solid var(--line); }
.audience-card span { color: var(--steel-deep); font-size: .68rem; font-weight: 700; letter-spacing: .16em; }
.audience-card h3 { margin-top: 2.2rem; color: #fff; font-size: 2.5rem; }
.audience-card p { max-width: 310px; margin-top: .8rem; color: var(--muted); }
.audience-card .text-link { position: absolute; right: 2.2rem; bottom: 2.3rem; left: 2.2rem; }

.flagship-heading { display: grid; grid-template-columns: 1fr .62fr; align-items: end; gap: 4rem; margin-bottom: 3rem; }
.flagship-heading p { color: var(--muted); }
.home-flagship { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 690px; overflow: hidden; border: 1px solid rgba(174,192,204,.18); border-radius: 24px; box-shadow: var(--shadow); }
.home-flagship-media { position: relative; min-height: 690px; overflow: hidden; }
.home-flagship-media img { height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.home-flagship:hover .home-flagship-media img { transform: scale(1.018); }
.home-flagship-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,.48), transparent 58%), linear-gradient(to top, rgba(0,0,0,.45), transparent 50%); }
.media-badge { position: absolute; top: 2rem; left: 2rem; z-index: 2; padding: .65rem 1rem; border: 1px solid rgba(220,235,244,.36); border-radius: 999px; background: rgba(3,7,10,.72); color: #f3f9fc; font-size: .65rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; backdrop-filter: blur(12px); }
.media-caption { position: absolute; right: 2rem; bottom: 1.8rem; left: 2rem; z-index: 2; display: flex; justify-content: space-between; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.26); color: rgba(245,249,251,.7); font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.home-flagship-panel { padding: clamp(2rem, 4vw, 3.6rem); background: radial-gradient(circle at 100% 0%, rgba(174,192,204,.26), transparent 23rem), linear-gradient(180deg, #f0eeea, #d8d5cf); color: #111; }
.home-flagship-panel h3 { color: #111; font-size: clamp(2.8rem, 4.2vw, 4.4rem); line-height: .9; }
.home-flagship-panel > p { margin-top: 1rem; color: #555; }
.detail-list { margin: 2rem 0; border-top: 1px solid rgba(0,0,0,.12); }
.detail-row { display: grid; grid-template-columns: 38px 1fr; gap: .9rem; padding: 1.1rem 0; border-bottom: 1px solid rgba(0,0,0,.12); }
.detail-row > span { color: #70838f; font-size: .65rem; font-weight: 700; }
.detail-row strong { color: #161616; font-size: .88rem; }
.detail-row p { margin-top: .25rem; color: #666; font-size: .83rem; line-height: 1.55; }
.booking-price { margin-bottom: 1.5rem; }
.booking-price span { display: block; color: #70838f; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.booking-price strong { display: block; margin-top: .35rem; color: #111; font-family: var(--serif); font-size: 2.35rem; }
.booking-price p { max-width: 360px; margin-top: .35rem; color: #666; font-size: .8rem; line-height: 1.5; }

.trust-band { padding: 0; background: #07090a; border-block: 1px solid var(--line); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { display: flex; align-items: center; gap: .9rem; min-height: 110px; padding: 1.8rem 1.3rem; }
.trust-item + .trust-item { border-left: 1px solid var(--line); }
.trust-dot { width: 6px; height: 6px; flex: 0 0 auto; border: 1px solid var(--steel); border-radius: 50%; box-shadow: 0 0 0 5px rgba(174,192,204,.045); }
.trust-item p { color: rgba(239,244,247,.64); font-size: .78rem; line-height: 1.55; }
.final-cta { min-height: 84svh; display: grid; place-items: center; text-align: center; background: radial-gradient(circle at 50% 20%, rgba(174,192,204,.14), transparent 28rem), var(--ink); }
.final-cta h2 { max-width: 920px; }
.final-cta p { max-width: 650px; margin: 1.5rem auto 2.2rem; color: var(--muted); }

/* Interior pages */
.editorial-intro { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(4rem, 8vw, 8rem); }
.editorial-intro-copy p { margin-top: 1.2rem; color: var(--muted); }
.editorial-intro-image { position: relative; min-height: 620px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.editorial-intro-image img { height: 100%; object-fit: cover; }
.editorial-intro-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.44), transparent 50%); }
.image-caption { position: absolute; right: 1.5rem; bottom: 1.3rem; left: 1.5rem; z-index: 2; display: flex; justify-content: space-between; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.24); color: rgba(245,249,251,.7); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }

.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-block: 1px solid var(--line); }
.value-card { min-height: 310px; padding: 2.4rem 2rem; }
.value-card + .value-card { border-left: 1px solid var(--line); }
.value-card span { color: var(--steel-deep); font-size: .67rem; font-weight: 700; letter-spacing: .16em; }
.value-card h3 { margin-top: 2rem; color: #fff; font-size: 2.5rem; }
.value-card p { margin-top: .75rem; color: var(--muted); }

.manifesto { overflow: hidden; }
.manifesto::before { content: 'SEVRANNE'; position: absolute; right: -1rem; bottom: -4rem; color: rgba(255,255,255,.018); font-family: var(--serif); font-size: clamp(10rem, 24vw, 24rem); line-height: .7; pointer-events: none; }
.manifesto-grid { display: grid; grid-template-columns: .62fr 1.38fr; gap: clamp(4rem, 9vw, 9rem); }
.manifesto-quote { color: #fff; font-family: var(--serif); font-size: clamp(3.2rem, 6vw, 6.2rem); line-height: .88; letter-spacing: -.055em; }
.manifesto-list { border-top: 1px solid var(--line); }
.manifesto-row { display: grid; grid-template-columns: 46px 1fr; gap: 1.2rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.manifesto-row span { color: var(--steel-deep); font-size: .67rem; font-weight: 700; }
.manifesto-row h3 { color: #fff; font-size: 1.7rem; }
.manifesto-row p { margin-top: .35rem; color: var(--muted); }

.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 4rem; background: var(--line); border: 1px solid var(--line); }
.service-card { position: relative; min-height: 420px; padding: 2.5rem; overflow: hidden; background: var(--ink-soft); }
.service-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 100% 0%, rgba(174,192,204,.09), transparent 20rem); opacity: 0; transition: opacity .3s var(--ease); }
.service-card:hover::before { opacity: 1; }
.service-card > * { position: relative; z-index: 1; }
.service-card span { color: var(--steel-deep); font-size: .67rem; font-weight: 700; letter-spacing: .15em; }
.service-card h3 { margin-top: 8rem; color: #fff; font-size: clamp(2.6rem, 4vw, 4rem); line-height: .92; }
.service-card p { max-width: 450px; margin-top: 1rem; color: var(--muted); }

.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; border-block: 1px solid var(--line); }
.process-step { min-height: 250px; padding: 2rem 1.5rem; }
.process-step + .process-step { border-left: 1px solid var(--line); }
.process-step span { color: var(--steel-deep); font-size: .67rem; font-weight: 700; letter-spacing: .15em; }
.process-step h3 { margin-top: 3.7rem; color: #fff; font-size: 2rem; }
.process-step p { margin-top: .65rem; color: var(--muted); font-size: .92rem; }

.fleet-feature { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 700px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 24px; box-shadow: var(--shadow); }
.fleet-feature-media { position: relative; min-height: 700px; overflow: hidden; }
.fleet-feature-media img { height: 100%; object-fit: cover; }
.fleet-feature-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,.45), transparent 56%), linear-gradient(to top, rgba(0,0,0,.55), transparent 48%); }
.fleet-feature-copy { padding: clamp(2rem, 4.5vw, 4.5rem); background: radial-gradient(circle at 100% 0%, rgba(174,192,204,.24), transparent 24rem), linear-gradient(180deg, #f1efeb, #d8d5cf); color: #111; }
.fleet-feature-copy h2 { color: #111; font-size: clamp(3rem, 5vw, 5rem); line-height: .88; }
.fleet-feature-copy > p { margin-top: 1rem; color: #555; }
.fleet-specs { margin: 2rem 0; border-top: 1px solid rgba(0,0,0,.12); }
.fleet-spec { display: grid; grid-template-columns: 34px 1fr; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid rgba(0,0,0,.12); }
.fleet-spec span { color: #71848f; font-size: .65rem; font-weight: 700; }
.fleet-spec strong { display: block; color: #171717; font-size: .9rem; }
.fleet-spec p { margin-top: .25rem; color: #666; font-size: .83rem; line-height: 1.55; }
.fleet-price { margin-bottom: 1.5rem; }
.fleet-price span { display: block; color: #71848f; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.fleet-price strong { display: block; margin-top: .3rem; color: #111; font-family: var(--serif); font-size: 2.6rem; }
.fleet-price p { color: #666; font-size: .8rem; }
.collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 4rem; }
.collection-card { overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.collection-card img { height: 300px; object-fit: cover; transition: transform .65s var(--ease); }
.collection-card:hover img { transform: scale(1.025); }
.collection-copy { padding: 1.6rem; }
.collection-copy h3 { color: #fff; font-size: 2rem; }
.collection-copy p { margin-top: .55rem; color: var(--muted); }
.collection-copy .text-link { margin-top: 1.3rem; }

/* Reserve */
.inquiry-shell { width: min(960px, calc(100% - 3rem)); margin: -4rem auto 8rem; position: relative; z-index: 3; }
.inquiry-note { display: flex; justify-content: space-between; gap: 2rem; padding: 1.2rem 1.4rem; border: 1px solid var(--line); border-bottom: 0; background: rgba(10,13,15,.96); color: var(--muted); font-size: .82rem; }
.inquiry-note span { color: var(--steel); font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.inquiry-card { padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--line-strong); background: radial-gradient(circle at 0% 0%, rgba(174,192,204,.09), transparent 24rem), rgba(13,16,18,.98); box-shadow: var(--shadow); }
.inquiry-card h2 { color: #fff; font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: .9; }
.inquiry-card > p { max-width: 620px; margin-top: 1rem; color: var(--muted); }
form { display: grid; gap: 1rem; margin-top: 2.4rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.field-group { display: grid; gap: .5rem; }
label { color: var(--steel); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
input, select, textarea { width: 100%; padding: 1rem; border: 1px solid rgba(255,255,255,.11); border-radius: 0; outline: none; background: rgba(255,255,255,.035); color: var(--text); transition: border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease); }
input::placeholder, textarea::placeholder { color: rgba(239,244,247,.35); }
input:focus, select:focus, textarea:focus { border-color: rgba(174,192,204,.62); background: rgba(255,255,255,.055); box-shadow: 0 0 0 3px rgba(174,192,204,.08); }
select option { background: #0c0e10; color: #fff; }
textarea { min-height: 160px; resize: vertical; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: .6rem; }
.form-actions p { max-width: 470px; color: rgba(239,244,247,.45); font-size: .78rem; line-height: 1.55; }

/* Footer */
footer { padding: 4.5rem 0; border-top: 1px solid var(--line); background: linear-gradient(180deg, #080a0b, var(--ink)); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 3rem; }
.footer-logo { margin-bottom: .9rem; }
.footer-col h4 { margin: 0 0 1rem; color: var(--steel); font-family: var(--sans); font-size: .67rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.footer-col p, .footer-col a { color: rgba(239,244,247,.54); font-size: .88rem; line-height: 1.9; }
.footer-col a:hover { color: var(--steel-bright); }
.footer-meta { margin-top: 1.2rem; font-size: .76rem !important; }

/* Reveal motion: transform + opacity only */
.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .72s var(--ease), transform .72s var(--ease); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal-delay='1'] { transition-delay: .08s !important; }
[data-reveal-delay='2'] { transition-delay: .16s !important; }
[data-reveal-delay='3'] { transition-delay: .24s !important; }

/* Responsive */
@media (max-width: 1050px) {
  .home-hero-grid, .editorial-split, .standard-grid, .editorial-intro, .manifesto-grid, .fleet-feature, .home-flagship, .flagship-heading, .section-heading { grid-template-columns: 1fr; }
  .home-detail { max-width: 520px; }
  .editorial-gallery { min-height: 650px; }
  .standard-intro { position: relative; min-height: auto; padding-top: 1rem; }
  .standard-list { padding: 3rem 0 0; }
  .standard-item { min-height: auto; padding: 5rem 0; }
  .fleet-feature-media, .home-flagship-media { min-height: 520px; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .trust-item:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .site-header { position: sticky; }
  .header-inner { flex-direction: column; justify-content: center; min-height: auto; padding: 1rem 0; }
  .logo { text-align: center; }
  .logo::after { margin-inline: auto; }
  nav { width: 100%; justify-content: center; gap: .85rem; }
  nav a { font-size: .59rem; letter-spacing: .12em; }
  .nav-request { padding: 0; border: 0; background: none; }
  .nav-request::after { display: block; }
  .container { width: min(var(--container), calc(100% - 2rem)); }
  .hero { min-height: 76svh; padding: 8rem 0 5rem; }
  .page-home .hero { min-height: 92svh; }
  .home-detail { display: none; }
  section { padding: 6rem 0; }
  .section-heading { gap: 1.5rem; margin-bottom: 3rem; }
  .display { font-size: clamp(4rem, 19vw, 6.5rem); }
  .section-title { font-size: clamp(3rem, 13vw, 5rem); }
  .editorial-gallery { display: grid; min-height: auto; gap: 1rem; }
  .editorial-gallery figure { position: relative; inset: auto !important; width: 100% !important; height: 430px !important; }
  .editorial-gallery figure:last-child { width: 78% !important; height: 280px !important; margin-left: auto; }
  .values-grid, .audience-grid, .process-grid, .collection-grid { grid-template-columns: 1fr; }
  .value-card + .value-card, .audience-card + .audience-card, .process-step + .process-step { border-left: 0; border-top: 1px solid var(--line); }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 350px; }
  .service-card h3 { margin-top: 5rem; }
  .fleet-feature, .home-flagship { border-radius: 16px; }
  .fleet-feature-media, .home-flagship-media { min-height: 420px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-actions { align-items: flex-start; flex-direction: column; }
  .form-actions .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .container { width: min(var(--container), calc(100% - 1.25rem)); }
  nav { gap: .62rem; }
  nav a { font-size: .54rem; }
  .hero { padding-top: 7rem; }
  .story-frame { padding-top: 6.5rem; padding-bottom: 2rem; }
  .story-copy { min-height: 420px; }
  .story-step h2 { font-size: clamp(2.8rem, 15vw, 4.5rem); }
  .story-shade { background: linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.48) 42%, rgba(0,0,0,.9)); }
  .standard-item { grid-template-columns: 1fr; gap: 1rem; }
  .audience-card { min-height: 280px; padding-inline: 1.35rem; }
  .audience-card .text-link { right: 1.35rem; left: 1.35rem; }
  .editorial-intro-image { min-height: 420px; }
  .fleet-feature-media, .home-flagship-media { min-height: 350px; }
  .media-badge { top: 1rem; left: 1rem; }
  .media-caption { right: 1rem; bottom: 1rem; left: 1rem; }
  .inquiry-shell { width: min(100% - 1.25rem, 960px); margin-top: -2rem; }
  .inquiry-note { flex-direction: column; gap: .4rem; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item + .trust-item, .trust-item:nth-child(3), .trust-item:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js [data-reveal] { opacity: 1 !important; transform: none !important; }
  .scroll-story { height: auto; }
  .scroll-story-sticky { position: relative; height: auto; min-height: 760px; }
  .story-image:not(:first-child), .story-step:not(:first-child) { display: none; }
  .story-image:first-child, .story-step:first-child { opacity: 1; transform: none; }
}

/* =========================================================
   FINAL ALIGNMENT + VERTICAL RHYTHM REFINEMENT
   Shared across Home, Approach, Experiences, Fleet, Reserve
   ========================================================= */

:root {
  --space-section-desktop: clamp(7rem, 8.5vw, 9.5rem);
  --space-section-compact: clamp(5.5rem, 7vw, 7.5rem);
  --space-section-mobile: clamp(4.75rem, 14vw, 6.25rem);
}

/* A consistent section cadence without flattening the editorial rhythm. */
main > section:not(.hero):not(.scroll-story):not(.trust-band):not(.final-cta) {
  padding-block: var(--space-section-desktop);
}

/* Slightly tighter utility/band sections create contrast between major moments. */
.section-dark,
.manifesto,
.page-experiences .process-section,
.page-fleet .collection-section {
  padding-block: var(--space-section-compact);
}

/* Preserve intentionally cinematic home sections. */
.page-home .scroll-story,
.page-home .trust-band {
  padding-block: 0;
}

/* Give the first editorial section after an interior-page hero a clean breath. */
.page-approach .hero + section,
.page-experiences .hero + section,
.page-fleet .hero + section {
  padding-top: clamp(7.5rem, 9vw, 10rem);
}

/* Keep section headings visually connected to the content they introduce. */
.section-heading {
  margin-bottom: clamp(3rem, 4.5vw, 4.5rem);
}

.values-grid,
.service-grid,
.process-grid,
.collection-grid {
  margin-top: clamp(3rem, 4.5vw, 4.25rem);
}

/* Editorial paragraphs should read as one intentional block. */
.editorial-intro-copy p + p {
  margin-top: 0.9rem;
}

/* ---------------------------------------------------------
   Final CTA: true optical and mathematical centering
   --------------------------------------------------------- */

.final-cta {
  min-height: clamp(650px, 78svh, 900px);
  padding-block: clamp(8rem, 11vw, 12rem) !important;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
}

.final-cta > .container {
  width: min(960px, calc(100% - 3rem));
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.final-cta .eyebrow {
  margin-inline: auto;
  text-align: center;
}

.final-cta .section-title,
.final-cta h2 {
  width: 100%;
  max-width: 920px;
  margin-inline: auto;
  text-align: center;
}

.final-cta p {
  width: min(100%, 650px);
  margin: 1.5rem auto 2.35rem;
  text-align: center;
}

.final-cta .btn {
  margin-inline: auto;
}

/* Prevent reveal transforms from making centered CTA copy look offset. */
.final-cta [data-reveal] {
  transform: translate3d(0, 22px, 0);
}

.final-cta [data-reveal].is-visible {
  transform: translate3d(0, 0, 0);
}

/* Footer separation: enough air after the CTA without an empty-looking gap. */
.final-cta + footer,
main + footer {
  position: relative;
}

footer {
  padding-block: clamp(4rem, 5vw, 5.25rem);
}

/* Reserve has no final CTA; balance the form-to-footer transition instead. */
.page-reserve .inquiry-shell {
  margin-bottom: clamp(6.5rem, 9vw, 9rem);
}

/* ---------------------------------------------------------
   Tablet and mobile rhythm
   --------------------------------------------------------- */

@media (max-width: 1050px) {
  main > section:not(.hero):not(.scroll-story):not(.trust-band):not(.final-cta) {
    padding-block: clamp(6rem, 9vw, 7.5rem);
  }

  .page-approach .hero + section,
  .page-experiences .hero + section,
  .page-fleet .hero + section {
    padding-top: clamp(6.5rem, 10vw, 8rem);
  }

  .final-cta {
    min-height: 70svh;
  }
}

@media (max-width: 820px) {
  main > section:not(.hero):not(.scroll-story):not(.trust-band):not(.final-cta) {
    padding-block: var(--space-section-mobile);
  }

  .section-dark,
  .manifesto {
    padding-block: var(--space-section-mobile);
  }

  .page-approach .hero + section,
  .page-experiences .hero + section,
  .page-fleet .hero + section {
    padding-top: var(--space-section-mobile);
  }

  .section-heading {
    margin-bottom: 2.75rem;
  }

  .values-grid,
  .service-grid,
  .process-grid,
  .collection-grid {
    margin-top: 2.75rem;
  }

  .final-cta {
    min-height: auto;
    padding-block: clamp(6.5rem, 20vw, 8.5rem) !important;
  }

  .final-cta > .container {
    width: min(100% - 2rem, 760px);
  }

  .final-cta p {
    margin-top: 1.25rem;
    margin-bottom: 2rem;
  }

  footer {
    padding-block: 4rem;
  }
}

@media (max-width: 560px) {
  .final-cta > .container {
    width: min(100% - 1.25rem, 680px);
  }

  .final-cta .section-title,
  .final-cta h2 {
    font-size: clamp(3rem, 15vw, 4.7rem);
    line-height: 0.92;
  }

  .final-cta .btn {
    width: auto;
    min-width: min(100%, 220px);
  }
}

/* =========================================================
   LOCAL POLISH PASS 01
   Accessible navigation, mobile conversion, form preview
   ========================================================= */

body.menu-open { overflow: hidden; }

.skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 2000;
  padding: .8rem 1rem;
  background: var(--steel-bright);
  color: #050607;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: translateY(-160%);
  transition: transform .2s var(--ease);
}
.skip-link:focus { transform: translateY(0); }

.menu-toggle,
.menu-backdrop { display: none; }

.eyebrow-on-light {
  color: var(--steel-deep) !important;
  text-shadow: none !important;
}
.text-link-on-light {
  color: #202427 !important;
  border-color: rgba(0,0,0,.25) !important;
}

:focus-visible {
  outline: 2px solid var(--steel-bright);
  outline-offset: 4px;
}

.form-status {
  display: none;
  margin-top: .35rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line-strong);
  background: rgba(174,192,204,.07);
  color: rgba(239,244,247,.78);
  font-size: .83rem;
  line-height: 1.6;
}
.form-status.is-visible { display: block; }
.form-status.is-success { border-color: rgba(174,192,204,.42); }
.form-status.is-error { border-color: rgba(220,150,150,.45); color: #f1caca; }

.direct-contact {
  display: grid;
  grid-template-columns: minmax(180px,.45fr) 1fr;
  gap: 2rem;
  padding: 1.35rem 1.5rem;
  border: 1px solid var(--line);
  border-top: 0;
  background: rgba(7,9,10,.96);
}
.direct-contact > span {
  color: var(--steel);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.direct-contact p,
.direct-contact a {
  color: rgba(239,244,247,.58);
  font-size: .82rem;
  line-height: 1.65;
}
.direct-contact a {
  color: var(--steel-bright);
  border-bottom: 1px solid var(--line-strong);
}

@media (max-width: 820px) {
  .site-header { position: sticky; }
  .header-inner {
    position: relative;
    flex-direction: row;
    justify-content: space-between;
    min-height: 68px;
    padding: 0;
  }
  .logo { text-align: left; font-size: 1.28rem; }
  .logo::after { margin-inline: 0; }

  .menu-toggle {
    position: relative;
    z-index: 1003;
    display: inline-flex;
    width: 46px;
    height: 46px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    background: rgba(174,192,204,.05);
    color: #fff;
    cursor: pointer;
  }
  .menu-toggle-line {
    display: block;
    width: 18px;
    height: 1px;
    background: currentColor;
    transition: transform .3s var(--ease), opacity .2s var(--ease);
  }
  .menu-toggle[aria-expanded='true'] .menu-toggle-line:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] .menu-toggle-line:last-child { transform: translateY(-4px) rotate(-45deg); }

  .site-header nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1002;
    width: min(88vw, 410px);
    height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    padding: 7rem clamp(1.5rem,7vw,3rem) 3rem;
    border-left: 1px solid var(--line);
    background:
      radial-gradient(circle at 100% 0%, rgba(174,192,204,.13), transparent 24rem),
      rgba(5,7,8,.985);
    box-shadow: -24px 0 70px rgba(0,0,0,.42);
    transform: translateX(105%);
    visibility: hidden;
    transition: transform .45s var(--ease), visibility .45s;
  }
  .site-header nav.is-open { transform: translateX(0); visibility: visible; }
  .site-header nav a {
    display: flex;
    align-items: center;
    min-height: 66px;
    padding: 0;
    border-bottom: 1px solid var(--line);
    color: rgba(245,244,240,.78);
    font-family: var(--serif);
    font-size: clamp(1.8rem, 8vw, 2.6rem);
    font-weight: 500;
    letter-spacing: -.035em;
    text-transform: none;
  }
  .site-header nav a:first-child { border-top: 1px solid var(--line); }
  .site-header nav a::after { display: none; }
  .site-header nav a.active { color: var(--steel-bright); }
  .site-header nav .nav-request {
    min-height: 52px;
    justify-content: center;
    margin-top: 1.5rem;
    padding: .85rem 1rem;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    background: linear-gradient(135deg, var(--steel-bright), #849ba9);
    color: #050607;
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1001;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0,0,0,.58);
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: opacity .35s var(--ease), visibility .35s;
  }
  .menu-backdrop.is-visible { opacity: 1; visibility: visible; }

  .direct-contact { grid-template-columns: 1fr; gap: .55rem; }
}

@media (max-width: 560px) {
  .header-inner { min-height: 64px; }
  .logo { font-size: 1.12rem; letter-spacing: .16em; }
  .menu-toggle { width: 42px; height: 42px; }
  .page-home .hero { min-height: calc(100svh - 64px); }
  .hero-actions { width: 100%; }
  .page-home .hero-actions .btn { flex: 1 1 100%; }
  .inquiry-card { padding: 1.35rem; }
  .direct-contact { padding: 1.15rem 1.25rem; }
}

/* =========================================================
   CINEMATIC MOTION RESTORATION
   Restores premium page-entry, scroll reveal, and page-exit
   transitions while preserving reduced-motion accessibility.
   ========================================================= */

body {
  opacity: 1;
  transition: opacity .42s ease;
}

body.page-leaving {
  opacity: 0;
}

/* Hero entrance sequence */
.js .hero .eyebrow,
.js .hero .display,
.js .hero .hero-copy > p,
.js .hero .hero-actions,
.js .home-detail {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  filter: blur(5px);
}

.js.is-ready .hero .eyebrow,
.js.is-ready .hero .display,
.js.is-ready .hero .hero-copy > p,
.js.is-ready .hero .hero-actions,
.js.is-ready .home-detail {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity .9s var(--ease),
    transform 1.05s var(--ease),
    filter 1.05s var(--ease);
}

.js.is-ready .hero .eyebrow { transition-delay: .08s; }
.js.is-ready .hero .display { transition-delay: .16s; }
.js.is-ready .hero .hero-copy > p { transition-delay: .27s; }
.js.is-ready .hero .hero-actions { transition-delay: .38s; }
.js.is-ready .home-detail { transition-delay: .48s; }

/* Subtle opening movement in the hero background */
.hero::before {
  transform: scale(1.025);
  transition: transform 1.8s var(--ease);
}

.js.is-ready .hero::before {
  transform: scale(1);
}

/* Richer scroll reveals */
.js [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  filter: blur(7px);
  transition:
    opacity .88s var(--ease),
    transform 1s var(--ease),
    filter 1s var(--ease);
  will-change: opacity, transform, filter;
}

.js [data-reveal].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

[data-reveal-delay='1'] { transition-delay: .12s !important; }
[data-reveal-delay='2'] { transition-delay: .24s !important; }
[data-reveal-delay='3'] { transition-delay: .36s !important; }

/* Images reveal with restrained scale for a more editorial feel */
.js figure[data-reveal] img,
.js .fleet-feature[data-reveal] img,
.js .home-flagship[data-reveal] img,
.js .collection-card[data-reveal] img {
  transform: scale(1.045);
  transition: transform 1.45s var(--ease);
}

.js figure[data-reveal].is-visible img,
.js .fleet-feature[data-reveal].is-visible img,
.js .home-flagship[data-reveal].is-visible img,
.js .collection-card[data-reveal].is-visible img {
  transform: scale(1);
}

/* Restore the cinematic crossfade inside the homepage story */
.story-image {
  opacity: 0;
  transform: scale(1.075);
  filter: saturate(.86) brightness(.88);
  transition:
    opacity .95s var(--ease),
    transform 1.55s var(--ease),
    filter 1.25s var(--ease);
}

.story-image.is-active {
  opacity: 1;
  transform: scale(1);
  filter: saturate(1) brightness(1);
}

.story-step {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  filter: blur(6px);
  transition:
    opacity .62s var(--ease),
    transform .82s var(--ease),
    filter .82s var(--ease);
}

.story-step.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

/* Hover motion remains quiet, but visibly responsive */
.value-card,
.audience-card,
.process-step,
.service-card,
.collection-card {
  transition: transform .45s var(--ease), background .45s var(--ease), border-color .45s var(--ease);
}

@media (hover: hover) {
  .value-card:hover,
  .audience-card:hover,
  .process-step:hover {
    transform: translateY(-6px);
    background: rgba(174, 192, 204, .025);
  }

  .service-card:hover,
  .collection-card:hover {
    transform: translateY(-7px);
    border-color: rgba(174, 192, 204, .28);
  }
}

@media (prefers-reduced-motion: reduce) {
  body,
  body.page-leaving,
  .js .hero .eyebrow,
  .js .hero .display,
  .js .hero .hero-copy > p,
  .js .hero .hero-actions,
  .js .home-detail,
  .js [data-reveal],
  .story-image,
  .story-step {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* =========================================================
   INTERIOR EDITORIAL SYSTEM — HOMEPAGE V1 CONTINUATION
   ========================================================= */
.brand-lockup{display:inline-flex;align-items:center;gap:.8rem}.brand-lockup .logo::after{display:none}.brand-mark{width:24px;height:31px;object-fit:contain;opacity:.9}.footer-lockup{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.footer-lockup img{width:22px;height:30px;object-fit:contain}.footer-lockup .footer-logo{margin:0}.interior-hero{min-height:92svh;align-items:center;padding-top:11rem}.interior-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:clamp(4rem,8vw,8rem);width:100%}.interior-hero .hero-copy{max-width:820px}.interior-hero .display{font-size:clamp(4.5rem,8vw,8rem)}.hero-chapter{display:grid;grid-template-columns:42px 1fr;gap:.8rem;padding:1.4rem 0 1.4rem 1.4rem;border-left:1px solid var(--line-strong)}.hero-chapter>span{color:var(--steel-deep);font-size:.65rem;font-weight:700;letter-spacing:.16em}.hero-chapter strong{color:#fff;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.hero-chapter p{grid-column:2;color:rgba(239,244,247,.57);font-size:.84rem;line-height:1.65}.hero-watermark{position:absolute;right:6vw;bottom:7vh;width:clamp(220px,24vw,390px);opacity:.025;filter:blur(.4px);pointer-events:none}.hero-watermark img{width:100%}.editorial-chapter{overflow:hidden}.chapter-light{background:linear-gradient(150deg,#f2f0eb,#dedbd4);color:#151515}.chapter-grid{display:grid;grid-template-columns:.83fr 1.17fr;align-items:center;gap:clamp(5rem,9vw,10rem)}.chapter-copy{max-width:610px}.chapter-marker{display:grid;grid-template-columns:1px 1fr;gap:1.2rem;margin-bottom:clamp(3rem,5vw,5rem)}.chapter-marker>span{height:92px;background:linear-gradient(var(--steel-deep),rgba(110,131,145,.08))}.chapter-marker small{color:var(--steel-deep);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.chapter-light .section-title{color:#111}.chapter-copy>p{max-width:520px;margin-top:1.2rem;color:#595959}.chapter-image{margin:0}.chapter-image img{height:clamp(560px,55vw,760px);object-fit:cover;border-radius:clamp(20px,2.4vw,34px);box-shadow:0 40px 100px rgba(0,0,0,.25)}.chapter-image figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(0,0,0,.14);color:#777;font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.chapter-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:4rem;margin-bottom:clamp(4rem,7vw,7rem)}.chapter-heading>p{color:var(--muted)}.chapter-number{display:block;margin-bottom:1.3rem;color:rgba(174,192,204,.42);font-family:var(--serif);font-size:clamp(4rem,7vw,7rem);line-height:.7}.principle-rows{border-top:1px solid var(--line)}.principle-rows article{display:grid;grid-template-columns:70px minmax(220px,.55fr) 1fr;align-items:center;gap:2rem;min-height:210px;border-bottom:1px solid var(--line)}.principle-rows article>span,.experience-list article>span{color:var(--steel-deep);font-size:.66rem;font-weight:700;letter-spacing:.15em}.principle-rows h3{font-size:clamp(2.8rem,5vw,5rem);color:#fff}.principle-rows p{max-width:540px;color:var(--muted)}.manifesto-premium{overflow:visible}.manifesto-premium .manifesto-grid{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(4.25rem,7vw,7.25rem)}.manifesto-sticky{position:sticky;top:118px;align-self:start;max-width:470px;padding-top:.15rem}.manifesto-sticky .chapter-number{margin-bottom:.85rem;font-size:clamp(4.4rem,6vw,6.2rem)}.manifesto-premium .manifesto-quote{max-width:450px;font-size:clamp(4.1rem,5.5vw,5.85rem);line-height:.89}.manifesto-premium .manifesto-list{padding-top:.55rem}.services-editorial{overflow:hidden}.experience-list{border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:150px minmax(0,1fr) 44px;align-items:center;gap:2rem;min-height:230px;border-bottom:1px solid var(--line);transition:padding .45s var(--ease),background .45s var(--ease)}.experience-list h3{font-size:clamp(3rem,5vw,5.4rem);color:#fff}.experience-list p{max-width:620px;margin-top:.6rem;color:var(--muted)}.experience-list a{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:50%;color:var(--steel-bright)}@media(hover:hover){.experience-list article:hover{padding-inline:1.2rem;background:rgba(174,192,204,.025)}}.process-editorial{background:linear-gradient(150deg,#f2f0eb,#dedbd4);color:#111}.process-editorial .section-title{color:#111}.process-editorial .section-copy{color:#666}.process-heading{margin-bottom:4rem}.process-heading .chapter-number{color:rgba(75,95,108,.2)}.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(0,0,0,.14)}.process-line article{min-height:290px;padding:2rem 1.6rem}.process-line article+article{border-left:1px solid rgba(0,0,0,.14)}.process-line span{color:var(--steel-deep);font-size:.66rem;font-weight:700}.process-line h3{margin-top:5rem;color:#111;font-size:2.2rem}.process-line p{margin-top:.7rem;color:#626262;font-size:.9rem}.fleet-editorial{overflow:hidden}.fleet-gallery{overflow:hidden;border:1px solid var(--line-strong);border-radius:clamp(22px,3vw,38px);box-shadow:var(--shadow)}.fleet-gallery-media{position:relative;height:clamp(600px,65vw,860px);overflow:hidden}.fleet-gallery-media img{height:100%;object-fit:cover}.fleet-gallery-media::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.45),transparent 55%),linear-gradient(to top,rgba(0,0,0,.58),transparent 45%)}.fleet-gallery-panel{padding:clamp(2.5rem,5vw,5rem);background:linear-gradient(150deg,#f3f0eb,#ddd9d2);color:#151515}.fleet-gallery-panel>div:first-child{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,7rem);align-items:end}.fleet-gallery-panel h2{color:#111;font-size:clamp(4rem,7vw,7rem);line-height:.84}.fleet-gallery-panel>div:first-child>p{color:#555}.fleet-gallery-panel .fleet-specs{margin-block:3rem}.fleet-booking-band{display:grid;grid-template-columns:.65fr 1fr auto;align-items:center;gap:2rem;padding:2rem;border-radius:24px;background:#090b0d;color:#fff}.fleet-booking-band span{display:block;color:var(--steel);font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.fleet-booking-band strong{display:block;margin-top:.4rem;font-family:var(--serif);font-size:2.4rem}.fleet-booking-band p{color:rgba(239,244,247,.56);font-size:.78rem;line-height:1.55}.collection-grid-premium .collection-card{border-radius:22px}.collection-grid-premium .collection-copy>span{display:block;margin-bottom:1rem;color:var(--steel-deep);font-size:.64rem;font-weight:700}.final-cta-editorial{position:relative;overflow:hidden}.cta-chapter{position:absolute;right:-1rem;bottom:0;color:rgba(255,255,255,.018);font-family:var(--serif);font-size:clamp(14rem,32vw,34rem);line-height:.62}.cta-mark{width:30px;height:54px;object-fit:contain;margin:0 auto 2rem;opacity:.72}.reserve-hero{min-height:72svh}.reserve-editorial{padding-top:clamp(7rem,10vw,10rem)}.reserve-layout{display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(4rem,8vw,8rem)}.reserve-intro{position:sticky;top:130px}.reserve-intro>p{max-width:480px;margin-top:1.4rem;color:var(--muted)}.reserve-steps{margin-top:2.6rem;border-top:1px solid var(--line)}.reserve-steps>div{display:grid;grid-template-columns:40px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.reserve-steps span{color:var(--steel-deep);font-size:.64rem;font-weight:700}.reserve-steps p{color:rgba(239,244,247,.6);font-size:.83rem}.reserve-intro .direct-contact{grid-template-columns:1fr;margin-top:2rem;border:1px solid var(--line);border-radius:18px}.inquiry-card-premium{border-radius:clamp(22px,3vw,34px)}
@media(max-width:1050px){.interior-hero-grid,.chapter-grid,.reserve-layout{grid-template-columns:1fr}.hero-chapter{max-width:520px}.chapter-image img{height:600px}.manifesto-premium .manifesto-grid{grid-template-columns:1fr;gap:3.5rem}.manifesto-sticky,.reserve-intro{position:relative;top:auto;max-width:720px}.manifesto-premium .manifesto-quote{max-width:680px}.fleet-gallery-panel>div:first-child{grid-template-columns:1fr}.fleet-booking-band{grid-template-columns:1fr}.principle-rows article{grid-template-columns:50px 1fr}.principle-rows p{grid-column:2}.experience-list article{grid-template-columns:120px 1fr 44px}.process-line{grid-template-columns:repeat(2,1fr)}.process-line article:nth-child(3){border-left:0;border-top:1px solid rgba(0,0,0,.14)}.process-line article:nth-child(4){border-top:1px solid rgba(0,0,0,.14)}}
@media(max-width:820px){.brand-mark{width:21px;height:28px}.interior-hero{min-height:82svh;padding-top:8rem}.hero-chapter{display:none}.hero-watermark{display:none}.chapter-image img{height:480px}.chapter-heading{grid-template-columns:1fr;gap:1.5rem}.principle-rows article{padding:3rem 0}.experience-list article{grid-template-columns:1fr 44px;padding:2.5rem 0}.experience-list article>span{grid-column:1}.experience-list article>div{grid-column:1}.experience-list article>a{grid-column:2;grid-row:1/3}.fleet-gallery-media{height:520px}.process-line{grid-template-columns:1fr}.process-line article+article,.process-line article:nth-child(3){border-left:0;border-top:1px solid rgba(0,0,0,.14)}.process-line article{min-height:230px}.process-line h3{margin-top:3rem}}
@media(max-width:560px){.brand-lockup{gap:.55rem}.brand-mark{width:18px;height:25px}.chapter-image img{height:410px}.chapter-image figcaption{flex-direction:column}.principle-rows article{grid-template-columns:1fr;gap:.8rem}.principle-rows p{grid-column:1}.experience-list h3{font-size:3rem}.fleet-gallery-media{height:390px}.fleet-gallery-panel{padding:2rem 1.25rem}.fleet-booking-band{padding:1.35rem}.reserve-editorial{padding-top:5rem}}

/* ==========================================================
   INTERIOR DARK COHESION PASS — V2
   Carries the homepage's midnight / steel visual language
   through Approach, Experiences, Fleet, and Reserve.
   ========================================================== */

.interior-page {
  background:
    radial-gradient(circle at 82% 8%, rgba(174, 192, 204, .055), transparent 30rem),
    linear-gradient(180deg, #030405 0%, #07090b 48%, #030405 100%);
}

/* Dark editorial chapter: replaces the isolated ivory spread. */
.chapter-light {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 82% 10%, rgba(174, 192, 204, .09), transparent 31rem),
    linear-gradient(145deg, #0b0e11 0%, #050708 56%, #090c0e 100%);
  color: var(--text);
  border-block: 1px solid rgba(218, 232, 240, .08);
}

.chapter-light::before {
  content: '';
  position: absolute;
  inset: clamp(1.4rem, 3vw, 3rem);
  z-index: -1;
  border: 1px solid rgba(174, 192, 204, .08);
  border-radius: clamp(26px, 4vw, 54px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 34%),
    rgba(255,255,255,.012);
  pointer-events: none;
}

.chapter-light .section-title {
  color: #f6f5f1;
  text-shadow: 0 14px 50px rgba(0,0,0,.22);
}

.chapter-light .chapter-marker small {
  color: var(--steel-bright);
}

.chapter-light .chapter-marker > span {
  background: linear-gradient(180deg, var(--steel-bright), rgba(174,192,204,.06));
}

.chapter-light .chapter-copy > p {
  color: rgba(229, 235, 239, .63);
}

.chapter-light .chapter-image {
  position: relative;
}

.chapter-light .chapter-image::before {
  content: '';
  position: absolute;
  inset: -1.1rem 1.1rem 1.1rem -1.1rem;
  z-index: -1;
  border: 1px solid rgba(174,192,204,.12);
  border-radius: clamp(24px, 3vw, 42px);
}

.chapter-light .chapter-image img {
  border: 1px solid rgba(218,232,240,.13);
  box-shadow: 0 44px 120px rgba(0,0,0,.52);
  filter: saturate(.88) contrast(1.03);
}

.chapter-light .chapter-image figcaption {
  border-top-color: rgba(218,232,240,.13);
  color: rgba(229,235,239,.48);
}

/* Experiences process chapter: dark, dimensional and continuous. */
.process-editorial {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 5%, rgba(174,192,204,.08), transparent 27rem),
    linear-gradient(160deg, #080a0c 0%, #030405 68%, #090b0d 100%);
  color: var(--text);
  border-block: 1px solid rgba(218,232,240,.08);
}

.process-editorial::after {
  content: '03';
  position: absolute;
  right: -2rem;
  bottom: -.08em;
  color: rgba(255,255,255,.014);
  font-family: var(--serif);
  font-size: clamp(15rem, 31vw, 34rem);
  line-height: .62;
  pointer-events: none;
}

.process-editorial .container {
  position: relative;
  z-index: 1;
}

.process-editorial .section-title {
  color: #f6f5f1;
}

.process-editorial .section-copy {
  color: var(--muted);
}

.process-editorial .process-heading .chapter-number {
  color: rgba(174,192,204,.32);
}

.process-line {
  overflow: hidden;
  border: 1px solid rgba(174,192,204,.14);
  border-radius: clamp(22px, 3vw, 34px);
  background: rgba(255,255,255,.012);
  box-shadow: 0 32px 90px rgba(0,0,0,.24);
}

.process-line article {
  position: relative;
  background:
    radial-gradient(circle at 100% 0%, rgba(174,192,204,.055), transparent 18rem),
    rgba(255,255,255,.006);
  transition: background .4s var(--ease), transform .4s var(--ease);
}

.process-line article + article {
  border-left-color: rgba(218,232,240,.11);
}

.process-line span {
  color: var(--steel-deep);
}

.process-line h3 {
  color: #f6f5f1;
}

.process-line p {
  color: rgba(229,235,239,.58);
}

@media (hover:hover) {
  .process-line article:hover {
    background: rgba(174,192,204,.035);
    transform: translateY(-3px);
  }
}

/* Fleet feature chapter: removes the lone ivory product sheet. */
.fleet-gallery {
  background: #060809;
  border-color: rgba(174,192,204,.18);
  box-shadow: 0 48px 130px rgba(0,0,0,.52);
}

.fleet-gallery-panel {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 5%, rgba(174,192,204,.12), transparent 30rem),
    linear-gradient(145deg, #101316 0%, #07090b 48%, #0b0e10 100%);
  color: var(--text);
  border-top: 1px solid rgba(218,232,240,.09);
}

.fleet-gallery-panel::after {
  content: '';
  position: absolute;
  right: -14rem;
  bottom: -18rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(174,192,204,.055);
  border-radius: 50%;
  pointer-events: none;
}

.fleet-gallery-panel > * {
  position: relative;
  z-index: 1;
}

.fleet-gallery-panel h2 {
  color: #f6f5f1;
}

.fleet-gallery-panel > div:first-child > p {
  color: rgba(229,235,239,.61);
}

.fleet-gallery-panel .fleet-specs {
  border-top-color: rgba(218,232,240,.13);
}

.fleet-gallery-panel .fleet-spec {
  border-bottom-color: rgba(218,232,240,.13);
}

.fleet-gallery-panel .fleet-spec span {
  color: var(--steel-deep);
}

.fleet-gallery-panel .fleet-spec strong {
  color: #f5f4f0;
}

.fleet-gallery-panel .fleet-spec p {
  color: rgba(229,235,239,.56);
}

.fleet-booking-band {
  border: 1px solid rgba(174,192,204,.16);
  background:
    radial-gradient(circle at 100% 0%, rgba(174,192,204,.08), transparent 20rem),
    linear-gradient(135deg, #020304, #0b0e10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 24px 65px rgba(0,0,0,.26);
}

/* Sharpen continuity between interior chapters without harsh cuts. */
.interior-page main > section:not(.hero) {
  position: relative;
}

.interior-page main > section:not(.hero)::selection {
  background: rgba(174,192,204,.3);
}

.interior-page .section-dark + .chapter-light,
.interior-page .chapter-light + .section-dark,
.interior-page .process-editorial + .section-dark {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
}

/* Keep the form and supporting surfaces softer and more fluid. */
.inquiry-note {
  border-radius: 20px 20px 0 0;
  background: rgba(9,12,14,.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.inquiry-card,
.inquiry-card-premium {
  border-color: rgba(174,192,204,.17);
  background:
    radial-gradient(circle at 0% 0%, rgba(174,192,204,.095), transparent 26rem),
    linear-gradient(145deg, rgba(17,21,24,.98), rgba(7,9,11,.99));
}

input, select, textarea {
  border-radius: 14px;
}

/* Mobile and tablet refinements for the dark chapters. */
@media (max-width: 1050px) {
  .chapter-light::before {
    inset: 1.25rem;
  }

  .chapter-light .chapter-image::before {
    inset: -.7rem .7rem .7rem -.7rem;
  }
}

@media (max-width: 820px) {
  .chapter-light::before {
    inset: .65rem;
    border-radius: 22px;
  }

  .chapter-light .chapter-image::before {
    display: none;
  }

  .process-line {
    border-radius: 20px;
  }

  .process-line article + article,
  .process-line article:nth-child(3) {
    border-top-color: rgba(218,232,240,.11);
  }

  .fleet-gallery-panel {
    padding-inline: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .process-line article {
    transform: none !important;
  }
}

/* ==========================================================
   INTERIOR PAGE SPACING + RESERVE COMPOSITION — V3
   ========================================================== */

/* Match the homepage's editorial frame rather than letting
   interior hero copy sit against the viewport edge. */
.interior-page .interior-hero {
  --interior-side-space: clamp(2.75rem, 5.5vw, 6.5rem);
  min-height: 90svh;
  padding-top: 10.5rem;
  padding-bottom: 5.5rem;
}

.interior-page .interior-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
  align-items: end;
  gap: clamp(3.5rem, 7vw, 7rem);
  padding-inline: var(--interior-side-space);
}

.interior-page .interior-hero .hero-copy {
  width: 100%;
  max-width: 780px;
}

.interior-page .interior-hero .display {
  max-width: 760px;
  font-size: clamp(4.35rem, 7.1vw, 7.15rem);
  line-height: .87;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.interior-page .interior-hero .hero-copy > p {
  max-width: 610px;
  margin-top: 1.5rem;
  font-size: clamp(.98rem, 1.25vw, 1.08rem);
  line-height: 1.78;
}

.interior-page .hero-chapter {
  width: 100%;
  max-width: 310px;
  justify-self: end;
  margin-bottom: .75rem;
}

/* Bring the bottom rule into the same editorial frame. */
.interior-page .interior-hero::after {
  left: max(
    calc((100vw - var(--container)) / 2 + var(--interior-side-space)),
    var(--interior-side-space)
  );
  right: max(
    calc((100vw - var(--container)) / 2 + var(--interior-side-space)),
    var(--interior-side-space)
  );
}

/* Reserve previously inherited centered hero rules from the
   older form page. Recompose it like the other premium chapters. */
.page-reserve .reserve-hero {
  min-height: 84svh;
  text-align: left;
  background:
    radial-gradient(circle at 72% 28%, rgba(174,192,204,.09), transparent 28rem),
    linear-gradient(180deg, #080b0d 0%, #040607 100%);
}

.page-reserve .reserve-hero .hero-copy {
  margin-inline: 0;
}

.page-reserve .reserve-hero .hero-copy > p {
  margin-inline: 0;
}

.page-reserve .reserve-hero .display {
  max-width: 850px;
}

.page-reserve .reserve-hero .hero-watermark {
  right: 2vw;
  bottom: 4vh;
  width: clamp(270px, 31vw, 500px);
  opacity: .018;
}

/* The inquiry now reads as a composed concierge spread. */
.page-reserve .reserve-editorial {
  position: relative;
  overflow: hidden;
  padding-top: clamp(8rem, 11vw, 12rem);
  padding-bottom: clamp(9rem, 12vw, 13rem);
  background:
    radial-gradient(circle at 85% 12%, rgba(174,192,204,.065), transparent 32rem),
    linear-gradient(180deg, #050708 0%, #080a0c 100%);
}

.page-reserve .reserve-layout {
  grid-template-columns: minmax(310px, .72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(5rem, 9vw, 10rem);
}

.page-reserve .reserve-intro {
  top: 126px;
  padding-top: 1.25rem;
}

.page-reserve .reserve-intro .chapter-marker {
  margin-bottom: clamp(2.75rem, 4vw, 4.5rem);
}

.page-reserve .reserve-intro .section-title {
  max-width: 520px;
  font-size: clamp(3.7rem, 5.8vw, 6rem);
  line-height: .88;
}

.page-reserve .reserve-intro > p {
  max-width: 450px;
  margin-top: 1.75rem;
  line-height: 1.85;
}

.page-reserve .reserve-steps {
  margin-top: 3.25rem;
}

.page-reserve .reserve-steps > div {
  padding: 1.2rem 0;
}

.page-reserve .direct-contact {
  margin-top: 2.5rem;
  padding: 1.25rem 1.35rem;
  background: rgba(174,192,204,.025);
}

.page-reserve .inquiry-card-premium {
  width: 100%;
  max-width: 900px;
  justify-self: end;
  padding: clamp(2.6rem, 4.5vw, 4.75rem);
  border: 1px solid rgba(174,192,204,.17);
  border-radius: clamp(24px, 3vw, 38px);
  background:
    radial-gradient(circle at 100% 0%, rgba(174,192,204,.08), transparent 26rem),
    linear-gradient(155deg, rgba(20,25,29,.96), rgba(8,11,13,.98));
  box-shadow: 0 42px 110px rgba(0,0,0,.38);
}

.page-reserve .inquiry-card-premium > .eyebrow {
  display: block;
  margin-bottom: 2.75rem;
}

.page-reserve .inquiry-card-premium .form-grid {
  gap: 1.35rem;
}

.page-reserve .inquiry-card-premium .field-group {
  margin-bottom: 1.4rem;
}

.page-reserve .inquiry-card-premium input,
.page-reserve .inquiry-card-premium select,
.page-reserve .inquiry-card-premium textarea {
  min-height: 58px;
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}

.page-reserve .inquiry-card-premium textarea {
  min-height: 170px;
}

.page-reserve .form-actions {
  align-items: center;
  gap: 1.5rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}

.page-reserve .form-actions p {
  max-width: 430px;
}

@media (max-width: 1280px) {
  .interior-page .interior-hero {
    --interior-side-space: clamp(2rem, 4vw, 4rem);
  }

  .interior-page .interior-hero .display {
    font-size: clamp(4rem, 6.6vw, 6.5rem);
  }
}

@media (max-width: 1050px) {
  .interior-page .interior-hero-grid {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .interior-page .hero-chapter {
    justify-self: start;
    max-width: 520px;
  }

  .page-reserve .reserve-layout {
    grid-template-columns: 1fr;
    gap: 4.5rem;
  }

  .page-reserve .reserve-intro {
    max-width: 760px;
    padding-top: 0;
  }

  .page-reserve .inquiry-card-premium {
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 820px) {
  .interior-page .interior-hero {
    --interior-side-space: clamp(.5rem, 2vw, 1rem);
    min-height: 82svh;
    padding-top: 8.5rem;
    padding-bottom: 4.5rem;
  }

  .interior-page .interior-hero .display {
    max-width: 100%;
    font-size: clamp(3.75rem, 13.5vw, 5.8rem);
  }

  .interior-page .interior-hero::after {
    left: max(
      calc((100vw - var(--container)) / 2 + var(--interior-side-space)),
      1rem
    );
    right: max(
      calc((100vw - var(--container)) / 2 + var(--interior-side-space)),
      1rem
    );
  }

  .page-reserve .reserve-editorial {
    padding-top: 6.5rem;
    padding-bottom: 7.5rem;
  }

  .page-reserve .inquiry-card-premium {
    padding: 2.5rem 1.6rem;
  }
}

@media (max-width: 560px) {
  .interior-page .interior-hero {
    --interior-side-space: .25rem;
  }

  .interior-page .interior-hero .display {
    font-size: clamp(3.35rem, 15vw, 4.8rem);
  }

  .page-reserve .reserve-intro .section-title {
    font-size: clamp(3.2rem, 13vw, 4.5rem);
  }

  .page-reserve .inquiry-card-premium {
    padding: 2.25rem 1.25rem;
    border-radius: 22px;
  }

  .page-reserve .form-actions {
    align-items: stretch;
  }

  .page-reserve .form-actions .btn {
    width: 100%;
  }
}

/* ==========================================================
   V5 MOBILE EDITORIAL GUTTERS
   Phone-only refinement. Desktop and tablet layouts unchanged.
   ========================================================== */
@media (max-width: 700px) {
  :root {
    --mobile-page-gutter: clamp(1.25rem, 5.6vw, 1.6rem);
  }

  .container {
    width: min(calc(100% - (var(--mobile-page-gutter) * 2)), var(--container));
  }

  .site-header .container,
  footer .container {
    width: min(calc(100% - (var(--mobile-page-gutter) * 2)), var(--container));
  }

  .interior-page .interior-hero {
    --interior-side-space: var(--mobile-page-gutter);
    min-height: 84svh;
    padding-top: clamp(8rem, 24vw, 9.25rem);
    padding-bottom: clamp(4.25rem, 13vw, 5.5rem);
  }

  .interior-page .interior-hero-grid {
    width: 100%;
    padding-inline: var(--interior-side-space);
  }

  .interior-page .interior-hero .hero-copy {
    max-width: 100%;
  }

  .interior-page .interior-hero .display {
    max-width: min(100%, 8.6ch);
    font-size: clamp(3.25rem, 13.2vw, 4.45rem);
    line-height: .89;
    letter-spacing: -.052em;
  }

  .interior-page .interior-hero .hero-copy > p {
    max-width: 31rem;
    margin-top: 1.35rem;
    font-size: clamp(.95rem, 4.2vw, 1.08rem);
    line-height: 1.72;
  }

  .interior-page .hero-chapter {
    max-width: 100%;
    margin-top: 2.25rem;
    padding-left: 1.15rem;
  }

  .interior-page .interior-hero::after {
    left: var(--mobile-page-gutter);
    right: var(--mobile-page-gutter);
  }

  .page-reserve .reserve-hero .display {
    max-width: 9ch;
  }

  .page-reserve .reserve-editorial {
    padding-inline: 0;
  }

  .page-reserve .reserve-layout {
    gap: 3.5rem;
  }

  .page-reserve .inquiry-card-premium {
    padding: 2.25rem var(--mobile-page-gutter);
  }
}

@media (max-width: 420px) {
  :root {
    --mobile-page-gutter: 1.2rem;
  }

  .interior-page .interior-hero .display {
    font-size: clamp(3.05rem, 13.5vw, 3.75rem);
  }
}

/* ==========================================================
   V6 MOBILE RESERVE FLOW FIX
   Keep the concierge introduction and inquiry form in clear,
   non-overlapping document flow on phones only.
   ========================================================== */
@media (max-width: 700px) {
  .page-reserve .reserve-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .page-reserve .reserve-intro {
    position: relative;
    top: auto;
    width: 100%;
    max-width: none;
    padding-bottom: 0;
    z-index: 1;
  }

  .page-reserve .direct-contact {
    position: relative;
    z-index: 1;
    width: 100%;
    margin-top: 2.25rem;
  }

  .page-reserve .inquiry-card-premium {
    position: relative;
    inset: auto;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin-top: clamp(3.5rem, 12vw, 5rem);
    transform: none;
  }

  .js .page-reserve .inquiry-card-premium[data-reveal],
  .js .page-reserve .inquiry-card-premium[data-reveal].is-visible {
    transform: none;
  }
}

@media (max-width: 420px) {
  .page-reserve .inquiry-card-premium {
    margin-top: 3.25rem;
  }
}
