/* =============================================================================
   impressum.css — what is OURS on site/impressum.html.

   WHAT THIS PAGE DOES NOT NEED is worth stating first, because it is almost
   everything: legal.css states the black paper and white ink, the dark colour
   scheme, the headings in Funnel Display, the page's own air at both ends, the
   gap between two paragraphs and the two document bits this page spends (the back
   link and the address block), and case-study.css states the ~800px column, the
   Inter-set prose and the rhythm between blocks. This page takes all of it and
   adds no shape of its own — an Impressum is five headings under one title, two
   address blocks, two emails and five paragraphs, and every one of those is a
   shape the two shared frames already have.

   So this file is short, and the one declaration left in it is not a type ramp.
   ============================================================================= */

/* --- The title holds ONE size in both language settings ----------------------
   case-study.css keys its German floor on the ROOT element's language
   (`html:lang(de) .cs-intro__title`: 1.75rem against the frame's 2rem), because
   a German compound is longer than the English it replaces. That reason does not
   apply here — "IMPRESSUM" is nine characters and fits either floor — but the
   rule still MATCHES here: <html lang="de"> on this page says German, and the
   EN/DE toggle moves exactly that attribute with the chrome.

   Left alone it would make this page's title change size with the language
   toggle — 28px in German against 32px in English on a phone, and the same pair
   of sizes swapped at every width below the 5vw handover — for a language this
   document does not follow. It is the same defect datenschutz.css states its own
   ramp to avoid, in the same place: the toggle moves the root element, the
   document's own lang does not move with it, and the frame's rule is keyed on the
   thing that moved.

   STATING IT AGAINST THE TITLE IS WHAT HOLDS IT IN BOTH SETTINGS, and the number
   is chosen so the two legal pages run the SAME ramp at every width: the privacy
   statement's nineteen-character title needed a 1.5rem floor, and a nine-
   character title is happy at that floor too, so both pages stand at 24px on a
   320px phone and both are on the frame's own 5vw term above 480px, where 5vw
   passes the floor. Measured in headless Chrome: "IMPRESSUM" sets 146.25px wide at
   a 320px viewport — 24px type inside the 272px column, one line — and 316.86px at
   the 3.25rem ceiling of a 1440px one, and it is those two sizes in the German
   setting AND in the English one, which is the whole point. Two pages of one
   document type should look like one document type.

   TWO SELECTORS, because the rule being argued with is the frame's (0,2,1) — one
   element, one pseudo-class, two classes — while a page-local
   `.legal .cs-intro__title` is (0,2,0), and a tie is decided by source order
   where a loss is decided not at all. `html[lang="de"] .legal .cs-intro__title`
   is (0,3,1) and wins the German setting outright; the plain form carries the
   English setting, where the frame's German rule does not match and it is the
   frame's own 2rem floor (0,1,0) that has to be beaten. The same shape
   datenschutz.css reaches for, for the same reason.

   No `hyphens` or `overflow-wrap` come with it: those are the long word's safety
   net on the other page, and a nine-character title has nothing to break. */
html[lang="de"] .legal .cs-intro__title,
.legal .cs-intro__title {
  font-size: clamp(1.5rem, 5vw, 3.25rem);
}
