:root{
  /* Black / Gold / White luxury palette */
  --bg:#000;
  --panel:#0b0b0b;
  --border:rgba(212,175,55,0.32);
  --text:#fff;
  --muted:#d9c67a; /* refined gold */
}

/* Base (ALL FONTS: Playfair Italic) */
*{ box-sizing:border-box; }
html,body{
  margin:0; padding:0; background:var(--bg); color:var(--text);
  font-family:'Playfair Display', serif; font-style:italic; font-weight:400;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  line-height:1.65;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.muted{ color:#cfcfcf; }
.lead{ max-width:72ch; }

/* Header */
.site-header{ position:sticky; top:0; z-index:70; background:rgba(0,0,0,.72); backdrop-filter: blur(10px); border-bottom:1px solid var(--border); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:84px; }
.brand{ font-weight:600; letter-spacing:.08em; font-size:32px; color:var(--muted); text-transform:none; white-space:nowrap; }
.brand .money{ color:var(--muted); font-weight:700; }
.brand.small{ font-size:16px; letter-spacing:.12em; }
.nav{ display:flex; gap:24px; align-items:center; }
.nav a, .dropbtn{ font-size:14px; color:#e4e4e4; letter-spacing:.08em; }
.cart-link{ border:1px solid var(--border); padding:6px 12px; border-radius:999px; color:var(--muted); }
.dropbtn{ background:transparent; border:none; cursor:pointer; }

/* Dropdown */
.dropdown{ position:relative; }
.dropdown-content{
  position:absolute; left:50%; transform:translateX(-50%); top:calc(100% + 10px);
  min-width:360px; background:rgba(15,15,15,.98); border:1px solid var(--border);
  border-radius:16px; padding:16px; display:none; grid-template-columns:1fr 1fr; gap:8px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.dropdown:hover .dropdown-content{ display:grid; }
.dropdown-content a{ padding:10px 8px; border-bottom:1px solid rgba(212,175,55,.18); color:#ddd; }
.dropdown-content a:last-child{ border-bottom:0; }
.dropdown-content a:hover{ color:var(--muted); }

/* Hero (optional for pages that have it) */
.hero{ position:relative; height:90vh; display:grid; place-items:center; text-align:center; overflow:hidden; border-bottom:1px solid var(--border); }
.hero img.bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:contrast(1.05) saturate(1.05) brightness(.9); }
.hero .overlay{ position:absolute; inset:0; background:radial-gradient(ellipse at center, rgba(0,0,0,.25) 0%, rgba(0,0,0,.65) 70%); }
.hero-inner h1{ font-weight:600; font-size:clamp(48px,7vw,92px); letter-spacing:.05em; margin:0; color:var(--muted); }
.hero-inner p{ max-width:760px; margin:12px auto 0; color:#efefef; opacity:.9; }
.hero .cta{ margin-top:26px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.btn{
  border:1px solid var(--muted); padding:12px 22px; border-radius:999px; font-size:14px;
  color:var(--muted); background:transparent; transition:all .25s ease; letter-spacing:.08em;
}
.btn.primary{ background:var(--muted); color:#000; border-color:var(--muted); }
.btn:hover{ transform:translateY(-1px); box-shadow:0 10px 26px rgba(212,175,55,.28); }

/* Watermark (optional) */
.brand-mark{
  position:absolute; inset:0; display:grid; place-items:center; pointer-events:none;
  font-weight:600; letter-spacing:.06em; font-size:clamp(200px, 28vw, 520px); color:#d4af37; opacity:.035; mix-blend-mode:screen;
}
.brand-mark span{ font-weight:700; }

/* Marquee */
.marquee{ border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:10px 0; white-space:nowrap; overflow:hidden; background:var(--panel); }
.marquee .inner{ display:inline-block; animation: slide 22s linear infinite; color:var(--muted); letter-spacing:.18em; font-size:14px; }
@keyframes slide{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* Sections */
.section{ padding:64px 0; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:18px; }
.section-head h2{ font-weight:600; font-size:38px; margin:0; letter-spacing:.02em; color:var(--muted); }
.section-head a{ color:#cfcfcf; font-size:13px; letter-spacing:.1em; }
.grid{ display:grid; gap:18px; }
.grid.cols-3{ grid-template-columns:repeat(3, 1fr); }
@media (max-width: 900px){ .grid.cols-3{ grid-template-columns:1fr 1fr; } }
@media (max-width: 600px){ .grid.cols-3{ grid-template-columns:1fr; } }

/* Split banners */
.split{ display:grid; grid-template-columns:1.2fr 1fr; gap:18px; }
.split .pane{ position:relative; overflow:hidden; border:1px solid var(--border); }
.split .pane img{ width:100%; height:560px; object-fit:cover; transition: transform .6s cubic-bezier(.2,.6,.2,1); }
.split .pane:hover img{ transform:scale(1.03); }
.split .copy{ position:absolute; left:24px; bottom:24px; color:#fff; text-shadow:0 8px 24px rgba(0,0,0,.35); }
.split .copy .eyebrow{ font-size:12px; color:#f1f1f1; letter-spacing:.12em; }
.split .copy .headline{ font-size:48px; font-weight:600; line-height:1; }

/* Product cards */
.card{ background:var(--panel); border:1px solid var(--border); position:relative; overflow:hidden; }
.card img{ height:420px; width:100%; object-fit:cover; transition: transform .6s cubic-bezier(.2,.6,.2,1); }
.card:hover img{ transform:scale(1.04); }
.card .label{ position:absolute; left:16px; bottom:14px; }
.kicker{ color:#d8d8d8; font-size:12px; letter-spacing:.1em; }
.title{ font-size:20px; margin-top:6px; font-weight:600; }

/* Skeletons */
.skeleton{ height:420px; background:linear-gradient(90deg, #111 25%, #1a1a1a 37%, #111 63%); background-size:400% 100%; animation:shimmer 1.4s ease infinite; }
@keyframes shimmer{ 0%{background-position:100% 0;} 100%{background-position:0 0;} }

/* Editorial strip */
.editorial{ border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--panel); }
.editorial-inner{ display:grid; grid-template-columns: 1.1fr 1fr; gap:28px; padding:56px 0; align-items:center; }
.editorial .copy .eyebrow{ font-size:12px; color:#d8d8d8; letter-spacing:.12em; }
.editorial .copy h3{ font-size:42px; font-weight:600; margin:8px 0; color:var(--muted); }
.editorial .copy p{ color:#e6e6e6; max-width:60ch; margin:8px 0 16px; }
.editorial .media img{ height:520px; width:100%; object-fit:cover; border:1px solid var(--border); }
.editorial .cta-row{ display:flex; gap:10px; flex-wrap:wrap; }

/* Newsletter */
.newsletter{ border-top:1px solid var(--border); background:var(--panel); }
.nl-inner{ text-align:center; max-width:760px; }
.newsletter h3{ font-size:36px; font-weight:600; color:var(--muted); margin:0 0 8px; }
.newsletter form{ margin-top:12px; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.newsletter input{ background:#0f0f0f; color:#fff; border:1px solid var(--border); padding:12px; border-radius:8px; min-width:260px; }

/* Footer */
.site-footer{ border-top:1px solid var(--border); margin-top:40px; background:var(--panel); }
.footer-inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:36px 0; }
@media (max-width: 900px){ .footer-inner{ grid-template-columns:1fr 1fr; } }
@media (max-width: 600px){ .footer-inner{ grid-template-columns:1fr; } }
.footer-bottom{ border-top:1px solid var(--border); padding:14px 0; text-align:center; color:#bdbdbd; font-size:12px; }

/* Reveal animation */
.reveal{ opacity:0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform: translateY(0); }

/* Utilities */
.sep{ height:1px; background:var(--border); margin:22px 0; }



