/* ============================================================
   Richvell Pets — policy pages
   Rides on ../styles.css for the brand tokens, header and footer.
   ============================================================ */

body{ background:var(--cream); }

.pol-hero{ background:var(--sand); border-bottom:1px solid var(--line); padding:52px 0 44px; }
.pol-hero .crumb{ font-size:13px; color:var(--muted); margin-bottom:12px; }
.pol-hero .crumb a:hover{ color:var(--gold-dp); text-decoration:underline; }
.pol-hero h1{ font-size:clamp(30px,4vw,46px); }
.pol-hero .upd{ margin-top:14px; font-size:13px; color:var(--muted); font-style:italic; }

.pol{ max-width:760px; margin:0 auto; padding:52px 24px 90px; }
.pol h2{
  font-size:21px; margin:38px 0 12px; letter-spacing:-.03em;
  padding-top:26px; border-top:1px solid var(--line);
}
.pol h2:first-of-type{ margin-top:0; padding-top:0; border-top:0; }
.pol h3{ font-size:16px; margin:22px 0 8px; letter-spacing:-.02em; }
.pol p{ font-size:15.5px; line-height:1.7; color:var(--ink-2); margin-bottom:14px; }
.pol ul{ margin:0 0 16px; padding-left:22px; }
.pol li{ font-size:15.5px; line-height:1.7; color:var(--ink-2); margin-bottom:8px; }
.pol a{ color:var(--gold-dp); text-decoration:underline; text-underline-offset:3px; }
.pol a:hover{ color:var(--ink); }
.pol strong{ font-weight:750; color:var(--ink); }

/* the one thing a reader must not miss on a subscription offer */
.pol .callout{
  background:var(--gold-tint); border:1px solid rgba(201,162,39,.45);
  border-left:4px solid var(--gold); border-radius:var(--r);
  padding:20px 22px; margin:24px 0;
}
.pol .callout p:last-child{ margin-bottom:0; }
.pol .callout .lbl{
  display:block; font-size:11px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--gold-dp); margin-bottom:8px;
}

.pol table{ width:100%; border-collapse:collapse; margin:6px 0 18px; font-size:14.5px; }
.pol th{
  text-align:left; padding:10px 12px; background:var(--sand);
  font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2);
}
.pol td{ padding:11px 12px; border-bottom:1px solid var(--line-2); color:var(--ink-2); }
.pol td:last-child{ text-align:right; white-space:nowrap; font-weight:700; color:var(--ink); }

.pol .addr{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:18px 20px; font-size:15px; line-height:1.65; color:var(--ink-2); margin-bottom:16px;
}
.pol .addr b{ color:var(--ink); }

/* ── Index of policies ──────────────────────────────────── */
.pol-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:8px; }
.pol-card{
  display:block; background:var(--paper); border:1px solid var(--line-2);
  border-radius:var(--r-lg); padding:24px 24px 26px;
  transition:transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s, border-color .24s;
}
.pol-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:rgba(201,162,39,.5); }
.pol-card h3{ font-size:19px; margin:0 0 8px; }
.pol-card p{ font-size:14px; color:var(--ink-3); line-height:1.55; margin:0; }

@media (max-width:720px){
  .pol{ padding:38px 16px 70px; }
  .pol-hero{ padding:36px 0 30px; }
  .pol-grid{ grid-template-columns:1fr; }
}
