@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Mulish:wght@400;600&display=swap');

:root{
  --rose:#c97b84;
  --rose-dark:#a85d67;
  --plum:#4a2c3a;
  --cream:#fdf6f0;
  --gold:#c9a227;
  --ink:#3a2b30;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Mulish',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
}
h1,h2,h3{
  font-family:'Playfair Display',serif;
  color:var(--plum);
  margin-top:0;
}
a{color:var(--rose-dark);}
.wrap{max-width:960px;margin:0 auto;padding:0 24px;}

header.site{
  text-align:center;
  padding:28px 16px 18px;
  border-bottom:3px double var(--gold);
  background:var(--cream);
}
header.site .brand{
  font-family:'Playfair Display',serif;
  font-size:2.1rem;
  color:var(--plum);
  letter-spacing:.5px;
}
header.site .brand span{color:var(--rose-dark);}
header.site .tagline{
  font-size:.9rem;
  color:var(--rose-dark);
  letter-spacing:2px;
  text-transform:uppercase;
  margin-top:2px;
}
nav.main{
  display:flex;
  justify-content:center;
  gap:32px;
  margin-top:16px;
  flex-wrap:wrap;
}
nav.main a{
  text-decoration:none;
  color:var(--ink);
  font-weight:600;
  font-size:.95rem;
  padding-bottom:4px;
  border-bottom:2px solid transparent;
}
nav.main a:hover, nav.main a.active{
  border-bottom:2px solid var(--rose-dark);
  color:var(--rose-dark);
}

.hero{
  background:linear-gradient(135deg,var(--rose) 0%,var(--rose-dark) 60%,var(--plum) 100%);
  color:#fff;
  text-align:center;
  padding:70px 20px;
}
.hero h1{color:#fff;font-size:2.4rem;margin-bottom:10px;}
.hero p{max-width:520px;margin:0 auto;font-size:1.05rem;opacity:.95;}
.hero .btn{margin-top:26px;}

.btn{
  display:inline-block;
  background:var(--gold);
  color:var(--plum);
  padding:12px 28px;
  border-radius:30px;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.5px;
}
.btn:hover{background:#dcb63e;}

section{padding:48px 0;}
section.alt{background:#f7ece6;}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  margin-top:28px;
}
.card{
  background:#fff;
  border:1px solid #ecd9d4;
  border-radius:10px;
  padding:22px;
  text-align:center;
}
.card .swatch{
  height:90px;
  border-radius:8px;
  margin-bottom:14px;
}
.swirl1{background:radial-gradient(circle at 30% 30%,#f3d9c4,#c97b84);}
.swirl2{background:radial-gradient(circle at 60% 40%,#e8c9d1,#7a3b47);}
.swirl3{background:radial-gradient(circle at 40% 60%,#fff2df,#c9a227);}
.swirl4{background:radial-gradient(circle at 50% 50%,#f0e2ea,#4a2c3a);}

table.price{
  width:100%;
  border-collapse:collapse;
  margin-top:20px;
  background:#fff;
}
table.price th, table.price td{
  border-bottom:1px solid #ecd9d4;
  padding:10px 14px;
  text-align:left;
}
table.price th{color:var(--plum);font-family:'Playfair Display',serif;}

blockquote{
  font-style:italic;
  border-left:4px solid var(--gold);
  padding-left:18px;
  margin:24px 0;
  color:var(--rose-dark);
}

footer{
  text-align:center;
  padding:28px 16px;
  background:var(--plum);
  color:#f2e4e8;
  font-size:.9rem;
}
footer a{color:#f2c9d1;}
.hours{margin-top:16px;font-size:.9rem;color:#3a2b30;}
