/* ============================================================
   legal.css: the privacy notice (privacy.html), the terms of use
   (terms.html, the same sheet) and the not-found page (404.html).
   Shell, words and footer come from room.css and quiet.css.
   Colours are tokens from site.css only, so the night theme needs
   no remapping here.
   ============================================================ */

/* ---------- privacy and terms: one plain sheet on the wall (no pins) ----------
   The one page where reading comfort beats decoration: a single centred
   column, a comfortable size, real headings and real lists. */
.legalwall .q-lede{max-width:44ch}
.sheetrow{display:flex;justify-content:center;padding:clamp(20px,3vw,36px) var(--gut) clamp(52px,6vw,76px)}
.sheet{position:relative;width:min(100%,720px);background:var(--panel);color:var(--ink);
  border:2px solid var(--panel-line);border-radius:24px;padding:46px 52px 42px}

.sheet p,.sheet li{font-family:var(--read-ar);font-size:1.1875rem;line-height:1.9;color:var(--copy)}
.sheet p{margin:0 0 14px}
.sheet ul{margin:0 0 14px;padding-inline-start:26px}
.sheet li{margin:0 0 4px;padding-inline-start:4px}
.sheet li::marker{color:var(--magenta)}
:lang(en) .sheet p,:lang(en) .sheet li{font-family:var(--read-en);font-weight:500;font-size:1.1875rem;line-height:1.65}   /* Crimson Pro 500 below 22px (font rules) */
:lang(en) .sheet li{margin-bottom:6px}

.sheet h2{margin:40px 0 10px;font-family:var(--d-ar);font-weight:400;font-size:1.75rem;line-height:1.5;color:var(--magenta-text);
  scroll-margin-top:96px}
:lang(en) .sheet h2{font-family:var(--d-en);font-style:italic;font-feature-settings:normal;font-size:1.9375rem;line-height:1.3;padding-bottom:.08em}
.sheet h3{margin:22px 0 4px;font-family:var(--read-ar);font-weight:700;font-size:1.25rem;line-height:1.7;color:var(--copy)}
:lang(en) .sheet h3{font-family:var(--read-en);font-weight:500;font-style:italic;font-size:1.3125rem;line-height:1.5}

.sheet a{color:var(--magenta-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
  border-radius:4px;touch-action:manipulation}
.sheet a:focus-visible{outline:2px solid var(--magenta-text);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.sheet a:hover{text-decoration-thickness:2px}}
.sheet a:active{opacity:.75}

/* the date, then the short version, set off by two stitched rules */
.sheet .updated{margin:0 0 18px;font-family:var(--sm);font-size:1rem;line-height:1.6}
:lang(en) .sheet .updated{font-family:var(--sm);font-size:1rem;line-height:1.6}
.sheet .summary{padding:20px 0 10px;border-block:1.5px solid var(--panel-line)}
.sheet .summary h2{margin-top:0}

/* the one place the contact address lives */
.sheet .contact{margin:0 0 14px;scroll-margin-top:110px}
.sheet .privacy-mail{display:inline-block;padding:8px 2px;font-family:var(--sm);font-size:1.0625rem;line-height:28px}
.sheet .contact:target{outline:2px solid var(--tab-square-edge);outline-offset:8px;border-radius:6px}
/* a number nav.js fills in (the WhatsApp line on the terms page): the same
   44px-tall target as the privacy address */
.sheet [data-contact-link]{display:inline-block;padding:8px 2px;font-family:var(--sm);font-size:1.0625rem;line-height:28px}

@media (max-width:760px){
  .sheet{padding:32px 20px 26px;border-radius:20px}
  .sheet h2{font-size:1.625rem;margin-top:34px}
  :lang(en) .sheet h2{font-size:1.75rem}
  .sheet p,.sheet li{font-size:1.125rem}
  :lang(en) .sheet p,:lang(en) .sheet li{font-size:1.125rem}
  .sheet ul{padding-inline-start:22px}
  .sheet h2{scroll-margin-top:80px}
}

/* ---------- 404: a short page; the floor with the two bags always reaches the bottom of the screen ---------- */
.site.lostsite{display:flex;flex-direction:column;min-height:100svh}
.lostsite .gnav,.lostsite .gfoot{flex:none}
.lostwall{flex:1 0 auto;display:flex;flex-direction:column}
.lostwall .q-words{padding-bottom:clamp(40px,6vw,72px)}
.lostwall .q-floorrow{margin-top:auto}
