/* =========================================================
   POLICY PAGES — Shipping, Returns, Terms, Privacy
   A light, airy reading page — deliberately overrides the site's
   dark hero-page body (styles.css sets body background:var(--ink)
   globally, meant for the video-hero homepage) since these are
   plain content pages meant to be read, not a dark cinematic scene.
   Thin, refined type throughout; RTL-aware via the same
   html[dir="rtl"] font-token swap as every other page.
   ========================================================= */

body.policy-body{
  background: var(--cream);
  color: var(--ink);
}

.policy{
  max-width: 740px;
  margin: 0 auto;
  padding: 64px var(--gutter) 100px;
}

.policy__crumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-family: var(--sans);
  font-size: 10.5px;
  font-weight: 300;
  letter-spacing:.06em;
  color: var(--warm-brown);
  opacity:.65;
  margin-bottom: 36px;
}
.policy__crumb a{ color: inherit; text-decoration:none; border-bottom:1px solid transparent; transition: border-color .25s var(--ease); }
.policy__crumb a:hover{ border-color: currentColor; }
.policy__crumb svg{ width:8px; height:8px; opacity:.55; }
html[dir="rtl"] .policy__crumb svg{ transform: scaleX(-1); }

.policy__kicker{
  display:flex;
  align-items:center;
  gap:12px;
  font-family: var(--sans);
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing:.28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}
html[dir="rtl"] .policy__kicker{ letter-spacing:.06em; }
.policy__kicker i{
  display:block;
  width:38px;
  height:1px;
  background: currentColor;
  opacity:.6;
}

.policy__title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 6vw, 58px);
  line-height: 1.08;
  letter-spacing: .01em;
  color: var(--ink);
  margin: 0 0 22px;
}
html[dir="rtl"] .policy__title{ font-weight:500; letter-spacing:0; }

.policy__intro{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.85;
  color: var(--warm-brown);
  max-width: 58ch;
  margin: 0 0 50px;
}

.policy__section{
  padding: 32px 0;
  border-top: 1px solid rgba(74,59,46,.14);
}

.policy__section h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 23px;
  letter-spacing: .005em;
  color: var(--ink);
  margin: 0 0 12px;
}
html[dir="rtl"] .policy__section h2{ font-weight:500; }

.policy__section p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 13.5px;
  line-height: 1.9;
  color: var(--warm-brown);
  margin: 0;
  max-width: 62ch;
}

.policy__notes{
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.policy__notes li{
  position: relative;
  font-family: var(--sans);
  font-weight: 300;
  font-size: 13.5px;
  line-height: 1.8;
  color: var(--warm-brown);
  padding-inline-start: 22px;
  max-width: 62ch;
}
.policy__notes li::before{
  content:"";
  position:absolute;
  inset-inline-start: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
}

.policy__closing{
  margin-top: 40px;
  padding: 26px 30px;
  background: #fff;
  border: 1px solid var(--champagne);
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink);
}
html[dir="rtl"] .policy__closing{ font-style: normal; }

.policy__contactLink{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:14px;
  font-family: var(--sans);
  font-weight: 400;
  font-size: 12px;
  letter-spacing:.06em;
  color: var(--ink);
  text-decoration:none;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 2px;
  transition: opacity .25s var(--ease);
}
.policy__contactLink:hover{ opacity:.6; }
.policy__contactLink svg{ width:14px; height:14px; flex:none; }

@media (max-width: 480px){
  .policy{ padding-top: 44px; }
  .policy__title{ font-size: clamp(30px, 8vw, 38px); }
}
