/* Gemeinsame Gestaltung für Impressum und Datenschutzerklärung.
   Schriften liegen lokal unter fonts/ — es werden keine Daten an Dritte übertragen. */

@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(fonts/inter-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Space Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/space-mono-400-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Space Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/space-mono-400-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Space Mono';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/space-mono-700-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Space Mono';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url(fonts/space-mono-700-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root{
  --paper:#f6f2e7;
  --paper-dark:#ece5d3;
  --ink:#241f19;
  --ink-soft:#5c5346;
  --line:#c9bfa8;
  --teal:#1b4b43;
  --gold:#c68f1f;
  --stamp:#a3312a;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:
    radial-gradient(circle at 15% 8%, rgba(198,143,31,0.06), transparent 40%),
    radial-gradient(circle at 85% 92%, rgba(27,75,67,0.07), transparent 45%),
    var(--paper-dark);
  font-family:'Inter', sans-serif;
  color:var(--ink);
  min-height:100vh;
  padding:32px 16px 80px;
}
.roll{
  max-width:760px;
  margin:0 auto;
  background:var(--paper);
  position:relative;
  box-shadow:0 18px 40px -20px rgba(36,31,25,0.45), 0 2px 0 rgba(36,31,25,0.05);
  border-radius:3px;
}
.roll::before, .roll::after{
  content:"";
  position:absolute;
  left:0; right:0;
  height:14px;
  background-image: radial-gradient(circle, var(--paper-dark) 6px, transparent 7px);
  background-size:22px 22px;
  background-position:2px center;
}
.roll::before{ top:-7px; }
.roll::after{ bottom:-7px; }

header{
  padding:40px 44px 22px;
  border-bottom:2px dashed var(--line);
}
.eyebrow{
  font-family:'Space Mono', monospace;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--stamp);
  font-weight:700;
  display:flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{ content:"●"; font-size:8px; }
h1{
  font-weight:800;
  font-size:clamp(24px, 4vw, 31px);
  letter-spacing:-0.01em;
  margin:8px 0 0;
}

main{ padding:10px 44px 34px; }

section{ padding:20px 0; border-bottom:1px dashed var(--line); }
section:last-of-type{ border-bottom:none; }

h2{
  font-size:16px;
  font-weight:700;
  margin:0 0 10px;
}
h3{
  font-size:13.5px;
  font-weight:700;
  margin:18px 0 6px;
  color:var(--ink-soft);
}
p, li{
  font-size:14px;
  line-height:1.68;
  color:var(--ink);
  margin:0 0 11px;
}
ul{ margin:0 0 11px; padding-left:20px; }
li{ margin-bottom:5px; }
address{ font-style:normal; line-height:1.7; font-size:14px; }
a{ color:var(--teal); }

.lead{
  color:var(--ink-soft);
  font-size:14.5px;
  line-height:1.65;
}

/* Vom Projektinhaber auszufüllende Stellen — vor dem Livegang ersetzen und
   diese Auszeichnung entfernen. */
.todo{
  display:inline-block;
  background:#fff2cc;
  border:1px dashed var(--gold);
  border-radius:3px;
  padding:1px 7px;
  font-family:'Space Mono', monospace;
  font-size:12.5px;
  color:#7a5a08;
}
.notice{
  background:#fff6d9;
  border:1px solid var(--gold);
  border-left-width:3px;
  border-radius:4px;
  padding:15px 18px;
  margin:0 0 22px;
  font-size:13.5px;
  line-height:1.6;
}
.notice strong{ display:block; margin-bottom:4px; }

.updated{
  font-family:'Space Mono', monospace;
  font-size:12px;
  color:var(--ink-soft);
  margin-top:6px;
}

footer{
  text-align:center;
  font-family:'Space Mono', monospace;
  font-size:11px;
  color:var(--ink-soft);
  padding:20px 20px 30px;
}
footer nav{ margin-top:12px; }
footer nav a{
  color:var(--teal);
  text-decoration:none;
  border-bottom:1px solid rgba(27,75,67,0.35);
  padding-bottom:1px;
}
footer nav a:hover, footer nav a:focus{ border-bottom-color:var(--teal); }
footer nav .sep{ margin:0 10px; opacity:.5; }

@media (max-width:600px){
  header, main{ padding-left:22px; padding-right:22px; }
}

@media print{
  @page{ margin:14mm 12mm; }
  body{ background:#fff; color:#000; padding:0; font-size:10.5pt; }
  .roll{ max-width:none; background:#fff; box-shadow:none; border-radius:0; }
  .roll::before, .roll::after{ display:none; }
  header{ padding:0 0 12px; border-bottom:1.5pt solid #000; }
  main{ padding:0; }
  h1{ font-size:18pt; }
  section{ break-inside:avoid; page-break-inside:avoid; }
  a{ color:#000; }
  footer{ padding:10px 0 0; border-top:.5pt solid #999; }
  footer nav a{ color:#000; border-bottom:none; }
}
