/* Editorial policy layout. Shared Switzer, spacing and theme tokens. */
.policy-main{padding-block:72px 80px}
.policy-intro{max-width:1040px}
.policy-intro .eyebrow{color:var(--muted)}
.policy-intro h1{font-size:clamp(40px,5.4vw,76px);margin-block:22px}
.policy-lead{font-size:clamp(17px,1.7vw,22px);line-height:1.6;max-width:65ch;color:var(--muted)}
.policy-date{font-size:13px;margin-top:26px;color:var(--muted)}
.policy-review{margin-block:36px 54px;padding:22px 26px;border-left:3px solid var(--blue);background:var(--panel);font-size:14px}
.policy-review strong{font-weight:600}.policy-review p{margin-top:5px;max-width:95ch;color:var(--muted)}
.policy-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:clamp(36px,6vw,112px);align-items:start}
.policy-sidebar{align-self:stretch;min-width:0}.policy-index{position:sticky;top:112px;display:flex;flex-direction:column;padding-bottom:20px;gap:4px;max-height:calc(100svh - 128px);overflow-y:auto}
.policy-index .eyebrow{color:var(--muted);margin-bottom:15px}.policy-index a{font-size:13px;padding:8px 0;line-height:1.5}.policy-index a:hover{color:var(--blue)}
.policy-mobile-index{display:none}.policy-body{max-width:850px;min-width:0}
.policy-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:23px;margin-bottom:40px}
.policy-summary .eyebrow{color:var(--muted)}.policy-summary ul{margin-bottom:0}.policy-summary li{font-size:16px}
.policy-body section{scroll-margin-top:118px;margin-top:44px}
.policy-body h2{font-size:clamp(25px,2.4vw,34px);line-height:1.2;letter-spacing:-.025em;margin-bottom:20px;text-wrap:pretty}
.policy-body p,.policy-body li{font-size:16px;line-height:1.8}.policy-body p+p,.policy-body ul+p{margin-top:18px}
.policy-body ul{padding-left:22px}.policy-body li+li{margin-top:10px}
.policy-body a{color:var(--blue-hover);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.dark .policy-body a{color:#93b4ff}.policy-body a:hover{color:var(--ink)}
.policy-body code{font-size:.9em;overflow-wrap:anywhere}
.policy-storage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin-block:24px;font-size:14px;line-height:1.75}
.policy-storage>div{padding:20px;border-right:1px solid var(--line)}.policy-storage>div:last-child{border-right:0}
.policy-storage dt{font-weight:600;margin-bottom:14px}.policy-storage dd{margin:0}
.policy-sources{border-top:1px solid var(--line);padding-top:28px}.policy-body .policy-sources h2{font-size:23px}.policy-body .policy-sources a{font-size:14px}
.policy-related{display:flex;gap:15px 32px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:64px;padding-top:24px;font-size:14px}
.policy-related a{padding-block:10px}.policy-related a:hover,.policy-related a[aria-current]{color:var(--blue-hover);text-decoration:underline;text-underline-offset:6px}.dark .policy-related a:hover,.dark .policy-related a[aria-current]{color:#93b4ff}
@media(max-width:900px){.policy-main{padding-block:46px 56px}.policy-layout{grid-template-columns:1fr;gap:30px}.policy-index{display:none}.policy-mobile-index{display:block;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.policy-mobile-index summary{display:flex;justify-content:space-between;padding-block:17px;font-size:14px;font-weight:500;list-style:none}.policy-mobile-index summary::-webkit-details-marker{display:none}.policy-mobile-index nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;padding-bottom:20px}.policy-mobile-index a{padding:10px 0;font-size:13px}.policy-mobile-index a:hover{color:var(--blue)}.policy-review{margin-block:28px 32px}.policy-body{max-width:none}.policy-body section{scroll-margin-top:98px}}
@media(max-width:540px){.policy-intro h1{font-size:42px}.policy-main{padding-top:36px}.policy-review{padding:18px 20px}.policy-body p,.policy-body li{font-size:15px}.policy-storage{grid-template-columns:1fr;font-size:15px}.policy-storage>div{border-right:0;border-bottom:1px solid var(--line)}.policy-storage>div:last-child{border-bottom:0}.policy-storage dt{margin-bottom:8px}.policy-body section{margin-top:36px}.policy-mobile-index nav{grid-template-columns:1fr}.policy-related{margin-top:44px;gap:8px 24px}}
