/* Shared styling for the legal pages (Impressum, Datenschutz).
   Same design tokens as index.html, but these pages are deliberately static —
   no 3D, no GSAP: a legal notice must stay readable if anything fails. */
:root{
  --green:#25402d;
  --green-deep:#1c3122;
  --green-line:#3a5743;
  --orange:#cd622c;
  --orange-bright:#e0733a;
  --beige:#efe7d8;
  --cream:#f6f1e7;
  --ink:#25402d;
  --maxw:1220px;
  --r:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Inter",system-ui,sans-serif;background:var(--beige);color:var(--ink);
  line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--orange);color:#fff}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(22px,5vw,48px)}

.noise{position:fixed;inset:0;z-index:2000;pointer-events:none;opacity:.045;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== header ===== */
header{position:sticky;top:0;z-index:100;padding:14px 0;background:rgba(239,231,216,.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 30px -22px rgba(28,46,34,.6)}
.navbar{max-width:var(--maxw);margin:0 auto;padding:0 clamp(22px,5vw,48px);
  display:flex;align-items:center;justify-content:space-between;gap:22px}
.wordmark{display:flex;align-items:baseline;gap:9px;font-family:"Archivo",sans-serif;text-transform:uppercase;line-height:1}
.wordmark .mks{font-weight:900;font-size:23px;letter-spacing:.02em;color:var(--green)}
.wordmark .sub{font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--green)}
.wordmark .gmbh{font-weight:800;font-size:12px;letter-spacing:.14em;color:var(--orange)}
.back{display:inline-flex;align-items:center;gap:10px;font-family:"Archivo",sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;font-size:13px;background:var(--orange);color:#fff;
  padding:12px 22px;border-radius:var(--r);transition:background .25s}
.back:hover{background:var(--orange-bright)}
.back svg{width:15px;height:15px;transition:transform .3s}
.back:hover svg{transform:translateX(-4px)}

/* ===== page head ===== */
.kicker{display:inline-flex;align-items:center;gap:13px;font-family:"Archivo",sans-serif;
  font-weight:800;text-transform:uppercase;letter-spacing:.22em;font-size:13px;color:var(--green)}
.ticks{display:inline-block;width:28px;height:17px;flex:0 0 auto;
  background:repeating-linear-gradient(90deg,var(--orange) 0 4px,transparent 4px 8px)}
.page-head{padding:clamp(56px,9vh,110px) 0 clamp(30px,5vh,56px)}
.page-head h1{font-family:"Anton",sans-serif;text-transform:uppercase;font-weight:400;letter-spacing:.01em;
  line-height:.94;font-size:clamp(48px,9vw,110px);margin-top:20px;text-wrap:balance}
.page-head h1 .o{color:var(--orange)}
.page-head .lede{margin-top:22px;max-width:56ch;font-size:clamp(15px,1.6vw,17px);color:#4a5f50}

/* ===== legal blocks ===== */
main{padding-bottom:clamp(60px,10vh,120px)}
.block{background:var(--cream);border:1px solid rgba(37,64,45,.12);border-radius:14px;
  padding:clamp(24px,3.2vw,38px);margin-bottom:18px}
.block h2{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.14em;
  font-size:12px;color:var(--orange);margin-bottom:18px}
.block h3{font-family:"Archivo",sans-serif;font-weight:800;font-size:17px;letter-spacing:.01em;
  margin:26px 0 10px}
.block h3:first-of-type{margin-top:0}
.block p{margin-bottom:14px}
.block p:last-child{margin-bottom:0}
.block a{color:var(--orange);font-weight:600;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(205,98,44,.4);transition:text-decoration-color .25s}
.block a:hover{text-decoration-color:var(--orange)}
.block ul{margin:0 0 14px;padding-left:22px}
.block li{margin-bottom:7px}
.block li::marker{color:var(--orange)}
.lead-name{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(19px,2.4vw,24px);
  letter-spacing:.01em;line-height:1.3;margin-bottom:14px}

/* label / value rows */
.rows{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:12px 28px;align-items:baseline}
.rows dt{font-family:"Archivo",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  font-size:11px;color:#6c8071;padding-top:4px}
.rows dd{font-size:clamp(15px,1.7vw,17px)}
.rows dd .sub{display:block;font-size:14px;color:#6c8071;margin-top:2px}

.fine{font-size:14px;color:#4a5f50}
.stand{margin-top:26px;font-family:"Archivo",sans-serif;font-size:12.5px;letter-spacing:.06em;
  text-transform:uppercase;color:#6c8071}

/* ===== footer ===== */
footer{background:var(--green-deep);color:#9fb0a2;padding:64px 0 34px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;padding-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.1)}
.foot-tags{display:flex;flex-wrap:wrap;gap:6px 4px;margin-top:26px;font-family:"Archivo",sans-serif;
  font-weight:600;font-size:13px;color:#9fb0a2}
.foot-tags .dot{color:var(--orange);font-weight:800;margin:0 9px}
.foot-contact a{display:block;margin-bottom:8px;font-size:14px}
.foot-contact a:hover,.foot-tags a:hover{color:#fff}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;
  font-size:12.5px;color:#7e8f81;font-family:"Archivo",sans-serif}

@media(max-width:640px){
  .rows{grid-template-columns:1fr;gap:4px 0}
  .rows dt{padding-top:12px}
  .wordmark .sub{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.noise{display:none}}
