/* Textseiten (Impressum, Datenschutz, Danke) – Tokens wie index.html */
@font-face { font-family: "VYTA Sans"; font-weight: 400; font-display: swap;
  src: local("Avenir Next Regular"), local("AvenirNext-Regular"), url("../fonts/AvenirNext-Regular.woff2") format("woff2"); }
@font-face { font-family: "VYTA Sans"; font-weight: 500; font-display: swap;
  src: local("Avenir Next Medium"), local("AvenirNext-Medium"), url("../fonts/AvenirNext-Medium.woff2") format("woff2"); }
@font-face { font-family: "VYTA Sans"; font-weight: 600; font-display: swap;
  src: local("Avenir Next Demi Bold"), local("AvenirNext-DemiBold"), url("../fonts/AvenirNext-DemiBold.woff2") format("woff2"); }
@font-face { font-family: "VYTA Serif"; font-weight: 400; font-display: swap;
  src: local("Athelas Regular"), local("Athelas-Regular"), url("../fonts/Athelas-Regular.woff2") format("woff2"); }

:root {
  --ink: #111311; --bone: #F4F0E8; --stone: #D7D0C4; --champagne: #C8A977;
  --on-light-2: rgba(17, 19, 17, .68); --on-dark-2: rgba(244, 240, 232, .7); --on-dark-3: rgba(244, 240, 232, .5);
  --hair-light: rgba(17, 19, 17, .14); --hair-dark: rgba(244, 240, 232, .16);
  --sans: "VYTA Sans", "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "VYTA Serif", Athelas, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --gutter: clamp(16px, 4.4vw, 72px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bone); color: var(--ink); font-family: var(--sans); font-size: 1.0625rem; line-height: 1.6;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--champagne); outline-offset: 4px; }
::selection { background: var(--champagne); color: var(--ink); }
.wrap { width: min(100% - 2 * var(--gutter), 1440px); margin-inline: auto; }

.top { border-bottom: 1px solid var(--hair-light); }
.top .wrap { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.top .brand { display: block; width: 120px; }
.top .brand svg { display: block; width: 100%; height: auto; }
.top a.back { font-size: .9375rem; text-decoration: none; }
.top a.back:hover { text-decoration: underline; }

.doc { padding-block: clamp(64px, 9vw, 128px) clamp(80px, 10vw, 160px); }
.doc__inner { max-width: 44rem; }
.doc h1 { font-weight: 400; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.02; letter-spacing: -.022em; margin: 0 0 clamp(40px, 5vw, 64px); }
.doc h2 { font-weight: 500; font-size: 1.1875rem; line-height: 1.3; margin: 48px 0 12px; padding-top: 24px; border-top: 1px solid var(--hair-light); }
.doc h3 { font-weight: 600; font-size: 1rem; margin: 28px 0 6px; }
.doc p, .doc ul { margin: 0 0 14px; color: var(--on-light-2); hyphens: auto; -webkit-hyphens: auto; text-wrap: pretty; }
.doc ul { padding-left: 1.1em; }
.doc li + li { margin-top: 4px; }
.doc address { font-style: normal; color: var(--ink); margin-bottom: 14px; }
.doc .stand { margin-top: 48px; font-size: .875rem; }

.foot { background: var(--ink); color: var(--on-dark-2); font-size: .875rem; }
.foot .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; padding-block: 28px 36px; }
.foot nav { display: flex; gap: 24px; }
.foot a { text-decoration: none; }
.foot a:hover { color: var(--bone); }
