.policy-index-hero,.policy-page-hero { background:var(--cream); padding-bottom:48px; }
.policy-index-intro { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:80px; padding:22px 0 37px; }
.policy-index-intro h1 { font-size:clamp(43px,4.8vw,69px); }
.policy-index-intro h1 span { color:var(--red); }
.policy-index-intro>p { color:var(--muted); font-size:18px; line-height:1.85; max-width:400px; margin:0 0 5px; }
.policy-index-meta { display:flex; gap:35px; border-top:1px solid #d4d8d1; padding-top:22px; font-size:12px; color:var(--muted); }
.policy-index-meta span:before { content:'•'; color:var(--red); margin-right:10px; }
.policy-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.policy-card { display:flex; gap:24px; padding:30px; border:1px solid var(--line); border-radius:5px; transition:background .2s,border-color .2s; }
.policy-card:hover { background:var(--cream); border-color:#b8c4be; }
.policy-card-number { color:var(--red); font-size:15px; border-top:2px solid var(--red); padding-top:10px; min-width:26px; line-height:1; }
.policy-card .eyebrow { font-size:9px; color:var(--muted); margin:0 0 12px; }
.policy-card h3 { font-size:26px; line-height:1.25; }
.policy-card div>p:not(.eyebrow) { color:var(--muted); font-size:15px; margin:17px 0 24px; }
.policy-read { display:flex; align-items:center; gap:25px; font-size:12px; font-weight:650; }
.policy-read span { font-size:21px; }
.policy-help { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:45px; padding:35px; background:var(--navy); border-radius:5px; color:#fff; }
.policy-help h2 { font-size:29px; }
.policy-help p { color:#bfccd2; font-size:15px; margin:15px 0 0; }
.policy-help .button { flex-shrink:0; }
.policy-page-hero h1 { max-width:900px; font-size:clamp(40px,4.8vw,64px); padding-top:12px; line-height:1.12; }
.policy-deck { font-size:18px; color:var(--muted); max-width:700px; margin:22px 0; }
.policy-actions { display:flex; gap:30px; align-items:center; }
.policy-actions .text-link { font-size:14px; }
.policy-print { border:1px solid #cbd1c8; background:#fff; border-radius:4px; padding:11px 15px; min-height:44px; font-size:12px; display:flex; gap:20px; align-items:center; }
.policy-print:hover { border-color:var(--navy); }
.policy-print span { font-size:20px; }
.policy-reading-grid { display:grid; grid-template-columns:270px minmax(0,760px); justify-content:space-between; gap:70px; padding-top:55px; padding-bottom:70px; align-items:start; }
.policy-sidebar { position:sticky; top:125px; min-width:0; }
.policy-toc { border:1px solid var(--line); border-radius:4px; }
.policy-toc summary { padding:20px; font-size:15px; font-weight:700; cursor:pointer; }
.policy-toc nav { max-height:calc(100dvh - 285px); overflow-y:auto; overscroll-behavior:contain; border-top:1px solid var(--line); padding:8px 0; }
.policy-toc ol { list-style:none; margin:0; padding:0; }
.policy-toc a { display:block; padding:10px 20px; font-size:12px; color:var(--muted); border-left:2px solid transparent; line-height:1.6; }
.policy-toc a:hover,.policy-toc a[aria-current] { background:var(--cream); color:var(--navy); border-color:var(--red); }
.policy-sidebar-all { display:flex; justify-content:space-between; font-size:12px; margin-top:22px; padding:5px 0; }
.policy-metadata { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:25px; margin:0 0 40px; background:var(--cream); border-radius:4px; }
.policy-metadata dt { font-size:10px; color:var(--muted); margin-bottom:7px; }
.policy-metadata dd { margin:0; font-size:14px; font-weight:650; }
.policy-prose { color:#344b57; font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.policy-prose h2,.policy-prose h3 { color:var(--navy); scroll-margin-top:125px; line-height:1.35; }
.policy-prose h2 { font-size:27px; margin:44px 0 22px; padding-top:25px; border-top:1px solid var(--line); }
.policy-prose h2:first-child { margin-top:0; padding-top:0; border:0; }
.policy-prose h3 { font-size:20px; margin:32px 0 17px; }
.policy-prose p { margin:0 0 20px; line-height:inherit; }
.policy-prose a { color:#176b76; text-decoration:underline; text-underline-offset:3px; }
.policy-list { margin:20px 0 25px; padding:0; list-style:none; }
.policy-list li { display:flex; gap:13px; margin:12px 0; align-items:baseline; }
.source-marker { min-width:19px; font-size:15px; font-weight:600; color:var(--red); flex-shrink:0; }
.policy-table-wrap { overflow:auto; margin:25px 0 35px; border:1px solid var(--line); border-radius:4px; }
.policy-table-wrap table { border-collapse:collapse; width:100%; min-width:470px; font-size:14px; }
.policy-table-wrap caption { text-align:left; padding:15px 18px; font-size:12px; color:var(--muted); background:var(--cream); }
.policy-table-wrap th,.policy-table-wrap td { text-align:left; padding:15px 18px; border-top:1px solid var(--line); line-height:1.7; vertical-align:top; }
.policy-table-wrap thead { background:var(--navy); color:#fff; }
.policy-table-wrap tbody th { font-weight:650; color:var(--navy); }
.policy-end { border-top:1px solid var(--line); margin-top:40px; padding-top:25px; display:flex; gap:17px 30px; flex-wrap:wrap; font-size:14px; }
.policy-end p { color:var(--muted); width:100%; margin:0; }
.policy-end a:last-child { margin-left:auto; }
.policy-related { background:var(--cream); padding:60px 0; }
.policy-related .section-heading h2 { font-size:32px; }
.policy-related .policy-card { background:#fff; }
@media(max-width:1100px) {
  .policy-index-intro { gap:40px; }
  .policy-reading-grid { grid-template-columns:235px minmax(0,1fr); gap:40px; }
  .policy-card { padding:25px; gap:20px; }
}
@media(max-width:850px) {
  .policy-index-intro { grid-template-columns:1fr; gap:25px; }
  .policy-index-intro>p { max-width:600px; font-size:16px; }
  .policy-reading-grid { grid-template-columns:1fr; gap:35px; padding-top:30px; }
  .policy-sidebar { position:static; }
  .policy-toc nav { max-height:230px; }
  .policy-sidebar-all { display:none; }
  .policy-card h3 { font-size:23px; }
  .policy-help { padding:30px; flex-direction:column; align-items:flex-start; }
  .policy-metadata { margin-bottom:30px; }
}
@media(max-width:600px) {
  .policy-index-hero,.policy-page-hero { padding-bottom:35px; }
  .policy-index-intro { padding-top:12px; gap:22px; }
  .policy-index-intro h1 { font-size:42px; }
  .policy-index-meta { flex-wrap:wrap; gap:12px 20px; font-size:10px; }
  .policy-card-grid { grid-template-columns:1fr; gap:16px; }
  .policy-card { padding:24px 20px; gap:18px; }
  .policy-card h3 { font-size:24px; }
  .policy-card div>p:not(.eyebrow) { font-size:14px; margin-top:15px; }
  .policy-card .eyebrow { font-size:8px; }
  .policy-help { margin-top:30px; padding:27px; }
  .policy-help h2 { font-size:26px; }
  .policy-help p { font-size:14px; }
  .policy-help .button { font-size:12px; }
  .policy-page-hero h1 { font-size:38px; }
  .policy-deck { font-size:16px; }
  .policy-actions { gap:22px; }
  .policy-print { font-size:10px; gap:12px; }
  .policy-toc summary { padding:17px; }
  .policy-toc a { font-size:12px; padding:11px 17px; }
  .policy-metadata { padding:22px; gap:20px; }
  .policy-metadata dd { font-size:12px; }
  .policy-prose { font-size:16px; line-height:1.9; }
  .policy-prose h2 { font-size:24px; margin-top:35px; padding-top:24px; }
  .policy-prose h3 { font-size:19px; }
  .policy-list li { gap:10px; }
  .policy-related { padding:45px 0; }
  .policy-related .section-heading h2 { font-size:28px; }
}
@media print {
  .site-header,.utility,.footer,.skip-link,.policy-sidebar,.policy-actions,.policy-related,.policy-end,.breadcrumbs,dialog { display:none!important; }
  body { background:#fff; color:#000; font-size:11pt; }
  .container { width:100%; max-width:none; }
  .policy-page-hero { background:none; padding:0 0 15pt; }
  .policy-page-hero h1 { font-size:25pt; padding:0; }
  .policy-deck { font-size:11pt; }
  .policy-reading-grid { display:block; padding:0; }
  .policy-metadata { padding:12pt; border:1px solid #aaa; margin-bottom:20pt; }
  .policy-prose { font-size:10.5pt; line-height:1.55; color:#000; }
  .policy-prose h2 { font-size:16pt; break-after:avoid; }
  .policy-prose h3 { font-size:13pt; break-after:avoid; }
  .policy-prose p,.policy-list li { orphans:3; widows:3; }
  .policy-table-wrap { overflow:visible; }
  .policy-table-wrap table { min-width:0; }
  .policy-table-wrap thead { background:none; color:#000; }
  .policy-table-wrap tr { break-inside:avoid; }
  .source-marker { color:#000; }
}
