/* Extracted from 08_01_impressum.html - style block 1 */
:root {
      --sand-50:  #fdfaf5;
      --sand-100: #f7f0e3;
      --sand-200: #ede0c8;
      --sand-300: #d9c5a0;
      --ink:      #1a1208;
      --ink-2:    #2e2010;
      --ink-3:    #4a3820;
      --amber:    #c96b10;
      --amber-2:  #e07a18;
      --amber-light: #fef3e2;
      --amber-mid:   #fad7a0;
      --blue:     #1c4ed8;
      --blue-light: #eff6ff;
      --teal:     #0d7a63;
      --teal-light: #d1fae5;
      --wa:       #22c55e;
      --wa-dark:  #16a34a;
      --muted:    #5c4d36;
      --muted-2:  #8c7a60;
      --border:   #e8dcc8;
      --border-2: #d4c4a8;
      --surface:  #ffffff;
      --page-bg:  #fdfaf5;
      --shadow-sm: 0 1px 4px rgba(26,18,8,.06);
      --shadow-md: 0 6px 24px rgba(26,18,8,.09);
      --shadow-lg: 0 16px 48px rgba(26,18,8,.12);
      --r-xs: 6px;
      --r-sm: 10px;
      --r-md: 16px;
      --r-lg: 22px;
      --r-xl: 30px;
      --max: 1140px;
      --font-d: var(--font-headings), system-ui, sans-serif;
      --font-b: var(--font-body), system-ui, sans-serif;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

    body {
      font-family: var(--font-b);
      background: var(--page-bg);
      color: var(--ink);
      line-height: 1.65;
      font-size: 16px;
      overflow-x: hidden;
    }

    h1,h2,h3,h4 { font-family: var(--font-d); line-height: 1.13; color: var(--ink); }
    p { color: var(--muted); }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    ul { list-style: none; }

    .container {
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
    }

    /* TOPBAR */
    .topbar {
      position: sticky; top: 0; z-index: 200;
      background: rgba(253,250,245,.92);
      backdrop-filter: blur(18px) saturate(1.3);
      -webkit-backdrop-filter: blur(18px) saturate(1.3);
      border-bottom: 1px solid rgba(232,220,200,.8);
      transition: box-shadow .3s;
    }
    .topbar.up { box-shadow: 0 4px 20px rgba(26,18,8,.08); }

    .nav {
      display: flex; align-items: center;
      justify-content: space-between; gap: 20px;
      min-height: 68px;
    }

    .logo {
      display: flex; align-items: center; gap: 12px;
      flex-shrink: 0;
    }
    .logo-mark {
      width: 38px; height: 38px;
      background: var(--ink);
      border-radius: 10px;
      display: grid; place-items: center;
    }
    .logo-mark svg { width: 20px; height: 20px; }
    .logo-name { font-family: var(--font-d); font-size: 17px; font-weight: 600; color: var(--ink); line-height: 1.1; }
    .logo-tag { font-size: 11px; color: var(--muted-2); margin-top: 1px; }

    .nav-mid {
      display: flex; gap: 2px;
      list-style: none;
    }
    .nav-mid a {
      font-size: 14px; font-weight: 500; color: var(--muted);
      padding: 6px 13px; border-radius: 99px;
      transition: color .18s, background .18s;
    }
    .nav-mid a:hover { color: var(--ink); background: var(--sand-100); }

    .nav-right { display: flex; align-items: center; gap: 8px; }

    .btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      font-family: var(--font-b); font-weight: 600; font-size: 15px;
      border: none; border-radius: 99px;
      padding: 13px 22px; cursor: pointer;
      text-decoration: none; white-space: nowrap;
      transition: transform .2s, box-shadow .2s, background .2s;
    }
    .btn:hover { transform: translateY(-1px); }
    .btn:active { transform: scale(.98); }

    .btn-primary {
      background: var(--amber);
      color: #fff;
      box-shadow: 0 4px 16px rgba(201,107,16,.3);
    }
    .btn-primary:hover { background: var(--amber-2); box-shadow: 0 8px 24px rgba(201,107,16,.38); }

    .btn-outline {
      background: transparent; color: var(--ink);
      border: 1.5px solid var(--border-2);
    }
    .btn-outline:hover { border-color: var(--ink); background: var(--sand-100); }

    .btn-sm { font-size: 13px; padding: 9px 17px; }

    /* PAGE HERO */
    .page-hero {
      padding: 64px 0 52px;
      position: relative; overflow: hidden;
      border-bottom: 1px solid var(--border);
    }
    .page-hero::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 50% at 80% 50%, rgba(201,107,16,.06) 0%, transparent 70%);
      pointer-events: none;
    }

    .breadcrumb {
      display: flex; align-items: center; gap: 8px;
      font-size: 13px; color: var(--muted-2);
      margin-bottom: 20px;
    }
    .breadcrumb a { color: var(--muted-2); transition: color .18s; }
    .breadcrumb a:hover { color: var(--amber); }
    .breadcrumb svg { width: 12px; height: 12px; opacity: .5; }

    .page-label {
      font-size: 11px; font-weight: 600; letter-spacing: .1em;
      text-transform: uppercase; color: var(--amber);
      font-family: var(--font-b);
      margin-bottom: 14px; display: block;
    }
    .page-h1 {
      font-size: clamp(36px, 4vw, 56px);
      font-weight: 500;
      letter-spacing: -.02em;
      margin-bottom: 14px;
    }
    .page-lead {
      font-size: 17px; color: var(--muted);
      max-width: 52ch; line-height: 1.72;
    }

    /* CONTENT LAYOUT */
    .content-wrap {
      padding: 64px 0 80px;
    }

    .content-layout {
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: 52px;
      align-items: start;
    }
    .content-layout > * { min-width: 0; }

    /* SECTIONS */
    .imp-section {
      margin-bottom: 48px;
      padding-bottom: 48px;
      border-bottom: 1px solid var(--border);
    }
    .imp-section:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }

    .imp-section-label {
      font-size: 11px; font-weight: 600; letter-spacing: .1em;
      text-transform: uppercase; color: var(--amber);
      font-family: var(--font-b);
      margin-bottom: 12px; display: block;
    }

    .imp-section h2 {
      font-size: 26px; font-weight: 500;
      margin-bottom: 18px;
      letter-spacing: -.01em;
    }

    .imp-section p {
      font-size: 15px; line-height: 1.78;
      color: var(--muted);
      margin-bottom: 12px;
    }
    .imp-section p:last-child { margin-bottom: 0; }

    .imp-section a {
      color: var(--amber);
      text-decoration: underline;
      text-decoration-color: rgba(201,107,16,.3);
      transition: text-decoration-color .18s;
    }
    .imp-section a:hover { text-decoration-color: var(--amber); }

    /* INFO CARD */
    .info-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      padding: 26px 28px;
      margin-bottom: 22px;
    }
    .info-card h3 {
      font-size: 16px; font-weight: 600;
      margin-bottom: 14px;
      font-family: var(--font-b);
    }

    .info-row {
      display: flex; align-items: flex-start; gap: 12px;
      margin-bottom: 12px;
      font-size: 14px;
    }
    .info-row:last-child { margin-bottom: 0; }

    .info-ico {
      width: 30px; height: 30px;
      background: var(--sand-100);
      border-radius: 8px;
      display: grid; place-items: center;
      flex-shrink: 0;
    }
    .info-ico svg { width: 14px; height: 14px; }

    .info-label { font-size: 11px; color: var(--muted-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; margin-bottom: 2px; }
    .info-val { color: var(--ink); font-weight: 500; }
    .info-val a { color: var(--amber); text-decoration: underline; text-decoration-color: rgba(201,107,16,.3); }
    .info-val a:hover { text-decoration-color: var(--amber); }

    /* SIDEBAR */
    .sidebar {}

    .sidebar-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      padding: 26px 28px;
      margin-bottom: 16px;
      position: sticky;
      top: 88px;
    }

    .sidebar-card h3 {
      font-family: var(--font-d);
      font-size: 20px; font-weight: 500;
      margin-bottom: 14px;
    }

    .sidebar-card p {
      font-size: 14px; line-height: 1.7;
      margin-bottom: 16px;
    }

    .sidebar-card .btn {
      width: 100%; justify-content: center;
      margin-bottom: 10px;
    }
    .sidebar-card .btn:last-of-type { margin-bottom: 0; }

    .sidebar-badge {
      display: inline-flex; align-items: center; gap: 6px;
      background: var(--amber-light);
      border: 1px solid var(--amber-mid);
      color: var(--amber);
      border-radius: 99px;
      padding: 4px 12px; font-size: 12px; font-weight: 600;
      margin-bottom: 14px;
    }

    /* RESPONSIBLE TABLE */
    .resp-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 14px;
      margin-top: 12px;
    }
    .resp-table td {
      padding: 10px 14px;
      border: 1px solid var(--border);
      vertical-align: top;
    }
    .resp-table tr:first-child td { background: var(--sand-100); font-weight: 600; color: var(--ink); }
    .resp-table td:first-child { width: 40%; color: var(--muted); }

    /* FOOTER */
    footer {
      background: var(--ink-2);
      padding: 36px 0;
    }
    .foot-inner {
      display: flex; align-items: center;
      justify-content: space-between; flex-wrap: wrap; gap: 16px;
    }
    .foot-brand { font-family: var(--font-d); font-size: 15px; color: rgba(255,255,255,.8); font-weight: 500; }
    .foot-brand span { color: rgba(255,255,255,.35); font-weight: 400; margin-left: 6px; }
    .foot-links { display: flex; gap: 22px; }
    .foot-links a { font-size: 13px; color: rgba(255,255,255,.4); transition: color .18s; }
    .foot-links a:hover { color: rgba(255,255,255,.8); }
    .foot-legal { font-size: 12px; color: rgba(255,255,255,.2); }

    /* RESPONSIVE */
    @media (max-width: 900px) {
      .content-layout { grid-template-columns: 1fr; }
      .sidebar-card { position: static; }
    }
    @media (max-width: 720px) {
      .content-wrap { padding: 40px 0 56px; }
      .page-hero { padding: 44px 0 36px; }
      .nav-mid { display: none; }
      .foot-inner { flex-direction: column; align-items: flex-start; }
      .info-card,
      .sidebar-card { padding: 22px 20px; }
      .imp-section,
      .info-card,
      .sidebar-card { min-width: 0; }
      .imp-section a,
      .info-val { overflow-wrap: anywhere; }
    }
