*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --gold:   #C4963A;
  --gold2:  #E8C96A;
  --navy:   #0B1929;
  --navy2:  #132338;
  --ocean:  #0E4D78;
  --cream:  #F8F4EE;
  --white:  #ffffff;
  --text:   #1C2B3A;
  --muted:  #6B7A8D;
  --border: rgba(0,0,0,0.08);
  --fh: 'Playfair Display', Georgia, serif;
  --fb: 'Inter', -apple-system, sans-serif;
  --ease: cubic-bezier(0.25,0.46,0.45,0.94);
}
html { scroll-behavior: smooth; font-size: 10px; }
body { font-family: var(--fb); font-size: 1.5rem; color: var(--text); background: var(--white); overflow-x: hidden; }
img  { display: block; max-width: 100%; }
a    { text-decoration: none; color: inherit; }
ul   { list-style: none; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 28px; }

/* ── Shared type ── */
.s-label { display:inline-block; font-size:1.1rem; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.s-title { font-family:var(--fh); font-size:4.4rem; font-weight:700; color:var(--navy); line-height:1.1; margin-bottom:14px; }
.s-sub   { font-size:1.6rem; color:var(--muted); line-height:1.65; max-width:520px; }

/* ── Buttons ── */
.btn-gold {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--gold); color:#fff;
  font-size:1.4rem; font-weight:600; letter-spacing:0.4px;
  padding:14px 32px; border-radius:5px;
  transition:background .2s, transform .2s, box-shadow .2s;
}
.btn-gold:hover { background:#a87c2a; transform:translateY(-2px); box-shadow:0 8px 28px rgba(196,150,58,.4); }
.btn-outline {
  display:inline-flex; align-items:center; gap:8px;
  border:1.5px solid rgba(255,255,255,.5); color:#fff;
  font-size:1.4rem; font-weight:500;
  padding:14px 32px; border-radius:5px;
  transition:border-color .2s, background .2s, transform .2s;
}
.btn-outline:hover { border-color:var(--gold); background:rgba(196,150,58,.12); transform:translateY(-2px); }
.btn-navy {
  display:inline-flex; align-items:center; gap:7px;
  background:var(--navy); color:#fff;
  font-size:1.3rem; font-weight:600;
  padding:11px 22px; border-radius:6px;
  transition:background .2s, transform .2s;
}
.btn-navy:hover { background:var(--ocean); transform:translateY(-1px); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NAV
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:22px 0;
  transition:background .35s, padding .35s, box-shadow .35s;
}
.sy2-nav.scrolled {
  background:rgba(11,25,41,.96);
  backdrop-filter:blur(14px);
  padding:13px 0;
  box-shadow:0 4px 28px rgba(0,0,0,.22);
}
.sy2-nav .inner { display:flex; align-items:center; justify-content:space-between; }
.sy2-logo { font-family:var(--fh); font-size:2.5rem; font-weight:700; letter-spacing:2px; color:#fff; }
.sy2-logo span { color:var(--gold); }
.sy2-links { display:flex; gap:30px; align-items:center; }
.sy2-links a { color:rgba(255,255,255,.80); font-size:1.35rem; font-weight:500; transition:color .2s; }
.sy2-links a:hover { color:var(--gold2); }
.sy2-links .nav-cta {
  background:var(--gold); color:#fff !important;
  padding:9px 22px; border-radius:4px; font-weight:600 !important;
  transition:background .2s !important;
}
.sy2-links .nav-cta:hover { background:#a87c2a !important; }
.sy2-links .nav-cta .nav-cta-lang { font-size:.78em; font-weight:600; opacity:.85; margin-left:4px; padding-left:7px; border-left:1px solid rgba(255,255,255,.5); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-hero {
  position:relative; height:100vh; min-height:640px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; background:var(--navy);
}
.hero-bg {
  position:absolute; inset:-12%;
  background:url('../images/hero-bg.jpg') center/cover no-repeat;
  filter:brightness(.52);
  will-change:transform;
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(160deg,
    rgba(11,25,41,.72) 0%,
    rgba(11,25,41,.28) 55%,
    rgba(14,77,120,.20) 100%);
}
.hero-content {
  position:relative; z-index:2;
  text-align:center; color:#fff; padding:0 20px;
}
.hero-eyebrow {
  font-size:1.2rem; font-weight:600; letter-spacing:4px;
  text-transform:uppercase; color:var(--gold2);
  margin-bottom:20px; opacity:0; transform:translateY(16px);
}
.hero-title {
  font-family:var(--fh);
  font-size:clamp(5rem,9vw,9.5rem);
  font-weight:700; line-height:1.04;
  margin-bottom:22px; opacity:0; transform:translateY(28px);
}
.hero-title em { display:block; font-style:italic; color:rgba(255,255,255,.68); font-weight:400; font-size:.52em; margin-top:4px; }
.hero-sub {
  font-size:1.8rem; font-weight:300;
  color:rgba(255,255,255,.75); max-width:560px;
  margin:0 auto 36px; line-height:1.6;
  opacity:0; transform:translateY(16px);
}
/* Scroll indicator */
.hero-scroll {
  position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:rgba(255,255,255,.5); font-size:1.05rem; letter-spacing:2px; text-transform:uppercase; z-index:2;
}
.hero-scroll-line { width:1px; height:50px; background:linear-gradient(to bottom,rgba(255,255,255,.55),transparent); animation:scrollLine 1.9s ease-in-out infinite; }
@keyframes scrollLine { 0%,100%{transform:scaleY(1);opacity:.55} 50%{transform:scaleY(1.4);opacity:1} }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MARQUEE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-marquee { background:var(--navy2); padding:14px 0; overflow:hidden; border-top:1px solid rgba(196,150,58,.18); border-bottom:1px solid rgba(196,150,58,.18); }
.marquee-track { display:flex; align-items:center; width:max-content; animation:marqScroll 34s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
@keyframes marqScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.marquee-item { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.75); font-size:1.25rem; font-weight:500; letter-spacing:.3px; text-transform:uppercase; padding:4px 30px; border-right:1px solid rgba(255,255,255,.09); white-space:nowrap; }
.marquee-item i { color:var(--gold); font-size:1.4rem; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STATS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-stats { background:var(--navy); padding:30px 0; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item { text-align:center; padding:10px 16px; border-right:1px solid rgba(255,255,255,.08); }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--fh); font-size:3.6rem; font-weight:700; color:var(--gold); line-height:1; }
.stat-lbl { font-size:1.2rem; color:rgba(255,255,255,.52); margin-top:5px; letter-spacing:.4px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FLEET
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-fleet { padding:100px 0; background:var(--cream); }
.fleet-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:52px; }
.fleet-link { font-size:1.4rem; color:var(--ocean); font-weight:500; display:flex; align-items:center; gap:6px; border-bottom:1px solid var(--ocean); padding-bottom:2px; transition:gap .2s; }
.fleet-link:hover { gap:10px; }
.fleet-subhead { font-family:var(--fh); font-size:2.4rem; font-weight:600; color:var(--navy); margin-bottom:24px; }
.fleet-subhead em { font-weight:400; font-style:italic; font-size:.72em; color:var(--muted); }
.fleet-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-bottom:52px; }
.fleet-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }

/* Yacht card */
.yc { border-radius:16px; overflow:hidden; border:1px solid var(--border); background:#fff; box-shadow:0 3px 22px rgba(0,0,0,.07); transition:transform .35s var(--ease), box-shadow .35s; }
.yc:hover { transform:translateY(-8px); box-shadow:0 20px 52px rgba(0,0,0,.13); }
.yc-img { position:relative; height:230px; overflow:hidden; }
.yc-img img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .55s var(--ease); }
.yc:hover .yc-img img { transform:scale(1.06); }
.yc-badge { position:absolute; top:14px; left:14px; background:rgba(11,25,41,.78); backdrop-filter:blur(8px); color:#fff; font-size:1.15rem; font-weight:600; padding:5px 12px; border-radius:4px; }
.yc-feat { position:absolute; top:14px; right:14px; }
.yc-feat-tag { display:inline-block; background:rgba(196,150,58,.88); color:#fff; font-size:1.05rem; font-weight:600; padding:3px 10px; border-radius:3px; }
.yc-body { padding:20px 22px 18px; }
.yc-name { font-family:var(--fh); font-size:2.2rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.yc-specs { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.yc-spec { display:flex; align-items:center; gap:5px; font-size:1.25rem; color:var(--muted); }
.yc-spec i { font-size:1.1rem; color:var(--ocean); }
.yc-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
.yc-tag { font-size:1.1rem; color:#4a7a5a; background:rgba(74,122,90,.08); border:1px solid rgba(74,122,90,.18); border-radius:20px; padding:3px 10px; }
.yc-foot { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--border); }
.yc-price-from { font-size:1.15rem; color:var(--muted); }
.yc-price { font-family:var(--fh); font-size:2.5rem; font-weight:700; color:var(--navy); line-height:1; }
.yc-price sup { font-size:1.4rem; color:var(--ocean); }
.yc-unit { font-size:1.15rem; color:var(--muted); margin-top:2px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   WHY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-why { padding:100px 0; background:var(--cream); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.why-boxes { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.why-box {
  background:#fff; border-radius:14px; padding:26px 22px;
  border-left:3px solid transparent;
  box-shadow:0 2px 16px rgba(0,0,0,.05);
  transition:border-color .25s, transform .25s, box-shadow .25s;
}
.why-box:hover { border-left-color:var(--gold); transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.09); }
.why-icon { width:44px; height:44px; background:rgba(14,77,120,.08); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.why-icon i { font-size:1.8rem; color:var(--ocean); }
.why-box h4 { font-family:var(--fh); font-size:1.75rem; font-weight:700; color:var(--navy); margin-bottom:6px; }
.why-box p  { font-size:1.35rem; color:var(--muted); line-height:1.55; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DESTINATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-dest { position:relative; padding:100px 0; overflow:hidden;
  background:linear-gradient(165deg, #0B1929 0%, #102A45 52%, #0A1A2C 100%); }
.dest-glow { position:absolute; top:-12%; right:-6%; width:580px; height:580px; pointer-events:none;
  background:radial-gradient(circle, rgba(196,150,58,.22) 0%, rgba(196,150,58,0) 68%); }
.sy2-dest .container { position:relative; z-index:1; }
.dest-head { text-align:center; max-width:660px; margin:0 auto 8px; }
.sy2-dest .s-title { color:#fff; margin-top:8px; }
.sy2-dest .s-title span { color:var(--gold2); }
.sy2-dest .s-sub { color:rgba(255,255,255,.62); margin:0 auto; }

.dest-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.dest-card {
  position:relative; display:block; width:100%; height:340px; padding:0;
  border:1px solid rgba(255,255,255,.10); border-radius:16px; overflow:hidden;
  cursor:pointer; text-align:left; font-family:inherit; background:var(--navy2);
  box-shadow:0 14px 36px rgba(0,0,0,.34);
  opacity:0; transform:translateY(26px); animation:chIn .6s var(--ease) forwards;
  transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
}
.dest-card:hover { transform:translateY(-7px); border-color:rgba(196,150,58,.55); box-shadow:0 28px 56px rgba(0,0,0,.52); }
.dest-card:focus-visible { outline:2px solid var(--gold2); outline-offset:3px; }
.dest-card img { width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease); }
.dest-card:hover img { transform:scale(1.08); }
.dest-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(7,15,26,.93) 6%, rgba(7,15,26,.34) 48%, rgba(7,15,26,.04) 100%); }
.dest-info { position:absolute; bottom:0; left:0; right:0; padding:20px 20px 22px; display:flex; flex-direction:column; }
.dest-pill { align-self:flex-start; background:var(--gold); color:#fff; font-size:1.05rem; font-weight:600; letter-spacing:.3px; padding:4px 11px; border-radius:5px; margin-bottom:10px; }
.dest-name { font-family:var(--fh); font-size:2.2rem; font-weight:700; color:#fff; line-height:1.16; margin-bottom:6px; }
.dest-meta { font-size:1.2rem; color:rgba(255,255,255,.72); }
.dest-meta i { color:var(--gold2); margin-right:5px; }
.dest-go { display:inline-flex; align-items:center; gap:7px; margin-top:0; font-size:1.25rem; font-weight:600; color:var(--gold2);
  max-height:0; opacity:0; overflow:hidden; transition:max-height .3s var(--ease), opacity .3s, margin-top .3s; }
.dest-card:hover .dest-go { max-height:30px; opacity:1; margin-top:14px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TESTIMONIALS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-testi { padding:100px 0; background:#fff; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.testi-card { background:var(--cream); border-radius:16px; padding:30px 26px; border:1px solid rgba(0,0,0,.06); }
.testi-stars { color:var(--gold); font-size:1.3rem; margin-bottom:14px; }
.testi-quote { font-family:var(--fh); font-size:4.5rem; color:var(--gold); line-height:.7; margin-bottom:14px; }
.testi-text  { font-size:1.5rem; color:var(--text); line-height:1.7; margin-bottom:20px; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:12px; }
.testi-av { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--ocean),var(--navy)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--fh); font-size:1.7rem; font-weight:700; flex-shrink:0; }
.testi-name { font-weight:600; color:var(--navy); font-size:1.4rem; }
.testi-loc  { font-size:1.2rem; color:var(--muted); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CTA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-cta {
  padding:120px 0; text-align:center; position:relative; overflow:hidden;
  background:linear-gradient(140deg, var(--navy) 0%, var(--ocean) 100%);
}
.sy2-cta::before { content:''; position:absolute; inset:0; background:url('../images/hero-bg.jpg') center/cover no-repeat; opacity:.08; }
.cta-inner { position:relative; z-index:2; }
.cta-label { font-size:1.1rem; color:var(--gold2); letter-spacing:3px; text-transform:uppercase; font-weight:600; margin-bottom:18px; }
.cta-title { font-family:var(--fh); font-size:clamp(3.8rem,6vw,6.8rem); font-weight:700; color:#fff; line-height:1.1; margin-bottom:18px; }
.cta-sub   { font-size:1.75rem; color:rgba(255,255,255,.65); margin-bottom:44px; }
.cta-btns  { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-phone { font-size:1.5rem; color:rgba(255,255,255,.6); margin-top:28px; }
.cta-phone a { color:var(--gold2); font-weight:500; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-footer { background:#070F1A; padding:60px 0 28px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:44px; }
.footer-logo { font-family:var(--fh); font-size:2.5rem; font-weight:700; color:#fff; letter-spacing:2px; margin-bottom:14px; }
.footer-logo span { color:var(--gold); }
.footer-about { font-size:1.35rem; color:rgba(255,255,255,.55); line-height:1.7; max-width:280px; }
.footer-social { display:flex; gap:10px; margin-top:20px; }
.footer-social a { width:36px; height:36px; border:1px solid rgba(255,255,255,.14); border-radius:50%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.55); font-size:1.35rem; transition:border-color .2s, color .2s; }
.footer-social a:hover { border-color:var(--gold); color:var(--gold); }
.footer-col h5 { font-size:1.25rem; font-weight:600; color:rgba(255,255,255,.85); letter-spacing:1px; text-transform:uppercase; margin-bottom:16px; }
.footer-col li { margin-bottom:10px; }
.footer-col li a { font-size:1.35rem; color:rgba(255,255,255,.52); transition:color .2s; }
.footer-col li a:hover { color:var(--gold2); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:22px; display:flex; align-items:center; justify-content:space-between; }
.footer-copy { font-size:1.25rem; color:rgba(255,255,255,.4); }
.footer-legal { display:flex; gap:20px; }
.footer-legal a { font-size:1.25rem; color:rgba(255,255,255,.38); transition:color .2s; }
.footer-legal a:hover { color:var(--gold2); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.sy2-contact { padding:100px 0; background:var(--cream); }
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:start; }
.contact-list { margin-top:32px; display:flex; flex-direction:column; gap:20px; }
.contact-list li { display:flex; align-items:center; gap:16px; }
.contact-ico { width:46px; height:46px; flex-shrink:0; background:rgba(14,77,120,.08); border-radius:11px; display:flex; align-items:center; justify-content:center; }
.contact-ico i { font-size:1.7rem; color:var(--ocean); }
.contact-k { font-size:1.2rem; color:var(--muted); margin-bottom:2px; }
.contact-v { font-size:1.55rem; font-weight:600; color:var(--navy); }
a.contact-v { transition:color .2s; }
a.contact-v:hover { color:var(--gold); }

.contact-form { background:#fff; border-radius:18px; padding:36px 34px; box-shadow:0 8px 38px rgba(0,0,0,.08); border:1px solid var(--border); }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cf-field { margin-bottom:18px; display:flex; flex-direction:column; }
.cf-field label { font-size:1.25rem; font-weight:600; color:var(--navy); margin-bottom:7px; }
.cf-field input, .cf-field select, .cf-field textarea {
  font-family:var(--fb); font-size:1.45rem; color:var(--text);
  padding:13px 15px; border:1.5px solid var(--border); border-radius:8px;
  background:var(--cream); transition:border-color .2s, background .2s, box-shadow .2s;
}
.cf-field input:focus, .cf-field select:focus, .cf-field textarea:focus {
  outline:none; border-color:var(--gold); background:#fff;
  box-shadow:0 0 0 3px rgba(196,150,58,.14);
}
.cf-field textarea { resize:vertical; min-height:96px; }
.cf-submit { width:100%; justify-content:center; margin-top:6px; font-size:1.5rem; padding:15px 32px; border:none; cursor:pointer; }
.cf-note { font-size:1.2rem; color:var(--muted); text-align:center; margin-top:14px; }

/* ── Custom date picker ── */
.sy-dp { position:relative; }
.sy-dp > input { width:100%; cursor:pointer; padding-right:44px !important; }
.sy-dp-ico { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--gold); font-size:1.5rem; pointer-events:none; }

.sy-cal {
  position:absolute; z-index:60; top:calc(100% + 8px); right:0;
  width:300px; background:#fff; border:1px solid var(--border); border-radius:14px;
  box-shadow:0 18px 50px rgba(11,25,41,.20); padding:15px;
  animation:syCalIn .16s var(--ease);
}
.sy-cal[hidden] { display:none; }
@keyframes syCalIn { from{ opacity:0; transform:translateY(-7px); } to{ opacity:1; transform:none; } }

.sy-cal-head { display:flex; align-items:center; gap:7px; margin-bottom:12px; }
.sy-cal-selects { display:flex; gap:6px; flex:1; min-width:0; }
.sy-cal-month, .sy-cal-year {
  font-family:var(--fb); font-size:1.3rem; font-weight:600; color:var(--navy);
  padding:8px 9px; border:1.5px solid var(--border); border-radius:8px;
  background:var(--cream); cursor:pointer; transition:border-color .2s, box-shadow .2s;
  appearance:none; -webkit-appearance:none; text-align:center;
}
.sy-cal-month { flex:1.7; min-width:0; }
.sy-cal-year  { flex:1; min-width:0; }
.sy-cal-month:focus, .sy-cal-year:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(196,150,58,.14); }
.sy-cal-nav {
  width:32px; height:32px; flex:0 0 32px; display:flex; align-items:center; justify-content:center;
  border:none; border-radius:50%; background:var(--cream); color:var(--navy);
  cursor:pointer; font-size:1.2rem; transition:background .2s, color .2s;
}
.sy-cal-nav:hover:not(:disabled) { background:var(--gold); color:#fff; }
.sy-cal-nav:disabled { opacity:.32; cursor:default; }

.sy-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.sy-cal-dow span { text-align:center; font-size:1.02rem; font-weight:700; letter-spacing:.6px; color:var(--muted); padding:4px 0; }
.sy-cal-days { margin-top:4px; }
.sy-cal-day {
  aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  border:none; background:transparent; border-radius:9px; cursor:pointer;
  font-family:var(--fb); font-size:1.3rem; color:var(--text);
  transition:background .15s, color .15s;
}
.sy-cal-day.is-empty { visibility:hidden; cursor:default; }
.sy-cal-day:hover:not(.is-disabled):not(.is-selected):not(.is-empty) { background:rgba(196,150,58,.16); color:var(--navy); }
.sy-cal-day.is-today { box-shadow:inset 0 0 0 1.6px var(--gold); font-weight:700; }
.sy-cal-day.is-selected { background:var(--gold); color:#fff; font-weight:700; box-shadow:0 4px 12px rgba(196,150,58,.4); }
.sy-cal-day.is-disabled { color:#C7CDD4; cursor:default; }

.sy-cal-foot { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding-top:11px; border-top:1px solid var(--border); }
.sy-cal-foot button { border:none; background:none; cursor:pointer; font-family:var(--fb); font-size:1.25rem; font-weight:600; padding:5px 8px; border-radius:7px; transition:color .2s, background .2s; }
.sy-cal-today { color:var(--gold); }
.sy-cal-today:hover { background:rgba(196,150,58,.14); }
.sy-cal-clear { color:var(--muted); }
.sy-cal-clear:hover { color:var(--navy); background:var(--cream); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO BOOKING BAR (location picker)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hero-booking {
  margin:42px auto 0; max-width:780px;
  background:rgba(11,25,41,.34); backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.24); border-radius:18px;
  padding:26px 28px; opacity:0; transform:translateY(16px);
  box-shadow:0 22px 60px rgba(0,0,0,.38);
}
.hb-label { display:block; font-size:1.55rem; font-weight:600; letter-spacing:.4px; color:#fff; margin-bottom:18px; text-align:center; }
.hb-label i { color:var(--gold2); margin-right:9px; }
.hb-locations { display:flex; gap:13px; flex-wrap:wrap; justify-content:center; }
.hb-loc {
  flex:1 1 0; min-width:140px;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:rgba(255,255,255,.10); color:#fff;
  border:1.5px solid rgba(255,255,255,.30); border-radius:12px;
  font-family:var(--fb); font-size:1.65rem; font-weight:600; letter-spacing:.3px;
  padding:17px 20px; cursor:pointer;
  transition:background .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;
}
.hb-loc i { font-size:1.35rem; opacity:.7; transition:opacity .2s; }
.hb-loc:hover { background:rgba(196,150,58,.22); border-color:var(--gold2); transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.3); }
.hb-loc.is-active { background:var(--gold); border-color:var(--gold); color:#fff; box-shadow:0 14px 32px rgba(196,150,58,.55); transform:translateY(-2px); }
.hb-loc.is-active i { opacity:1; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CHARTERS (location results)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.charters-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:38px; flex-wrap:wrap; }
.charters-head .s-title span { color:var(--gold); }
.charters-sort { display:flex; align-items:center; gap:12px; }
.charters-sort label { font-size:1.3rem; font-weight:600; color:var(--navy); white-space:nowrap; }
.charters-sort label i { color:var(--gold); margin-right:5px; }
.charters-sort select {
  font-family:var(--fb); font-size:1.4rem; font-weight:500; color:var(--navy);
  background:#fff; border:1px solid var(--border); border-radius:8px;
  padding:11px 38px 11px 16px; cursor:pointer; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C4963A' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center;
  transition:border-color .2s, box-shadow .2s;
}
.charters-sort select:hover, .charters-sort select:focus { border-color:var(--gold); outline:none; box-shadow:0 0 0 3px rgba(196,150,58,.14); }

.fleet-group + .fleet-group { margin-top:54px; }
.charters-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.ch-card {
  display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--border); border-radius:16px; overflow:hidden;
  box-shadow:0 6px 24px rgba(11,25,41,.06);
  opacity:0; transform:translateY(28px); animation:chIn .6s var(--ease) forwards;
  transition:transform .28s var(--ease), box-shadow .28s;
}
.ch-card:hover { transform:translateY(-6px); box-shadow:0 22px 50px rgba(11,25,41,.16); }
@keyframes chIn { to { opacity:1; transform:translateY(0); } }
.ch-img { position:relative; height:200px; overflow:hidden; }
.ch-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.ch-card:hover .ch-img img { transform:scale(1.07); }
.ch-badge {
  position:absolute; top:14px; left:14px;
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(11,25,41,.82); color:#fff; backdrop-filter:blur(4px);
  font-size:1.1rem; font-weight:600; padding:6px 12px; border-radius:20px;
}
.ch-badge i { color:var(--gold2); }
.ch-feat { position:absolute; bottom:14px; right:14px; background:var(--gold); color:#fff; font-size:1.05rem; font-weight:600; letter-spacing:.3px; padding:5px 11px; border-radius:6px; }
.ch-body { padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
.ch-name { font-family:var(--fh); font-size:2.05rem; font-weight:700; color:var(--navy); line-height:1.18; margin-bottom:12px; }
.ch-specs { display:flex; gap:18px; margin-bottom:14px; }
.ch-specs span { font-size:1.3rem; color:var(--muted); display:inline-flex; align-items:center; gap:6px; }
.ch-specs i { color:var(--ocean); }
.ch-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.ch-tags span { font-size:1.1rem; color:var(--ocean); background:rgba(14,77,120,.07); padding:4px 10px; border-radius:5px; }
.ch-foot { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:16px; border-top:1px solid var(--border); }
.ch-from { display:block; font-size:1.05rem; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
.ch-price { display:block; font-family:var(--fh); font-size:2.4rem; font-weight:700; color:var(--navy); line-height:1.1; }
.ch-unit { display:block; font-size:1.1rem; color:var(--muted); }
.ch-select { white-space:nowrap; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BOOKING DRAWER (boat + services)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.bk-overlay {
  position:fixed; inset:0; z-index:2100;
  display:flex; justify-content:flex-end;
  background:rgba(11,25,41,.72); backdrop-filter:blur(6px);
  opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s;
}
.bk-overlay.open { opacity:1; visibility:visible; }
.bk-overlay[hidden] { display:none; }
.bk-panel {
  position:relative; width:100%; max-width:480px; height:100%; overflow-y:auto;
  background:#fff; box-shadow:-30px 0 80px rgba(0,0,0,.45);
  transform:translateX(40px); transition:transform .32s var(--ease);
}
.bk-overlay.open .bk-panel { transform:translateX(0); }
.bk-close {
  position:absolute; top:16px; right:16px; z-index:3;
  width:40px; height:40px; border:none; border-radius:50%;
  background:rgba(255,255,255,.9); color:var(--navy); font-size:2.4rem; line-height:1;
  cursor:pointer; transition:background .2s, color .2s;
}
.bk-close:hover { background:var(--gold); color:#fff; }
.bk-media { position:relative; height:220px; }
.bk-media img { width:100%; height:100%; object-fit:cover; }
.bk-media::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(11,25,41,.55), transparent 55%); }
.bk-type {
  position:absolute; left:24px; bottom:16px; z-index:2;
  font-size:1.1rem; font-weight:600; letter-spacing:.5px; text-transform:uppercase;
  color:#fff; background:var(--gold); padding:5px 12px; border-radius:6px;
}
.bk-body { padding:26px 24px 32px; }
.bk-title { font-family:var(--fh); font-size:2.6rem; font-weight:700; color:var(--navy); line-height:1.15; }
.bk-specs { display:flex; flex-wrap:wrap; gap:14px; margin:12px 0 22px; }
.bk-specs span { font-size:1.3rem; color:var(--muted); display:inline-flex; align-items:center; gap:6px; }
.bk-specs i { color:var(--ocean); }
.bk-row { display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.bk-row span { font-size:1.45rem; color:var(--text); }
.bk-row em { font-style:normal; color:var(--muted); font-size:1.2rem; }
.bk-base { border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.bk-base strong { font-family:var(--fh); font-size:2rem; color:var(--navy); }
.bk-services { padding:20px 0 4px; }
.bk-services-head { font-size:1.4rem; font-weight:600; color:var(--navy); margin-bottom:14px; }
.bk-services-head em { font-style:normal; font-weight:400; color:var(--muted); font-size:1.15rem; }
.bk-services-list { display:flex; flex-direction:column; gap:10px; }
.bk-service {
  display:flex; align-items:center; gap:13px;
  border:1px solid var(--border); border-radius:11px; padding:12px 14px; cursor:pointer;
  transition:border-color .2s, background .2s;
}
.bk-service:hover { border-color:var(--gold); background:rgba(196,150,58,.05); }
.bk-service.is-on { border-color:var(--gold); background:rgba(196,150,58,.10); }
.bk-service input { position:absolute; opacity:0; width:0; height:0; }
.bk-service-ico {
  flex:none; width:42px; height:42px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background:var(--cream); color:var(--ocean); font-size:1.6rem;
  transition:background .2s, color .2s;
}
.bk-service.is-on .bk-service-ico { background:var(--gold); color:#fff; }
.bk-service-txt { flex:1; display:flex; flex-direction:column; gap:2px; }
.bk-service-txt strong { font-size:1.4rem; font-weight:600; color:var(--navy); }
.bk-service-txt em { font-style:normal; font-size:1.15rem; color:var(--muted); }
.bk-service-price { flex:none; font-size:1.4rem; font-weight:700; color:var(--gold); }
.bk-total { margin-top:18px; padding:18px 0; border-top:2px solid var(--navy); }
.bk-total span { font-size:1.6rem; font-weight:600; color:var(--navy); }
.bk-total strong { font-family:var(--fh); font-size:2.8rem; color:var(--gold); }

/* ── Booking drawer: free-text request box ── */
.bk-request { padding:18px 0 4px; }
.bk-request-head { display:block; font-size:1.4rem; font-weight:600; color:var(--navy); margin-bottom:12px; }
.bk-request-head em { font-style:normal; font-weight:400; color:var(--muted); font-size:1.15rem; }
.bk-request-input {
  width:100%; font-family:var(--fb); font-size:1.4rem; color:var(--text);
  padding:13px 15px; border:1.5px solid var(--border); border-radius:10px;
  background:var(--cream); resize:vertical; min-height:92px;
  transition:border-color .2s, background .2s, box-shadow .2s;
}
.bk-request-input:focus { outline:none; border-color:var(--gold); background:#fff; box-shadow:0 0 0 3px rgba(196,150,58,.14); }
.bk-cta { width:100%; justify-content:center; margin-top:6px; }
.bk-note { font-size:1.15rem; color:var(--muted); text-align:center; margin-top:12px; }

/* Trip detail drawer (reuses .bk-* shell) */
.tr-loc { display:inline-flex; align-items:center; gap:6px; font-size:1.2rem; font-weight:600; letter-spacing:.4px; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.tr-blurb { font-size:1.45rem; color:var(--muted); line-height:1.6; margin:10px 0 22px; }
.tr-section-head { font-size:1.4rem; font-weight:600; color:var(--navy); margin-bottom:12px; }
.tr-highlights { display:flex; flex-direction:column; gap:9px; margin-bottom:22px; }
.tr-highlights li { display:flex; align-items:flex-start; gap:10px; font-size:1.4rem; color:var(--text); }
.tr-highlights i { color:var(--gold); font-size:1.2rem; margin-top:3px; }
.tr-yachts { width:100%; margin-top:10px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:#fff; color:var(--navy); border:1.5px solid var(--border); border-radius:6px;
  font-family:var(--fb); font-size:1.4rem; font-weight:600; padding:13px 20px; cursor:pointer;
  transition:border-color .2s, background .2s, color .2s; }
.tr-yachts:hover { border-color:var(--ocean); color:var(--ocean); background:rgba(14,77,120,.05); }
.tr-yachts i { color:var(--ocean); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   GSAP base states
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.fade-up   { opacity:0; transform:translateY(44px); }
.fade-left { opacity:0; transform:translateX(-44px); }
.fade-right{ opacity:0; transform:translateX(44px); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:1024px){
  .fleet-grid-3 { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:1fr; gap:44px; }
  .dest-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .testi-grid  { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; gap:44px; }
  .charters-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .hero-booking { padding:16px; }
  .hb-locations { gap:8px; }
  .hb-loc { flex:1 1 44%; min-width:0; padding:11px 10px; font-size:1.3rem; }
  .sy2-fleet { padding:60px 0; }
  .charters-head { gap:18px; }
  .charters-sort { width:100%; }
  .charters-sort select { flex:1; }
  .charters-grid { grid-template-columns:1fr; }
  .bk-panel { max-width:100%; }
  .sy2-links { display:none; }
  .fleet-grid-3,.fleet-grid-2 { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2){ border-right:none; }
  .stat-item:nth-child(3),.stat-item:nth-child(4){ border-top:1px solid rgba(255,255,255,.08); }
  .dest-grid { grid-template-columns:1fr; }
  .dest-card { height:260px; }
  .why-boxes { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
  .cf-row { grid-template-columns:1fr; gap:0; }
  .contact-form { padding:28px 22px; }
}
