:root {
  --text-xs: clamp(.75rem,.72rem + .12vw,.8125rem);
  --text-sm: clamp(.875rem,.84rem + .15vw,.9375rem);
  --text-base: clamp(1rem,.97rem + .15vw,1.0625rem);
  --text-lg: clamp(1.125rem,1rem + .5vw,1.375rem);
  --text-xl: clamp(1.9rem,1.45rem + 1.4vw,3rem);
  --text-hero: clamp(2.9rem,1.65rem + 3.5vw,5rem);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;
  --color-bg:oklch(.967 .012 85);
  --color-surface:oklch(.987 .006 85);
  --color-surface-offset:oklch(.94 .015 85);
  --color-text:oklch(.25 .033 252);
  --color-text-muted:oklch(.45 .017 252);
  --color-primary:oklch(.25 .033 252);
  --color-accent:oklch(.76 .067 85);
  --color-gold-ink:oklch(.45 .056 80);
  --color-navy:#142333;
  --color-light:#faf7ef;
  --color-line:oklch(.25 .033 252 / .18);
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'Switzer','Helvetica Neue',sans-serif;
  --radius-sm:0; --radius-md:0; --radius-lg:0;
  --transition-interactive:220ms cubic-bezier(.16,1,.3,1);
}
html { scroll-padding-top:var(--space-32); }
body { background:var(--color-bg); }
a { color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button:active,.btn:active { opacity:.8; }
:focus-visible { outline-color:var(--color-gold-ink); }
.site-header :focus-visible,.hero :focus-visible,.beyond :focus-visible,.site-footer :focus-visible { outline-color:var(--color-accent); }
[hidden] { display:none!important; }
.container { width:min(100% - var(--space-24),1240px); margin-inline:auto; }
.section { padding-block:clamp(var(--space-16),8vw,var(--space-32)); }
.skip-link { position:fixed; top:var(--space-3); left:var(--space-3); padding:var(--space-3); z-index:100; background:var(--color-light); color:var(--color-navy); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.site-header { position:sticky; top:0; z-index:50; background:var(--color-navy); border-bottom:1px solid oklch(.76 .067 85 / .32); }
.header-inner { width:min(100% - var(--space-24),1320px); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; min-height:116px; }
.brand { display:block; padding-block:var(--space-3); flex-shrink:0; }
.brand img { width:106px; height:auto; }
.site-nav { display:flex; gap:var(--space-10); align-items:center; }
.site-nav a,.footer-nav a { color:var(--color-light); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.16em; text-decoration:none; padding-block:var(--space-4); }
.site-nav a:hover,.footer-nav a:hover { color:var(--color-accent); }
.site-nav .nav-cta { border:1px solid var(--color-accent); color:var(--color-accent); padding:var(--space-3) var(--space-8); margin-left:var(--space-6); }
.site-nav .nav-cta:hover { background:var(--color-accent); color:var(--color-navy); }
.nav-toggle { display:none; width:44px; height:44px; color:var(--color-accent); }
.menu-line { display:block; height:1px; background:currentColor; width:24px; margin:var(--space-2) auto; transition:transform var(--transition-interactive); }
.nav-toggle[aria-expanded=true] .menu-line:first-child { transform:translateY(4.5px) rotate(45deg); }
.nav-toggle[aria-expanded=true] .menu-line:last-child { transform:translateY(-4.5px) rotate(-45deg); }
.hero { position:relative; isolation:isolate; min-height:690px; height:calc(100svh - 116px); max-height:1040px; display:flex; align-items:flex-end; background:var(--color-navy); color:var(--color-light); }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 57%; z-index:-3; }
.hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(10,22,35,.68),rgba(10,22,35,.10) 76%),linear-gradient(0deg,rgba(10,22,35,.55),transparent 65%); }
.hero-inner { padding-block:var(--space-20) var(--space-32); }
.eyebrow,.kicker { font-size:var(--text-xs); text-transform:uppercase; font-weight:500; letter-spacing:.23em; }
.eyebrow { color:#e6d3a7; margin-bottom:var(--space-6); }
h1,h2,h3 { font-family:var(--font-display); font-weight:400; }
.hero h1 { font-size:var(--text-hero); line-height:1.02; letter-spacing:-.025em; max-width:22ch; }
.hero-lede { margin-block:var(--space-6) var(--space-8); line-height:1.7; font-size:var(--text-base); color:var(--color-light); }
.btn { display:inline-flex; align-items:center; justify-content:space-between; gap:var(--space-10); padding:var(--space-4) var(--space-6); min-height:52px; border:1px solid transparent; font-size:var(--text-xs); font-weight:500; text-transform:uppercase; letter-spacing:.15em; text-decoration:none; }
.btn span { font-size:var(--text-lg); line-height:1; }
.btn-gold { background:var(--color-accent); color:var(--color-navy); }
.btn-gold:hover { background:#e0cda7; }
.btn-navy { background:var(--color-navy); color:var(--color-light); }
.btn-navy:hover { background:#253c52; }
.hero-foot { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(250,247,239,.35); min-height:64px; font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.15em; }
.hero-foot a { text-decoration:none; display:flex; gap:var(--space-6); align-items:center; min-height:44px; }
.hero-foot a:hover { color:var(--color-accent); }
.kicker { color:var(--color-gold-ink); margin-bottom:var(--space-6); }
.section h2 { font-size:var(--text-xl); line-height:1.1; letter-spacing:-.025em; }
.story { background:var(--color-bg); }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-20); align-items:start; }
.story-copy p+p { margin-top:var(--space-4); }
.story-copy p { color:var(--color-text-muted); }
.text-link { display:inline-flex; align-items:center; gap:var(--space-8); font-size:var(--text-xs); text-transform:uppercase; font-weight:500; letter-spacing:.13em; text-decoration:none; border-bottom:1px solid var(--color-gold-ink); padding-block:var(--space-3); margin-top:var(--space-5); min-height:44px; }
.text-link:hover { color:var(--color-gold-ink); }
.story-signature { margin-top:var(--space-16); padding-top:var(--space-6); border-top:1px solid var(--color-line); display:flex; justify-content:space-between; gap:var(--space-6); color:var(--color-gold-ink); text-transform:uppercase; font-size:var(--text-xs); letter-spacing:.14em; }
.story-photographs { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); margin-top:var(--space-12); }
.story-photograph { min-width:0; }
.story-photograph img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.story-photograph figcaption { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:var(--space-2) var(--space-4); padding-top:var(--space-4); font-size:var(--text-xs); }
.story-photograph figcaption span:first-child { text-transform:uppercase; letter-spacing:.14em; color:var(--color-gold-ink); }
.story-photograph figcaption span:last-child { color:var(--color-text-muted); }
.charters { background:var(--color-surface-offset); }
.section-head { display:flex; justify-content:space-between; gap:var(--space-12); align-items:flex-end; margin-bottom:var(--space-12); }
.section-head>p { max-width:35ch; color:var(--color-text-muted); font-size:var(--text-sm); line-height:1.8; padding-bottom:var(--space-1); }
.charter-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-20); align-items:start; }
.feature-photo { height:390px; position:relative; overflow:hidden; background:var(--color-navy); }
.feature-photo img { height:100%; width:100%; object-fit:cover; object-position:center 70%; }
.photo-label { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(0deg,rgba(10,22,35,.8),transparent); padding:var(--space-10) var(--space-6) var(--space-5); color:var(--color-light); text-transform:uppercase; letter-spacing:.15em; font-size:var(--text-xs); }
.feature-copy { padding-top:var(--space-8); }
.feature-copy .kicker { margin-bottom:var(--space-3); }
.charters h3 { font-size:var(--text-xl); line-height:1.1; }
.feature-copy>p:not(.kicker) { color:var(--color-text-muted); margin-top:var(--space-4); }
.charter-collection { border-top:1px solid var(--color-line); }
.charter-card { padding-block:var(--space-8); border-bottom:1px solid var(--color-line); }
.collection-index { color:var(--color-gold-ink); font-size:var(--text-xs); letter-spacing:.15em; text-transform:uppercase; margin-bottom:var(--space-3); }
.charter-card>p:last-child { color:var(--color-text-muted); margin-top:var(--space-4); font-size:var(--text-sm); line-height:1.8; max-width:46ch; }
.beyond { background:var(--color-navy); color:var(--color-light); }
.beyond-inner { display:grid; grid-template-columns:1.15fr 1fr; gap:var(--space-20); align-items:center; }
.beyond .kicker { color:var(--color-accent); }
.beyond-copy h2 { margin-bottom:var(--space-6); }
.beyond-copy>p:not(.kicker) { color:#c6ccd0; max-width:48ch; }
.beyond-copy>p+p { margin-top:var(--space-4); }
.beyond-brand { border-left:1px solid oklch(.76 .067 85 / .3); padding-left:var(--space-20); text-align:center; }
.beyond-brand img { width:min(100%,245px); margin-inline:auto; }
.beyond-brand p { color:var(--color-accent); font-size:var(--text-xs); letter-spacing:.18em; text-transform:uppercase; margin-top:var(--space-8); }
.beyond-horizon { margin-top:var(--space-16); }
.beyond-horizon img { width:100%; aspect-ratio:2.8/1; object-fit:cover; object-position:center 85%; }
.beyond-horizon figcaption { margin-top:var(--space-4); color:var(--color-accent); font-size:var(--text-xs); letter-spacing:.14em; text-transform:uppercase; }
.inquire { background:var(--color-surface); }
.inquire-inner { display:grid; grid-template-columns:.85fr 1.15fr; gap:var(--space-20); }
.inquire-copy h2 { margin-bottom:var(--space-6); }
.inquire-copy>p:not(.kicker) { color:var(--color-text-muted); max-width:33ch; }
.direct-contact { margin-top:var(--space-12); }
.direct-contact .kicker { margin-bottom:var(--space-2); }
.direct-contact a { display:inline-block; padding-block:var(--space-2); text-underline-offset:4px; font-size:var(--text-sm); overflow-wrap:anywhere; }
.direct-contact>p:last-child { color:var(--color-text-muted); font-size:var(--text-xs); margin-top:var(--space-2); }
.inquire-form { padding-top:var(--space-2); min-width:0; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); }
.field { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-6); min-width:0; }
.field label { font-size:var(--text-xs); font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; min-width:0; border:0; border-bottom:1px solid var(--color-line); border-radius:0; padding:var(--space-3) 0; background:transparent; font-size:1rem; min-height:48px; }
.field textarea { resize:vertical; }
.field input::placeholder,.field textarea::placeholder { color:var(--color-text-muted); opacity:1; }
.field :is(input,select,textarea):focus-visible { border-color:var(--color-gold-ink); outline:2px solid var(--color-gold-ink); outline-offset:4px; }
.form-note { font-size:var(--text-xs); color:var(--color-text-muted); line-height:1.65; margin-top:var(--space-5); }
.form-status { font-size:var(--text-sm); line-height:1.7; margin-top:var(--space-4); padding:var(--space-4); border:1px solid var(--color-line); }
.site-footer { background:var(--color-navy); color:var(--color-light); padding-top:var(--space-16); }
.footer-main { display:grid; grid-template-columns:1fr 1fr auto; gap:var(--space-16); align-items:center; padding-bottom:var(--space-12); }
.footer-brand { display:block; width:150px; }
.footer-message p { font-family:var(--font-display); font-size:var(--text-xl); line-height:1.15; }
.footer-message span { display:block; margin-top:var(--space-5); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.15em; color:var(--color-accent); }
.footer-nav { display:grid; grid-template-columns:1fr 1fr; column-gap:var(--space-10); }
.footer-bottom { border-top:1px solid oklch(.76 .067 85 / .3); padding-block:var(--space-6); display:flex; justify-content:space-between; gap:var(--space-4); color:#b8c1c8; font-size:var(--text-xs); }
.footer-bottom a { min-height:44px; display:flex; align-items:center; text-decoration:none; overflow-wrap:anywhere; }
.footer-bottom p { align-self:center; }
@media(min-width:1700px) { .hero-photo { object-position:center 63%; } }
@media(max-width:900px) {
  .container,.header-inner { width:calc(100% - var(--space-12)); }
  .site-nav { gap:var(--space-6); }
  .site-nav .nav-cta { margin-left:0; }
  .hero h1 { max-width:20ch; }
  .story-grid,.charter-grid,.beyond-inner,.inquire-inner { gap:var(--space-10); }
  .beyond-brand { padding-left:var(--space-10); }
  .footer-main { gap:var(--space-8); }
}
@media(max-width:680px) {
  .container,.header-inner { width:calc(100% - var(--space-10)); }
  .header-inner { min-height:88px; }
  .brand { padding-block:var(--space-2); }
  .brand img { width:82px; }
  .nav-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:var(--space-5); background:var(--color-navy); border-bottom:1px solid var(--color-accent); }
  .site-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:var(--space-2); }
  .site-nav a { padding:var(--space-3); }
  .site-nav .nav-cta { text-align:center; margin-top:var(--space-2); }
  .hero { min-height:650px; height:calc(100svh - 88px); max-height:850px; }
  .hero-photo { object-position:58% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(10,22,35,.88),rgba(10,22,35,.08) 88%); }
  .hero-inner { padding-block:var(--space-16) var(--space-32); }
  .hero h1 { max-width:14ch; line-height:1.04; }
  .desktop-break { display:none; }
  .hero-lede { font-size:var(--text-sm); }
  .eyebrow { font-size:var(--text-xs); margin-bottom:var(--space-5); }
  .hero-foot { min-height:60px; font-size:var(--text-xs); letter-spacing:.04em; }
  .hero-foot a { gap:var(--space-2); }
  .hero-foot>span { max-width:14ch; }
  .story-grid,.charter-grid,.beyond-inner,.inquire-inner { grid-template-columns:1fr; }
  .story-signature { flex-direction:column; gap:var(--space-3); margin-top:var(--space-10); }
  .story-photographs { grid-template-columns:1fr; gap:var(--space-8); margin-top:var(--space-8); }
  .story-photograph figcaption { flex-direction:column; gap:var(--space-1); }
  .section-head { flex-direction:column; align-items:flex-start; gap:var(--space-5); margin-bottom:var(--space-8); }
  .feature-photo { height:350px; }
  .beyond-brand { border-left:0; border-top:1px solid oklch(.76 .067 85 / .3); padding:var(--space-10) 0 0; }
  .beyond-brand img { width:200px; }
  .beyond-horizon { margin-top:var(--space-10); }
  .beyond-horizon img { aspect-ratio:4/3; object-position:center; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .inquire-inner { gap:var(--space-12); }
  .direct-contact { margin-top:var(--space-8); }
  .inquire-form .btn { width:100%; }
  .footer-main { grid-template-columns:1fr; gap:var(--space-10); }
  .footer-brand { width:132px; }
  .footer-nav { display:flex; flex-wrap:wrap; gap:var(--space-6); }
  .footer-bottom { flex-direction:column; gap:var(--space-2); }
  .footer-bottom p { align-self:flex-start; }
}
