
:root{
  --ink:#152a34;
  --ink-2:#294652;
  --cream:#f7f2ea;
  --sand:#e9dfd0;
  --coral:#d96b4c;
  --sun:#eea34a;
  --teal:#32777f;
  --white:#fff;
  --muted:#64737a;
  --shadow:0 18px 50px rgba(17,42,52,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
}
img{display:block;width:100%;height:auto}
a{color:inherit}
.wrap{width:min(1160px,92vw);margin:0 auto}
.eyebrow{
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--coral);
}
h1,h2,h3{
  font-family:Georgia, "Times New Roman", serif;
  line-height:1.06;
  margin:0 0 .65rem;
}
h1{font-size:clamp(2.7rem,7vw,5.8rem);max-width:900px}
h2{font-size:clamp(2rem,4vw,3.5rem)}
h3{font-size:1.5rem}
p{margin:.35rem 0 1rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 22px;border-radius:999px;
  text-decoration:none;font-weight:800;letter-spacing:.02em;
  border:1px solid transparent;transition:.2s ease;
}
.btn.primary{background:var(--coral);color:#fff}
.btn.primary:hover{transform:translateY(-2px);filter:brightness(.96)}
.btn.ghost{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(11,31,39,.22)}
.btn.dark{background:var(--ink);color:#fff}
.topbar{
  position:absolute;z-index:5;left:0;right:0;top:0;color:#fff;
}
.nav{
  height:84px;display:flex;align-items:center;justify-content:space-between;gap:26px;
}
.brand{
  text-decoration:none;color:#fff;font-family:Georgia,serif;font-weight:700;
  letter-spacing:.06em;font-size:1.08rem;line-height:1.05;
}
.brand small{display:block;font-family:Inter,sans-serif;font-size:.68rem;letter-spacing:.18em;margin-top:4px}
.links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.93rem}
.links a{text-decoration:none}
.menu{display:none;border:0;background:transparent;color:#fff;font-size:1.5rem}
.hero{
  min-height:800px;position:relative;color:#fff;display:flex;align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(7,25,34,.36) 0%,rgba(7,25,34,.1) 36%,rgba(7,25,34,.72) 100%),
    url("assets/hero-sunset.webp") center 56%/cover no-repeat;
}
.hero-content{padding:180px 0 95px;position:relative;z-index:2}
.hero .eyebrow{color:#ffd8bf}
.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:750px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.facts{
  background:var(--cream);
  border-bottom:1px solid #ece4da;
}
.fact-grid{
  display:grid;grid-template-columns:repeat(6,1fr);
}
.fact{
  padding:26px 14px;text-align:center;border-right:1px solid #dfd6ca;
}
.fact:last-child{border-right:0}
.fact strong{display:block;font-size:1.15rem}
.fact span{font-size:.82rem;color:var(--muted)}
.section{padding:88px 0}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.photo-card{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}
.photo-card img{aspect-ratio:4/3;object-fit:cover}
.copy p{font-size:1.08rem;color:#41535a}
.note{
  border-left:4px solid var(--coral);
  padding:14px 18px;background:#fff7f3;border-radius:0 14px 14px 0;
}
.water{background:#eef6f5}
.water .photo-card img{object-position:center}
.feature-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px
}
.feature{
  border:1px solid #e4e9e7;border-radius:20px;padding:24px;background:#fff;
}
.feature b{display:block;margin-bottom:4px}
.gallery{background:var(--ink);color:#fff}
.gallery h2{max-width:760px}
.gallery-grid{
  display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:255px;gap:12px;margin-top:34px;
}
.gallery-grid figure{margin:0;overflow:hidden;border-radius:18px;position:relative}
.gallery-grid img{height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figure:first-child{grid-row:span 2}
.gallery-grid figure:nth-child(4){grid-column:span 2}
.gallery-grid figcaption{
  position:absolute;left:12px;bottom:12px;background:rgba(10,28,36,.72);backdrop-filter:blur(8px);
  padding:7px 10px;border-radius:10px;font-size:.78rem
}
.stay-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;
}
.stay-card{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(17,42,52,.08)}
.stay-card img{aspect-ratio:4/3;object-fit:cover}
.stay-card .pad{padding:19px}
.april{background:var(--cream)}
.april-images{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
.april-images img{height:100%;object-fit:cover;border-radius:20px}
.april-images .small{display:grid;gap:16px}
.april-images .small img{min-height:170px}
.cta{
  padding:90px 0;background:
    linear-gradient(90deg,rgba(15,41,51,.88),rgba(15,41,51,.50)),
    url("assets/sunset-wide.webp") center/cover no-repeat;
  color:#fff;
}
.cta .wrap{display:flex;align-items:end;justify-content:space-between;gap:30px}
.cta p{max-width:700px;font-size:1.1rem}
.faq{background:#fff}
.faq details{
  border-top:1px solid #dfe5e6;padding:18px 0
}
.faq details:last-child{border-bottom:1px solid #dfe5e6}
.faq summary{font-weight:800;cursor:pointer}
.faq details p{color:#516269;margin-top:10px;max-width:850px}
footer{background:#0d222c;color:#dce6e9;padding:46px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a{color:#dce6e9}
.subtle{font-size:.83rem;color:#8aa0a8}
.mobile-book{display:none}
@media (max-width:900px){
  .links{display:none}
  .menu{display:block}
  .hero{min-height:720px}
  .fact-grid{grid-template-columns:repeat(3,1fr)}
  .fact:nth-child(3){border-right:0}
  .fact:nth-child(-n+3){border-bottom:1px solid #dfd6ca}
  .split{grid-template-columns:1fr;gap:34px}
  .feature-row,.stay-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .gallery-grid figure:first-child{grid-row:span 1;grid-column:span 2}
  .gallery-grid figure:nth-child(4){grid-column:span 2}
  .april-images{grid-template-columns:1fr}
  .cta .wrap,.footer-grid{display:block}
  .cta .actions{margin-top:26px}
  .mobile-book{
    display:flex;position:fixed;z-index:20;left:14px;right:14px;bottom:14px;
    background:var(--coral);color:#fff;border-radius:999px;text-decoration:none;
    align-items:center;justify-content:center;min-height:54px;font-weight:900;
    box-shadow:0 10px 30px rgba(0,0,0,.25)
  }
}
@media (max-width:580px){
  .hero{min-height:670px}
  .hero-content{padding-bottom:76px}
  .fact-grid{grid-template-columns:repeat(2,1fr)}
  .fact{border-bottom:1px solid #dfd6ca}
  .fact:nth-child(3){border-right:1px solid #dfd6ca}
  .fact:nth-child(even){border-right:0}
  .gallery-grid{display:block}
  .gallery-grid figure{margin-bottom:10px;height:260px}
  .section{padding:68px 0}
}
