:root{
  --pink:#e94d8a;
  --blush:#fde6ee;
  --soft:#fff7f9;
  --gold:#c99a2e;
  --deep:#171014;
  --cream:#fffdf8;
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Poppins',sans-serif;
  color:var(--deep);
  background:linear-gradient(135deg,#fff 0%,var(--blush) 45%,#fff5fa 100%);
  line-height:1.6;
}
a{text-decoration:none;color:inherit}

.hero{
  min-height:92vh;
  padding:28px 7%;
  background:
    radial-gradient(circle at top left,rgba(233,77,138,.28),transparent 35%),
    radial-gradient(circle at bottom right,rgba(201,154,46,.25),transparent 38%),
    linear-gradient(135deg,#fff7f9,#ffd7e6);
  border-bottom:5px solid var(--gold);
}
.nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.logo{
  font-family:'Playfair Display',serif;
  font-size:2rem;
  color:var(--gold);
  font-weight:700;
}
.logo span{
  display:block;
  font-family:'Great Vibes',cursive;
  color:var(--pink);
  font-size:1.7rem;
  margin-top:-8px;
}
.nav-links{
  display:flex;
  gap:24px;
  font-weight:600;
}
.nav-links a:hover{color:var(--pink)}
.hero-content{
  max-width:780px;
  margin-top:115px;
}
.eyebrow{
  color:var(--pink);
  text-transform:uppercase;
  letter-spacing:3px;
  font-weight:700;
  margin-bottom:10px;
}
h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,8vw,6.5rem);
  line-height:1;
  color:var(--deep);
}
.hero-text{
  font-size:1.15rem;
  max-width:640px;
  margin:24px 0;
}
.btn{
  display:inline-block;
  background:linear-gradient(135deg,var(--pink),#b91d5a);
  color:white;
  padding:14px 24px;
  border-radius:999px;
  font-weight:700;
  box-shadow:0 10px 25px rgba(185,29,90,.25);
}
.btn.ghost{
  background:white;
  color:var(--pink);
  border:1px solid var(--gold);
}
main{padding:70px 7%}
.intro,.booking{
  text-align:center;
  max-width:880px;
  margin:0 auto 70px;
}
h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4vw,3rem);
  color:var(--deep);
}
.intro h2,.booking h2{
  color:var(--gold);
}
.section-heading{
  text-align:center;
  margin-bottom:32px;
}
.section-heading p{
  color:var(--pink);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
}
.price-table{
  background:rgba(255,255,255,.82);
  border:2px solid rgba(201,154,46,.65);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(111,45,77,.13);
}
.table-head,.service-row{
  display:grid;
  grid-template-columns:2.3fr .7fr .7fr .7fr;
  gap:0;
  align-items:center;
}
.table-head{
  background:linear-gradient(135deg,var(--pink),#c72d6d);
  color:white;
  font-weight:700;
  text-align:center;
}
.table-head span{padding:18px}
.service-row{
  border-bottom:1px solid rgba(201,154,46,.35);
}
.service-row:last-child{border-bottom:none}
.service-row div{padding:24px}
.service-row h3{
  font-family:'Playfair Display',serif;
  color:var(--pink);
  font-size:1.35rem;
  margin-bottom:6px;
}
.service-row p{font-size:.95rem}
.service-row strong{
  color:var(--gold);
  text-align:center;
  font-size:1.45rem;
  padding:20px 10px;
  border-left:1px dashed rgba(201,154,46,.45);
}
.cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:55px 0;
}
.card,.policies,.booking{
  background:rgba(255,255,255,.86);
  border:1.5px solid rgba(201,154,46,.55);
  border-radius:28px;
  padding:34px;
  box-shadow:0 20px 45px rgba(111,45,77,.10);
}
.card h2{color:var(--pink);margin-bottom:12px}
.notice{
  margin-top:15px;
  color:white;
  background:var(--pink);
  display:inline-block;
  padding:8px 16px;
  border-radius:999px;
  font-weight:700;
}
.policy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.policy-grid p{
  background:var(--soft);
  border-left:4px solid var(--gold);
  padding:18px;
  border-radius:18px;
}
.booking{
  margin-top:70px;
}
.booking-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:25px;
}
footer{
  text-align:center;
  padding:24px 7%;
  background:var(--deep);
  color:#fff;
  border-top:4px solid var(--gold);
}

@media(max-width:780px){
  .nav{align-items:flex-start;flex-direction:column}
  .nav-links{font-size:.9rem;gap:14px}
  .hero-content{margin-top:70px}
  .table-head,.service-row{
    grid-template-columns:1fr;
  }
  .table-head span:not(:first-child){display:none}
  .service-row strong{
    border-left:none;
    border-top:1px dashed rgba(201,154,46,.45);
    text-align:left;
    padding:10px 24px;
  }
  .service-row strong:nth-of-type(1)::before{content:"Large: ";color:var(--deep);font-size:1rem}
  .service-row strong:nth-of-type(2)::before{content:"Medium: ";color:var(--deep);font-size:1rem}
  .service-row strong:nth-of-type(3)::before{content:"Small: ";color:var(--deep);font-size:1rem}
  .cards,.policy-grid{grid-template-columns:1fr}
}
