:root{
  --font-display:"Cormorant Garamond", "Georgia", serif;
  --font-body:"Jost", "Helvetica Neue", sans-serif;

  --abyss:#0b2947;
  --deep:#123f68;
  --deep-2:#1a4f7d;
  --shelf:#235f92;
  --glass:rgba(255,255,255,.06);
  --glass-2:rgba(255,255,255,.1);
  --edge:rgba(160,214,240,.22);
  --edge-soft:rgba(160,214,240,.12);
  --foam:#ffffff;
  --mist:#cfe4f2;
  --mist-2:#9fc0d6;
  --lagoon:#4fd2e6;
  --orchid:#e57ac3;
  --orchid-deep:#b8478f;

  --fs-hero:96px;
  --fs-h2:40px;
  --fs-h3:19px;
  --fs-price:26px;
  --fs-sub:28px;
  --fs-body:15px;
  --fs-small:13px;
  --fs-label:11px;
  --fs-kicker:18px;
  --fs-nav:14px;

  --lh-tight:1.04;
  --lh-head:1.18;
  --lh-body:1.65;
  --ls-wide:.28em;
  --ls-mid:.14em;
  --ls-tight:-.01em;

  --sp-0:0px;
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:48px;
  --sp-8:72px;
  --sp-9:112px;

  --r-sm:6px;
  --r-md:14px;
  --r-lg:22px;
  --r-pill:999px;

  --bw:1px;
  --bw-rule:2px;
  --dot-size:5px;
  --shadow-frame:0 30px 70px rgba(0,0,0,.45);
  --shadow-card:0 18px 40px rgba(0,0,0,.28);
  --glow:0 0 0 var(--bw) var(--edge), 0 24px 50px rgba(0,0,0,.35);
  --veil-hero:linear-gradient(180deg, rgba(3,18,31,.25) 0%, rgba(3,18,31,.55) 45%, rgba(3,18,31,.92) 82%, var(--abyss) 100%);
  --veil-band:linear-gradient(180deg, var(--abyss) 0%, rgba(3,18,31,.82) 40%, rgba(3,18,31,.92) 100%);
  --fade-soft:radial-gradient(120% 100% at 30% 45%, rgba(0,0,0,1) 40%, rgba(0,0,0,.35) 72%, rgba(0,0,0,0) 100%);
  --sheen:linear-gradient(180deg, var(--deep) 0%, var(--abyss) 100%);
  --rule-grad:linear-gradient(90deg, var(--orchid) 0%, var(--edge-soft) 100%);

  --hero-photo:url("../images/hero.jpg");
  --book-photo:url("../images/small-boat.jpg");

  --w-content:1120px;
  --w-brand:34px;
  --w-brand-footer:28px;
  --h-hero:760px;
  --h-tile:230px;
  --h-figure:440px;
  --h-figure-small:200px;
  --h-input:46px;
  --h-tap:44px;
  --fade-tile:linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
  --hero-focus:50% 28%;
  --card-basis:280px;
  --h-card-img:340px;
  --w-card-media:480px;
  --fs-h2-card:26px;
  --w-aside:150px;
  --h-aside:560px;
  --h-aside-m:140px;
  --fish-fade:.85;
  --fade-aside:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 100%);
  --fade-aside-m:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 100%);
  --tile-basis-wide:520px;
  --blur:18px;
}
*{box-sizing:border-box;}
body{margin:var(--sp-0);background:var(--abyss);color:var(--mist);font-family:var(--font-body);font-size:var(--fs-body);font-weight:300;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
h1,h2,h3{margin:var(--sp-0);font-family:var(--font-display);font-weight:500;line-height:var(--lh-head);}
p,ul,li{margin:var(--sp-0);padding:var(--sp-0);list-style:none;}
a{color:var(--lagoon);text-decoration:none;}
a:hover{color:var(--foam);}

.page{display:flex;flex-direction:column;background:var(--abyss);width:100%;overflow-x:hidden;}
.main{display:flex;flex-direction:column;}

.site-header{position:sticky;top:var(--sp-0);z-index:5;display:flex;background:rgba(6,29,49,.82);backdrop-filter:blur(var(--blur));border-bottom:var(--bw) solid var(--edge-soft);}
.header-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-5);width:100%;max-width:var(--w-content);margin:var(--sp-0) auto;padding:var(--sp-4) var(--sp-7);}
.brand{display:flex;flex-direction:row;align-items:center;gap:var(--sp-3);color:var(--foam);min-width:0;}
.brand:hover{color:var(--lagoon);}
.brand-mark{width:var(--w-brand);flex:0 0 auto;}
.brand-text{display:flex;flex-direction:column;min-width:0;}
.brand-name{font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:var(--ls-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-place{font-size:var(--fs-label);letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--mist-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.button-primary{display:flex;flex-direction:row;align-items:center;justify-content:center;flex:0 0 auto;white-space:nowrap;background:var(--orchid);color:var(--abyss);font-size:var(--fs-nav);font-weight:500;letter-spacing:var(--ls-tight);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-pill);cursor:pointer;border:none;}
.button-primary:hover{background:var(--foam);color:var(--abyss);}
.button-quiet{display:flex;flex-direction:row;align-items:center;justify-content:center;background:var(--glass);color:var(--foam);font-size:var(--fs-nav);padding:var(--sp-3) var(--sp-6);border:var(--bw) solid var(--edge);border-radius:var(--r-pill);backdrop-filter:blur(var(--blur));}
.button-quiet:hover{background:var(--glass-2);color:var(--foam);}
.button-block{width:100%;margin-top:var(--sp-2);}

.hero{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--sp-7);min-height:var(--h-hero);padding:var(--sp-9) var(--sp-7) var(--sp-7);background-image:var(--veil-hero), var(--hero-photo);background-size:cover, cover;background-position:center, var(--hero-focus);}
.hero-inner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);width:100%;max-width:var(--w-content);margin:var(--sp-0) auto;text-align:center;}
.kicker{font-family:var(--font-body);font-size:var(--fs-kicker);font-weight:400;letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--mist);}
.hero-title{font-size:var(--fs-hero);font-weight:400;letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--foam);line-height:var(--lh-tight);text-wrap:pretty;}
.hero-sub{font-family:var(--font-body);font-size:var(--fs-kicker);font-weight:400;letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--mist);}
.hero-meta{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--sp-5);width:100%;max-width:var(--w-content);margin:var(--sp-0) auto;}
.hero-meta-item{display:flex;flex-direction:row;align-items:center;white-space:nowrap;background:var(--glass);border:var(--bw) solid var(--edge-soft);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-small);color:var(--mist);backdrop-filter:blur(var(--blur));}

.band{display:flex;background:var(--abyss);}
.band-figure{background:var(--sheen);}
.band-book{background-image:var(--veil-band), var(--book-photo);background-size:cover, cover;background-position:center, center;}
.band-inner{display:flex;flex-direction:column;gap:var(--sp-7);width:100%;max-width:var(--w-content);margin:var(--sp-0) auto;padding:var(--sp-8) var(--sp-7);}
.lead{display:flex;flex-direction:column;gap:var(--sp-3);max-width:var(--tile-basis-wide);}
.lead-brand{font-family:var(--font-display);font-size:var(--fs-small);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--mist-2);}
.lead-title{font-size:var(--fs-h2);color:var(--foam);letter-spacing:var(--ls-mid);text-transform:uppercase;}
.rule{display:block;width:100%;height:var(--bw-rule);background:var(--rule-grad);border-radius:var(--r-pill);}
.lead-text{color:var(--mist-2);text-wrap:pretty;}

.band-row{display:flex;flex-direction:row;align-items:stretch;width:100%;}
.band-aside-flip .band-row{flex-direction:row-reverse;}
.band-aside .band-inner{flex:1 1 auto;min-width:0;}
.reef-aside{display:flex;align-items:center;flex:0 0 var(--w-aside);overflow:hidden;}
.reef-fish{width:100%;height:var(--h-aside);object-fit:cover;opacity:var(--fish-fade);mask-image:var(--fade-aside);-webkit-mask-image:var(--fade-aside);}
.card-list{display:flex;flex-direction:column;gap:var(--sp-5);}
.card-item{display:flex;width:100%;}
.card-service{display:flex;flex-direction:row;align-items:stretch;width:100%;background:var(--deep);border:var(--bw) solid var(--edge-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);color:var(--mist);transition:border-color .25s ease, background .25s ease;min-height:var(--h-card-img);}
.card-service:hover{background:var(--deep-2);border-color:var(--edge);color:var(--mist);}
.card-flip{flex-direction:row-reverse;}
.card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-4);flex:1 1 auto;min-width:0;padding:var(--sp-6) var(--sp-7);}
.card-head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;}
.card-title{text-align:center;width:100%;font-size:var(--fs-h2-card);letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--foam);}
.card-text{color:var(--mist-2);font-size:var(--fs-body);max-width:var(--tile-basis-wide);}
.card-foot{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--sp-3);}
.card-price{font-family:var(--font-display);font-size:var(--fs-price);color:var(--lagoon);white-space:nowrap;}
.card-cta{appearance:none;background:transparent;cursor:pointer;font-family:var(--font-body);display:flex;flex-direction:row;align-items:center;justify-content:center;border:var(--bw) solid var(--edge);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-small);letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--foam);}
.card-cta:hover{background:var(--orchid);border-color:var(--orchid);color:var(--abyss);}
.card-book{appearance:none;cursor:pointer;font-family:var(--font-body);display:flex;flex-direction:row;align-items:center;justify-content:center;background:var(--orchid);border:var(--bw) solid var(--orchid);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-6);font-size:var(--fs-small);letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--abyss);text-decoration:none;}
.card-service:hover .card-book{background:var(--foam);border-color:var(--foam);}
.sheet-text{color:var(--mist-2);font-size:var(--fs-small);}
.sheet{display:flex;flex-direction:column;align-items:center;width:100%;gap:var(--sp-3);border-top:var(--bw) solid var(--edge-soft);padding-top:var(--sp-5);}
.sheet[hidden]{display:none;}
.sheet-head{font-size:var(--fs-label);letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--mist-2);}
.sheet-list{display:flex;flex-direction:column;gap:var(--sp-2);}
.sheet-item{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--sp-3);font-size:var(--fs-small);color:var(--mist);}
.card-media{display:flex;flex-direction:column;flex:0 0 var(--w-card-media);height:var(--h-card-img);align-self:center;}
.card-img{flex:1 1 0;width:100%;height:0;min-height:0;object-fit:cover;}
.card-img-contain{object-fit:contain;padding:var(--sp-5);}
.stops{display:flex;flex-direction:column;gap:var(--sp-4);border-top:var(--bw) solid var(--edge-soft);padding-top:var(--sp-5);}
.stops-head{font-size:var(--fs-label);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--mist-2);}
.stop-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--sp-3);}
.stop-item{display:flex;flex-direction:row;align-items:center;gap:var(--sp-2);background:var(--glass);border:var(--bw) solid var(--edge-soft);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-small);color:var(--mist);}
.dot{display:block;width:var(--dot-size);height:var(--dot-size);border-radius:var(--r-pill);background:var(--orchid);flex:0 0 var(--dot-size);}

.split{flex-direction:row;align-items:center;gap:var(--sp-8);}
.split-media{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);flex:1 1 45%;}
.figure-img-small{width:100%;height:var(--h-figure-small);object-fit:cover;object-position:center 18%;border-radius:var(--r-md);}
.figure-img{width:100%;height:var(--h-figure);object-fit:cover;mask-image:var(--fade-soft);-webkit-mask-image:var(--fade-soft);}
.split-copy{display:flex;flex-direction:column;gap:var(--sp-4);flex:1 1 55%;}
.check-list{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2);}
.check-item{display:flex;flex-direction:row;align-items:center;gap:var(--sp-3);font-size:var(--fs-small);color:var(--mist);}

.contact-list{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-2);}
.contact-item{display:flex;flex-direction:column;gap:var(--sp-1);border-top:var(--bw) solid var(--edge-soft);padding-top:var(--sp-3);}
.contact-label{font-size:var(--fs-label);letter-spacing:var(--ls-mid);text-transform:uppercase;color:var(--mist-2);}
.contact-value{font-family:var(--font-display);font-size:var(--fs-sub);color:var(--foam);}
.book-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);flex:1 1 45%;background:var(--glass);border:var(--bw) solid var(--edge-soft);border-radius:var(--r-md);padding:var(--sp-7) var(--sp-6);box-shadow:var(--shadow-card);text-align:center;}
.book-card-title{font-size:var(--fs-h3);color:var(--foam);}
.book-card-text{color:var(--mist-2);font-size:var(--fs-small);}

.site-footer{display:flex;flex-direction:column;align-items:center;background:var(--abyss);border-top:var(--bw) solid var(--edge-soft);padding:var(--sp-8) var(--sp-7);}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--sp-6);width:100%;max-width:var(--w-content);margin:var(--sp-0) auto;}
.footer-mark{width:var(--w-brand-footer);}
.footer-actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--sp-4);}

@media (max-width: 900px){
  :root{--fs-hero:60px;--fs-h2:32px;--sp-9:72px;--sp-8:40px;--sp-7:32px;--card-basis:240px;--tile-basis-wide:100%;--h-figure:360px;--h-hero:600px;}
  :root{--w-aside:90px;--h-aside:420px;--w-card-media:340px;--h-card-img:280px;--fs-h2-card:22px;--h-figure:300px;}
  .band-row{flex-direction:column;}
  .band-aside-flip .band-row{flex-direction:column;}
  .reef-aside{flex:0 0 auto;width:100%;margin:var(--sp-0);}
  .band-aside-flip .reef-aside{margin:var(--sp-0);}
  .reef-fish{height:var(--h-aside-m);mask-image:var(--fade-aside-m);-webkit-mask-image:var(--fade-aside-m);}
  .button-primary{padding:var(--sp-2) var(--sp-5);}
  .card-body{padding:var(--sp-5);}
  .card-book{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-label);letter-spacing:var(--ls-tight);}
  .card-cta{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-label);letter-spacing:var(--ls-tight);}
  .card-foot{gap:var(--sp-2);}
  .split{flex-direction:column;align-items:stretch;gap:var(--sp-6);}
  .split-media{flex-direction:row;align-items:stretch;gap:var(--sp-4);}
  .figure-img{flex:2 1 0;min-width:0;height:var(--h-figure);mask-image:none;-webkit-mask-image:none;border-radius:var(--r-md);}
  .figure-img-small{flex:1 1 0;min-width:0;height:var(--h-figure);}
  .hero-meta{justify-content:flex-start;}
}
@media (max-width: 560px){
  :root{--fs-hero:40px;--fs-h2:26px;--fs-sub:17px;--sp-9:56px;--sp-8:32px;--sp-7:20px;--card-basis:100%;--h-tile:200px;--h-figure:260px;--h-hero:520px;--h-input:48px;--ls-wide:.18em;}
  .header-inner{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);}
  .brand-name{font-size:var(--fs-small);}
  .brand-place{font-size:9px;}
  .button-primary{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small);}
  .hero{padding:var(--sp-8) var(--sp-4) var(--sp-6);gap:var(--sp-5);}
  .hero-meta{flex-direction:column;gap:var(--sp-2);}
  .hero-meta-item{justify-content:center;}
  .band-row{flex-direction:column;}
  .band-aside-flip .band-row{flex-direction:column;}
  .reef-aside{flex:0 0 auto;width:100%;margin:var(--sp-0);}
  .band-aside-flip .reef-aside{margin:var(--sp-0);}
  .reef-fish{height:var(--h-aside-m);mask-image:var(--fade-aside-m);-webkit-mask-image:var(--fade-aside-m);}
  .band-inner{padding:var(--sp-8) var(--sp-4);gap:var(--sp-6);}
  .card-service{flex-direction:column-reverse;align-items:stretch;}
  .card-body{padding:var(--sp-5) var(--sp-4);}
  :root{--h-card-img:240px;--fs-h2-card:18px;--h-figure:240px;--h-figure-small:180px;}
  .split-media{flex-direction:column;}
  .figure-img{flex:0 0 auto;height:var(--h-figure);}
  .figure-img-small{flex:0 0 auto;height:var(--h-figure-small);}
  .card-title{text-wrap:balance;}
  .card-flip{flex-direction:column-reverse;}
  .card-media{flex:0 0 var(--h-card-img);height:var(--h-card-img);align-self:stretch;width:100%;}
  .card-foot{flex-direction:column-reverse;align-items:stretch;gap:var(--sp-3);}
  .card-cta{width:100%;padding:var(--sp-3) var(--sp-5);min-height:var(--h-tap);}
  .card-book{width:100%;padding:var(--sp-3) var(--sp-5);min-height:var(--h-tap);}
  .book-card{padding:var(--sp-6) var(--sp-4);}
  .footer-actions{flex-direction:column;align-items:stretch;width:100%;}
}
