*{box-sizing:border-box;}
:root{
  --purple:#591A60; --purple-deep:#3D0F44; --coral:#FC4D74; --coral-deep:#D8335B;
  --gold:#E8B84B; --gold-deep:#9C6F1E; --cream:#FFF8F0; --card:#FFFFFF;
  --ink:#2E0E33; --ink-soft:rgba(46,14,51,.72);
}
body{ margin:0; background:var(--cream); color:var(--ink); font-family:'Work Sans',Arial,sans-serif; }
h1,h2,h3,.brandmark{ font-family:'Baloo 2','Work Sans',Arial,sans-serif; margin:0; }
a{ text-decoration:none; color:inherit; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
.eyebrow{ font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin:0 0 10px; }
.btn{ display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:999px; font-weight:600; font-size:14.5px; border:none; cursor:pointer; }
.btn-primary{ background:var(--coral); color:#fff; }
.btn-primary:hover{ background:var(--coral-deep); }
.hero-section{ background:linear-gradient(165deg,var(--purple) 0%,var(--purple-deep) 100%); padding-bottom:56px; }
.navrow{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.navrow .brandmark{ font-size:22px; color:#fff; font-weight:700; }
.hero{ display:grid; grid-template-columns:1fr; gap:20px; padding:34px 0 40px; text-align:center; }
.brandmark-hero{ font-size:48px; font-weight:800; color:#fff; }
.brandmark-hero .accent{ color:var(--coral); }
.tagline{ font-size:16px; color:rgba(255,255,255,.86); max-width:520px; margin:0 auto; line-height:1.6; }
.products{ padding:40px 28px 60px; }
.products h2{ font-size:26px; color:var(--purple); margin-bottom:24px; }
.grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:22px; }
.card{ border-radius:18px; overflow:hidden; box-shadow:0 6px 20px rgba(89,26,96,.1); background:var(--card); }
.cardtop{ height:150px; background:linear-gradient(140deg,var(--coral) 0%,var(--gold) 100%); }
.cardtop img{ width:100%; height:100%; object-fit:cover; display:block; }
.cardbottom{ padding:16px; }
.cardbottom h3{ font-size:15.5px; color:var(--purple); margin-bottom:4px; }
.cardbottom p{ font-size:13px; color:var(--ink-soft); margin:0 0 10px; }
.cardbottom .price{ font-size:14px; font-weight:700; color:var(--ink); }
.sobre{ padding:0 28px 60px; max-width:720px; margin:0 auto; text-align:center; color:var(--ink-soft); line-height:1.7; }
.vazio{ text-align:center; color:var(--ink-soft); padding:40px; }
