.pp-hero{ padding-bottom:110px; }
.pp-hero__h1{ font-size:clamp(44px, 5vw, 96px); }
.pp-dates{ display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; }
.pp-dates li{
  display:inline-flex; align-items:center; gap:8px; height:35px; padding:0 14px; border-radius:var(--r-pill);
  background:rgba(255, 255, 255, 0.06); border:1px solid rgba(255, 255, 255, 0.14);
  font-size:13px; color:rgba(187, 205, 218, 0.7);
}
.pp-dates time{ font-size:13px; color:var(--signal); }
.pp-main{ padding:100px 0 150px; }
.pp-main__grid{ display:grid; grid-template-columns:1fr 3fr; align-items:start; }
.pp-toc{ position:sticky; top:110px; width:min(280px, 100%); }
.pp-toc__label{ display:block; margin-bottom:14px; font-size:13px; font-weight:500; line-height:17px; color:var(--muted); }
.pp-toc__track{ position:relative; }
.pp-toc__list{ border-left:1px solid #d3dce3; }
.pp-toc__bar{ position:absolute; left:-0.5px; top:0; width:2px; height:42px; border-radius:2px; background:var(--signal); transition:transform 450ms var(--ease-out), height 450ms var(--ease-out); z-index:1; }
.pp-toc__item{
  display:flex; align-items:center; min-height:42px; padding:11px 0 11px 16px;
  font-size:15px; line-height:20px; color:var(--muted);
  transition:color var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.pp-toc__item:hover{ color:var(--ink); transform:translateX(2px); }
.pp-toc__item.is-active{ color:var(--ink); font-weight:600; padding-left:19px; }
html:not(.js) .pp-toc__item.is-active{ box-shadow:inset 2px 0 0 var(--signal); }

.pp-text{ max-width:860px; min-width:0; }
.pp-sec{ padding:36px 0; border-top:1px solid #d3dce3; scroll-margin-top:100px; }
.pp-sec--intro{ border-top:0; padding-top:0; }
.pp-sec > * + *{ margin-top:14px; }
.pp-sec h2{ font-size:clamp(24px, 1.5625vw, 30px); font-weight:600; line-height:1.3; letter-spacing:-0.01em; }
.pp-sec h3{ font-size:20px; font-weight:600; line-height:1.3; margin-top:24px; }
.pp-sec p, .pp-sec li{ font-size:18px; line-height:1.65; color:var(--muted); }
.pp-sec ul, .pp-sec ol{ padding-left:1.2em; list-style:disc; }
.pp-sec a{ color:var(--signal-text); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.pp-sec strong{ color:var(--ink); font-weight:600; }
.pp-req{ margin:14px 0 0; border:1px solid #d3dce3; border-radius:18px; overflow:hidden; }
.pp-req__row{ display:grid; grid-template-columns:220px 1fr; gap:16px; align-items:center; min-height:50px; padding:15px 22px; }
.pp-req__row:nth-child(odd){ background:rgba(231, 236, 240, 0.6); }
.pp-req dt{ font-size:15px; line-height:20px; color:var(--muted); }
.pp-req dd{ margin:0; font-size:15px; font-weight:500; line-height:20px; color:var(--ink); }
.pp-sec .pp-req a{ color:var(--ink); text-decoration:none; }
.pp-sec .pp-req a:hover{ color:var(--signal-text); }
.pp-sec table, .pp-cookies{ width:100%; border-collapse:separate; border-spacing:0; border:1px solid #d3dce3; border-radius:18px; overflow:hidden; font-size:15px; line-height:20px; }
.pp-sec th{ padding:16px 20px; background:var(--paper); text-align:left; font-weight:500; color:var(--ink); }
.pp-sec td{ padding:16px 20px; border-top:1px solid #d3dce3; color:var(--muted); vertical-align:top; }
.pp-sec th:nth-child(1), .pp-sec td:nth-child(1){ width:200px; }
.pp-sec th:nth-child(3), .pp-sec td:nth-child(3){ width:130px; }
.pp-sec th:nth-child(4), .pp-sec td:nth-child(4){ width:140px; }
.pp-sec code{ font-family:var(--mono); font-size:15px; color:var(--ink); background:none; padding:0; }
.pp-sec tbody tr{ transition:background-color var(--dur-fast); }
.pp-sec tbody tr:hover{ background:rgba(231, 236, 240, 0.45); }
.pp-cookie-btn{ margin-top:20px !important; }
.pp-cookie-btn .btn__icon svg{ width:18px; height:18px; }
@media (hover: hover) and (pointer: fine){
  .pp-cookie-btn .btn:hover .btn__icon svg:first-child{ transform:rotate(-25deg) scale(1.1); }
  .pp-cookie-btn .btn:hover .btn__icon svg + svg{ transform:translate(-150%, 150%); }
}
.pp-note{ padding:24px 28px; border-radius:18px; background:var(--paper); }
.pp-note__title{ font-size:18px; font-weight:600; line-height:23px; color:var(--ink); }
.pp-note p + p{ margin-top:6px; font-size:16px; line-height:1.35; color:var(--muted); }
.pp-note a{ color:var(--signal-text); }
.pp-note a:hover{ text-decoration:underline; }
@media (max-width: 1280px){
  .pp-main__grid{ grid-template-columns:240px 1fr; gap:56px; }
}
@media (max-width: 1024px){
  .pp-hero{ padding-bottom:50px; }
  .pp-hero__h1 .c-signal{ display:block; }
  .pp-dates{ flex-direction:column; align-items:flex-start; margin-top:18px; }
  .pp-dates li{ height:36px; font-size:14px; }
  .pp-main{ padding:45px 0 68px; }
  .pp-main__grid{ grid-template-columns:1fr; gap:24px; }
  .pp-toc{ position:static; width:100%; }
  .pp-toc__label{ margin-bottom:14px; }
  .pp-sec{ padding:36px 0; }
  .pp-sec h2{ font-size:24px; }
  .pp-sec p, .pp-sec li{ font-size:17px; line-height:1.75; }
  .pp-req__row{ grid-template-columns:1fr; gap:16px; padding:16px 22px; }
  .pp-req dd{ font-size:15px; }
  .pp-sec table, .pp-sec thead, .pp-sec tbody, .pp-sec tr, .pp-sec th, .pp-sec td{ display:block; width:auto !important; }
  .pp-sec thead tr{ padding:12px 0; background:var(--paper); }
  .pp-sec th{ padding:6px 20px; background:none; }
  .pp-sec tbody tr{ padding:12px 0; border-top:1px solid #d3dce3; }
  .pp-sec td{ padding:6px 20px; border-top:0; font-size:14px; }
  .pp-sec td:first-child code{ font-size:15px; }
  .pp-note{ padding:24px 28px; }
}
