:root{
  --bg:#f5f2ed;
  --panel:#ffffff;
  --text:#1a1a1a;
  --muted:#6f665d;
  --accent:#b07a52;
  --accent-soft:#efe5da;
  --border:#e6ddd3;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:Inter,system-ui,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
}
img{max-width:100%;display:block;border-radius:16px;}
a{color:inherit;text-decoration:none;}
.container{max-width:var(--max);margin:0 auto;padding:0 24px;}
.site-header{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(245,242,237,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;}
.brand{
  font-family:"Playfair Display",serif;
  font-size:1.4rem;
  letter-spacing:0.02em;
}
.nav-links{display:flex;gap:24px;align-items:center;}
.nav-links a{
  font-size:0.85rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.nav-links a:hover{color:var(--text);}
.hero{padding:80px 0 50px;}
.hero-inner{display:grid;gap:18px;}
.eyebrow{
  font-size:0.8rem;
  letter-spacing:0.3em;
  text-transform:uppercase;
  color:var(--muted);
}
.hero h1{
  font-family:"Playfair Display",serif;
  font-size:clamp(2.8rem,5vw,4.6rem);
  line-height:1.05;
}
.hero-subtitle{
  font-size:1.05rem;
  color:var(--muted);
  max-width:620px;
}
.section{padding:20px 0 80px;}
.category{margin-top:56px;}
.category-header{display:grid;gap:10px;margin-bottom:20px;}
.category h2{
  font-family:"Playfair Display",serif;
  font-size:2rem;
}
.category p{color:var(--muted);max-width:560px;}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:28px;
}
.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:100%;
  box-shadow:0 12px 30px rgba(41,32,22,0.06);
}
.card-body{display:grid;gap:10px;}
.card h3{
  font-family:"Playfair Display",serif;
  font-size:1.1rem;
  line-height:1.3;
}
.card p{color:var(--muted);font-size:0.95rem;}
.price{
  color:var(--accent);
  font-weight:600;
  letter-spacing:0.02em;
}
.button{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--accent);
  color:var(--accent);
  font-size:0.9rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  background:transparent;
}
.button:hover{
  background:var(--accent);
  color:#fff;
}
.site-footer{
  border-top:1px solid var(--border);
  padding:32px 0 48px;
  color:var(--muted);
  font-size:0.9rem;
}
.footer-inner{display:flex;flex-direction:column;gap:10px;}
.footer-inner a{color:var(--text);}

@media(min-width:760px){
  .hero-inner{grid-template-columns:1.1fr 0.9fr;align-items:end;}
  .footer-inner{flex-direction:row;justify-content:space-between;align-items:center;}
}
