:root{
  --ink:#171412; --muted:#6b625c; --line:#e8e2dc;
  --brand:#9c2f4a; --brand-d:#7d2439; --soft:#faf6f3; --cream:#fffdfb;
}
*{scroll-behavior:smooth}
body{color:var(--ink);background:var(--cream);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
a{text-decoration:none;color:var(--brand)}
a:hover{color:var(--brand-d)}
h1,h2,h3,h4,h5,h6,.display-5,.brandmark{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;letter-spacing:-.01em}
.brandmark{font-size:1.5rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.brandmark:hover{color:var(--brand)}
.navbar{background:rgba(255,253,251,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.nav-link{font-size:.86rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)!important}
.nav-link:hover,.nav-link.active{color:var(--brand)!important}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;letter-spacing:.09em;text-transform:uppercase;font-size:.82rem;font-weight:600;border-radius:2px;padding:.7rem 1.5rem}
.btn-brand:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
.btn-outline-ink{border:1px solid var(--ink);color:var(--ink);letter-spacing:.09em;text-transform:uppercase;font-size:.82rem;font-weight:600;border-radius:2px;padding:.7rem 1.5rem;background:transparent}
.btn-outline-ink:hover{background:var(--ink);color:#fff}
.eyebrow{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brand);font-weight:600}
.bg-soft{background:var(--soft)}
.page-head{background:var(--soft);border-bottom:1px solid var(--line);padding:3.5rem 0}
.hero{background:linear-gradient(180deg,var(--soft) 0%,var(--cream) 100%);border-bottom:1px solid var(--line)}
.prose{max-width:720px}
.prose h2{font-size:1.35rem;margin-top:2.4rem;margin-bottom:.9rem;padding-bottom:.5rem;border-bottom:1px solid var(--line);letter-spacing:.04em}
.prose h3{font-size:1.05rem;margin-top:1.8rem;margin-bottom:.6rem;font-weight:600;letter-spacing:.05em}
.prose p,.prose li{line-height:1.85;color:#332e2a}
.prose p{margin-bottom:1.1rem}
.prose ul{margin-bottom:1.2rem}
.pcard{border:1px solid var(--line);border-radius:3px;background:#fff;overflow:hidden;height:100%;transition:box-shadow .18s,transform .18s}
.pcard:hover{box-shadow:0 12px 34px rgba(23,20,18,.09);transform:translateY(-3px)}
.pcard .ratio{background:var(--soft)}
.pcard img{object-fit:cover;width:100%;height:100%}
.pcard .body{padding:1rem 1.1rem 1.2rem}
.pcard .name{font-family:inherit;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.4;margin-bottom:.3rem}
.pcard .price{color:var(--brand);font-weight:700}
.pcard .cat{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.filterbar .btn{border-radius:999px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.45rem 1.1rem;border:1px solid var(--line);color:var(--muted);background:#fff}
.filterbar .btn.active{background:var(--ink);border-color:var(--ink);color:#fff}
.ftr{background:#171412;color:#c9c1ba;padding-top:3.5rem;padding-bottom:2rem;margin-top:5rem}
.ftr a{color:#c9c1ba}
.ftr a:hover{color:#fff}
.ftr h6{font-family:inherit;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#8d837c;margin-bottom:1rem}
.ftr .brandmark{color:#fff}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin-bottom:.5rem;font-size:.9rem}
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--soft)}
.trust .item{padding:1.6rem .5rem;text-align:center}
.trust .item .t{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:.25rem}
.trust .item .d{font-size:.84rem;color:var(--muted);margin:0}
.form-control,.form-select{border-radius:2px;border-color:var(--line);padding:.7rem .9rem}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .18rem rgba(156,47,74,.12)}
.form-label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.spec{width:100%;font-size:.92rem}
.spec th{width:34%;font-weight:600;color:var(--muted);padding:.6rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec td{padding:.6rem 0;border-bottom:1px solid var(--line)}
@media (max-width:575.98px){
  .page-head{padding:2.2rem 0}
  .prose h2{font-size:1.2rem}
}
