:root { --black: #0b0907; --gold: #f1b923; --ink: #17120d; --muted: #685c4d; --line: #eadcc2; --cream: #fffaf1; font-family: Inter, "Segoe UI", Arial, sans-serif; color: var(--ink); background: var(--cream); }
* { box-sizing: border-box; }
body { background: var(--cream); margin: 0; }
.public-header { align-items: center; background: var(--black); border-bottom: 1px solid #35230d; display: flex; height: 70px; justify-content: space-between; padding: 0 max(calc((100vw - 1160px) / 2), 24px); }
.brand { color: #faf5e9; font-size: 1.42rem; font-weight: 750; letter-spacing: -.055em; text-decoration: none; }
.brand span { color: var(--gold); }
.public-header nav { display: flex; gap: 24px; }
.public-header nav a { color: #dfccad; font-size: .9rem; font-weight: 600; text-decoration: none; }
main { margin: 0 auto; max-width: 1160px; padding: 42px 26px 86px; }
.masthead { background: #080706; border: 1px solid #35230d; border-radius: 28px; box-shadow: 0 22px 52px rgba(10, 8, 6, .18); margin: 0 0 48px; overflow: hidden; }
.masthead img { display: block; height: auto; width: 100%; }
.tag { color: #956005; font-size: .74rem; font-weight: 760; letter-spacing: .14em; margin: 0 0 13px; text-transform: uppercase; }
.intro { margin: 0 auto 58px; max-width: 760px; text-align: center; }
h1 { font-size: clamp(2.1rem, 4.6vw, 3.5rem); letter-spacing: -.065em; line-height: 1.08; margin: 0 0 18px; }
.intro > p:not(.tag), .category-head p:not(.tag) { color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
h2 { font-size: clamp(1.45rem, 2.5vw, 2rem); letter-spacing: -.05em; margin: 0 0 25px; }
.categories, .listing, .editorial { margin-bottom: 60px; }
.categories div { display: flex; flex-wrap: wrap; gap: 11px; }
.categories a { background: #fff; border: 1px solid var(--line); border-radius: 999px; color: #684603; font-weight: 650; padding: 12px 19px; text-decoration: none; }
.product-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.product-card { background: #fff; border: 1px solid var(--line); border-radius: 19px; display: flex; flex-direction: column; padding: 25px; }
.card-category { color: #996107; font-size: .72rem; font-weight: 740; letter-spacing: .12em; margin: 0 0 12px; text-transform: uppercase; }
.product-card h3 { font-size: 1.14rem; line-height: 1.36; margin: 0 0 13px; }
.product-card h3 a { color: var(--ink); text-decoration: none; }
.product-card > p:not(.card-category):not(.card-price) { color: var(--muted); flex-grow: 1; font-size: .91rem; line-height: 1.6; margin: 0 0 19px; }
.card-price { font-size: 1.28rem; font-weight: 730; margin: 0 0 16px; }
.card-link { background: var(--black); border-radius: 10px; color: white; display: inline-block; font-weight: 670; padding: 12px 17px; text-decoration: none; }
.editorial > div { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.editorial article { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 24px; }
.editorial h3 { font-size: 1.03rem; margin: 0 0 11px; }
.editorial p { color: var(--muted); line-height: 1.6; margin: 0; }
.breadcrumbs { color: var(--muted); display: flex; gap: 11px; margin: 0 0 40px; }
.breadcrumbs a { color: #895600; font-weight: 650; text-decoration: none; }
.category-head { margin: 0 0 56px; max-width: 760px; }
footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: flex; gap: 22px; justify-content: space-between; margin: 0 auto; max-width: 1160px; padding: 28px 26px; }
footer .brand { color: var(--ink); }
@media (max-width: 760px) { .public-header { padding: 0 18px; } .public-header nav { gap: 14px; } main { padding: 24px 18px 70px; } .masthead { border-radius: 18px; margin-bottom: 32px; } .product-grid, .editorial > div { grid-template-columns: 1fr; } footer { align-items: start; flex-direction: column; padding: 25px 18px; } }
