/* ========================================================================== Purinto GmbH — Stylesheet Aufbau: Reset · Layout · Typografie · Komponenten · Seiten · Utilities Konvention: eine Klasse pro Komponente, Abstände gehören dem Container. ========================================================================== */ /* -------------------------------------------------------------------------- 1 · Reset und Basis -------------------------------------------------------------------------- */ *, *::before, *::after { box-sizing: border-box; } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 6rem; } body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--f-text); font-size: var(--t-md); line-height: var(--lh-normal); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; /* Sicherheitsnetz gegen lange Fachbegriffe und E-Mail-Adressen auf schmalen Displays. */ overflow-wrap: break-word; } h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; } ul, ol { padding: 0; list-style: none; } img, svg { display: block; max-width: 100%; height: auto; } a { color: var(--flieder-700); text-decoration-thickness: 1px; text-underline-offset: 0.18em; } a:hover { color: var(--flieder-900); } button, input, select, textarea { font: inherit; color: inherit; } :focus-visible { outline: 2px solid var(--fokus); outline-offset: 3px; border-radius: var(--r-1); } .sprungmarke { position: absolute; left: var(--s-4); top: var(--s-4); z-index: 200; padding: var(--s-3) var(--s-5); background: var(--anthrazit-900); color: var(--text-invers); border-radius: var(--r-2); text-decoration: none; transform: translateY(-160%); transition: transform var(--dauer) var(--kurve); } .sprungmarke:focus { transform: translateY(0); color: var(--text-invers); } /* -------------------------------------------------------------------------- 2 · Layout -------------------------------------------------------------------------- */ .huelle { width: 100%; max-width: var(--breite); margin-inline: auto; padding-inline: var(--rand); } .huelle--eng { max-width: calc(var(--breite-eng) + var(--rand) * 2); } .sektion { padding-block: var(--sektion-y); } .sektion--knapp { padding-block: calc(var(--sektion-y) * 0.6); } .sektion--dunkel { background: var(--bg-dunkel); color: var(--text-invers); } .sektion--salbei { background: var(--bg-salbei); } .sektion--linie { border-top: 1px solid var(--linie); } .sektion__kopf { max-width: 62ch; margin-bottom: var(--s-7); } .sektion__kopf--breit { max-width: 78ch; } .raster { display: grid; gap: var(--s-5); } @media (min-width: 640px) { .raster--2 { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 900px) { .raster--3 { grid-template-columns: repeat(3, 1fr); } .raster--4 { grid-template-columns: repeat(4, 1fr); } } @media (min-width: 640px) and (max-width: 899px) { .raster--3, .raster--4 { grid-template-columns: repeat(2, 1fr); } } /* Grid-Kinder haben implizit min-width:auto und schrumpfen nicht unter ihre min-content-Breite. Lange deutsche Komposita ("Konstruktionsbegleitung") und