:root{
  /* Exuma / Abaco palette */
  --sand:#fbf7ef;        /* powder sand - page */
  --sand-2:#f4ecda;      /* deeper sand band */
  --foam:#e8f4f2;        /* pale sea foam band */
  --shell:#ffffff;
  --deep:#0c2b33;        /* deep sea ink - headings */
  --body:#40626c;        /* body copy */
  --aqua:#0f8a96;        /* Exuma turquoise - accent */
  --aqua-dk:#0a6a74;     /* accent, hover on light */
  --aqua-lt:#7fe3e6;     /* accent on photography */
  --brass:#a9822f;
  --coral:#c2554a;       /* Elbow Reef stripe - used sparingly */
  --scrim:6,34,40;       /* deep teal scrim base, never black */

  /* semantic aliases used throughout */
  --ink:var(--sand);
  --ink-2:var(--foam);
  --ink-3:var(--shell);
  --line:rgba(15,138,150,.32);
  --line-soft:rgba(12,43,51,.13);
  --paper:var(--deep);
  --paper-dim:var(--body);
  --muted:#7c959b;
  --gold:var(--aqua);
  --gold-lt:var(--aqua-dk);
  --shadow-card:0 1px 2px rgba(12,43,51,.04),0 10px 30px rgba(12,43,51,.07);

  --font-display:'Instrument Serif','Iowan Old Style',serif;
  --font-body:'Switzer','Inter',system-ui,sans-serif;

  --text-hero:clamp(3.6rem,11vw,9.5rem);
  --text-3xl:clamp(2.1rem,4.6vw,3.9rem);
  --text-2xl:clamp(1.6rem,2.6vw,2.3rem);
  --text-lg:1.125rem;
  --text-sm:.875rem;
  --text-xs:.75rem;

  --pad:clamp(1.25rem,5vw,5rem);
  --maxw:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--paper);
  font-family:var(--font-body);font-weight:300;font-size:1rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:400;line-height:1.05}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--aqua);color:#fff;padding:.6rem 1rem;border-radius:2px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- type helpers ---------- */
.eyebrow{
  font-size:var(--text-xs);letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1.1rem;font-weight:500;
}
.h2{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:-.01em;max-width:22ch}
.h2--wide{max-width:30ch;margin-bottom:2.4rem}
.h2--center{max-width:26ch;margin-inline:auto;text-align:center}
.lede p{margin:0 0 1.15rem;color:var(--paper-dim);font-size:var(--text-lg);line-height:1.75;max-width:62ch}
.lede strong{color:var(--paper);font-weight:500}
.lede--sm p,.lede--sm{font-size:1rem}
.note{margin-top:2.4rem;font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;font-weight:500;
  padding:1rem 1.7rem;border:1px solid transparent;transition:.35s cubic-bezier(.2,.7,.3,1);
  white-space:nowrap;
}
.btn--gold{background:var(--aqua);color:#fff}
.btn--gold:hover{background:var(--aqua-dk)}
.btn--ghost{border-color:var(--line);color:var(--paper)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-lt)}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.nav::before{content:"";position:absolute;inset:0 0 auto;height:180%;pointer-events:none;
  background:linear-gradient(180deg,rgba(var(--scrim),.44) 0%,rgba(var(--scrim),.16) 45%,transparent 100%);transition:opacity .4s}
.nav.is-stuck::before{opacity:0}
.nav.is-stuck{background:rgba(251,247,239,.92);backdrop-filter:blur(14px);border-bottom-color:var(--line-soft)}
.nav.is-stuck .brand{color:var(--deep);text-shadow:none}
.nav.is-stuck .brand__txt em{color:var(--muted)}
.nav.is-stuck .nav__links a{color:#4c6b74}
.nav.is-stuck .nav__links a:hover{color:var(--aqua)}
.nav__in{position:relative;max-width:var(--maxw);margin:0 auto;padding:1.1rem var(--pad);display:flex;align-items:center;gap:2rem}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff;margin-right:auto;text-shadow:0 1px 3px rgba(var(--scrim),.55),0 2px 18px rgba(var(--scrim),.7)}
.brand__mark{width:30px;height:30px;color:#fff;flex:none;filter:drop-shadow(0 1px 6px rgba(var(--scrim),.55))}
.nav.is-stuck .brand__mark{color:var(--aqua);filter:none}
.brand__txt{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.13em;text-transform:uppercase;line-height:1;display:flex;flex-direction:column;gap:.28rem}
.brand__txt em{font-family:var(--font-body);font-style:normal;font-size:.6rem;letter-spacing:.16em;color:rgba(255,255,255,.82);text-transform:uppercase}
.nav__links{display:flex;gap:clamp(.95rem,1.5vw,1.65rem);align-items:center}
.nav__links a{font-size:var(--text-xs);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.88);transition:color .3s;white-space:nowrap}
@media(max-width:1160px){.nav__links a[href="#upgrades"]{display:none}}
@media(max-width:1050px){.nav__links a[href="#gallery"]{display:none}}
.nav__links a:hover{color:var(--aqua-lt)}
.nav__cta{padding:.7rem 1.1rem;font-size:var(--text-xs)}
@media(max-width:940px){.nav__links{display:none}}
@media(max-width:520px){.nav__cta{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:8rem}
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__media picture{display:contents}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%;
  filter:brightness(1.05) saturate(1.09);
  animation:kb 26s ease-out forwards}
@keyframes kb{from{transform:scale(1.05)}to{transform:scale(1)}}
.hero__media::after{content:"";position:absolute;inset:0;
  background:
    radial-gradient(135% 122% at 0% 84%,rgba(var(--scrim),.90) 0%,rgba(var(--scrim),.76) 18%,rgba(var(--scrim),.52) 34%,rgba(var(--scrim),.24) 50%,rgba(var(--scrim),.06) 64%,rgba(var(--scrim),0) 74%),
    linear-gradient(180deg,rgba(var(--scrim),.14) 0%,rgba(var(--scrim),0) 20%,rgba(var(--scrim),0) 56%,rgba(var(--scrim),.34) 88%,var(--sand) 100%)}
.hero__body{position:relative;max-width:var(--maxw);margin:0 auto;width:100%;padding:0 var(--pad) clamp(2.5rem,5vw,4.5rem);
  color:#f7fbfb;text-shadow:0 1px 3px rgba(var(--scrim),.5),0 2px 26px rgba(var(--scrim),.75)}
.hero__title{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:.03em;line-height:.9;margin:0 0 1.1rem;text-shadow:0 4px 40px rgba(0,0,0,.5)}
.hero__sub{margin:0 0 2.2rem;max-width:42rem}
.hero__sub b{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.28rem,2.15vw,1.78rem);line-height:1.22;color:#fff;letter-spacing:-.005em;text-shadow:0 1px 22px rgba(0,0,0,.45)}
.hero__sub span{display:block;margin-top:.85rem;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--aqua-lt);max-width:none;text-shadow:0 1px 14px rgba(var(--scrim),.55)}
.hero__price{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.4rem 2.6rem;margin-bottom:2.2rem;
  padding-top:1.6rem;border-top:1px solid var(--line)}
.hero__price-label{display:block;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.hero__price-num{font-family:var(--font-display);font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1}
.hero__fin{font-size:var(--text-sm);color:#fff;line-height:1.45;padding-left:2.6rem;border-left:1px solid rgba(255,255,255,.30)}
/* hero sits on photography: ghost button must read light, not deep-sea ink */
.hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.55);text-shadow:0 1px 10px rgba(var(--scrim),.6)}
.hero .btn--ghost:hover{color:var(--aqua-lt);border-color:var(--aqua-lt);background:rgba(255,255,255,.08)}
.hero__fin span{color:rgba(255,255,255,.78)}
.hero__sub b{color:#fff}
.hero .eyebrow{color:var(--aqua-lt);text-shadow:0 1px 3px rgba(var(--scrim),.7),0 2px 22px rgba(var(--scrim),.85)}
.hero__price-label{color:var(--aqua-lt)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero__strip{position:relative;display:grid;grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--line-soft);background:rgba(251,247,239,.90);color:var(--deep);backdrop-filter:blur(10px)}
.hero__strip>div{padding:1.3rem 1rem;text-align:center;border-right:1px solid var(--line-soft)}
.hero__strip>div:last-child{border-right:0}
.hero__strip b{display:block;font-family:var(--font-display);font-size:1.28rem;font-weight:400;letter-spacing:.01em}
.hero__strip span{font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media(max-width:860px){
  .hero__strip{grid-template-columns:repeat(3,1fr)}
  .hero__strip>div{border-bottom:1px solid var(--line-soft)}
  .hero__strip>div:nth-child(3n){border-right:0}
  .hero__fin{padding-left:0;border-left:0}
}
@media(max-width:640px){
  .hero{min-height:0;display:block;padding-top:0}
  .hero__media{position:relative;height:62svh;min-height:360px}
  .hero__media img{object-position:58% 50%}
  .hero__media::after{background:linear-gradient(180deg,rgba(var(--scrim),.28) 0%,rgba(var(--scrim),0) 30%,rgba(var(--scrim),.14) 78%,var(--sand) 100%)}
  .nav::before{background:linear-gradient(180deg,rgba(var(--scrim),.62) 0%,rgba(var(--scrim),.28) 55%,transparent 100%)}
  .hero__body{padding-top:2.2rem;padding-bottom:2.6rem}
  .hero__title{letter-spacing:.02em;font-size:clamp(3.4rem,17vw,5rem)}
  .hero__sub{margin-bottom:1.8rem}
  .hero__body{color:var(--deep);text-shadow:none}
  .hero__title{text-shadow:none}
  .hero .eyebrow{color:var(--aqua-dk);text-shadow:none}
  .hero__sub b{color:var(--deep);text-shadow:none}
  .hero__sub span{color:var(--aqua-dk);text-shadow:none}
  .hero__price-label{color:var(--aqua-dk)}
  .hero__fin{color:var(--body)}
  .hero__fin span{color:var(--muted)}
  .hero__fin{border-left-color:var(--line-soft)}
  .hero .btn--ghost{color:var(--deep);border-color:rgba(12,43,51,.30);text-shadow:none}
  .hero .btn--ghost:hover{color:var(--aqua-dk);border-color:var(--aqua);background:rgba(15,138,150,.07)}
  .hero__cta .btn{flex:1 1 100%}
}
@media(max-width:420px){.hero__strip{grid-template-columns:repeat(2,1fr)}.hero__strip>div:nth-child(3n){border-right:1px solid var(--line-soft)}.hero__strip>div:nth-child(2n){border-right:0}}

/* ---------- mobile call bar ---------- */
.callbar{display:none}
@media(max-width:640px){
  .callbar{display:flex;position:fixed;inset:auto 0 0;z-index:60;align-items:center;gap:1rem;
    padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
    background:rgba(251,247,239,.96);color:var(--deep);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .callbar__p{display:flex;flex-direction:column;line-height:1.15}
  .callbar__p b{font-family:var(--font-display);font-size:1.3rem;font-weight:400}
  .callbar__p span{font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
  .callbar .btn{margin-left:auto;padding:.8rem 1.2rem}
  body{padding-bottom:4.6rem}
}

/* ---------- sections ---------- */
.sect{padding:clamp(4.5rem,9vw,8.5rem) 0}
.sect--dark{background:var(--foam);border-block:1px solid var(--line-soft)}
.sect--sand{background:var(--sand-2);border-block:1px solid var(--line-soft)}
.sect--shell{background:var(--shell);border-block:1px solid var(--line-soft)}
.grid2{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem)}
.grid2--tight{grid-template-columns:1fr 1fr;align-items:center}
@media(max-width:900px){.grid2,.grid2--tight{grid-template-columns:1fr;gap:2.2rem}}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:clamp(3rem,6vw,5.5rem)}
.pillar{border:1px solid var(--line-soft);background:var(--shell);box-shadow:var(--shadow-card)}
.pillar img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(1.05)}
.pillar h3{font-family:var(--font-display);font-size:1.5rem;padding:1.5rem 1.5rem .55rem}
.pillar p{margin:0;padding:0 1.5rem 1.8rem;color:var(--paper-dim);font-size:.94rem}
@media(max-width:880px){.pillars{grid-template-columns:1fr}}

/* ---------- gallery ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.chip{font:inherit;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;
  background:transparent;color:var(--paper-dim);border:1px solid var(--line-soft);
  padding:.62rem 1.05rem;cursor:pointer;transition:.3s}
.chip:hover{color:var(--gold-lt);border-color:var(--line)}
.chip.is-on{background:var(--aqua);border-color:var(--aqua);color:#fff}
.masonry{columns:3;column-gap:12px}
@media(max-width:900px){.masonry{columns:2}}
@media(max-width:560px){.masonry{columns:1}}
.tile{position:relative;display:block;width:100%;margin:0 0 12px;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;break-inside:avoid}
.tile img{width:100%;transition:transform .8s cubic-bezier(.2,.7,.3,1),opacity .4s;filter:saturate(1.04)}
.tile:hover img{transform:scale(1.05)}
.tile figcaption{position:absolute;inset:auto 0 0;padding:2.4rem .9rem .8rem;
  font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:linear-gradient(transparent,rgba(var(--scrim),.82));opacity:0;transition:opacity .35s;text-align:left}
.tile:hover figcaption,.tile:focus-visible figcaption{opacity:1}

/* ---------- specs ---------- */
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:940px){.specs{grid-template-columns:1fr}}
.spec-card{border:1px solid var(--line-soft);padding:1.9rem 1.7rem;background:var(--shell);box-shadow:var(--shadow-card)}
.spec-card h3{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem;font-family:var(--font-body);font-weight:500}
.spec-card dl{margin:0}
.spec-card dl>div{display:flex;justify-content:space-between;gap:1.2rem;padding:.72rem 0;border-bottom:1px solid var(--line-soft)}
.spec-card dl>div:last-child{border-bottom:0;padding-bottom:0}
.spec-card dt{color:var(--muted);font-size:var(--text-sm);flex:none}
.spec-card dd{margin:0;text-align:right;font-size:var(--text-sm);color:var(--paper);font-weight:400}

/* ---------- timeline ---------- */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:170px 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line-soft)}
.timeline li:last-child{border-bottom:1px solid var(--line-soft)}
.yr{font-family:var(--font-display);font-size:1.6rem;color:var(--gold);line-height:1.1}
.timeline h3{font-family:var(--font-display);font-size:1.6rem;margin-bottom:.5rem}
.timeline p{margin:0;color:var(--paper-dim);max-width:66ch}
@media(max-width:760px){.timeline li{grid-template-columns:1fr;gap:.6rem}}

/* ---------- band ---------- */
.band{position:relative;min-height:60svh;display:grid;place-items:center;text-align:center;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band img{filter:brightness(1.14) saturate(1.14)}
.band::after{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(80% 80% at 50% 50%,rgba(var(--scrim),.44) 0%,rgba(var(--scrim),.28) 60%,rgba(var(--scrim),.24) 100%)}
.band__in{position:relative;z-index:2;padding:clamp(4rem,9vw,7rem) var(--pad);max-width:760px;
  color:#fff;text-shadow:0 1px 3px rgba(var(--scrim),.6),0 2px 26px rgba(var(--scrim),.85)}
.band__in p{color:rgba(255,255,255,.92);margin:1.1rem auto 2rem;max-width:46ch}

/* ---------- contact ---------- */
/* ---------- light inquire panel ---------- */
.sect--light{background:linear-gradient(180deg,var(--foam) 0%,#dceceb 100%);
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.sect--light .btn--gold{background:var(--deep);color:#f4f9f9;border-color:var(--deep)}
.sect--light .btn--gold:hover{background:var(--aqua-dk);border-color:var(--aqua-dk);color:#fff}
.sect--light .btn--ghost{border-color:rgba(12,43,51,.30);color:var(--deep)}
.sect--light .btn--ghost:hover{border-color:var(--aqua);color:var(--aqua-dk);background:rgba(15,138,150,.07)}
.sect--light .inq-fig img{border-color:rgba(12,43,51,.14);box-shadow:0 18px 46px rgba(12,43,51,.15)}

.contact{margin:2.2rem 0;border-top:1px solid var(--line-soft)}
.contact__row{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;
  padding:1.1rem 0;border-bottom:1px solid var(--line-soft)}
a.contact__row:hover .contact__v{color:var(--gold-lt)}
.contact__k{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.contact__v{font-family:var(--font-display);font-size:1.9rem;line-height:1;transition:color .3s}
.contact__v--sm{font-size:1.35rem}
.inq-fig{margin:0}
.inq-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line-soft)}
.inq-fig figcaption{margin-top:.9rem;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line-soft);padding:clamp(3rem,6vw,4.5rem) 0 2.5rem;background:var(--ink-2)}
.foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.foot .brand__mark{width:34px;height:34px;color:var(--gold);margin-bottom:1rem}
.foot__name{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.16em;margin:0 0 .3rem}
.foot__sm{margin:.2rem 0 0;font-size:var(--text-xs);color:var(--muted);letter-spacing:.06em}
.foot__c{text-align:right}
.foot__c a{font-family:var(--font-display);font-size:1.7rem}
.foot__c a:hover{color:var(--gold-lt)}
.foot__disc{margin:3rem auto 0;font-size:.6875rem;line-height:1.7;color:#6d848b;max-width:var(--maxw)}
@media(max-width:600px){.foot__c{text-align:left}}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,28,33,.97);display:grid;place-items:center;padding:clamp(1rem,4vw,3rem)}
.lb[hidden]{display:none}
.lb__fig{margin:0;max-width:min(1400px,94vw);text-align:center}
.lb__fig img{max-height:82svh;max-width:100%;width:auto;margin-inline:auto;object-fit:contain}
.lb__fig figcaption{margin-top:1rem;font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.lb__x{position:absolute;top:1rem;right:1.3rem;background:none;border:0;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;padding:.2rem .5rem}
.lb__x:hover{color:var(--aqua-lt)}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);
  color:#fff;font-size:2rem;line-height:1;width:52px;height:52px;cursor:pointer;transition:.3s}
.lb__nav:hover{background:var(--aqua);color:#fff;border-color:var(--aqua)}
.lb__nav--prev{left:clamp(.5rem,2vw,2rem)}
.lb__nav--next{right:clamp(.5rem,2vw,2rem)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px)}
.reveal.in{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
  .hero__media img{animation:none}
  *{scroll-behavior:auto!important}
}

/* ---------- engine hours ---------- */
.hrs{align-items:start;grid-template-columns:1.02fr .98fr}
@media(max-width:900px){.hrs{grid-template-columns:1fr}}
.hrs__p{color:var(--paper-dim);max-width:56ch;margin:1.15rem 0 0}
.hrs__p b{color:var(--paper);font-weight:500}
.hrs__kick{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--gold-lt);font-size:var(--text-lg);line-height:1.55;max-width:46ch}
.hrs__panel{border:1px solid var(--line);background:var(--foam);box-shadow:var(--shadow-card);padding:clamp(1.6rem,3vw,2.4rem);position:sticky;top:6rem}
.hrs__panel-h{margin:0 0 1.5rem;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500}

.hrs__track{position:relative;height:8px;background:rgba(12,43,51,.10);border-radius:2px;overflow:hidden}
.hrs__fill{display:block;height:100%;background:linear-gradient(90deg,var(--aqua),#3fc9d1);border-radius:2px}
.hrs__fill--mut{background:rgba(12,43,51,.18)}







.hrs__facts{list-style:none;margin:0;padding:1.7rem 0 0;border-top:1px solid var(--line-soft);display:grid;gap:1.15rem}
.hrs__facts li{display:flex;align-items:baseline;gap:1rem}
.hrs__facts b{font-family:var(--font-display);font-size:1.75rem;color:var(--gold);line-height:1;font-weight:400;min-width:5.4rem}
.hrs__facts span{font-size:var(--text-sm);color:var(--paper-dim)}
.hrs__src{margin:1.7rem 0 0;padding-top:1.2rem;border-top:1px solid var(--line-soft);font-size:var(--text-xs);color:var(--muted);line-height:1.6}
@media(max-width:900px){.hrs__panel{position:static}}
.hrs__big{padding-bottom:2.2rem}
.hrs__big b{display:block;font-family:var(--font-display);font-size:clamp(3.2rem,6vw,4.6rem);line-height:.95;color:var(--gold);font-weight:400}
.hrs__big span{display:block;margin-top:.5rem;font-size:var(--text-sm);color:var(--paper-dim);max-width:30ch}

.timeline p + p{margin-top:.75rem}
.hrs__bars{display:grid;gap:1.25rem;padding:0 0 1.9rem}
.hrs__bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem}
.hrs__bar-top span{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hrs__bar-top b{font-family:var(--font-display);font-size:1.02rem;font-weight:400;color:var(--paper)}
.hrs__bar:first-child .hrs__bar-top span,.hrs__bar:first-child .hrs__bar-top b{color:var(--gold-lt)}

/* ---------- lede kicker ---------- */
.lede__kick{font-family:var(--font-display);font-size:1.18rem;line-height:1.45;color:var(--gold);border-top:1px solid var(--line);padding-top:1.1rem;margin-top:1.6rem}

/* ---------- the build ---------- */
.built__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.6fr);gap:clamp(2.5rem,6vw,6rem);margin-top:3.2rem;align-items:start}
.built__fig{border-top:2px solid var(--gold);padding-top:1.4rem}
.built__fig b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(4.2rem,9vw,7.2rem);line-height:.92;color:var(--gold-lt);letter-spacing:-.02em}
.built__fig span{display:block;margin-top:.8rem;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--paper)}
.built__fig p{margin:1rem 0 0;font-size:.95rem;line-height:1.6;color:var(--muted);max-width:22ch}
.built__body p{margin:0 0 1.25rem;font-size:clamp(1.02rem,1.35vw,1.14rem);line-height:1.72;color:var(--paper-dim)}
.built__body p:first-child{font-family:var(--font-display);font-size:clamp(1.35rem,2.3vw,1.72rem);line-height:1.38;color:var(--paper);margin-bottom:1.7rem}
.built__body b{color:var(--paper);font-weight:600}
.built__kick{font-family:var(--font-display);font-size:clamp(1.1rem,1.7vw,1.32rem)!important;line-height:1.45!important;color:var(--gold-lt)!important;border-top:1px solid rgba(12,43,51,.16);padding-top:1.2rem;margin-top:1.9rem!important}
@media(max-width:860px){
  .built__grid{grid-template-columns:1fr;gap:2.2rem}
  .built__fig p{max-width:none}
}

/* ---------- arrival ---------- */
.arrival{position:relative;isolation:isolate;overflow:hidden;padding:clamp(5rem,10vw,8rem) 0 clamp(4.5rem,8vw,6.5rem)}
.arrival__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2;filter:brightness(1.15) saturate(1.10) contrast(1.02);transform:scale(1.22) translateX(11%);transform-origin:center}
.arrival__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(var(--scrim),.86) 0%,rgba(var(--scrim),.76) 36%,rgba(var(--scrim),.50) 54%,rgba(var(--scrim),.18) 70%,rgba(var(--scrim),.04) 86%,rgba(var(--scrim),0) 100%),linear-gradient(180deg,rgba(var(--scrim),.22),rgba(var(--scrim),0) 26%,rgba(var(--scrim),0) 74%,rgba(var(--scrim),.26))}
.arrival .eyebrow{color:var(--aqua-lt)}
.arrival__h{font-family:var(--font-display);font-weight:400;font-size:clamp(2.1rem,4.6vw,3.75rem);line-height:1.07;letter-spacing:-.018em;color:#fff;margin:.7rem 0 2.8rem;text-shadow:0 2px 4px rgba(var(--scrim),.72),0 0 22px rgba(var(--scrim),.68),0 0 46px rgba(var(--scrim),.55)}
.arrival__cols{columns:2;column-gap:clamp(2rem,4vw,3.4rem);max-width:44rem}
.arrival__cols p{margin:0 0 1.3rem;break-inside:avoid;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.75;color:#f2f7f7;text-shadow:0 1px 2px rgba(var(--scrim),.88),0 0 10px rgba(var(--scrim),.80),0 0 26px rgba(var(--scrim),.68)}
.arrival__kick{column-span:all;font-family:var(--font-display)!important;font-size:clamp(1.15rem,1.9vw,1.48rem)!important;line-height:1.42!important;color:var(--aqua-lt)!important;border-top:1px solid rgba(255,255,255,.24);padding-top:1.4rem;margin-top:.9rem!important;max-width:44ch}
@media(max-width:860px){.arrival{padding:0 0 clamp(3rem,9vw,4.5rem);background:var(--foam)}.arrival__bg{position:relative;inset:auto;height:64vw;width:100%;transform:none;object-position:50% 50%;margin:0 0 clamp(1.9rem,7vw,2.8rem);z-index:0;filter:brightness(1.10) saturate(1.10)}.arrival__scrim{display:none}.arrival__cols{columns:1}.arrival__h{color:var(--deep);text-shadow:none}.arrival__cols p{color:var(--body);text-shadow:none}.arrival__kick{color:var(--aqua-dk)!important;border-top-color:var(--line-soft)}}

/* ---------- a day aboard ---------- */
.day__intro{font-family:var(--font-display);font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.5;color:var(--paper-dim);max-width:40ch;margin:.9rem 0 0}
.day__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-top:clamp(3.5rem,7vw,6rem)}
.day__row--flip .day__img{order:2}
.day__img{position:relative;overflow:hidden;border-radius:2px}
.day__img img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.day__row:hover .day__img img{transform:scale(1.035)}
.day__time{font-family:var(--font-display);font-size:1.02rem;color:var(--coral);letter-spacing:.02em;margin:0 0 .6rem}
.day__txt h3{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.05rem);line-height:1.18;letter-spacing:-.012em;margin:0 0 1rem;color:var(--paper)}
.day__txt p:last-child{margin:0;font-size:clamp(1rem,1.3vw,1.09rem);line-height:1.75;color:var(--paper-dim)}
.day__kick{font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.72rem);line-height:1.42;color:var(--paper);max-width:34ch;border-top:2px solid var(--gold);padding-top:1.5rem;margin:clamp(3.5rem,7vw,5.5rem) 0 0}
@media(max-width:820px){
  .day__row{grid-template-columns:1fr;gap:1.5rem}
  .day__row--flip .day__img{order:0}
  .day__kick{max-width:none}
}

.foot__note{margin:1.4rem 0 0;font-size:.72rem;line-height:1.6;color:var(--muted);opacity:.72;max-width:62ch}

/* ---------- the crossing (full-bleed) ---------- */
.cross{position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(5rem,10vw,8.5rem) 0 clamp(4.5rem,8vw,7rem)}
.cross__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;z-index:-2}
.cross__scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,rgba(var(--scrim),.86) 0%,rgba(var(--scrim),.70) 40%,rgba(var(--scrim),.42) 58%,rgba(var(--scrim),.12) 78%,rgba(var(--scrim),.03) 100%),
    linear-gradient(180deg,rgba(var(--scrim),.40),rgba(var(--scrim),0) 30%,rgba(var(--scrim),0) 72%,rgba(var(--scrim),.42))}
.cross .eyebrow{color:var(--aqua-lt)}
.cross__h{font-family:var(--font-display);font-weight:400;
  font-size:clamp(1.95rem,4.2vw,3.5rem);line-height:1.09;letter-spacing:-.018em;
  color:#fff;margin:.7rem 0 2.6rem;text-shadow:0 2px 30px rgba(var(--scrim),.55)}
.cross__cols{columns:2;column-gap:clamp(2rem,4vw,3.4rem);max-width:52rem}
.cross__cols p{margin:0 0 1.3rem;break-inside:avoid;
  font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.75;color:#e8eded;
  text-shadow:0 1px 3px rgba(var(--scrim),.55),0 1px 22px rgba(var(--scrim),.6)}
.cross__cols p.cross__kick{column-span:all;font-family:var(--font-display);
  font-size:clamp(1.15rem,1.9vw,1.48rem);line-height:1.42;color:var(--aqua-lt);
  border-top:1px solid rgba(255,255,255,.28);padding-top:1.4rem;
  margin:.9rem 0 0;max-width:44ch;text-shadow:0 1px 22px rgba(var(--scrim),.6)}
@media(max-width:860px){
  .cross__cols{columns:1}
  .cross__scrim{background:linear-gradient(180deg,rgba(var(--scrim),.72) 0%,rgba(var(--scrim),.62) 45%,rgba(var(--scrim),.76) 100%)}
}

/* ---------- the exumas ---------- */
.bah__stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.6rem,3vw,2.6rem);margin-top:clamp(3rem,6vw,5rem)}
.bah__stop{border-top:2px solid var(--gold);padding-top:1.4rem}
.bah__n{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 .7rem}
.bah__stop h3{font-family:var(--font-display);font-weight:400;
  font-size:clamp(1.35rem,2.1vw,1.72rem);line-height:1.18;letter-spacing:-.012em;
  margin:0 0 .9rem;color:var(--paper)}
.bah__stop p:last-child{margin:0;font-size:clamp(.97rem,1.2vw,1.04rem);
  line-height:1.72;color:var(--paper-dim)}
.bah__src{margin:clamp(2.6rem,5vw,3.6rem) 0 0;font-size:var(--text-xs);
  letter-spacing:.02em;color:var(--muted)}
.bah__src a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(15,138,150,.45);
  text-underline-offset:3px}
.bah__src a:hover{color:var(--gold-lt)}
@media(max-width:900px){.bah__stops{grid-template-columns:1fr;gap:2.2rem}}

/* ---------- paired plates ---------- */
.bahpair{margin:0;padding:0 0 clamp(3rem,6vw,5rem);background:var(--ink-2)}
.bahpair__i{overflow:hidden}
.bahpair__i img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover}
.bahpair figcaption{max-width:var(--maxw);margin:1.1rem auto 0;text-align:left;
  padding-inline:var(--pad);font-size:var(--text-xs);letter-spacing:.02em;color:var(--muted)}
@media(min-width:820px){
  .bahpair{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-items:start}
  .bahpair figcaption{grid-column:1/-1}
}
