/* Brand pages (v824, Tim: "a styling sweep to make it high end but not
   tacky"). The public pages built before the 2026 design system used the
   device's system font and some browser-default controls: the Privacy
   Promise, the privacy notice, the data request form, page not found and the
   expired-link pages. This brings their type and controls into line with the
   rest of the site (Albert Sans for text, Familjen Grotesk for headings, teal
   links, calm form controls) without changing their layout or wording.
   Loaded only by those pages, after their own styles. */

body, button, input, select, textarea { font-family: "Albert Sans", -apple-system, "Segoe UI", sans-serif; }
h1, h2, h3 { font-family: "Familjen Grotesk", "Albert Sans", -apple-system, "Segoe UI", sans-serif; letter-spacing: -0.02em; }
h1 { font-weight: 700; }
code, kbd, .mono { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
p, li { text-wrap: pretty; }
h1, h2 { text-wrap: balance; }
a:not(.btn):not(.btn-dl):not(.home) { color: #2380A4; text-underline-offset: 2px; text-decoration-thickness: 1px; }
a:not(.btn):not(.btn-dl):not(.home):hover { color: #1b6a8a; }
/* A wordmark keeps its proportions next to the mark (it sat centred in a
   446px box on the Privacy Promise). */
img.word, img.gtl-wm { width: auto; }

/* ---- Privacy Promise: section headings as the site's kicker ------------- */
.sec h2 { display: flex; align-items: center; gap: 10px; font-family: "Albert Sans", -apple-system, "Segoe UI", sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #2380A4; margin: 0 0 8px; }
.sec h2::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: #D85A30; flex: none; }
.card h1 { font-size: clamp(26px, 3.4vw, 34px); letter-spacing: -0.025em; line-height: 1.1; }
.promise .big { font-family: "Familjen Grotesk", "Albert Sans", sans-serif; letter-spacing: -0.015em; }
.card { box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 24px 48px -36px rgba(10,58,82,.45); }

/* ---- Data request: calm form controls ------------------------------------ */
fieldset { border: 1px solid #e3eaef; border-radius: 14px; padding: 6px 6px 8px; margin: 0; background: #fff; min-width: 0; }
fieldset legend { padding: 0 8px; margin-left: 6px; font-size: 14px; font-weight: 600; color: #0A3A52; }
fieldset label, fieldset label.checkbox { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; margin: 0; border-radius: 10px; cursor: pointer; font-size: 14px; line-height: 1.45; color: #0A3A52; }
fieldset label input[type=radio], fieldset label input[type=checkbox] { margin-top: 2px; }
fieldset label:hover { background: #f4f8fa; }
fieldset label:has(input:checked) { background: #eef6f9; }
input[type=radio], input[type=checkbox] { accent-color: #2380A4; width: 16px; height: 16px; margin: 0; flex: none; }
select { appearance: none; -webkit-appearance: none; padding-right: 36px !important; border-radius: 10px !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f7684' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 16px 16px !important; }
input[type=text], input[type=email], input[type=password], textarea, select { border-radius: 10px; }
input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid #2380A4; outline-offset: 2px; }

/* ---- Privacy notice: the contents box heading as the site's kicker -------- */
.toc h3 { display: flex; align-items: center; gap: 10px; font-family: "Albert Sans", -apple-system, "Segoe UI", sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #2380A4; margin: 0 0 10px; }
.toc h3::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: #D85A30; flex: none; }
.content h2 { letter-spacing: -0.02em; }
.content h3 { letter-spacing: -0.01em; }
