/* From concepts/keyholder-tv/policies.html (keep in step). */
.pol-hero{padding:clamp(40px, 6vw, 80px) 0 clamp(24px, 3vw, 40px); border-bottom:1px solid var(--line)}
.pol-hero p{max-width:60ch; color:var(--muted); font-size:clamp(16px, 1.3vw, 18px); margin-top:14px}
.pol-hero .pol-updated{font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--dim); margin-top:18px}
.pol-layout{display:grid; grid-template-columns:220px minmax(0,1fr); gap:clamp(28px, 5vw, 72px); padding-top:clamp(32px, 4vw, 56px); padding-bottom:clamp(56px, 7vw, 96px)}
.pol-nav{position:sticky; top:96px; align-self:start; display:flex; flex-direction:column; gap:4px}
.pol-nav a{display:block; padding:10px 14px; border-radius:10px; font-weight:700; font-size:15px; color:var(--muted); transition:background .15s, color .15s}
.pol-nav a:hover{background:var(--ink-3); color:var(--paper)}
.pol-nav a[aria-current="true"]{background:var(--juice); color:var(--ink)}
.pol-body{max-width:68ch}
.pol-sec{scroll-margin-top:100px}
.pol-sec + .pol-sec{margin-top:clamp(48px, 6vw, 72px); padding-top:clamp(40px, 5vw, 56px); border-top:1px solid var(--line)}
.pol-sec h2{font-family:var(--font-display); font-weight:400; font-size:clamp(38px, 4vw, 54px); line-height:.95; text-transform:uppercase}
.pol-sec h2 span{color:var(--juice)}
.pol-sec .pol-lede{font-size:clamp(17px, 1.4vw, 20px); font-weight:600; color:var(--cream); margin-top:10px}
.pol-sec h3{font-size:17px; font-weight:800; color:var(--paper); margin-top:1.6em}
.pol-sec p,.pol-sec li{color:rgba(255,247,238,.84); line-height:1.7}
.pol-sec p{margin-top:.9em}
.pol-sec ul{margin:.9em 0 0; padding-left:1.2em; display:flex; flex-direction:column; gap:.45em}
.pol-sec li::marker{color:var(--juice)}
.pol-sec a:not(.btn){color:var(--cream); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
.pol-sec b{color:var(--paper)}
.pol-note{margin-top:1.4em; padding:14px 16px; border-radius:12px; background:var(--ink-3); box-shadow:inset 0 0 0 1px var(--line-2); font-size:14px}
.pol-note p{margin:0; font-size:14px}
.pol-sec .btn{margin-top:1.4em}
@media (max-width:860px){
  .pol-layout{grid-template-columns:1fr}
  .pol-sec{scroll-margin-top:150px}
  .pol-nav{position:sticky; top:64px; z-index:5; flex-direction:row; overflow-x:auto; gap:6px; margin:0 calc(var(--gutter) * -1); padding:10px var(--gutter); background:var(--ink); border-bottom:1px solid var(--line); scrollbar-width:none}
  .pol-nav a{flex:none; padding:8px 12px; font-size:14px; background:var(--ink-3)}
}
