/* ============================================================
   neuraum immobilien service – gemeinsames System (site.css)
   Einzige gemeinsame Stylesheet-Datei aller Seiten (seit 12.09.2026 inkl.
   Webfonts und Icons, vorher fonts.css + icons.css = drei blockierende Requests).
   Seitenspezifisches CSS (inline bzw. case.css) nutzt nur diese Tokens.

   0a) Webfonts (lokal, media/fonts/)
   0b) Icons (Iconoir 7, inline-SVG als Maske)
   1) Tokens
   2) Base, Typo, Browser-Flächen
   3) Eyebrow, Buttons, Utilities
   4) Header, Hauptnavigation, Mobilmenü
   5) Mobile-Tabs, Callbar
   6) Footer
   7) Legal-Seiten (Impressum, Datenschutz)
   8) Reduced Motion
   ============================================================ */

/* ---------- 0a) Webfonts: lokal, keine Drittanbieter (DSGVO) ---------- */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('fonts/bricolage-grotesque.woff2') format('woff2-variations'),
       url('fonts/bricolage-grotesque.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/poppins-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/poppins-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/poppins-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/poppins-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/poppins-700.woff2') format('woff2');
}

/* ---------- 0b) Icons: Iconoir 7 als Maske, Farbe = currentColor ---------- */
[class^="iconoir-"], [class*=" iconoir-"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: -0.125em;
  /* Render black SVG, then use filter to match currentColor won't work universally.
     Instead, use mask with luminance mode so strokes are visible */
  background: currentColor;
  -webkit-mask-mode: luminance;
  mask-mode: luminance;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.iconoir-menu {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18M3 12h18M3 19h18'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18M3 12h18M3 19h18'/%3E%3C/svg%3E");
}

.iconoir-phone {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.118 14.702L14 16c-2.286-.97-4.2-2.2-6-4l1.298-4.118a.95.95 0 00-.058-.787L7.116 2.89a.95.95 0 00-1.306-.364L2.79 4.225a1.9 1.9 0 00-.893 1.64c.282 4.386 2.07 8.534 5.024 11.488 3.35 3.346 7.425 4.864 11.537 5.074a1.9 1.9 0 001.591-.856l1.726-2.96a.95.95 0 00-.34-1.312l-4.157-2.215a.95.95 0 00-.842-.035z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.118 14.702L14 16c-2.286-.97-4.2-2.2-6-4l1.298-4.118a.95.95 0 00-.058-.787L7.116 2.89a.95.95 0 00-1.306-.364L2.79 4.225a1.9 1.9 0 00-.893 1.64c.282 4.386 2.07 8.534 5.024 11.488 3.35 3.346 7.425 4.864 11.537 5.074a1.9 1.9 0 001.591-.856l1.726-2.96a.95.95 0 00-.34-1.312l-4.157-2.215a.95.95 0 00-.842-.035z'/%3E%3C/svg%3E");
}

.iconoir-mail {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9l5 3.5L17 9'/%3E%3Cpath d='M2 17V7a2 2 0 012-2h16a2 2 0 012 2v10a2 2 0 01-2 2H4a2 2 0 01-2-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9l5 3.5L17 9'/%3E%3Cpath d='M2 17V7a2 2 0 012-2h16a2 2 0 012 2v10a2 2 0 01-2 2H4a2 2 0 01-2-2z'/%3E%3C/svg%3E");
}

.iconoir-tools {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.05 10.607L3.707 16.95a1 1 0 000 1.414l1.586 1.586a1 1 0 001.414 0L13.05 13.607M10.05 10.607c-.53-1.809-.15-3.86 1.143-5.153a5.001 5.001 0 016.39-.55l-3.09 3.09 1.414 1.414 3.09-3.09a5.001 5.001 0 01-.55 6.39 4.992 4.992 0 01-5.153 1.143M10.05 10.607l3 3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.05 10.607L3.707 16.95a1 1 0 000 1.414l1.586 1.586a1 1 0 001.414 0L13.05 13.607M10.05 10.607c-.53-1.809-.15-3.86 1.143-5.153a5.001 5.001 0 016.39-.55l-3.09 3.09 1.414 1.414 3.09-3.09a5.001 5.001 0 01-.55 6.39 4.992 4.992 0 01-5.153 1.143M10.05 10.607l3 3'/%3E%3C/svg%3E");
}

.iconoir-notes {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='1.5' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 14L16 14' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 10L10 10' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 18L12 18' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 3H6C4.89543 3 4 3.89543 4 5V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V5C20 3.89543 19.1046 3 18 3H14.5M10 3V1M10 3V5' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' stroke-width='1.5' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 14L16 14' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 10L10 10' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 18L12 18' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 3H6C4.89543 3 4 3.89543 4 5V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V5C20 3.89543 19.1046 3 18 3H14.5M10 3V1M10 3V5' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.iconoir-two-seater-sofa {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16v-4a2 2 0 012-2v0a2 2 0 012 2v4M22 16v-4a2 2 0 00-2-2v0a2 2 0 00-2 2v4M20 10V7a4 4 0 00-4-4H8a4 4 0 00-4 4v3M2 16h20M4 16v2M20 16v2'/%3E%3Cpath d='M12 10V8M6 10h12v6H6v-6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16v-4a2 2 0 012-2v0a2 2 0 012 2v4M22 16v-4a2 2 0 00-2-2v0a2 2 0 00-2 2v4M20 10V7a4 4 0 00-4-4H8a4 4 0 00-4 4v3M2 16h20M4 16v2M20 16v2'/%3E%3Cpath d='M12 10V8M6 10h12v6H6v-6z'/%3E%3C/svg%3E");
}

.iconoir-pine-tree {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2L7 9h10L12 2zM5 14h14l-7-7-7 7z'/%3E%3Cpath d='M12 22v-5M8 17h8l-4-5-4 5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2L7 9h10L12 2zM5 14h14l-7-7-7 7z'/%3E%3Cpath d='M12 22v-5M8 17h8l-4-5-4 5z'/%3E%3C/svg%3E");
}

.iconoir-headset-help {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15h2a1 1 0 001-1v-3a1 1 0 00-1-1H4a1 1 0 00-1 1v3a1 1 0 001 1zM18 15h2a1 1 0 001-1v-3a1 1 0 00-1-1h-2a1 1 0 00-1 1v3a1 1 0 001 1z'/%3E%3Cpath d='M3 11a9 9 0 0118 0M18 15v3c0 1.657-2.686 3-6 3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15h2a1 1 0 001-1v-3a1 1 0 00-1-1H4a1 1 0 00-1 1v3a1 1 0 001 1zM18 15h2a1 1 0 001-1v-3a1 1 0 00-1-1h-2a1 1 0 00-1 1v3a1 1 0 001 1z'/%3E%3Cpath d='M3 11a9 9 0 0118 0M18 15v3c0 1.657-2.686 3-6 3'/%3E%3C/svg%3E");
}

.iconoir-leaf {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' stroke-width='1.5' fill='none'%3E%3Cpath d='M7 21C7 21 7.5 16.5 11 12.5' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.1297 4.24224L19.7243 10.4167C20.0984 14.3026 17.1849 17.7626 13.2989 18.1367C9.486 18.5039 6.03191 15.7168 5.66477 11.9039C5.29763 8.09099 8.09098 4.70237 11.9039 4.33523L18.475 3.70251C18.8048 3.67074 19.098 3.91239 19.1297 4.24224Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' stroke-width='1.5' fill='none'%3E%3Cpath d='M7 21C7 21 7.5 16.5 11 12.5' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.1297 4.24224L19.7243 10.4167C20.0984 14.3026 17.1849 17.7626 13.2989 18.1367C9.486 18.5039 6.03191 15.7168 5.66477 11.9039C5.29763 8.09099 8.09098 4.70237 11.9039 4.33523L18.475 3.70251C18.8048 3.67074 19.098 3.91239 19.1297 4.24224Z' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.iconoir-page-edit {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12V5.749a3.75 3.75 0 00-3.75-3.75H7.75A3.75 3.75 0 004 5.749V18.25A3.75 3.75 0 007.75 22h4.874'/%3E%3Cpath d='M15.503 20.503l4-4a.707.707 0 000-1l-1-1a.707.707 0 00-1 0l-4 4v2h2zM8 10h8M8 6h4M8 14h2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12V5.749a3.75 3.75 0 00-3.75-3.75H7.75A3.75 3.75 0 004 5.749V18.25A3.75 3.75 0 007.75 22h4.874'/%3E%3Cpath d='M15.503 20.503l4-4a.707.707 0 000-1l-1-1a.707.707 0 00-1 0l-4 4v2h2zM8 10h8M8 6h4M8 14h2'/%3E%3C/svg%3E");
}

.iconoir-sparks {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 15c0-5.333 2.667-8 8-8 -5.333 0-8-2.667-8-8 0 5.333-2.667 8-8 8 5.333 0 8 2.667 8 8z'/%3E%3Cpath d='M18 22c0-2.667 1.333-4 4-4-2.667 0-4-1.333-4-4 0 2.667-1.333 4-4 4 2.667 0 4 1.333 4 4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 15c0-5.333 2.667-8 8-8 -5.333 0-8-2.667-8-8 0 5.333-2.667 8-8 8 5.333 0 8 2.667 8 8z'/%3E%3Cpath d='M18 22c0-2.667 1.333-4 4-4-2.667 0-4-1.333-4-4 0 2.667-1.333 4-4 4 2.667 0 4 1.333 4 4z'/%3E%3C/svg%3E");
}

.iconoir-nav-arrow-left {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
}

.iconoir-nav-arrow-right {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}

.iconoir-arrow-right {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18m0 0l-8.5-8.5M21 12l-8.5 8.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18m0 0l-8.5-8.5M21 12l-8.5 8.5'/%3E%3C/svg%3E");
}

.iconoir-bookmark-book {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5a2 2 0 012-2h13.4a.6.6 0 01.6.6v13.114'/%3E%3Cpath d='M8 3v8l2.5-1.6L13 11V3'/%3E%3Cpath d='M6 17h14M6 21h14'/%3E%3Cpath d='M6 21a2 2 0 110-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5a2 2 0 012-2h13.4a.6.6 0 01.6.6v13.114'/%3E%3Cpath d='M8 3v8l2.5-1.6L13 11V3'/%3E%3Cpath d='M6 17h14M6 21h14'/%3E%3Cpath d='M6 21a2 2 0 110-4'/%3E%3C/svg%3E");
}

.iconoir-xmark {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.758 17.243L12.001 12m5.243-5.243L12 12m0 0L6.758 6.757M12.001 12l5.243 5.243'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.758 17.243L12.001 12m5.243-5.243L12 12m0 0L6.758 6.757M12.001 12l5.243 5.243'/%3E%3C/svg%3E");
}

/* ---------- 1) Tokens ---------- */
:root{
  /* Flächen */
  --bg:#fafaf7;              /* warmes Off-White, einzige Seitenfläche */
  --card:#ffffff;
  --linen:#F5F1EA;           /* narrative Sektionen */
  --linen-dk:#ece5d6;

  /* Text: drei Stufen */
  --fg:#28190E;              /* Bark – Text */
  --muted:#645b52;           /* Sekundärtext: 6,4:1 auf --bg, 6,7:1 auf Weiß, 5,9:1 auf Linen */
  --subtle:#d6cfc2;          /* nur Nicht-Text: Trenner, Deko-Punkte */
  --line:#e7e0d4;            /* warme Linienfarbe */

  /* Marke */
  --accent:#AEC06D;          /* Sage */
  --accent-dk:#8fa84d;       /* nur Flächen/Deko, nie Text auf Hell */
  --accent-2:#2E5339;        /* Forest */
  --accent-2-dk:#1f3a26;     /* Forest Night */
  --accent-contrast:#28190E;
  --brass:#C9A66B;           /* Linien, Punkte, Fokus auf Dunkel; als Text nur auf Dunkel ab 18px */
  --brass-text:#7D6532;      /* Brass als Text auf Hell (5,3:1) */
  --brass-on-dark:#DCC08F;   /* Brass als Text auf Forest (5,0:1) */
  --brass-soft:rgba(201,166,107,.22);
  --error:#b03a2e;

  /* Sektionsflächen (Kompatibilität index) */
  --bg-narrative:var(--linen);
  --bg-functional:var(--bg);
  --bg-statement:var(--accent-2);

  /* Schatten – Forest-getönt */
  --shadow-card:0 1px 0 rgba(46,83,57,.06), 0 12px 32px -16px rgba(46,83,57,.18);
  --shadow-feature:0 2px 0 rgba(46,83,57,.08), 0 24px 56px -20px rgba(46,83,57,.22);
  --shadow-modal:0 4px 0 rgba(46,83,57,.12), 0 48px 120px -32px rgba(46,83,57,.32);
  --shadow-card-warm:0 1px 0 rgba(40,25,14,.05), 0 14px 32px -16px rgba(40,25,14,.14);

  /* Radien: genau drei Stufen (+ 50 % für runde Icons/Avatare) */
  --r-card:20px;             /* Karten, Bilder, Modals */
  --r-sm:12px;               /* Inputs, Icon-Boxen, Tag-Container */
  --r-pill:999px;            /* Buttons, Pills, Chips */

  /* Motion */
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --dur-press:100ms;
  --dur-ui:200ms;

  /* Fokus: Forest auf Hell, Brass auf Dunkel (siehe Dark-Surface-Liste unten) */
  --focus:var(--accent-2);
  --eyebrow:var(--accent-2);
  --eyebrow-num:var(--brass-text);

  /* Header-Geometrie. --header-h = Abstand, den Inhalte oben freihalten müssen */
  --header-top:16px;
  --header-bar:60px;
  --header-h:calc(var(--header-top) + var(--header-bar));
}
@media (max-width:768px){
  :root{--header-top:10px;--header-bar:56px}
}

/* Dunkle Flächen: Fokusring und Eyebrow wechseln auf Brass.
   Neue dunkle Blöcke bekommen einfach die Klasse .on-dark. */
.on-dark,
.hero,.lp-hero,.case-hero,.legal-hero,.case-cta,.cta-block,.pull,
.mobile-menu,.site-footer{
  --focus:var(--brass);
  --eyebrow:var(--brass-on-dark);
  --eyebrow-num:var(--brass-on-dark);
}

/* ---------- 2) Base ---------- */
*,*::before,*::after{box-sizing:border-box}
/* hidden muss gegen Layout-Klassen gewinnen (z. B. .fields{display:grid} im Bau-Modal) */
[hidden]{display:none!important}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:calc(var(--header-h) + 16px);
  scrollbar-gutter:stable;
  -webkit-tap-highlight-color:transparent;
}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
html.is-locked{overflow:hidden}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--fg);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* Papier-Grain über die ganze Site */
body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;
  z-index:9998;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.16 0 0 0 0 0.32 0 0 0 0 0.22 0 0 0 0.65 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit}
p,li,blockquote,figcaption{text-wrap:pretty}
::selection{background:rgba(174,192,109,.45);color:var(--fg)}

/* Typografie – Bricolage Display */
h1,h2,h3,h4{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;
  font-weight:600;
  line-height:1.05;
  margin:0 0 .4em;
  text-wrap:balance;
  font-feature-settings:"ss01","ss02";
  letter-spacing:-0.02em;
}
h1{
  font-size:clamp(2.4rem,6vw,5.2rem);
  font-weight:700;
  letter-spacing:-0.035em;
  font-variation-settings:"opsz" 96,"wght" 700;
}
h2{
  font-size:clamp(2rem,4vw,3.4rem);
  font-weight:600;
  letter-spacing:-0.025em;
  font-variation-settings:"opsz" 72,"wght" 600;
}
h3{
  font-size:clamp(1.25rem,2vw,1.6rem);
  letter-spacing:-0.015em;
  font-variation-settings:"opsz" 28,"wght" 600;
}
.lead{
  font-size:clamp(1.05rem,1.4vw,1.22rem);
  font-weight:300;
  line-height:1.55;
  color:var(--fg);
  margin:0 0 1.4em;
  max-width:62ch;
  text-wrap:pretty;
}

.wrap{max-width:1600px;margin:0 auto;padding:100px 5vw}
@media (max-width:992px){.wrap{padding:80px 5vw}}
@media (max-width:768px){body{font-size:15px}.wrap{padding:64px 5vw}}

/* Fokus – eine Regel, Farbe über --focus */
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px}

/* ---------- 3) Eyebrow, Buttons, Utilities ---------- */
.eyebrow{
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--eyebrow);
  margin:0 0 14px;
  display:inline-flex;
  align-items:baseline;
  gap:10px;
}
.eyebrow-num{
  color:var(--eyebrow-num);
  font-weight:700;
  font-size:11px;
  letter-spacing:.05em;
  position:relative;
  padding-right:14px;
  font-variant-numeric:tabular-nums;
}
.eyebrow-num::after{
  content:"";position:absolute;right:0;top:50%;
  width:8px;height:1px;background:var(--brass);
}

.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:14px 22px;
  border-radius:var(--r-pill);
  border:1px solid rgba(40,25,14,.1);
  background:var(--card);
  color:var(--fg);
  font-family:'Poppins',sans-serif;
  font-weight:600;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--dur-ui) ease,
    color var(--dur-ui) ease,
    border-color var(--dur-ui) ease,
    transform var(--dur-press) var(--ease-out);
}
.btn:active{transform:scale(.97)}
.btn i{font-size:1.1em;line-height:1}
/* Zustände: aria-disabled bleibt fokussierbar (Hinweis im selben Schritt),
   aria-busy behält volle Deckkraft und Breite */
.btn[aria-disabled="true"]{background:var(--linen-dk);color:var(--muted);border-color:transparent;cursor:not-allowed}
.btn[aria-disabled="true"]:active{transform:none}
.btn[aria-busy="true"]{cursor:progress}
.btn--primary{background:var(--accent);color:var(--fg);border-color:transparent}
/* Ghost-Button für dunkle Flächen */
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
@media (hover:hover) and (pointer:fine){
  .btn--primary:not([aria-disabled="true"]):not([aria-busy="true"]):hover{background:var(--accent-2);color:#fff}
  .btn:not(.btn--primary):not(.btn--ghost):not([aria-disabled="true"]):hover{background:var(--linen);color:var(--accent-2)}
  .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
}

/* Iconoir-Ergänzungen (gleiche Maskentechnik wie 0b, Original-Pfade Iconoir 7) */
.iconoir-arrow-left{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12H3m0 0l8.5-8.5M3 12l8.5 8.5'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12H3m0 0l8.5-8.5M3 12l8.5 8.5'/%3E%3C/svg%3E");
}
.iconoir-check{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
}
.iconoir-map-pin{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.418-8 12-8 12s-8-7.582-8-12a8 8 0 1116 0z'/%3E%3Cpath d='M12 11a1 1 0 100-2 1 1 0 000 2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.418-8 12-8 12s-8-7.582-8-12a8 8 0 1116 0z'/%3E%3Cpath d='M12 11a1 1 0 100-2 1 1 0 000 2z'/%3E%3C/svg%3E");
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Skip-Link: ohne Animation */
.skip-link{
  position:absolute;top:8px;left:8px;z-index:9999;
  padding:12px 18px;
  border-radius:var(--r-pill);
  background:var(--accent-2);color:#fff;font-weight:600;
  transform:translateY(-200%);
}
.skip-link:focus{transform:none;--focus:var(--brass)}

/* ---------- 4) Header ----------
   Immer sichtbar. Über dunklen Heros (data-overlay) transparent mit heller
   Schrift, ab 24 px Scroll die Glas-Pille (site.js setzt .is-solid).
   Inhalte oben müssen var(--header-h) freihalten. */
.site-header{
  position:fixed;
  top:var(--header-top);
  left:50%;
  z-index:100;
  width:min(calc(100% - 32px),1280px);
  height:var(--header-bar);
  transform:translateX(-50%);
  border-radius:var(--r-pill);
  --hdr-link:var(--muted);
  --hdr-link-active:var(--accent-2);
  --hdr-hover:rgba(46,83,57,.07);
  --hdr-line:rgba(46,83,57,.18);
  --hdr-icon:var(--accent-2);
  --hdr-cta-bg:var(--accent-2);
  --hdr-cta-fg:#fff;
}
/* Glas-Ebene als eigenes Layer, damit nur Opacity animiert */
.site-header::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  border-radius:inherit;
  background:rgba(250,250,247,.86);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  backdrop-filter:saturate(160%) blur(16px);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.6),
    inset 0 -1px 0 rgba(46,83,57,.06),
    0 10px 24px -14px rgba(46,83,57,.28);
  opacity:1;
  transition:opacity 250ms var(--ease-out);
}
/* Transparent über dem Hero und bei offenem Mobilmenü */
.site-header[data-overlay]:not(.is-solid),
.menu-open .site-header{
  --hdr-link:rgba(255,255,255,.84);
  --hdr-link-active:#fff;
  --hdr-hover:rgba(255,255,255,.12);
  --hdr-line:rgba(255,255,255,.42);
  --hdr-icon:#fff;
  --hdr-cta-bg:var(--accent);
  --hdr-cta-fg:var(--fg);
  --focus:var(--brass);
}
.site-header[data-overlay]:not(.is-solid)::before,
.menu-open .site-header::before{opacity:0;transition-duration:150ms}

.site-header__bar{
  height:100%;
  display:flex;align-items:center;gap:24px;
  padding:0 8px 0 24px;
}
.site-header__brand{display:flex;align-items:center;flex-shrink:0;border-radius:var(--r-sm)}
.site-header__brand img{
  width:auto;height:38px;
  filter:brightness(0);
  transition:filter 150ms ease;
}
.site-header[data-overlay]:not(.is-solid) .site-header__brand img,
.menu-open .site-header__brand img{filter:brightness(0) invert(1)}

.site-nav{margin-left:auto}
.site-nav ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.site-nav a{
  display:inline-flex;align-items:center;
  min-height:44px;
  padding:0 14px;
  border-radius:var(--r-pill);
  font-family:'Poppins',sans-serif;
  font-size:.875rem;
  font-weight:500;
  color:var(--hdr-link);
  white-space:nowrap;
  transition:color 150ms ease,background-color 150ms ease;
}
.site-nav a.is-active,
.site-nav a[aria-current="page"]{color:var(--hdr-link-active)}
.site-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--brass)}

.site-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.site-header__call{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;
  padding:0 18px;
  border-radius:var(--r-pill);
  background:var(--hdr-cta-bg);
  color:var(--hdr-cta-fg);
  font-family:'Poppins',sans-serif;
  font-size:.875rem;
  font-weight:600;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  transition:
    background-color 150ms ease,
    color 150ms ease,
    transform var(--dur-press) var(--ease-out);
}
.site-header__call i{font-size:1.1em}
.site-header__call:active{transform:scale(.97)}
.site-header__call-short{display:none}

.site-header__menu{
  display:none;
  align-items:center;justify-content:center;
  width:44px;height:44px;
  padding:0;
  border-radius:50%;
  border:1px solid var(--hdr-line);
  background:transparent;
  color:var(--hdr-icon);
  font-size:20px;
  cursor:pointer;
  transition:
    color 150ms ease,
    border-color 150ms ease,
    transform var(--dur-press) var(--ease-out);
}
.site-header__menu:active{transform:scale(.97)}
.site-header__menu .iconoir-xmark{display:none}
.site-header__menu[aria-expanded="true"] .iconoir-menu{display:none}
.site-header__menu[aria-expanded="true"] .iconoir-xmark{display:inline-block}

@media (hover:hover) and (pointer:fine){
  .site-nav a:hover{background:var(--hdr-hover);color:var(--hdr-link-active)}
  .site-header__call:hover{background:var(--accent-2-dk);color:#fff}
  .site-header[data-overlay]:not(.is-solid) .site-header__call:hover{background:#fff;color:var(--accent-2)}
  .site-header__menu:hover{border-color:currentColor}
}

/* Mittlere Breiten: Nummer kürzen, dann auf Menü umschalten */
@media (max-width:1180px){
  .site-header__call-num{display:none}
  .site-header__call-short{display:inline}
  .site-nav a{padding:0 11px}
}
@media (max-width:960px){
  .site-nav{display:none}
  .site-header__actions{margin-left:auto}
  .site-header__menu{display:inline-flex}
  .site-header__call{width:44px;padding:0;border-radius:50%}
  .site-header__call-short{display:none}
  .site-header__call i{font-size:20px}
}
@media (max-width:768px){
  .site-header{width:calc(100% - 20px)}
  .site-header__bar{padding:0 6px 0 18px;gap:12px}
  .site-header__brand img{height:30px}
}

/* Mobilmenü: Vollbild unter dem Header. Geschlossen inert + unsichtbar.
   Öffnen 280 ms --ease-drawer, Schließen 180 ms. */
.mobile-menu{
  position:fixed;inset:0;
  z-index:90;
  background:var(--accent-2);
  color:#fff;
  overflow-y:auto;
  overscroll-behavior:contain;
  opacity:0;
  visibility:hidden;
  transition:opacity 180ms var(--ease-out),visibility 0s linear 180ms;
}
.mobile-menu::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 80% 20%,rgba(174,192,109,.10),transparent 60%);
}
.mobile-menu.is-open{
  opacity:1;
  visibility:visible;
  transition:opacity 280ms var(--ease-drawer),visibility 0s;
}
.mobile-menu__inner{
  position:relative;
  min-height:100%;
  display:flex;flex-direction:column;gap:40px;
  padding:calc(var(--header-h) + 28px) 24px calc(28px + env(safe-area-inset-bottom));
  transform:translateY(-12px);
  transition:transform 180ms var(--ease-out);
}
.mobile-menu.is-open .mobile-menu__inner{
  transform:none;
  transition:transform 280ms var(--ease-drawer);
}
.mobile-menu__list{list-style:none;margin:0;padding:0}
.mobile-menu__list a{
  display:flex;align-items:center;
  min-height:60px;
  padding:10px 0;
  border-bottom:1px solid rgba(174,192,109,.2);
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(1.75rem,7.5vw,2.6rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-0.025em;
  font-variation-settings:"opsz" 96,"wght" 700;
  color:#fff;
  transition:color 150ms ease,transform var(--dur-ui) var(--ease-out);
}
.mobile-menu__list a[aria-current="page"],
.mobile-menu__list a.is-active{color:var(--brass-on-dark)}
.mobile-menu__contact{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:16px}
.mobile-menu__call{justify-content:center;padding:18px 24px;font-variant-numeric:tabular-nums}
.mobile-menu__mail{
  align-self:center;
  min-height:44px;display:inline-flex;align-items:center;
  color:rgba(255,255,255,.86);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(201,166,107,.6);
}
@media (hover:hover) and (pointer:fine){
  .mobile-menu__list a:hover{color:var(--brass-on-dark);transform:translateX(4px)}
  .mobile-menu__mail:hover{color:#fff}
}
@media (min-width:961px){
  .mobile-menu{display:none}
}

/* ---------- 5) Mobile-Tabs & Callbar ----------
   site.js setzt body.nav-visible mit Hysterese (ein > 240 px, aus < 160 px). */
.mobile-tabs{display:none}
@media (max-width:768px){
  .mobile-tabs{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    position:fixed;
    left:50%;
    bottom:max(12px,env(safe-area-inset-bottom));
    z-index:80;
    width:min(calc(100% - 20px),540px);
    padding:6px;
    border-radius:var(--r-pill);
    background:rgba(250,250,247,.9);
    -webkit-backdrop-filter:saturate(160%) blur(16px);
    backdrop-filter:saturate(160%) blur(16px);
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.6),
      0 10px 24px -12px rgba(46,83,57,.3);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,16px);
    transition:
      opacity 180ms var(--ease-out),
      transform 180ms var(--ease-out),
      visibility 0s linear 180ms;
  }
  body.nav-visible .mobile-tabs{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
    transition:
      opacity 280ms var(--ease-drawer),
      transform 280ms var(--ease-drawer),
      visibility 0s;
  }
  .mobile-tabs a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    min-height:50px;
    padding:4px 2px;
    border-radius:var(--r-pill);
    font-family:'Poppins',sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.1;
    color:var(--muted);
    -webkit-tap-highlight-color:transparent;
    transition:
      color 150ms ease,
      background-color 150ms ease,
      transform var(--dur-press) var(--ease-out);
  }
  .mobile-tabs a .icon{font-size:20px}
  .mobile-tabs a.is-active{color:var(--accent-2)}
  .mobile-tabs a:active{transform:scale(.97)}
  .mobile-tabs a.call{background:var(--accent-2);color:#fff}
}


/* ---------- 6) Footer ---------- */
.site-footer{
  position:relative;overflow:hidden;
  background:var(--accent-2-dk);
  color:#d8e2cd;
}
.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(174,192,109,.06),transparent 70%);
}
/* Gleiche Kanten wie .wrap (max 1600 px, 5vw Rand) */
.site-footer__inner{
  position:relative;
  width:100%;max-width:1600px;
  margin:0 auto;
  padding:80px 5vw 40px;
}
.footer-grid{display:grid;gap:40px 48px;grid-template-columns:1fr}
@media (min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-title{
  margin:0 0 20px;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.site-footer a{
  display:inline-flex;align-items:center;
  min-height:32px;
  color:rgba(216,226,205,.86);
  font-size:.95rem;
  transition:color 150ms ease,transform var(--dur-ui) var(--ease-out);
}
.footer-brand img{width:160px;height:auto;margin-bottom:24px;filter:brightness(0) invert(1);opacity:.92}
.footer-brand p{font-size:.92rem;color:rgba(216,226,205,.8);margin:0 0 18px;max-width:42ch;line-height:1.65}
.footer-contact a{min-height:28px;font-variant-numeric:tabular-nums}
.footer-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;
  margin-top:56px;padding-top:24px;
  border-top:1px solid rgba(174,192,109,.18);
  font-size:.82rem;
  color:rgba(216,226,205,.74);
}
.footer-bottom p{margin:0}
.footer-mark{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brass);
}
@media (hover:hover) and (pointer:fine){
  .site-footer a:hover{color:var(--accent);transform:translateX(4px)}
}
@media (max-width:768px){
  /* Platz für die Mobile-Tabs, Fläche bleibt dunkel */
  .site-footer__inner{padding:64px 20px calc(40px + 84px)}
}

/* ---------- 7) Legal-Seiten ---------- */
.legal-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(320px,52vh,520px);
  display:flex;align-items:flex-end;
  color:#fff;
}
.legal-hero__media{
  position:absolute;inset:0;z-index:-2;
  background-color:var(--accent-2-dk);
  background-size:cover;background-position:center bottom;background-repeat:no-repeat;
}
.legal-hero__overlay{position:absolute;inset:0;z-index:-1;background:rgba(46,83,57,.8)}
.legal-hero__content{
  width:100%;max-width:1200px;margin:0 auto;
  padding:calc(var(--header-h) + 64px) 5vw 56px;
}
.legal-hero h1{
  margin:0;
  font-size:clamp(2.4rem,6vw,4.2rem);
  color:#fff;
}
.section .wrap{max-width:1200px;margin:0 auto;padding:60px 5vw 80px}
.legal{max-width:78ch}
.legal h2{font-size:clamp(1.6rem,3vw,2rem);color:var(--accent-2);margin:2rem 0 1rem}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:1.5rem;margin:1.6rem 0 .6rem}
.legal h4{font-size:1.2rem;margin:1.2rem 0 .4rem}
.legal p{margin:.4rem 0}
.legal a{
  color:var(--accent-2);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--brass);
  overflow-wrap:anywhere;
}

/* ---------- 8) Reduced Motion ----------
   Weniger, nicht null: Bewegung (Transforms, Keyframes) aus,
   Opacity- und Farbwechsel bleiben kurz (150 ms). */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none !important;
    transition-property:opacity,color,background-color,border-color,visibility !important;
    transition-duration:150ms !important;
  }
}
