*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#0B0B0C;
  color:#F2F2F2;
  font-family:'Inter',sans-serif;
  line-height:1.6;
}

.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at top, rgba(255,255,255,0.04), transparent 40%),
    #0B0B0C;
}

.overlay{
  position:absolute;
  inset:0;
  background-image:url('logo.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:700px;
  opacity:0.03;
  filter:blur(2px);
}

.navbar{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  padding:30px 60px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:5;
}

.brand{
  letter-spacing:4px;
  font-size:0.9rem;
}

.nav-btn{
  text-decoration:none;
  color:#F2F2F2;
  border:1px solid rgba(255,255,255,0.2);
  padding:10px 18px;
  transition:0.3s ease;
}

.nav-btn:hover{
  background:#F2F2F2;
  color:#0B0B0C;
}

.hero-content{
  position:relative;
  z-index:3;
  text-align:center;
  padding:40px;
}

.logo{
  width:min(520px, 90%);
  margin-bottom:20px;
}

.tagline{
  font-family:'Cormorant Garamond', serif;
  font-size:2rem;
  letter-spacing:2px;
  margin-bottom:40px;
  opacity:0.9;
}

.hero-buttons{
  display:flex;
  gap:20px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
  text-decoration:none;
  padding:14px 28px;
  letter-spacing:2px;
  font-size:0.8rem;
  transition:0.3s ease;
}

.btn-primary{
  background:#F2F2F2;
  color:#0B0B0C;
}

.btn-primary:hover{
  transform:translateY(-2px);
}

.btn-secondary{
  border:1px solid rgba(255,255,255,0.2);
  color:#F2F2F2;
}

.btn-secondary:hover{
  background:rgba(255,255,255,0.08);
}

.section{
  padding:120px 30px;
}

.section-inner{
  max-width:1200px;
  margin:auto;
}

.narrow{
  max-width:800px;
  text-align:center;
}

h2{
  font-family:'Cormorant Garamond', serif;
  font-size:3rem;
  font-weight:600;
  letter-spacing:6px;
  margin-bottom:60px;
  text-align:center;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:30px;
}

.card{
  border:1px solid rgba(255,255,255,0.08);
  padding:40px;
  background:rgba(255,255,255,0.02);
  backdrop-filter:blur(4px);
}

.card h3{
  margin-bottom:15px;
  letter-spacing:3px;
  font-size:0.9rem;
}

.card p{
  opacity:0.8;
  font-size:0.95rem;
}

.dark{
  background:#090909;
}

.about-text{
  font-size:1.2rem;
  opacity:0.9;
}

.booking p{
  margin-bottom:40px;
  opacity:0.8;
}

.large{
  display:inline-block;
  margin-bottom:40px;
}

.socials{
  opacity:0.6;
  letter-spacing:2px;
}

footer{
  border-top:1px solid rgba(255,255,255,0.08);
  padding:30px;
  text-align:center;
  opacity:0.5;
  font-size:0.8rem;
}

@media(max-width:768px){

  .navbar{
    padding:20px;
  }

  h2{
    font-size:2.2rem;
  }

  .tagline{
    font-size:1.5rem;
  }

  .overlay{
    background-size:400px;
  }
}
