/* =============================================================================
   hyyryn-policy-card.css                                      21 Oct 2026 (rp185)
   The policy pages on the site's card grammar: Complaints (the footer pass's
   ninth page), and with it the Reviews policy and Cookies, which share
   hyyryn-policy.css. Help and contact had the same reading-room build and took
   the same changes in rp184 (hyyryn-help-card.css); this is that, for the
   policy family.

   Sir, 21 Oct 2026: improve each footer page, push it live, then the next.
   Measured (the walk at 390 and 1440): every surface square; the desk, the
   note and the current row marked by a bar down one side (and Complaints' "this
   page" door by a navy bar); on a phone a page 8,500px long whose contents sat
   once at the top, shut. Now:
     - the glance, the desk, the contents and the sheet 22px (18 on a phone);
       the letter, the urgent card and the note 14 to 16px; buttons pills;
       the sheet keeps its ruled margin, the head its deed's double rule;
     - a state a tint, a ring and a corner, never a bar down a side;
     - on a phone and a tablet the contents is a bar that stays under the
       masthead and says the part being read; the list opens over the page;
       choosing a part lands it under the bar. The scroll padding is the
       masthead's alone (a focus inside the padding counts as hidden: the bar
       inside it made the page jump when pressed, rp184).
   ============================================================================= */
.pc { --pk-r: 22px; }
@media (max-width: 600px) { .pc { --pk-r: 18px; } }

/* ── the panes and the sheet ── */
.pc .pc-glance, .pc .pc-desk, .pc .pc-toc, .pc .pc-sheet { border-radius: var(--pk-r); }
.pc .pc-sheet { overflow: clip; }
.pc .pc-desk::after { display: none; }
.pc .pc-desk { box-shadow: var(--pc-pane), inset 0 0 0 1px rgba(212,169,67,.38); }
.pc .pc-now { border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(212,169,67,.55); }
.pc .pc-letter { border-radius: 16px; overflow: hidden; }
.pc .pc-letter::before { display: none; }   /* the double rule along its top went with the square corner it ruled */
.pc .pc-note { border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(212,169,67,.4); }
.pc .pc-btn { border-radius: 999px; }
.pc .pc-btn.is-solid { overflow: hidden; }

/* ── the current row and "this page": a tint, a ring and a corner, never a bar down a side ── */
.pc .pc-toc a:is(:hover, [aria-current="true"]) { border-radius: 10px; }
.pc .pc-toc a[aria-current="true"] { box-shadow: inset 0 0 0 1px rgba(212,169,67,.45); }
.pc .pc-door.is-here { border-radius: 16px; box-shadow: inset 0 0 0 1.5px rgba(10,22,40,.5); }

/* ── a phone and a tablet: the contents, a bar that stays and says where you are ── */
.pc-toc-now { display: none; }
@media (max-width: 768px) { :root { --bar: 64px; } }
@media (max-width: 1000px) {
  .pc .pc-toc { position: sticky; top: var(--bar, 64px); z-index: 40; height: 48px; margin-bottom: 20px; padding: 0;
    background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; border-radius: 0; }
  .pc .pc-toc details { position: absolute; left: 0; right: 0; top: 0; padding: 0 16px; border-radius: 16px;
    background: rgba(255,253,248,.96); -webkit-backdrop-filter: blur(12px) saturate(1.4); backdrop-filter: blur(12px) saturate(1.4); box-shadow: var(--pc-pane); }
  .pc .pc-toc details[open] { max-height: calc(100vh - var(--bar, 64px) - 24px); max-height: calc(100dvh - var(--bar, 64px) - 24px); overflow-y: auto; overscroll-behavior: contain;
    padding-bottom: 12px; box-shadow: var(--pc-pane), 0 30px 60px -20px rgba(10,22,40,.45); }
  .pc .pc-toc details > summary { min-height: 48px; padding: 0; align-items: center; }
  .pc .pc-toc details[open] > summary { border-bottom: 1px solid var(--line-2); }
  .pc-toc-now:not(:empty) { display: inline; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-family: var(--pc-serif, serif); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--navy); }
  .pc-toc-now:not(:empty)::before { content: '\00B7' / ''; margin: 0 8px 0 2px; color: var(--pc-gold-ink, #5B4318); }
  .pc .pc-toc details[open] .pc-toc-now { display: none; }
  html.pc-page { scroll-padding-top: var(--bar, 64px); }
  .pc .pc-sec { scroll-margin-top: 64px; }
}
@media (forced-colors: active) { .pc .pc-door.is-here { border: 2px solid CanvasText; } }
