/* Policy presentation only: document wording and revision dates are retained. */
.policy-main { padding-bottom:80px; }
.policy-hero { padding:64px 0 42px; border-bottom:1px solid var(--line); }
.policy-hero h1 { max-width:900px; }
.policy-intro { color:var(--muted); font-size:1.05rem; margin-top:24px; max-width:680px; }
.policy-date { margin-top:24px; color:var(--muted); font-size:.8rem; }
.policy-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:64px; padding-top:44px; }
.policy-index { align-self:start; position:sticky; top:24px; max-height:calc(100vh - 48px); overflow-y:auto; padding-right:16px; scrollbar-width:thin; }
.policy-index .eyebrow { margin-bottom:20px; }
.policy-index ol { list-style:none; margin:0; padding:0; }
.policy-index li { margin-bottom:14px; }
.policy-index a { display:block; font-size:.78rem; text-decoration:none; line-height:1.6; }
.policy-index a:hover { text-decoration:underline; }
.legal-wrapper { max-width:790px; overflow-wrap:anywhere; }
.legal-section { margin-bottom:40px; padding-bottom:12px; }
.legal-section h2 { font-size:1.75rem; line-height:1.3; margin-bottom:20px; scroll-margin-top:30px; }
.legal-section h3 { font-size:1.2rem; line-height:1.4; margin:26px 0 14px; }
.legal-section p,.legal-section li { color:var(--muted); font-size:.94rem; line-height:1.9; }
.legal-section p { margin:16px 0; }
.legal-section ul,.legal-section ol { padding-left:24px; margin:18px 0; }
.legal-section li { margin:10px 0; }
.legal-section strong { color:var(--ink); }
.legal-section table { width:100%; border-collapse:collapse; margin:24px 0; font-size:.85rem; }
.legal-section th,.legal-section td { border:1px solid var(--line); padding:14px; text-align:left; vertical-align:top; }
.legal-section th { background:#eaf0e2; color:var(--ink); }
.legal-section td { color:var(--muted); }
.warning-box { background:#f3e9dc; border:1px solid #d9c6ab; border-left:3px solid #94663a; padding:16px 24px; margin:24px 0; }
.warning-box p { margin:0; color:#654a30; }
.policy-top { display:inline-block; padding-block:16px; font-size:.85rem; }
@media(max-width:900px) {
  .policy-hero { padding-top:40px; }
  .policy-layout { grid-template-columns:1fr; gap:36px; padding-top:28px; }
  .policy-index { position:static; max-height:none; overflow:visible; padding:24px; background:#eaf0e2; border:1px solid #ccd7c3; }
  .policy-index ol { columns:2; column-gap:28px; }
  .policy-index li { break-inside:avoid; }
  .legal-wrapper { max-width:none; }
}
@media(max-width:520px) {
  .policy-index ol { columns:1; }
  .legal-section h2 { font-size:1.5rem; }
  .legal-section table { display:block; max-width:100%; overflow-x:auto; }
  .legal-section th,.legal-section td { min-width:130px; padding:12px; }
}

.policy-read { display:none; }
@media(max-width:900px) { .policy-read { display:inline-block; padding-top:24px; font-size:.85rem; } }
