:root{
  --navy:#142335;--navy-2:#1c3350;--sea:#2f7fa8;--gold:#c9a45c;--sand:#f6f2ea;--ink:#1a2430;--muted:#5b6876;--white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.2}
.container{width:min(1120px,92%);margin:0 auto}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--gold);margin-bottom:.8rem;display:block}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(20,35,53,.92);backdrop-filter:blur(8px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{color:var(--white);letter-spacing:.25em;font-size:.95rem}
.logo b{color:var(--gold);font-weight:400}
nav ul{display:flex;gap:1.6rem;list-style:none;align-items:center}
nav a{color:#d8e2ee;font-size:.88rem}
nav a:hover{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:.85rem 1.8rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:.2s}
.btn:hover{background:#dcb870;transform:translateY(-1px)}
nav a.btn{color:var(--navy);padding:.5rem 1.2rem;font-size:.85rem}
.burger{display:none;background:none;border:0;color:var(--white);font-size:1.6rem;cursor:pointer}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;color:var(--white);
  background:linear-gradient(rgba(20,35,53,.55),rgba(20,35,53,.65)),var(--navy) center/cover no-repeat;padding-top:68px}
.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);max-width:12ch;margin-bottom:1.2rem}
.hero p{font-size:1.15rem;max-width:34rem;color:#e3ebf3;margin-bottom:1rem}
.hero .from{color:var(--gold);letter-spacing:.08em;margin-bottom:2rem;display:block}

section{padding:5.5rem 0}
.center{text-align:center}
.lead{max-width:40rem;margin:1rem auto 0;color:var(--muted)}
section h2{font-size:clamp(1.9rem,4vw,2.8rem)}

/* pricing */
.pricing{background:var(--sand)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.card{background:var(--white);border-radius:14px;padding:2rem 1.4rem;text-align:center;position:relative;border:1px solid #e8e2d4;transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,35,53,.12)}
.card .hrs{font-family:Georgia,serif;font-size:1.5rem}
.card .price{font-family:Georgia,serif;font-size:2.4rem;color:var(--navy);margin:.4rem 0}
.card .desc{color:var(--muted);font-size:.9rem}
.card.best{border:2px solid var(--gold)}
.badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .8rem;border-radius:999px;white-space:nowrap}

/* yacht */
.yacht-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.yacht-grid p{color:var(--muted);margin:1rem 0 1.8rem}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.thumbs a{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--navy-2)}
.thumbs img{width:100%;height:100%;object-fit:cover;transition:.4s}
.thumbs a:hover img{transform:scale(1.06)}
.btn-outline{display:inline-block;border:1.5px solid var(--navy);color:var(--navy);padding:.8rem 1.7rem;border-radius:999px;font-weight:600;font-size:.95rem}
.btn-outline:hover{background:var(--navy);color:var(--white)}

/* night */
.night{color:var(--white);text-align:center;background:linear-gradient(rgba(20,35,53,.65),rgba(20,35,53,.78)),var(--navy) center/cover no-repeat;padding:8rem 0}
.night p{color:#dbe6f1;margin:1rem 0 2rem}

/* location */
.location{background:var(--navy);color:var(--white)}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.location p{color:#c4d2e0;margin-top:.8rem}
.location h3{font-size:1.7rem}
.location .eyebrow{margin-bottom:.5rem}

/* faq */
.faq-list{max-width:760px;margin:3rem auto 0}
details{border-bottom:1px solid #e3e6ea;padding:1.2rem 0}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:.8rem}

/* contact */
.contact{background:var(--sand)}
.contact .btn{margin-top:1.8rem}
.cta{background:var(--navy);color:var(--white);text-align:center}
.cta p{color:#c4d2e0;margin:1rem 0 2rem}

footer{background:#0e1826;color:#9fb0c3;text-align:center;padding:2rem 0;font-size:.85rem}
footer strong{color:var(--white);letter-spacing:.2em}

/* gallery */
.page-head{background:var(--navy);color:var(--white);text-align:center;padding:9rem 0 4rem}
.page-head p{color:#c4d2e0;max-width:36rem;margin:1rem auto 1.5rem}
.page-head a.back{color:var(--gold);font-size:.9rem}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:4rem 0}
.gallery figure{border-radius:12px;overflow:hidden;background:var(--navy-2);cursor:zoom-in;aspect-ratio:4/3;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .8rem;color:var(--white);font-size:.9rem;background:linear-gradient(transparent,rgba(10,18,30,.8))}
.lightbox{position:fixed;inset:0;background:rgba(8,14,24,.94);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:86vh;border-radius:8px}
.lb-btn{position:absolute;background:none;border:0;color:var(--white);font-size:2.4rem;cursor:pointer;padding:1rem}
.lb-close{top:.5rem;right:1rem}.lb-prev{left:.5rem}.lb-next{right:.5rem}

@media(max-width:900px){
  .cards{grid-template-columns:1fr 1fr}
  .yacht-grid,.loc-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .burger{display:block}
  nav ul{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);flex-direction:column;padding:1.2rem 0;gap:1.1rem}
  nav ul.open{display:flex}
}
@media(max-width:560px){
  .cards,.gallery{grid-template-columns:1fr}
  section{padding:4rem 0}
}
