:root{
  --ink:#111111;
  --charcoal:#1b1b1a;
  --paper:#fafaf8;
  --white:#ffffff;
  --gold:#d4af37;
  --gold-soft:#e9cf83;
  --stone:#8c877e;
  --line:rgba(17,17,17,0.1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Fraunces', serif;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold); color:var(--ink);}

/* ---- nav (matches main site) ---- */
header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.6rem clamp(1.5rem, 5vw, 4rem);
  background:var(--ink);
  color:var(--white);
  position:sticky;
  top:0;
  z-index:100;
}
.logo{
  font-family:'Fraunces', serif;
  font-size:1.4rem;
  letter-spacing:0.08em;
  font-weight:500;
}
header a.back{
  font-size:0.85rem;
  letter-spacing:0.04em;
  color:#c9c7c2;
  transition:color 0.3s ease;
}
header a.back:hover{color:var(--gold);}

/* ---- page hero strip ---- */
.policy-hero{
  background:var(--charcoal);
  color:var(--white);
  padding:clamp(3.5rem,8vw,5.5rem) clamp(1.5rem,6vw,5rem) clamp(2.5rem,5vw,3.5rem);
}
.policy-hero .eyebrow{
  font-size:0.72rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:0.6rem;
  margin-bottom:1.2rem;
}
.policy-hero .eyebrow::before{
  content:'';
  width:24px;height:1px;
  background:var(--gold);
  display:inline-block;
}
.policy-hero h1{
  font-family:'Fraunces', serif;
  font-weight:400;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1.1;
}
.policy-hero p.meta{
  margin-top:1rem;
  font-size:0.85rem;
  color:#a9a7a1;
  font-weight:300;
}

/* ---- content ---- */
.policy-body{
  max-width:820px;
  margin:0 auto;
  padding:clamp(3rem,7vw,5rem) clamp(1.5rem,6vw,2rem) clamp(5rem,10vw,7rem);
}
.policy-body h2{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:1.5rem;
  margin-top:2.8rem;
  margin-bottom:1rem;
  padding-bottom:0.7rem;
  border-bottom:1px solid var(--line);
}
.policy-body h2:first-of-type{margin-top:0;}
.policy-body h3{
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:1rem;
  margin-top:1.6rem;
  margin-bottom:0.5rem;
}
.policy-body p{
  font-size:0.98rem;
  line-height:1.75;
  color:#3a3a38;
  font-weight:300;
  margin-bottom:1rem;
}
.policy-body ul, .policy-body ol{
  margin:0 0 1.2rem 1.4rem;
  color:#3a3a38;
  font-weight:300;
  line-height:1.75;
  font-size:0.98rem;
}
.policy-body li{margin-bottom:0.4rem;}
.policy-body a.inline-link{
  color:var(--gold);
  border-bottom:1px solid var(--gold-soft);
}
.callout{
  background:var(--white);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  padding:1.2rem 1.4rem;
  border-radius:4px;
  margin:1.6rem 0;
}
.callout p{margin-bottom:0.3rem; font-size:0.92rem;}
.callout p:last-child{margin-bottom:0;}
.policy-nav{
  display:flex;
  flex-wrap:wrap;
  gap:0.6rem;
  margin-bottom:2.5rem;
}
.policy-nav a{
  font-size:0.78rem;
  letter-spacing:0.03em;
  padding:0.5rem 0.9rem;
  border:1px solid var(--line);
  border-radius:20px;
  color:#5a5a56;
  transition:all 0.3s ease;
}
.policy-nav a:hover{
  border-color:var(--gold);
  color:var(--ink);
  background:#fff;
}

/* ---- FAQ accordion (store policies) ---- */
.faq-group{margin-top:2.8rem;}
.faq-group > h2{margin-top:0;}
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-q{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  font-family:'Inter', sans-serif;
  font-size:0.98rem;
  font-weight:500;
  color:var(--ink);
  padding:1.1rem 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  gap:1rem;
}
.faq-q .plus{
  color:var(--gold);
  font-size:1.1rem;
  transition:transform 0.3s ease;
  flex-shrink:0;
}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
}
.faq-a p{
  padding-bottom:1.1rem;
  font-size:0.94rem;
  color:#5a5a56;
}

/* ---- footer ---- */
footer{
  background:var(--ink);
  color:#c9c7c2;
  padding:3rem clamp(1.5rem,6vw,5rem) 2rem;
  text-align:center;
}
footer p{font-size:0.8rem; color:#7a7874;}
footer a{color:#c9c7c2;}
footer a:hover{color:var(--gold);}
