@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');:root{--dark:#17151a;--gold:#c6a46c;--ivory:#f8f3ec;--muted:#716a68;--blush:#ead5cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--dark);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.16}h1{font-size:clamp(2.8rem,6vw,5.7rem);margin:.3em 0}h2{font-size:clamp(2rem,4vw,3.4rem);margin:.4em 0}h3{font-size:1.5rem;margin:.4em 0}.wrap{max-width:1180px;margin:auto;padding:0 24px}.nav{background:var(--dark);color:#fff;border-bottom:1px solid #3c3538}.nav-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:82px}.brand{font-weight:700;letter-spacing:.13em;font-size:1rem;line-height:1.2}.brand span{display:block;color:var(--gold);font-size:.7rem;letter-spacing:.23em}.navlinks{display:flex;align-items:center;gap:24px;font-size:.9rem}.navlinks a:hover{color:var(--gold)}.menu{display:none;background:none;color:white;border:1px solid #666;padding:6px 12px;border-radius:4px}.hero{background:radial-gradient(circle at 82% 34%,#504044 0%,transparent 34%),linear-gradient(135deg,#17151a,#282026);color:white;padding:100px 0 115px}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.eyebrow{color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero p{font-size:1.15rem;color:#e1d8d4;max-width:600px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;border:1px solid var(--gold);background:var(--gold);color:#1a1518;padding:13px 23px;font-weight:700;border-radius:3px}.btn.outline{background:transparent;color:var(--gold)}.btn.disabled{background:#ddd;color:#555;border-color:#ddd;cursor:not-allowed}.hero-art{border:1px solid #806e62;padding:24px;min-height:370px;display:grid;place-items:center;background:linear-gradient(145deg,#4b3439,#211b21);position:relative}.hero-art:before{content:'';position:absolute;inset:16px;border:1px solid #a98b68}.hero-art-inner{text-align:center;z-index:1}.hero-art .symbol{font-family:Georgia,serif;font-size:7rem;color:var(--gold);line-height:1}.hero-art .fine{letter-spacing:.32em;color:#e7d2b4;font-size:.7rem}.section{padding:85px 0}.section.alt{background:#f0e9e2}.intro{max-width:740px;margin-bottom:34px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid #e7ded7;display:flex;flex-direction:column}.cover{min-height:235px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(140deg,#211a21,#6d4e4b);color:#fff}.cover.pink{background:linear-gradient(140deg,#d9b5ae,#f0dcd5);color:#292025}.cover.gold{background:linear-gradient(140deg,#5d4b38,#b69869)}.cover.cream{background:linear-gradient(140deg,#e9ddd0,#d2b4a1);color:#292025}.cover small{letter-spacing:.18em;text-transform:uppercase;font-size:.65rem}.cover strong{font-family:Georgia,serif;font-size:2rem;line-height:1.2}.card-body{padding:24px;display:flex;flex-direction:column;flex:1}.card-body p{flex:1}.price{font-weight:700;font-size:1.2rem}.pill{display:inline-block;border:1px solid #c8bcb2;padding:5px 10px;border-radius:20px;font-size:.75rem;letter-spacing:.06em}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature{padding:26px;border-left:2px solid var(--gold);background:#fff}.feature b{font-family:Georgia,serif;font-size:1.3rem}.banner{background:var(--dark);color:white;padding:70px 0}.banner p{color:#e0d7d2}.footer{background:#100e12;color:#c7beb8;padding:50px 0 22px}.footer a{color:#e8d9c9}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footgrid a{display:block;margin:8px 0}.footer small{display:block;border-top:1px solid #3c3538;margin-top:35px;padding-top:20px}.pagehead{background:var(--dark);color:white;padding:70px 0}.pagehead h1{font-size:clamp(2.5rem,5vw,4.4rem)}.content{max-width:850px;margin:auto;padding:65px 24px}.content h2{font-size:2rem;margin-top:2rem}.content p,.content li{color:#504849}.notice{background:#fff6e6;border-left:3px solid var(--gold);padding:18px;margin:20px 0}.faq details{border-bottom:1px solid #ddd;padding:16px 0}.faq summary{cursor:pointer;font-weight:700}.formbox{max-width:550px;background:white;padding:28px;border:1px solid #e7ded7}.formbox label{display:block;margin:15px 0 5px}.formbox input,.formbox textarea{width:100%;padding:12px;border:1px solid #b9aaa0;font:inherit}.formbox textarea{min-height:120px}@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.hero-art{min-height:230px}.cards,.features{grid-template-columns:1fr 1fr}.navlinks{display:none;position:absolute;z-index:4;top:82px;left:0;right:0;background:#17151a;padding:20px 24px;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu{display:block}.footgrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.cards,.features,.footgrid{grid-template-columns:1fr}.hero{padding:70px 0}.section{padding:60px 0}}

/* Product illustrations use the existing cover text for readable titles. */
.card .cover {
  --mockup-stage: #eae0d7;
  --mockup-ink: #fff7ee;
  --mockup-front: linear-gradient(145deg, #3c2930 10%, #704d53 100%);
  --mockup-back: #a2827d;
  --mockup-width: min(63%, 195px);
  --mockup-border: #d0a992;
  isolation: isolate;
  position: relative;
  min-height: 270px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  justify-content: center;
  grid-template-columns: var(--mockup-width);
  padding: 49px 0 46px;
  background: radial-gradient(ellipse at 48% 40%, #fff8ef, var(--mockup-stage) 83%);
  color: var(--mockup-ink);
}
.card .cover::before,
.card .cover::after {
  content: "";
  position: absolute;
  border-radius: 3px;
}
.card .cover::before {
  inset: 35px auto 29px 50%;
  width: var(--mockup-width);
  transform: translateX(-50%) rotate(9deg);
  border-right: 5px solid #eee3d6;
  border-bottom: 4px solid #f6eadd;
  background: var(--mockup-back);
  box-shadow: 8px 14px 23px #32232235;
  z-index: -2;
}
.card .cover::after {
  inset: 32px auto 30px 49%;
  width: calc(var(--mockup-width) + 16px);
  transform: translateX(-50%) rotate(-2deg);
  border: 1px solid var(--mockup-border);
  background: linear-gradient(90deg, #0002 0 5px, transparent 5px), var(--mockup-front);
  box-shadow: 4px 4px 0 #eeded1, 7px 6px 0 #c4ad9d, 2px 9px 17px #39292b30;
  z-index: -1;
}
.card .cover > :is(small, strong) {
  margin-inline: 13px;
}
.card .cover small {
  font-size: .57rem;
  line-height: 1.35;
  letter-spacing: .12em;
}
.card .cover strong {
  align-self: center;
  font-size: clamp(1.14rem, 2.05vw, 1.67rem);
  overflow-wrap: anywhere;
}
.card .cover.pink {
  --mockup-stage: #eacfd2;
  --mockup-front: linear-gradient(145deg, #f6e4e4, #e5bdc7);
  --mockup-back: #ad768b;
  --mockup-border: #b98398;
  --mockup-ink: #442539;
}
.card .cover.cream {
  --mockup-stage: #dbd1bf;
  --mockup-front: linear-gradient(145deg, #ede5d6, #cfc0a5);
  --mockup-back: #8a7763;
  --mockup-border: #a3896d;
  --mockup-ink: #352f27;
}
.card .cover.gold {
  --mockup-stage: #dae2d9;
  --mockup-width: min(73%, 227px);
  --mockup-border: #8aab92;
  --mockup-back: #53785f;
  --mockup-ink: #143d2e;
  --mockup-front:
    linear-gradient(#f3fbf5 0 79%, transparent 79%),
    repeating-linear-gradient(90deg, transparent 0 19%, #a4bfab 19% 20%),
    repeating-linear-gradient(0deg, #dce8df 0 11px, #a4bfab 11px 12px);
  padding-bottom: 81px;
}
.card .cover.gold::after {
  background: var(--mockup-front);
}
.card:nth-child(5) .cover {
  --mockup-stage: #e5dded;
  --mockup-front: linear-gradient(145deg, #30283e, #5b4b70);
  --mockup-back: #8c719d;
  --mockup-border: #b9a5cb;
}
@media (max-width: 520px) {
  .card .cover strong { font-size: 1.55rem; }
}

.product-includes { flex: 1; margin: 0 0 1rem; }
.product-includes h4 { margin: 0; font-size: 1rem; }
.product-includes ul { margin: .35rem 0 0; padding-left: 1.15rem; }
.product-includes li + li { margin-top: .35rem; }
.product-card:has(.product-includes) .card-body > p { flex: 0 0 auto; }
.sample-link { display: inline-block; align-self: flex-start; margin-bottom: .85rem; color: #674438; text-decoration: underline; font-weight: 700; }
.faq details { border-bottom: 1px solid #d7c8bf; padding: .9rem 0; }
.faq summary { cursor: pointer; font-weight: 700; }
.faq details p { margin: .6rem 0 .2rem; }
