html { scroll-behavior: smooth; }
body { line-height: 1.7; background: #18121f; }
.policy-shell { max-width: 1120px; margin: 0 auto; padding: 4.5rem 2rem 5rem; }
.policy-header { max-width: 760px; padding-bottom: 3rem; border-bottom: 1px solid var(--border); }
.policy-back { display: inline-flex; color: var(--accent2); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; margin-bottom: 3.5rem; }
.policy-back:hover { color: var(--gold); }
.policy-header h1 { color: var(--text); font-family: 'Playfair Display', serif; font-size: clamp(3.2rem, 8vw, 6rem); line-height: .88; letter-spacing: -.04em; margin: .75rem 0 1.5rem; }
.policy-header h1 em { color: var(--accent2); font-style: italic; font-weight: 400; }
.policy-intro { max-width: 470px; color: var(--text-mid); font-size: 1.05rem; font-weight: 300; }
.policy-date { color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-top: 1.5rem; }
.policy-body { display: grid; grid-template-columns: 180px minmax(0, 660px); gap: 5rem; padding-top: 3.5rem; }
.policy-body aside { display: flex; flex-direction: column; align-self: start; gap: .55rem; position: sticky; top: 5rem; }
.policy-body aside span { color: var(--text-dim); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .35rem; }
.policy-body aside a { color: var(--text-mid); font-size: .78rem; text-decoration: none; }
.policy-body aside a:hover { color: var(--gold); }
.policy-body article { min-width: 0; }
.policy-lede { color: var(--text); font-family: 'Playfair Display', serif; font-size: 1.3rem; line-height: 1.45; margin-bottom: 3.2rem; }
.policy-body section { padding: 2rem 0; border-top: 1px solid var(--border); }
.policy-number { color: var(--gold); font-size: .7rem; font-weight: 700; letter-spacing: .14em; margin-bottom: .5rem; }
.policy-body h2 { color: var(--text); font-family: 'Playfair Display', serif; font-size: 1.55rem; line-height: 1.2; margin-bottom: .65rem; }
.policy-body p { color: var(--text-dim); font-weight: 300; }
.policy-body a { color: var(--accent2); }
.policy-contact { padding-bottom: 0 !important; }
@media (max-width: 700px) {
  .policy-shell { padding: 3rem 1.25rem 4rem; }
  .policy-back { margin-bottom: 2.5rem; }
  .policy-body { display: block; padding-top: 2.5rem; }
  .policy-body aside { display: none; }
  .policy-lede { font-size: 1.15rem; margin-bottom: 2.2rem; }
}
