
:root{
  --ink:#183039;
  --muted:#667980;
  --teal:#0b5d66;
  --teal-dark:#084851;
  --mint:#eaf4f2;
  --sand:#f7f4ee;
  --line:#dfe8e6;
  --white:#ffffff;
  --shadow:0 16px 45px rgba(12,57,64,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:min(1160px,92%);margin:0 auto}
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--teal-dark);font-weight:800}
.brand img{width:58px;height:58px;object-fit:contain;border-radius:10px;background:#fff}
.brand span{line-height:1.15}
.brand small{display:block;font-size:11px;letter-spacing:1.2px;font-weight:700;color:var(--muted);margin-top:3px}
.links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:700}
.links .cta{padding:9px 13px;border-radius:9px;background:var(--teal);color:#fff}
.hero{
  position:relative;
  min-height:72vh;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(3,28,33,.78) 0%,rgba(3,28,33,.48) 42%,rgba(3,28,33,.08) 72%),
    url('assets/hero.jpg') center/cover no-repeat;
  color:white;
}
.hero-inner{padding:88px 0 76px}
.eyebrow{
  display:inline-block;
  background:rgba(255,255,255,.92);
  color:var(--teal-dark);
  border-radius:999px;
  padding:7px 12px;
  font-size:13px;
  font-weight:800;
}
h1{font-size:clamp(42px,6vw,72px);line-height:1.02;max-width:820px;margin:18px 0 16px}
.hero p{font-size:20px;max-width:700px;color:#f1f7f6}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{
  display:inline-block;
  padding:12px 18px;
  border-radius:10px;
  font-weight:800;
  border:1px solid transparent
}
.btn.primary{background:white;color:var(--teal-dark)}
.btn.secondary{border-color:rgba(255,255,255,.55);color:white;background:rgba(255,255,255,.08)}
section{padding:72px 0}
section.soft{background:var(--mint)}
section.sand{background:var(--sand)}
h2{font-size:34px;line-height:1.15;margin:0 0 14px;color:var(--teal-dark)}
.lead{font-size:18px;color:var(--muted);max-width:820px;margin:0 0 32px}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:start}
.info{
  background:var(--teal-dark);
  color:white;
  border-radius:18px;
  padding:28px;
  box-shadow:var(--shadow)
}
.info h3{margin-top:0}
.info a{color:white;text-decoration:underline}
.notice{background:#f3faf8;border-left:4px solid var(--teal);padding:16px 18px;border-radius:8px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 24px rgba(12,57,64,.05)
}
.card h3{margin-top:0;color:var(--teal-dark)}
.price{font-size:26px;font-weight:900;color:var(--teal)}
.small{font-size:14px;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid var(--line)
}
.feature img{width:100%;height:250px;object-fit:cover}
.feature .copy{padding:18px}
.gallery{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:12px
}
.gallery a{
  display:block;
  overflow:hidden;
  border-radius:14px;
  min-height:220px;
  background:#eee
}
.gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease
}
.gallery a:hover img{transform:scale(1.025)}
.gallery .g1{grid-column:span 7;grid-row:span 2;min-height:460px}
.gallery .g2{grid-column:span 5}
.gallery .g3{grid-column:span 5}
.gallery .g4,.gallery .g5,.gallery .g6{grid-column:span 4}
.gallery .g7,.gallery .g8{grid-column:span 6}
.amenities{columns:2;column-gap:42px;padding-left:20px}
.amenities li{margin:0 0 10px;break-inside:avoid}
footer{border-top:1px solid var(--line);padding:30px 0 42px;color:var(--muted);font-size:14px}
.foot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.policy main{padding:58px 0}
.policy h1{font-size:44px;color:var(--teal-dark)}
.policy h2{font-size:24px;margin-top:34px;color:var(--teal-dark)}
@media(max-width:860px){
  .links{display:none}
  .hero{min-height:66vh;background-position:center}
  .two,.grid,.feature-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .gallery a,.gallery .g1,.gallery .g2,.gallery .g3,.gallery .g4,.gallery .g5,.gallery .g6,.gallery .g7,.gallery .g8{
    grid-column:auto;grid-row:auto;min-height:250px
  }
  .amenities{columns:1}
}
