@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root {
  --ink: #111722;
  --paper: #f7f7f3;
  --surface: #ffffff;
  --accent: #0b765d;
  --accent-soft: #e8f4ee;
  --gold: #b1843f;
  --gold-soft: #f7efdf;
  --line: #e7e7e1;
  --muted: #687180;
  --dark: #121720;
  --shadow: 0 18px 50px rgba(17, 23, 34, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'DM Sans', sans-serif;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
button, input, select, textarea { font: inherit; }
.font-display { font-family: 'Playfair Display', serif; }
.tabular { font-variant-numeric: tabular-nums; }

.store-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.store-nav-inner {
  max-width: 1160px; margin: auto; min-height: 76px; padding: 0 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { display:flex; align-items:center; gap:12px; font-weight:600; }
.brand-mark {
  width:38px; height:38px; border:1px solid var(--gold); border-radius:10px;
  display:grid; place-items:center; font-family:'Playfair Display',serif; font-size:18px;
  background:#fff;
}
.brand-name { font-family:'Playfair Display',serif; font-size:18px; }
.store-links { display:flex; align-items:center; gap:34px; font-size:13px; color:#303744; }
.store-links a { padding:27px 0 23px; border-bottom:2px solid transparent; transition:.2s; }
.store-links a:hover, .store-links a.active { color:var(--ink); border-bottom-color:var(--gold); }
.nav-cta, .gold-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  border-radius:999px; background:var(--gold); color:white; border:1px solid var(--gold);
  padding:11px 19px; font-size:13px; font-weight:600; box-shadow:0 8px 20px rgba(177,132,63,.18);
  transition:transform .2s, box-shadow .2s, background .2s;
}
.nav-cta:hover, .gold-btn:hover { transform:translateY(-1px); box-shadow:0 12px 26px rgba(177,132,63,.24); }
.outline-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  border:1px solid #202733; color:#202733; background:white; border-radius:999px;
  padding:11px 19px; font-size:13px; font-weight:600; transition:.2s;
}
.outline-btn:hover { background:#202733; color:white; }

.site-footer { background:var(--dark); color:#fff; position:relative; overflow:hidden; }
.site-footer:before { content:''; position:absolute; width:680px; height:280px; right:-180px; bottom:-180px; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.footer-inner { max-width:1160px; margin:auto; padding:56px 28px 34px; display:grid; grid-template-columns:1.2fr .8fr .9fr; gap:60px; position:relative; z-index:1; }
.footer-muted { color:#9aa3b1; font-size:13px; line-height:1.7; }
.footer-title { font-family:'Playfair Display',serif; font-size:18px; margin-bottom:12px; }
.footer-heading { color:#fff; font-size:12px; margin-bottom:14px; font-weight:600; }
.footer-links { display:grid; gap:9px; color:#b3bac5; font-size:13px; }
.footer-bottom { max-width:1160px; margin:auto; padding:17px 28px 22px; border-top:1px solid rgba(255,255,255,.1); color:#7e8794; font-size:11px; position:relative; z-index:1; text-align:center; }

@media (max-width: 800px) {
  .store-nav-inner { min-height:68px; padding:0 18px; }
  .store-links { display:none; }
  .nav-cta { padding:9px 14px; }
  .brand-name { font-size:16px; }
  .footer-inner { grid-template-columns:1fr; gap:30px; padding:42px 20px 30px; }
  .footer-bottom { padding-left:20px; padding-right:20px; }
}
