/* Policy reading belongs to the same identity as the occasions. */
.policy-header { max-width:var(--page-width); min-height:100px; margin:0 auto; padding:var(--space-4) var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:var(--space-6); border-bottom:1px solid var(--rule); }
.policy-header nav { display:flex; align-items:center; gap:var(--space-6); font:var(--type-label)/1.5 var(--sans); }
.policy a { color:var(--action-hover); text-decoration-thickness:1px; text-underline-offset:4px; }
.policy a:hover { color:var(--action); }
.policy-header .wordmark { color:var(--ink); }
.policy-header nav a { display:inline-flex; align-items:center; min-height:var(--control-height); padding:var(--space-3) 0; border-bottom:2px solid transparent; text-decoration:none; color:var(--muted); }
.policy-header nav a:hover { color:var(--ink); }
.policy-header nav [aria-current] { color:var(--action-hover); border-bottom-color:var(--action); font-weight:500; }
.policy-page { width:100%; max-width:800px; min-height:0; margin:0 auto; padding:56px var(--gutter) var(--space-16); }
.policy-page article { max-width:650px; margin:0 auto; }
.policy-page h1 { font:400 clamp(40px,5vw,56px)/1.15 var(--serif); letter-spacing:-.03em; }
.policy-page h2 { margin:var(--space-10) 0 var(--space-4); font:400 30px/1.3 var(--serif); letter-spacing:-.025em; }
.policy-page p,.policy-page li { font:16px/1.85 var(--sans); overflow-wrap:anywhere; }
.policy-page p,.policy-page ul { margin:0 0 var(--space-5); }
.policy-page ul { padding-left:var(--space-6); }
.policy-page li { padding-left:var(--space-1); margin-bottom:var(--space-3); }
.policy-page strong { font-weight:600; }
.policy-page .policy-date { margin:var(--space-4) 0 var(--space-8); color:var(--muted); font-size:var(--type-small); line-height:1.6; }
.policy-page .policy-date + p { font:21px/1.65 var(--serif); }
.policy-page .policy-return { margin:var(--space-10) 0 0; padding-top:var(--space-5); border-top:1px solid var(--rule); font-size:var(--type-label); }
.policy-return a { display:inline-flex; align-items:center; min-height:var(--control-height); padding:var(--space-3) 0; }
@media(max-width:700px) {
  .policy-header { min-height:88px; flex-wrap:wrap; padding-block:var(--space-4); gap:var(--space-2) var(--space-5); }
  .policy-header nav { gap:var(--space-5); margin-left:auto; }
  .policy-page { padding-block:var(--space-10) var(--space-12); }
  .policy-page h2 { margin-top:var(--space-8); font-size:28px; }
  .policy-page .policy-date { margin-bottom:var(--space-6); }
  .policy-page .policy-date + p { font-size:20px; }
}
