/* Shared policy page styles */
:root {
  --cream: #faf2e8;
  --forest: #2a3d30;
  --sage: #71796e;
  --gold: #b18952;
  --sand: #cec1a8;
  --ink: #2a3d30;
  --paper: #fffaf2;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--cream);
  color: var(--ink);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: 'Cormorant Garamond', 'Playfair Display', serif; color: var(--forest); margin: 0 0 12px; font-weight: 600; }
a { color: var(--gold); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Nav */
.nav { background: var(--cream); border-bottom: 1px solid var(--sand); padding: 0 28px; position: sticky; top: 0; z-index: 100; }
.nav__inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 72px; }
.nav__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.nav__brand img { width: 48px; height: 48px; border-radius: 50%; }
.nav__brand-text strong { font-family: 'Cormorant Garamond', serif; font-size: 20px; color: var(--forest); display: block; }
.nav__brand-text em { font-size: 11px; color: var(--sage); font-style: normal; letter-spacing: 0.04em; }
.nav__back { font-size: 14px; color: var(--sage); text-decoration: none; }
.nav__back:hover { color: var(--gold); text-decoration: none; }

/* Page hero */
.policy-hero { background: var(--forest); color: var(--cream); padding: 56px 28px 48px; text-align: center; }
.policy-hero h1 { color: #fff; font-size: clamp(28px, 5vw, 44px); margin-bottom: 8px; }
.policy-hero .updated { font-size: 13px; color: rgba(250,242,232,0.55); letter-spacing: 0.04em; text-transform: uppercase; }

/* Policy nav pills */
.policy-nav { background: var(--paper); border-bottom: 1px solid var(--sand); padding: 16px 28px; overflow-x: auto; }
.policy-nav__inner { max-width: 1180px; margin: 0 auto; display: flex; gap: 10px; flex-wrap: wrap; }
.policy-nav a { font-size: 13px; padding: 6px 14px; border-radius: 999px; background: var(--cream); border: 1px solid var(--sand); color: var(--sage); white-space: nowrap; transition: all .2s; text-decoration: none; }
.policy-nav a:hover, .policy-nav a.active { background: var(--forest); color: #fff; border-color: var(--forest); }

/* Content */
.policy-content { max-width: 820px; margin: 0 auto; padding: 56px 28px 80px; }
.policy-content h2 { font-size: 24px; margin-top: 44px; margin-bottom: 10px; padding-top: 12px; border-top: 1px solid var(--sand); }
.policy-content h2:first-child { margin-top: 0; border-top: none; padding-top: 0; }
.policy-content h3 { font-size: 18px; color: var(--sage); margin-top: 24px; margin-bottom: 8px; }
.policy-content p { margin: 0 0 14px; color: #3a4a3e; }
.policy-content ul, .policy-content ol { margin: 0 0 14px 20px; color: #3a4a3e; }
.policy-content li { margin-bottom: 6px; }
.policy-content strong { color: var(--forest); }
.policy-content .notice { background: var(--paper); border-left: 3px solid var(--gold); padding: 16px 20px; margin: 20px 0; border-radius: 0 8px 8px 0; }
.policy-content .notice p { margin: 0; font-size: 14px; }
.policy-content table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 14px; }
.policy-content th { background: var(--forest); color: #fff; padding: 10px 14px; text-align: left; font-family: 'DM Sans', sans-serif; font-weight: 500; }
.policy-content td { padding: 10px 14px; border-bottom: 1px solid var(--sand); }
.policy-content tr:nth-child(even) td { background: var(--paper); }

/* Footer */
.footer { background: var(--forest); color: rgba(250,242,232,0.8); padding: 48px 28px 28px; margin-top: 0; }
.footer__inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
.footer h4 { color: #fff; font-size: 16px; margin-bottom: 12px; font-family: 'Cormorant Garamond', serif; }
.footer__brand { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.footer__brand img { width: 36px; height: 36px; border-radius: 50%; }
.footer__brand span { font-family: 'Cormorant Garamond', serif; font-size: 20px; color: #fff; }
.footer__copy { font-size: 13px; line-height: 1.7; color: rgba(250,242,232,0.55); max-width: 280px; }
.footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; }
.footer a { color: rgba(250,242,232,0.65); font-size: 13px; transition: color .2s; text-decoration: none; }
.footer a:hover { color: var(--gold); }
.footer__bottom { max-width: 1180px; margin: 32px auto 0; padding-top: 20px; border-top: 1px solid rgba(250,242,232,0.12); text-align: center; font-size: 12px; color: rgba(250,242,232,0.45); }

@media (max-width: 768px) {
  .footer__inner { grid-template-columns: 1fr 1fr; gap: 24px; }
  .policy-content { padding: 36px 20px 60px; }
}
@media (max-width: 480px) {
  .footer__inner { grid-template-columns: 1fr; }
}
