/*
Theme Name: Kanzlei Dreiling Design
Theme URI: https://example.com/
Author: Timo Dreiling
Version: 1.5.5-premium-final-divider
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: kanzlei-terkanian
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Text:ital@0;1&display=swap');

:root {
  --law-green: #073f36;
  --law-green-dark: #062f29;
  --law-lime: #efffaa;
  --law-text: #111111;
  --law-muted: #3d474a;
  --law-white: #ffffff;
}

/* Einheitliche Typografie in den gruenen Seitenkoepfen aller Unterseiten. */
:where(.premium-practice-hero, .dreiling-guide-hero, .dreiling-contact-hero, .pv-hero) h1 {
  font-family: 'DM Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 700;
  line-height: 1.03 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.28) !important;
}

:where(.premium-practice-hero, .dreiling-guide-hero, .dreiling-contact-hero, .pv-hero)
  :where(.premium-practice-kicker, .pv-kicker, .premium-practice-intro, p) {
  font-family: 'DM Sans', Arial, Helvetica, sans-serif !important;
  letter-spacing: 0;
}

:where(.premium-practice-hero, .dreiling-guide-hero, .dreiling-contact-hero, .pv-hero)
  .premium-practice-kicker {
  margin-bottom: 8px !important;
}

:where(.premium-practice-hero, .dreiling-guide-hero, .dreiling-contact-hero, .pv-hero) h1 {
  margin-bottom: 0 !important;
}

:where(.premium-practice-hero, .dreiling-guide-hero, .dreiling-contact-hero, .pv-hero)
  :where(.premium-practice-intro, h1 + p) {
  margin-top: 12px !important;
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
  -webkit-hyphens: auto;
}

* { box-sizing: border-box; }

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  color: var(--law-text);
  background: #ffffff;
}

a { color: inherit; }

.law-hero {
  background:
    radial-gradient(circle at 72% 28%, rgba(37, 114, 98, 0.28), transparent 36%),
    linear-gradient(135deg, var(--law-green) 0%, #06352f 58%, #052b26 100%);
  color: var(--law-white);
  padding: 32px 48px 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 780px;
}

/* Reduzierter, rein typografischer Hero der Startseite. */
.law-text-hero {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 0;
  padding: clamp(72px, 9vh, 112px) max(32px, calc((100vw - 1280px) / 2)) 60px;
  align-items: center;
}

.home .law-hero {
  min-height: 0;
}

.law-text-hero-inner {
  width: min(1180px, 100%);
}

.law-text-hero-kicker {
  position: relative;
  isolation: isolate;
  margin: 0 0 8px;
  color: var(--law-lime);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 35px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .305em;
  text-align: center;
  text-shadow:
    0 3px 3px rgba(0, 0, 0, .216),
    0 7px 15px rgba(0, 0, 0, .174),
    0 0 10px rgba(227, 255, 127, .12);
  text-transform: uppercase;
}

.law-text-hero-kicker::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: min(544px, 70vw);
  height: 90px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    ellipse at center,
    rgba(227, 255, 127, .05) 0%,
    rgba(227, 255, 127, .0225) 42%,
    rgba(227, 255, 127, 0) 74%
  );
}

.law-text-hero-kicker::after {
  content: '';
  display: block;
  width: 112px;
  height: 2px;
  margin: 8px auto 0;
  border-radius: 999px;
  background: var(--law-lime);
  box-shadow: 0 0 8px rgba(227, 255, 127, .16);
}

.law-text-hero h1 {
  max-width: 1120px;
  margin: 0 auto;
  color: #ffffff;
  font-family: 'DM Serif Text', Georgia, 'Times New Roman', serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
  text-align: center;
  text-wrap: balance;
  text-shadow:
    0 4px 14px rgba(0, 0, 0, .42),
    0 0 28px rgba(0, 0, 0, .22);
}

.law-text-hero-copy {
  max-width: 1120px;
  margin: clamp(36px, 4vw, 54px) 0 0;
  color: rgba(255, 255, 255, .82);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: clamp(16px, 1.12vw, 18px);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0;
  columns: 1;
  text-align: justify;
  hyphens: auto;
}

.law-text-hero-copy p {
  margin: 0 0 1.15em;
}

.law-text-hero-copy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .law-text-hero {
    width: 100%;
    min-height: auto;
    padding: 42px 20px 56px;
    overflow: hidden;
  }

  .law-text-hero-inner {
    width: 100%;
    min-width: 0;
  }

  .law-text-hero-kicker {
    margin-bottom: 10px;
    font-size: clamp(19px, 6vw, 25px);
    line-height: 1.2;
    letter-spacing: .2em;
    white-space: normal;
  }

  .law-text-hero-kicker-dash {
    display: none;
  }

  .law-text-hero-kicker::before {
    width: min(320px, 86vw);
    height: 58px;
  }

  .law-text-hero-kicker::after {
    width: 72px;
    margin-top: 8px;
  }

  .law-text-hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(32px, 9.5vw, 43px);
    line-height: 1.04;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }

  .law-text-hero-copy {
    width: 100%;
    max-width: 100%;
    margin-top: 26px;
    columns: 1;
    font-size: 16px;
    line-height: 1.58;
    text-align: left;
    hyphens: auto;
    overflow-wrap: break-word;
  }

}

.law-hero::before,
.law-hero::after {
  content: none;
}

/* Premium-Variante: harmonisch atmende SVG-Kreislinien.
   Die alternierende X-X-X-Animation wurde entfernt; alle Ringe atmen wieder ruhig,
   jedoch mit etwas stärker sichtbarer Helligkeit als zuvor. */
.law-orbit-bg {
  position: absolute;
  inset: -38% -16% -18% -24%;
  width: 140%;
  height: 156%;
  pointer-events: none;
  z-index: 1;
  overflow: visible;
}

.law-orbit-bg circle {
  fill: none;
  stroke: rgba(255,255,255,0.078);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  animation-name: law-ring-breathe;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  will-change: stroke;
}

.law-orbit-bg .ring-1 { animation-duration: 18s; animation-delay: -2s; }
.law-orbit-bg .ring-2 { animation-duration: 21s; animation-delay: -6s; }
.law-orbit-bg .ring-3 { animation-duration: 19s; animation-delay: -9s; }
.law-orbit-bg .ring-4 { animation-duration: 23s; animation-delay: -4s; }
.law-orbit-bg .ring-5 { animation-duration: 20s; animation-delay: -12s; }
.law-orbit-bg .ring-6 { animation-duration: 24s; animation-delay: -7s; }
.law-orbit-bg .ring-7 { animation-duration: 22s; animation-delay: -15s; }
.law-orbit-bg .ring-8 { animation-duration: 25s; animation-delay: -10s; }
.law-orbit-bg .ring-9 { animation-duration: 26s; animation-delay: -11s; }
.law-orbit-bg .ring-10 { animation-duration: 24s; animation-delay: -17s; }
.law-orbit-bg .ring-11 { animation-duration: 28s; animation-delay: -8s; }
.law-orbit-bg .ring-12 { animation-duration: 27s; animation-delay: -19s; }

@keyframes law-ring-breathe {
  0%, 100% {
    stroke: rgba(255,255,255,0.068);
  }
  48%, 58% {
    stroke: rgba(239,255,170,0.135);
  }
}

@media (prefers-reduced-motion: reduce) {
  .law-orbit-bg circle {
    animation: none;
    opacity: .42;
    stroke: rgba(255,255,255,0.085);
  }
}

.law-header {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  width: 100vw;
  max-width: none;
  margin: -22px calc(50% - 50vw) 0;
  padding: 14px max(24px, calc((100vw - 1280px) / 2));
  background: #ffffff;
  border-bottom: 3px solid var(--law-lime);
  box-shadow: 0 10px 28px rgba(1, 29, 25, .22);
}

.law-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 1;
  text-decoration: none;
  color: #ffffff;
  background: #3b3b3b;
}

.law-logo img {
  display: block;
  width: clamp(250px, 24vw, 340px);
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
  filter: none;
}

.law-nav {
  display: flex;
  align-items: center;
  gap: 14px;
}

.law-nav a,
.law-dropdown-trigger {
  color: var(--law-green);
  text-decoration: none;
  padding: 13px 18px;
  border-radius: 0;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .01em;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  text-shadow: none;
}

.law-nav > a:not(.law-nav-button):hover,
.law-dropdown:hover .law-dropdown-trigger,
.law-dropdown-trigger:hover {
  background-color: rgba(239, 255, 170, .58);
  color: var(--law-green) !important;
  border-radius: 8px;
  text-shadow: none;
}

.law-nav-button {
  background: var(--law-lime);
  color: #0b2f2a !important;
  font-weight: 500;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  text-shadow: none !important;
}

.law-nav-button:hover { transform: none; }

.law-dropdown { position: relative; }

.law-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 220px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.22);
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
  z-index: 20;
}

.law-dropdown:hover .law-dropdown-menu,
.law-dropdown:focus-within .law-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.law-dropdown-menu a,
.law-dropdown-sub-trigger {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin: 0;
  color: #111111;
  background: #ffffff;
  text-align: left;
  cursor: default;
  border-radius: 0;
  padding: 18px 20px;
  border: 0;
  border-bottom: 1px solid #eeeeee;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-shadow: none;
}

.law-dropdown-menu > a:hover,
.law-dropdown-sub:hover > .law-dropdown-sub-trigger,
.law-dropdown-sub:focus-within > .law-dropdown-sub-trigger {
  background: var(--law-lime);
}

.law-dropdown-menu > a:first-child {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.law-dropdown-menu > .law-dropdown-sub:first-child > .law-dropdown-sub-trigger {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.law-dropdown-menu > a:last-child {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom: none;
}

.law-dropdown-sub {
  position: relative;
}

/* Unsichtbare Hover-Brücke zwischen Haupt- und Untermenü */
.law-dropdown-sub::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 12px;
  height: 100%;
}

.law-sub-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: auto;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(7,63,54,0.82);
  font-size: 20px;
  line-height: 1;
  transform: translateX(-2px);
  opacity: 0;
  transition: opacity .22s ease, transform .22s ease, background .22s ease;
}

.law-dropdown-sub:hover .law-sub-arrow,
.law-dropdown-sub:focus-within .law-sub-arrow {
  opacity: 1;
  transform: translateX(0);
  background: var(--law-green);
}

.law-dropdown-sub-menu {
  position: absolute;
  left: 100%;
  top: 0;
  width: 310px;
  background: #ffffff;
  border-radius: 0 10px 10px 0;
  border-left: 1px solid rgba(11,47,42,0.14);

  /*
   * Fix:
   * Der normale box-shadow strahlt links in das Hauptdropdown hinein.
   * clip-path schneidet nur die linke Schattenseite ab.
   * Der Schatten rechts, unten und oben bleibt erhalten.
   */
  box-shadow: 0 20px 40px rgba(0,0,0,0.22);
  clip-path: inset(-60px -60px -60px 0 round 0 10px 10px 0);

  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index: 30;
}

.law-dropdown-sub:hover .law-dropdown-sub-menu,
.law-dropdown-sub:focus-within .law-dropdown-sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.law-dropdown-sub-menu a {
  display: block;
  justify-content: flex-start;
  padding: 18px 20px;
  white-space: nowrap;
}

.law-dropdown-sub-menu a:hover {
  background: var(--law-lime);
}

.law-hero-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 0.92fr;
  gap: 70px;
  align-items: end;
  max-width: 1280px;
  margin: 0 auto;
  padding-top: 58px;
}

@media (min-width: 981px) {
  .law-hero-text {
    transform: none;
  }
}

/* Hauptnavigation in reinem Schwarz fuer maximalen Kontrast. */
.law-header .law-nav > a,
.law-header .law-dropdown > .law-dropdown-trigger {
  color: #000 !important;
}

/* Kompakte Kanzlei-Signatur mit rundem Logo in der globalen Kopfzeile. */
.law-header .law-logo {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: #000;
  background: transparent;
}

.law-header .law-logo img {
  flex: 0 0 63.75px;
  width: 63.75px !important;
  height: 63.75px;
  object-fit: contain;
  box-shadow: 0 0 8px rgba(7, 63, 54, .10);
}

.law-brand-separator {
  flex: 0 0 1px;
  width: 1px;
  height: 45px;
  margin: 0 15px;
  background: rgba(7, 63, 54, .32);
}

.law-brand-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: #000;
  font-family: 'DM Serif Text', Georgia, 'Times New Roman', serif;
  letter-spacing: 0;
  line-height: 1.1;
  white-space: nowrap;
}

.law-brand-name {
  position: relative;
  align-self: flex-start;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  color: rgba(0, 0, 0, .76);
  font-size: 13.75px;
  font-weight: 500;
  text-transform: uppercase;
}

.law-brand-name::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: rgba(7, 63, 54, .32);
  content: '';
}

.law-brand-attorney {
  align-self: flex-start;
  margin-top: 1.25px;
  margin-bottom: 3px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(7, 63, 54, .18);
  color: #111;
  font-family: 'DM Serif Text', Georgia, 'Times New Roman', serif;
  font-size: 25px;
  font-weight: 700;
}

.law-brand-title {
  display: inline-block;
  transform: scaleY(1.1);
  transform-origin: center bottom;
}

.law-brand-bottomline {
  display: flex;
  gap: 5px;
  align-items: center;
  width: 100%;
  margin-top: 1px;
}

.law-brand-role {
  color: #000;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 13.5px;
  font-weight: 700;
}

.law-brand-location {
  color: rgba(0, 0, 0, .52);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 12.25px;
  font-weight: 400;
}

.law-header-contact {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  margin-right: auto;
  margin-left: 15px;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
}

.law-header-contact::before {
  position: absolute;
  top: 50%;
  left: -24px;
  width: 1px;
  height: 45px;
  background: rgba(7, 63, 54, .32);
  transform: translateY(-50%);
  content: '';
}

.law-header-contact a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--law-green);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
}

.law-header-contact a:hover,
.law-header-contact a:focus-visible {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.law-header-contact svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.law-nav-contact {
  display: none;
}

@media (max-width: 1220px) {
  .law-header-contact {
    display: none;
  }
}

@media (max-width: 980px) {
  .law-header .law-logo img {
    flex-basis: 51px;
    width: 51px !important;
    height: 51px;
  }

  .law-brand-separator {
    height: 37.5px;
    margin-right: 12.5px;
    margin-left: 12.5px;
  }

  .law-brand-name {
    font-size: 11.25px;
  }

  .law-brand-attorney {
    font-size: 17.5px;
  }

}

.law-hero-text {
  position: relative;
}

.law-hero-profile {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.law-hero-profile-photo {
  position: relative;
  z-index: 1;
  width: 112px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 3px solid var(--law-lime);
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 0 0 7px rgba(239, 255, 170, .22),
    0 10px 28px rgba(1, 25, 21, .22);
}

.law-hero-profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate(4px, 4px) rotate(2deg) scale(1.08);
}

.law-hero-profile::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -21px -35px -17px -23px;
  background: linear-gradient(
    90deg,
    rgba(3, 34, 29, 0) 0%,
    rgba(3, 34, 29, .28) 50%,
    rgba(3, 34, 29, 0) 100%
  );
  pointer-events: none;
}

.law-hero-text h1 {
  font-family: 'DM Serif Text', Georgia, 'Times New Roman', serif;
  font-size: clamp(46px, 6vw, 78px);
  line-height: 0.95;
  letter-spacing: -0.055em;
  margin: 0;
}

.law-hero-text h1 span { color: var(--law-lime); }

.law-hero-profile {
  width: min(500px, 100%);
}

.law-hero-text .law-hero-identity {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: clamp(45px, 4.05vw, 59px);
  line-height: 0.98;
  letter-spacing: 0;
}

.law-hero-text .law-hero-profession {
  display: block;
  margin-bottom: 3px;
  color: var(--law-lime);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  text-shadow: 0 2px 7px rgba(1, 22, 19, .32);
}

.law-hero-text .law-hero-profession::before {
  content: none;
}

.law-hero-text .law-hero-person {
  display: block;
  color: #ffffff;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-weight: 700;
  text-shadow: 0 3px 12px rgba(1, 22, 19, .34);
}

.law-hero-text .law-hero-specialty {
  display: block;
  max-width: 500px;
  margin-top: 4px;
  padding: 0;
  border: 0;
  color: rgba(255,255,255,.9);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-shadow: 0 2px 8px rgba(1, 22, 19, .30);
}

.law-hero-text .law-hero-specialty-prefix {
  color: #fcfff5;
  color: color-mix(in srgb, var(--law-lime) 10%, var(--law-white));
}

.law-hero-text .law-hero-claim {
  max-width: 500px;
  margin: 0 0 14px;
  color: var(--law-lime);
  font-family: 'DM Serif Text', Georgia, 'Times New Roman', serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
}

.law-hero-profile + .law-line {
  margin: 13px 0 18px;
}

.law-line {
  width: 90px;
  height: 3px;
  background: var(--law-lime);
  margin: 24px 0 28px;
  border-radius: 99px;
}

.law-hero-text p {
  max-width: 610px;
  font-size: 21px;
  line-height: 1.55;
  margin: 0 0 62px;
}

.law-hero-text .law-hero-expertise {
  display: block;
  width: 480px;
  max-width: 100%;
  margin: -2px 0 14px;
  color: rgba(255, 255, 255, 0.88);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
}

.law-hero-expertise-intro {
  display: block;
  margin-bottom: 2px;
}

.law-hero-expertise-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  column-gap: 10px;
  row-gap: 2px;
  width: 100%;
}

.law-hero-expertise-items > span {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.law-hero-expertise-items > span::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--law-lime);
}

.law-hero-expertise-items > span:nth-child(1)::before,
.law-hero-expertise-items > span:nth-child(4)::before,
.law-hero-expertise-items > span:nth-child(8)::before {
  display: none;
}

.law-cta {
  width: 475px;
  max-width: 100%;
  background: var(--law-lime);
  color: #111111;
  text-decoration: none;
  padding: 24px 78px 24px 28px;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  font-size: 20px;
  font-weight: 700;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.law-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0,0,0,0.14);
}

.law-cta small {
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 5px;
}

.law-cta span {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 42px;
  line-height: 1;
}

.law-hero-image img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
  display: block;
  box-shadow: 0 24px 50px rgba(0,0,0,0.22);
}

/* Freistehende Bildbuehne im Frontpage-Hero. Die transparenten Motive
   behalten ihre Proportionen und duerfen den Inhaltsrand moderat ueberragen. */
.law-hero-slideshow {
  position: relative;
  display: grid;
  align-self: center;
  width: calc(100% + clamp(28px, 2vw, 72px));
  min-height: 600px;
  aspect-ratio: 861 / 658;
  margin: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.law-hero-slide {
  position: relative;
  grid-area: 1 / 1;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s cubic-bezier(.22, .61, .36, 1), visibility 1s;
}

.law-hero-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.law-hero-slideshow .law-hero-slide img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

@media (min-width: 981px) {
  .law-hero {
    min-height: 0;
    padding-bottom: 30px;
  }

  .law-hero-content {
    grid-template-columns: minmax(480px, .86fr) minmax(0, 1.14fr);
    gap: 70px;
    align-items: center;
    padding-top: 30px;
  }

  .law-hero-slideshow {
    justify-self: end;
    width: calc(80% + clamp(22.4px, 1.6vw, 57.6px));
    min-height: 0;
    transform: none;
  }
}

@media (min-width: 981px) and (max-width: 1375px) {
  .law-hero-slideshow {
    transform: translateX(32px);
  }
}

.law-practice {
  background: #ffffff;
  color: #111111;
  padding: 48px 48px 90px;
  position: relative;
  overflow: hidden;
}

.law-practice::before {
  content: "";
  position: absolute;
  width: 900px;
  height: 900px;
  right: -120px;
  top: -160px;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, rgba(7,63,54,0.07) 0 1px, transparent 1px 54px);
  pointer-events: none;
}

.law-practice-inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.law-section-head-premium {
  max-width: 100%;
  position: relative;
}

.law-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  color: var(--law-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.law-section-kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: var(--law-lime);
  box-shadow: 0 0 0 5px rgba(239,255,170,0.16);
}

.law-section-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 42px;
}

.law-section-head h2 {
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: clamp(21.5px, 2.44vw, 35.1px);
  line-height: 1;
  letter-spacing: 0;
  margin: 0;
}

.law-section-head-premium .law-section-title-row h2 {
  margin-left: 44px;
}

.law-section-count {
  flex: 0 0 auto;
  margin-bottom: 10px;
  padding: 12px 16px;
  border: 1px solid rgba(7,63,54,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  box-shadow: 0 12px 30px rgba(0,0,0,0.045);
  color: rgba(7,63,54,0.78);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.law-section-divider {
  width: min(640px, 100%);
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.law-section-head-premium .law-section-divider {
  width: min(640px, calc(100% - 44px));
  margin-left: 44px;
}

.law-section-divider span {
  display: block;
  height: 2px;
  flex: 1;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(7,63,54,0.05), var(--law-lime), rgba(7,63,54,0.10));
}

.law-section-divider span:last-child {
  flex: 1.8;
  background: linear-gradient(90deg, rgba(7,63,54,0.10), var(--law-lime), rgba(7,63,54,0.04));
}

.law-section-divider i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 2px solid var(--law-lime);
  box-shadow: 0 0 0 6px rgba(239,255,170,0.20), 0 0 28px rgba(239,255,170,0.42);
  flex: 0 0 auto;
}

.law-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-top: 28px;
  align-items: stretch;
}

.law-card{
  background:#ffffff;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:38px 30px 0;
  min-height:390px;
  overflow:hidden;
  border-radius:22px;
  border:2px solid transparent;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.law-card:hover{
  transform:translateY(-6px);
  border-color:var(--law-lime);
  box-shadow:0 0 0 3px rgba(239,255,170,.18),0 26px 58px rgba(0,0,0,.11);
}

.law-card:focus-visible{
  outline:none;
}


.law-icon{
    width:100px;
    height:100px;
    background:linear-gradient(135deg,#efffaa,#f5ffc8);
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 34px;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
    overflow:hidden;
}

.law-icon img{
    width:68px;
    height:68px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    display:block;
    transition:transform .3s ease;
}

.law-card:hover .law-icon img{
    transform:scale(1.12);
}

.law-card h3 {
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: 0;
  margin: 0 0 18px;
  position: relative;
  padding-bottom: 16px;
}

.law-card h3::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);

    width:90px;
    height:14px;

    background:none;
}

.law-card h3::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:5px;
    transform:translateX(-50%);

    width:90px;
    height:2px;

    background:linear-gradient(
        90deg,
        rgba(7,63,54,.08),
        var(--law-lime),
        rgba(7,63,54,.08)
    );
}

.law-card h3::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-1px;
    transform:translateX(-50%);

    width:8px;
    height:8px;

    border-radius:50%;
    background:#fff;
    border:2px solid var(--law-lime);
    box-shadow:0 0 0 4px rgba(239,255,170,.20);
}

.law-card p {
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 18px;
  color: var(--law-muted);
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0 0 15px;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

.law-card-services {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  color: var(--law-muted);
  font-family: 'DM Sans', Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.38;
  text-align: left;
}

.law-card-services li {
  position: relative;
  margin: 0;
  padding-left: 27px;
}

.law-card-services li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.69em;
  width: 14px;
  height: 3px;
  border-radius: 3px;
  background: var(--law-lime);
  box-shadow: 0 0 0 4px rgba(239, 255, 170, 0.18);
  transform: translateY(-50%);
}

.law-card-more{
    display:block;
    margin-top:auto;
    margin-left:-30px;
    margin-right:-30px;
    margin-bottom:0;
    width:calc(100% + 60px);

    padding:22px 30px;

    font-weight:700;
    color:#111111;
    background:transparent;
    border-top:1px solid rgba(7,63,54,.08);
    border-radius:0 0 22px 22px;

    transition:background .25s ease,color .25s ease;
}

.law-card:hover .law-card-more{
    background:#063630;
    color:#ffffff;
}

.law-card:hover .law-card-more{
    background:#063630;
    color:#ffffff;
}


.dreiling-footer-breadcrumbs{
  width:100%;
  border-top:2px solid #e9ff8f;
  background:#f7faf7;
  color:#173c36;
}

.dreiling-footer-author-note{
  width:min(1180px, calc(100% - 64px));
  margin:0 auto;
  padding:18px 0 0;
  color:#58716c;
  font-size:14px;
  line-height:1.55;
}

.dreiling-footer-author-note a{
  color:#075347;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.dreiling-footer-author-note a:hover,
.dreiling-footer-author-note a:focus-visible{
  color:#001f1b;
}

.dreiling-footer-breadcrumbs-inner{
  display:flex;
  align-items:baseline;
  gap:14px;
  width:min(1180px, calc(100% - 64px));
  margin:0 auto;
  padding:18px 0;
}

.dreiling-footer-breadcrumbs-label{
  flex:0 0 auto;
  color:#58716c;
  font-size:13px;
  font-weight:700;
}

.dreiling-footer-breadcrumbs ol{
  display:flex;
  flex-wrap:wrap;
  gap:6px 9px;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none;
}

.dreiling-footer-breadcrumbs li{
  display:flex;
  align-items:baseline;
  gap:9px;
  font-size:14px;
  line-height:1.5;
}

.dreiling-footer-breadcrumbs li + li::before{
  content:"\203A";
  color:#78908b;
}

.dreiling-footer-breadcrumbs a{
  color:#075347;
  font-weight:700;
  text-decoration:none;
}

.dreiling-footer-breadcrumbs a:hover,
.dreiling-footer-breadcrumbs a:focus-visible{
  color:#001f1b;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.dreiling-footer-breadcrumbs [aria-current="page"]{
  color:#58716c;
}

.law-footer {
  background: var(--law-green-dark);
  color: #ffffff;
  padding: 46px 48px 34px;
}

.law-footer-information{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) 1px minmax(320px,1.2fr);
  gap:48px;
  align-items:stretch;
  width:min(920px,100%);
  margin:0 auto 38px;
  text-align:left;
}

.law-footer-address{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:0;
  font-style:normal;
  font-size:17px;
  line-height:1.5;
}

.law-footer-address strong,
.law-footer-hours > strong{
  margin-bottom:4px;
  color:#efffaa;
  font-size:19px;
}

.law-footer-attorney{
  margin-bottom:3px;
  font-weight:700;
}

.law-footer-contact-links{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.law-footer-contact-links a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:fit-content;
  color:#fff;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
}

.law-footer-contact-links svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:#efffaa;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.law-footer-contact-links a:hover,
.law-footer-contact-links a:focus-visible{
  color:#efffaa;
  text-decoration:underline;
}

.law-footer-divider{
  width:1px;
  height:100%;
  min-height:150px;
  background:rgba(255,255,255,.82);
}

.law-footer-hours ul{
  display:grid;
  gap:6px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
  font-size:16px;
  line-height:1.45;
}

.law-footer-hours li{
  display:grid;
  grid-template-columns:112px max-content;
  column-gap:18px;
}

.law-footer-appointment{
  margin:18px 0 0;
  font-size:16px;
  line-height:1.45;
}

.law-footer-legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px 28px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.2);
  text-align:center;
}

.law-footer a {
  color: #efffaa;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.law-footer a:hover,
.law-footer a:focus-visible {
  color: #ffffff;
}

@media (max-width: 560px) {
  .dreiling-footer-author-note{
    width:calc(100% - 40px);
    padding-top:15px;
    font-size:13px;
  }

  .dreiling-footer-breadcrumbs-inner{
    display:block;
    width:calc(100% - 40px);
    padding:15px 0;
  }

  .dreiling-footer-breadcrumbs-label{
    display:block;
    margin-bottom:5px;
  }

  .dreiling-footer-breadcrumbs li{
    font-size:13px;
  }

  .law-footer {
    padding: 28px 20px 82px;
  }

  .law-footer-information{
    display:block;
    margin-bottom:28px;
  }

  .law-footer-divider{
    width:100%;
    height:1px;
    min-height:0;
    margin:24px 0;
  }

  .law-footer-legal{
    display:grid;
    gap:10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .law-hero::after { animation: none; }
}

@media (max-width: 980px) {
  .law-section-title-row { align-items: flex-start; flex-direction: column; gap: 18px; }
  .law-section-count { margin-bottom: 0; }
  .law-section-divider { width: min(520px, 100%); }
  .law-header,
  .law-nav { align-items: flex-start; }
  .law-header { flex-direction: column; }
  .law-nav { flex-wrap: wrap; }
  .law-hero-content {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }
  .law-hero-text {
    width: 100%;
    min-width: 0;
  }
  .law-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .law-hero { min-height: auto; padding-inline: 24px; }
  .law-practice { padding-inline: 24px; }
  .law-hero-image img { height: auto; max-height: 620px; }
  .law-hero-slideshow {
    width: 100%;
    min-height: 0;
    max-width: 760px;
    margin: 0 auto;
  }
}

@media (max-width: 560px) {
  .law-logo img { width: min(280px, 82vw); }
  .law-section-head h2 { font-size: clamp(18.5px, 5.85vw, 26.3px); }
  .law-section-kicker { margin-bottom: 14px; }
  .law-section-count { font-size: 13px; padding: 10px 14px; }
  .law-section-divider { margin-top: 26px; }
  .law-nav { flex-direction: column; width: 100%; }
  .law-nav a, .law-dropdown, .law-dropdown-trigger { width: 100%; }
  .law-dropdown-menu { position: static; width: 100%; margin-top: 8px; display: none; opacity: 1; visibility: visible; transform: none; }
  .law-dropdown:hover .law-dropdown-menu, .law-dropdown:focus-within .law-dropdown-menu { display: block; }
  .law-dropdown-sub-menu { position: static; width: 100%; margin: 0; box-shadow: none; clip-path: none; border-radius: 0; display: none; opacity: 1; visibility: visible; transform: none; }
  .law-dropdown-sub:hover .law-dropdown-sub-menu, .law-dropdown-sub:focus-within .law-dropdown-sub-menu { display: block; }
  .law-sub-arrow { opacity: 1; transform: none; }
  .law-hero-content { padding-top: 64px; }
  .law-hero-text p { font-size: 18px; }
  .law-hero-text .law-hero-identity { font-size: 42px; }
  .law-hero-text .law-hero-profession { margin-bottom: 3px; font-size: 15px; }
  .law-hero-text .law-hero-specialty { margin-top: 4px; font-size: 16px; }
  .law-hero-text .law-hero-claim { font-size: 25px; }
  .law-hero-text .law-hero-expertise {
    width: 100%;
  }
  .law-hero-expertise-items {
    justify-content: flex-start;
  }
  .law-cards { grid-template-columns: 1fr; }
  .law-card p { font-size: 16px; }
}

@media (min-width: 561px) and (max-width: 980px) {
  .law-hero-text .law-hero-identity { font-size: 47px; }
  .law-hero-text .law-hero-specialty { font-size: 17px; }
}

/* Dezenter Scroll-Hinweis am unteren Hero-Rand */
.law-scroll-indicator {
  position: absolute;
  left: 50%;
  bottom: 12px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--law-lime);
  text-decoration: none;
  z-index: 6;
  opacity: 0.82;
  transform: translateX(-50%);
  transition: opacity 0.35s ease, transform 0.35s ease;
  animation: law-scroll-hint 2.8s ease-in-out infinite;
}

.law-scroll-indicator:hover {
  opacity: 1;
}

.law-scroll-indicator.is-hidden {
  opacity: 0;
  transform: translateX(-50%) translateY(12px);
  pointer-events: none;
}

.law-scroll-indicator-up {
  top: auto;
  bottom: 18px;
  color: var(--law-green);
  opacity: 0.72;
  animation-name: law-scroll-hint-up;
}

.law-scroll-indicator-up.is-hidden {
  transform: translateX(-50%) translateY(-12px);
}

@keyframes law-scroll-hint {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(7px); }
}

@keyframes law-scroll-hint-up {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
  .law-scroll-indicator { animation: none; }
}

@media (max-width: 560px) {
  .law-scroll-indicator {
    bottom: -2px;
  }

  .law-scroll-indicator-up {
    bottom: 12px;
  }
}


/* Premium Kontaktkarte im Hero */
.law-contact-card {
  width: 390px;
  min-height: 72px;
  padding: 12px 72px 12px 22px;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: 2px;
  border-radius: 6px;
  color: #061f1b;
  background:
    linear-gradient(135deg, #efffaa 0%, #f5ffc7 52%, #e8f7a9 100%);
  border: 1px solid rgba(239,255,170,0.82);
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
  overflow: hidden;
  isolation: isolate;
}

.law-contact-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 30%,
    rgba(255,255,255,0.42) 46%,
    transparent 62%,
    transparent 100%
  );
  transform: translateX(-115%);
  transition: transform 0.7s ease;
}

.law-contact-card::after {
  content: "";
  position: absolute;
  right: -32px;
  top: 50%;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  border: 1px solid rgba(7,63,54,0.14);
  transform: translateY(-50%);
  z-index: 0;
  opacity: 0.65;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.law-contact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 46px rgba(0,0,0,0.20);
}

.law-contact-card:hover::before {
  transform: translateX(115%);
}

.law-contact-card:hover::after {
  transform: translateY(-50%) scale(1.08);
  opacity: 0.9;
}

.law-contact-card .law-contact-kicker,
.law-contact-card .law-contact-main,
.law-contact-card .law-contact-mail {
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 2;
  line-height: 1.15;
}

.law-contact-kicker {
  font-size: 10px !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(6,31,27,0.66);
}

.law-contact-card .law-contact-line {
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.law-contact-line svg {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  stroke: rgba(6,31,27,0.66);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.law-contact-main {
  font-size: clamp(20px, 1.65vw, 24px) !important;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #061f1b;
}

.law-contact-mail {
  font-size: 13px !important;
  font-weight: 650;
  color: rgba(6,31,27,0.72);
}

.law-contact-card .law-contact-arrow {
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  z-index: 2;
  font-size: 32px !important;
  line-height: 1;
  transform: translateY(-50%) !important;
  transition: transform 0.32s ease, opacity 0.32s ease;
  color: #061f1b;
}

.law-contact-card:hover .law-contact-arrow {
  transform: translateY(-50%) translateX(8px) !important;
  opacity: 0.88;
}

@media (min-width: 981px) {
  .law-hero-text {
    transform: translateX(48px);
  }

  .law-hero-profile {
    width: min(575px, 100%);
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 20px;
    transform: translateX(20px);
  }

  .law-hero-profile-photo {
    width: 132px;
  }

  .law-hero-profile::before {
    inset: -24px -40px -20px -26px;
  }

  .law-hero-text .law-hero-identity {
    font-size: clamp(40px, 3.25vw, 46px);
  }

  .law-hero-text .law-hero-profession {
    font-size: 13.5px;
  }

  .law-hero-text .law-hero-specialty {
    max-width: 575px;
    font-size: 18px;
    white-space: nowrap;
  }

  .law-hero-profile + .law-line {
    margin: 15px 0 21px;
  }

  .law-line {
    width: 104px;
    height: 4px;
  }

  .law-hero-text .law-hero-expertise {
    width: 552px;
    margin-bottom: 16px;
    font-size: 16px;
  }

  .law-hero-expertise-items {
    column-gap: 12px;
  }

  .law-hero-expertise-items > span::before {
    width: 5px;
    height: 5px;
    flex-basis: 5px;
    margin-right: 10px;
  }

  .law-hero-text .law-hero-claim {
    max-width: 575px;
    margin-bottom: 16px;
    font-size: 30px;
  }

  .law-contact-card {
    width: 404px;
    min-height: 75px;
    padding: 13px 75px 13px 23px;
  }

  .law-contact-card::after {
    right: -33px;
    width: 87px;
    height: 87px;
  }

  .law-contact-kicker {
    font-size: 11px !important;
  }

  .law-contact-main {
    font-size: clamp(21px, 1.7vw, 25px) !important;
  }

  .law-contact-mail {
    font-size: 14px !important;
  }

  .law-contact-card .law-contact-arrow {
    right: 23px !important;
    font-size: 33px !important;
  }
}

@media (max-width: 560px) {
  .law-contact-card {
    width: 100%;
    max-width: 100%;
    padding: 16px 64px 16px 18px;
  }

  .law-contact-main {
    font-size: 20px !important;
  }
}



/* Neue Ebene unter den Rechtsgebieten */
.law-next-section{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(to bottom,#fbfcfb 0%,#ffffff 190px);
  color:var(--law-text);
  padding:110px 48px 120px;
}

.law-next-orbit{
  position:absolute;
  left:20px;
  top:-180px;
  width:900px;
  height:900px;
  pointer-events:none;
  opacity:.9;
  z-index:1;
}

.law-next-orbit svg{
  width:100%;
  height:100%;
  display:block;
}

.law-next-orbit circle{
  fill:none;
  stroke:rgba(7,63,54,.075);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}

.law-next-inner{
  max-width:1280px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.law-next-rule{
    display:none;
}

.law-next-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:32px;
  align-items:center;
}

.law-next-slideshow{
  position:relative;
  align-self:center;
}

.law-next-slideshow-stage{
  position:relative;
  width:100%;
  aspect-ratio:1.4067 / 1;
  overflow:hidden;
  border-radius:8px;
  background:#eef2ed;
  border:1px solid rgba(7,63,54,.08);
  box-shadow:0 28px 68px rgba(7,42,36,.14);
}

.law-next-slide{
  margin:0;
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 1.15s cubic-bezier(.22,.61,.36,1), visibility 1.15s;
}

.law-next-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}

.law-next-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:none;
  transition:none;
}

/* Dünne Akzentlinie als hochwertiger Abschnittsübergang */
.law-next-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(7,63,54,.08) 20%,
    var(--law-lime) 50%,
    rgba(7,63,54,.08) 80%,
    transparent 100%
  );
  box-shadow:0 0 18px rgba(239,255,170,.28);
}

.law-next-section::after{
  content:"";
  position:absolute;
  top:-6px;
  left:50%;
  width:12px;
  height:12px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#ffffff;
  border:2px solid var(--law-lime);
  box-shadow:
    0 0 0 7px rgba(239,255,170,.16),
    0 0 28px rgba(239,255,170,.38);
  z-index:3;
}

.law-next-content{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:52px 44px;
  border-radius:24px;
  background:rgba(255,255,255,.86);
  box-shadow:0 22px 60px rgba(0,0,0,.065);
  border:1px solid rgba(7,63,54,.07);
}

.law-next-content h2{
  font-family:'DM Sans',Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:clamp(28px,2.4vw,36px);
  line-height:1.05;
  letter-spacing:0;
  margin:0 0 20px;
  white-space:nowrap;
}

.law-next-content p{
  margin:0 0 20px;
  color:var(--law-muted);
  font-size:17px;
  line-height:1.58;
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
  -webkit-hyphens:auto;
}

.law-next-content p:last-child{
  margin-bottom:0;
}

.law-next-principles{
  display:grid;
  gap:10px;
  margin:2px 0 22px;
  padding:0;
  list-style:none;
}

.law-next-principles li{
  position:relative;
  margin:0;
  padding-left:27px;
  color:var(--law-text);
  font-family:'DM Sans',Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.4;
}

.law-next-principles li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:14px;
  height:3px;
  transform:translateY(-50%);
  border-radius:3px;
  background:var(--law-lime);
  box-shadow:0 0 0 4px rgba(239,255,170,.18);
}

.law-next-principles strong{
  font-weight:700;
}

.law-next-principles span::before{
  content:" – ";
}

.law-next-principles span{
  color:var(--law-muted);
}

@media (max-width:980px){
  .law-next-grid{
    grid-template-columns:1fr;
    gap:40px;
  }

  .law-next-orbit{
    left:-480px;
    opacity:.55;
  }
}

@media (max-width:560px){
  .law-next-section{
    padding:72px 24px 88px;
  }

  .law-next-slideshow-stage{
    border-radius:8px;
  }

  .law-next-content{
    padding:36px 28px;
  }

  .law-next-content h2{
    white-space:normal;
  }
}


@media (prefers-reduced-motion:reduce){
  .law-next-slide{
    transition:none;
  }
}

/* Kompaktes Klick-Menue, sobald die Desktop-Kopfzeile gescrollt wird. */
@media (min-width:981px){
    .law-header.is-scroll-compact .law-menu-toggle{
        position:relative;
        z-index:10002;
        display:grid;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin-left:auto;
        padding:0;
        place-items:center;
        border:1px solid rgba(0,72,62,.18);
        border-radius:5px;
        background:#f8faf9;
        color:var(--law-green);
        cursor:pointer;
    }

    .law-header.is-scroll-compact .law-menu-toggle:focus-visible{
        outline:3px solid var(--law-lime);
        outline-offset:2px;
    }

    .law-header.is-scroll-compact .law-menu-toggle-icon{
        position:relative;
        display:block;
        width:22px;
        height:16px;
    }

    .law-header.is-scroll-compact .law-menu-toggle-icon span{
        position:absolute;
        left:0;
        display:block;
        width:22px;
        height:2px;
        background:currentColor;
        transform-origin:center;
        transition:top .22s ease,transform .22s ease,opacity .18s ease;
    }

    .law-header.is-scroll-compact .law-menu-toggle-icon span:nth-child(1){top:0;}
    .law-header.is-scroll-compact .law-menu-toggle-icon span:nth-child(2){top:7px;}
    .law-header.is-scroll-compact .law-menu-toggle-icon span:nth-child(3){top:14px;}

    .law-header.is-scroll-compact.is-menu-open .law-menu-toggle-icon span:nth-child(1){
        top:7px;
        transform:rotate(45deg);
    }

    .law-header.is-scroll-compact.is-menu-open .law-menu-toggle-icon span:nth-child(2){opacity:0;}

    .law-header.is-scroll-compact.is-menu-open .law-menu-toggle-icon span:nth-child(3){
        top:7px;
        transform:rotate(-45deg);
    }

    .law-header.is-scroll-compact .law-nav{
        position:absolute !important;
        z-index:10001 !important;
        top:calc(100% + 8px) !important;
        right:max(24px,calc((100vw - 1280px) / 2)) !important;
        left:auto !important;
        display:flex !important;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        width:min(340px,calc(100vw - 48px)) !important;
        max-width:none !important;
        max-height:calc(100vh - var(--law-fixed-header-height) - 24px);
        margin:0 !important;
        padding:10px !important;
        overflow-x:hidden;
        overflow-y:auto;
        background:#fff;
        border:1px solid rgba(6,47,41,.14);
        border-radius:5px;
        box-shadow:0 16px 38px rgba(8,30,27,.16);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    }

    .law-header.is-scroll-compact.is-menu-open .law-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .law-header.is-scroll-compact .law-nav > a,
    .law-header.is-scroll-compact .law-dropdown-trigger,
    .law-header.is-scroll-compact .law-dropdown-menu > a,
    .law-header.is-scroll-compact .law-dropdown-sub-trigger,
    .law-header.is-scroll-compact .law-dropdown-sub-menu a{
        position:relative;
        display:flex !important;
        align-items:center;
        width:100%;
        min-height:48px;
        margin:0 !important;
        padding:11px 14px !important;
        color:#062f29 !important;
        font-family:'DM Sans',Arial,Helvetica,sans-serif;
        font-size:16px !important;
        font-weight:600;
        line-height:1.25;
        text-align:left;
        text-decoration:none;
        border:0 !important;
        border-bottom:1px solid rgba(6,47,41,.1) !important;
        border-radius:0 !important;
        background:#fff !important;
        box-shadow:none !important;
    }

    .law-header.is-scroll-compact .law-nav > a::before,
    .law-header.is-scroll-compact .law-nav > a::after,
    .law-header.is-scroll-compact .law-dropdown-trigger::before{
        content:none !important;
    }

    .law-header.is-scroll-compact .law-dropdown,
    .law-header.is-scroll-compact .law-dropdown-sub{
        position:relative !important;
        display:block;
        width:100% !important;
        overflow:visible !important;
    }

    .law-header.is-scroll-compact .law-dropdown-trigger,
    .law-header.is-scroll-compact .law-dropdown-sub-trigger{
        padding-right:48px !important;
        cursor:pointer;
    }

    .law-header.is-scroll-compact .law-dropdown-trigger > span,
    .law-header.is-scroll-compact .law-sub-arrow{
        display:none;
    }

    .law-header.is-scroll-compact .law-dropdown-trigger::after,
    .law-header.is-scroll-compact .law-dropdown-sub-trigger::after{
        content:"+";
        position:absolute;
        top:50%;
        right:14px;
        left:auto !important;
        display:grid;
        width:24px;
        height:24px;
        place-items:center;
        border:0 !important;
        color:#075347;
        font-size:21px;
        font-weight:400;
        line-height:1;
        transform:translateY(-50%);
    }

    .law-header.is-scroll-compact .law-dropdown.is-open > .law-dropdown-trigger::after,
    .law-header.is-scroll-compact .law-dropdown-sub.is-open > .law-dropdown-sub-trigger::after{
        content:"\2212";
    }

    .law-header.is-scroll-compact .law-dropdown-menu,
    .law-header.is-scroll-compact .law-dropdown-sub-menu{
        position:static !important;
        inset:auto !important;
        display:none !important;
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        background:#f5f8f6 !important;
        box-shadow:none !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
    }

    .law-header.is-scroll-compact .law-dropdown.is-open > .law-dropdown-menu,
    .law-header.is-scroll-compact .law-dropdown-sub.is-open > .law-dropdown-sub-menu{
        display:block !important;
    }

    .law-header.is-scroll-compact .law-dropdown-menu > a,
    .law-header.is-scroll-compact .law-dropdown-sub-trigger{
        min-height:46px;
        padding-left:28px !important;
        background:#f5f8f6 !important;
        font-size:15px !important;
    }

    .law-header.is-scroll-compact .law-dropdown-sub-menu a{
        min-height:42px;
        padding-left:42px !important;
        color:#31554f !important;
        background:#eef4f0 !important;
        font-size:14px !important;
        font-weight:550;
    }

    .law-header.is-scroll-compact .law-nav a:hover,
    .law-header.is-scroll-compact .law-nav a:focus-visible{
        color:#012d27 !important;
        background:#eff9d9 !important;
    }

    .law-header.is-scroll-compact .law-nav > .law-nav-button{
        justify-content:center;
        min-height:50px;
        margin-top:8px !important;
        color:#012d27 !important;
        background:var(--law-lime) !important;
        border-bottom:0 !important;
        border-radius:5px !important;
        font-weight:700;
    }
}


/* === Premium Hintergrund Variante 4 === */
.law-next-section{
    background:
        linear-gradient(
            180deg,
            #F7FAF8 0%,
            #FCFCFB 42%,
            #FFFFFF 100%
        ) !important;
}

.law-next-section::before{
    content:"";
    position:absolute;
    left:-260px;
    top:90px;
    width:700px;
    height:700px;
    border-radius:50%;
    background:
      radial-gradient(circle,
      rgba(234,248,174,.22) 0%,
      rgba(234,248,174,.10) 42%,
      rgba(234,248,174,.04) 58%,
      transparent 75%);
    pointer-events:none;
    z-index:0;
}

.law-next-inner{
    position:relative;
    z-index:2;
}


/* ==========================================================
   Finaler Premium-Hintergrund: hellgrün + dezenter Glow
   ========================================================== */

.law-next-section{
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #EEF8E4 0%,
            #F4FAEE 30%,
            #FAFDF8 65%,
            #FFFFFF 100%
        ) !important;

    color:var(--law-text);
    padding:110px 48px 120px;
}

.law-next-section::before{
    content:"";
    position:absolute;
    left:-220px;
    top:80px;
    width:760px;
    height:760px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(239,255,170,.38) 0%,
            rgba(239,255,170,.18) 28%,
            rgba(239,255,170,.08) 48%,
            rgba(239,255,170,.03) 62%,
            transparent 78%
        );
    pointer-events:none;
    z-index:0;
}

.law-next-inner{
    position:relative;
    z-index:2;
}

/* === HEADER-NAVIGATION: weißer Hover + transparente Tiefenfläche === */
.law-next-portrait{
  position:relative;
  z-index:3;
  top:auto;
  left:auto;
  width:154px;
  height:154px;
  margin:8px auto 28px;
  padding:0;
  overflow:hidden;
  border:3px solid var(--law-lime);
  border-radius:50%;
  background:var(--law-green);
  box-shadow:0 14px 34px rgba(1,29,25,.22),0 0 0 7px rgba(239,255,170,.18);
  transform:none;
}

.law-next-portrait img{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  object-position:53% 16%;
  transform:scale(1.18) translate(3%,-4%);
}

@media (max-width:560px){
  .law-next-section{
    padding-top:72px;
  }

  .law-next-portrait{
    top:auto;
    left:auto;
    width:138px;
    height:138px;
    margin:8px auto 26px;
    transform:none;
  }
}

.law-hero { --law-header-top: 42px; }
.law-header, .law-nav, .law-dropdown { overflow: visible; }
.law-nav { position: relative; z-index: 10; }

.law-nav > a:not(.law-nav-button),
.law-dropdown > .law-dropdown-trigger {
  position: relative;
  z-index: 1;
  border-radius: 10px;
  isolation: isolate;
  transition: background-color .22s ease, color .22s ease, box-shadow .22s ease;
}

.law-nav > a:not(.law-nav-button)::before,
.law-dropdown > .law-dropdown-trigger::before {
  content: "";
  position: absolute;
  z-index: -2;
  left: 0;
  right: 0;
  top: calc(-1 * var(--law-header-top));
  bottom: -20px;
  border-radius: 0 0 8px 8px;
  background: rgba(3,35,30,.46);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}

.law-nav > a:not(.law-nav-button)::after,
.law-dropdown > .law-dropdown-trigger::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 10px;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, box-shadow .22s ease;
}

.law-nav > a:not(.law-nav-button):hover,
.law-nav > a:not(.law-nav-button):focus-visible,
.law-dropdown:hover > .law-dropdown-trigger,
.law-dropdown:focus-within > .law-dropdown-trigger {
  background: transparent;
  color: var(--law-green-dark);
  box-shadow: none;
  outline: none;
}

.law-nav > a:not(.law-nav-button):hover::before,
.law-nav > a:not(.law-nav-button):focus-visible::before,
.law-dropdown:hover > .law-dropdown-trigger::before,
.law-dropdown:focus-within > .law-dropdown-trigger::before,
.law-nav > a:not(.law-nav-button):hover::after,
.law-nav > a:not(.law-nav-button):focus-visible::after,
.law-dropdown:hover > .law-dropdown-trigger::after,
.law-dropdown:focus-within > .law-dropdown-trigger::after { opacity: 1; }

.law-nav > a:not(.law-nav-button):hover::after,
.law-nav > a:not(.law-nav-button):focus-visible::after,
.law-dropdown:hover > .law-dropdown-trigger::after,
.law-dropdown:focus-within > .law-dropdown-trigger::after {
  box-shadow: 0 8px 22px rgba(0,0,0,.10);
}

.law-dropdown:hover > .law-dropdown-trigger span,
.law-dropdown:focus-within > .law-dropdown-trigger span {
  color: var(--law-green-dark);
}

@media (max-width: 980px) {
  .law-nav > a:not(.law-nav-button)::before,
  .law-dropdown > .law-dropdown-trigger::before {
    top: 0;
    bottom: 0;
    border-radius: 10px;
  }
}

/* ==========================================================
   UPDATE: Navigation ohne dunkelgrünen Hover-Hintergrund
   Erweiterte Hover-Zone ca. 40px um jeden Menüpunkt
   ========================================================== */

/* Alte dunkelgrüne Tiefenfläche wird neutralisiert.
   Das Pseudo-Element bleibt als unsichtbare Hover-Zone erhalten. */
.law-nav > a:not(.law-nav-button)::before,
.law-dropdown > .law-dropdown-trigger::before {
  top: -20px;
  right: -20px;
  bottom: -20px;
  left: -20px;
  border-radius: 18px;
  background: transparent !important;
  opacity: 1;
  pointer-events: auto;
}

/* Der sichtbare Hover bleibt nur die weiße, abgerundete Fläche
   direkt hinter dem Menütext. */
.law-nav > a:not(.law-nav-button)::after,
.law-dropdown > .law-dropdown-trigger::after {
  inset: 0;
  border-radius: 10px;
  background: #ffffff;
  opacity: 0;
  pointer-events: none;
}

/* Weißer Hover wird auch ausgelöst, wenn die Maus nur in der
   erweiterten 40px-Zone um den Menüpunkt liegt. */
.law-nav > a:not(.law-nav-button):hover::after,
.law-nav > a:not(.law-nav-button):focus-visible::after,
.law-dropdown:hover > .law-dropdown-trigger::after,
.law-dropdown:focus-within > .law-dropdown-trigger::after {
  opacity: 1;
}

/* Kein zusätzlicher dunkler Hintergrund mehr. */
.law-nav > a:not(.law-nav-button):hover::before,
.law-nav > a:not(.law-nav-button):focus-visible::before,
.law-dropdown:hover > .law-dropdown-trigger::before,
.law-dropdown:focus-within > .law-dropdown-trigger::before {
  background: transparent !important;
  opacity: 1;
}

@media (max-width: 980px) {
  .law-nav > a:not(.law-nav-button)::before,
  .law-dropdown > .law-dropdown-trigger::before {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
  }
}

.law-dropdown > .law-dropdown-trigger span[aria-hidden="true"]{
  display: none !important;
  width: 0;
  height: 0;
  overflow: hidden;
  margin: 0 !important;
  font-size: 0;
  line-height: 0;
}



/* ==========================================================
   Unterseite: Photovoltaikanlagen / Photovoltaik Recht
   ========================================================== */
.pv-page{background:#fff;color:var(--law-text);}
.pv-hero{position:relative;overflow:hidden;isolation:isolate;min-height:720px;padding:42px 48px 110px;background:radial-gradient(circle at 78% 22%,rgba(37,114,98,.28),transparent 36%),linear-gradient(135deg,var(--law-green) 0%,#06352f 58%,#052b26 100%);color:#fff;}
.pv-header{position:relative;z-index:5;}
.pv-orbit-bg{opacity:.82;}
.pv-hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding-top:110px;}
.pv-kicker{color:var(--law-lime);}
.pv-hero h1{max-width:920px;margin:0;font-family:'DM Serif Text',Georgia,'Times New Roman',serif;font-size:clamp(48px,6vw,86px);line-height:.95;letter-spacing:-.06em;}
.pv-hero p{max-width:720px;margin:30px 0 42px;font-size:21px;line-height:1.65;color:rgba(255,255,255,.86);}
.pv-hero-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 28px;border-radius:10px;background:var(--law-lime);color:#061f1b;text-decoration:none;font-weight:800;box-shadow:0 18px 38px rgba(0,0,0,.16);transition:transform .25s ease,box-shadow .25s ease;}
.pv-hero-button:hover{transform:translateY(-2px);box-shadow:0 24px 46px rgba(0,0,0,.22);}
.pv-content-section{position:relative;padding:100px 48px 120px;background:linear-gradient(180deg,#EEF8E4 0%,#F8FCF4 42%,#fff 100%);overflow:hidden;}
.pv-content-section::before{content:"";position:absolute;left:-240px;top:70px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(239,255,170,.35) 0%,rgba(239,255,170,.12) 44%,transparent 76%);pointer-events:none;}
.pv-content-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;}
.pv-intro-card{max-width:860px;padding:52px 56px;border-radius:28px;background:rgba(255,255,255,.86);border:1px solid rgba(7,63,54,.08);box-shadow:0 24px 64px rgba(0,0,0,.07);}
.pv-intro-card h2{margin:0 0 24px;font-family:'DM Serif Text',Georgia,'Times New Roman',serif;font-size:clamp(38px,4vw,62px);line-height:1;letter-spacing:-.055em;}
.pv-intro-card p{margin:0;color:var(--law-muted);font-size:19px;line-height:1.75;}
.pv-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:42px;}
.pv-topic-card{min-height:260px;padding:34px 28px;border-radius:22px;background:#fff;border:2px solid transparent;box-shadow:0 18px 45px rgba(0,0,0,.08);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;}
.pv-topic-card:hover{transform:translateY(-6px);border-color:var(--law-lime);box-shadow:0 0 0 3px rgba(239,255,170,.18),0 26px 58px rgba(0,0,0,.11);}
.pv-topic-card h3{margin:0 0 18px;font-family:'DM Serif Text',Georgia,'Times New Roman',serif;font-size:27px;line-height:1.08;letter-spacing:-.035em;}
.pv-topic-card p{margin:0;color:var(--law-muted);line-height:1.7;}
@media(max-width:980px){.pv-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.pv-hero,.pv-content-section{padding-left:24px;padding-right:24px;}.pv-hero-inner{padding-top:70px;}.pv-intro-card{padding:36px 28px;}.pv-topic-grid{grid-template-columns:1fr;}}


/* =========================================================
   UNIVERSAL TEMPLATE: RECHTSGEBIET PREMIUM
   Der Hero ist bewusst ca. 60 % kompakter als die bisherige
   Photovoltaik-Unterseite.
   ========================================================= */
.premium-practice-page{background:#fff;color:#101817;}
.premium-practice-hero{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    min-height:360px;
    padding:72px 48px 58px;
    background:#063f37;
    color:#fff;
}
.premium-practice-orbits{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-1;
    pointer-events:none;
}
.premium-practice-orbits circle{
    fill:none;
    stroke:rgba(205,255,178,.12);
    stroke-width:1.4;
}
.premium-practice-hero-inner{
    width:min(1400px,100%);
    margin:0 auto;
}
.premium-practice-kicker{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:15px;
    color:#efffaa;
    font-size:13px;
    line-height:1;
    font-weight:800;
    letter-spacing:.13em;
}
.premium-practice-kicker span{
    width:38px;
    height:4px;
    border-radius:99px;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.12);
}
.premium-practice-hero h1{
    max-width:1050px;
    margin:0;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:clamp(42px,5vw,74px);
    line-height:.98;
    letter-spacing:-.055em;
}
.premium-practice-intro{
    max-width:820px;
    margin:22px 0 25px;
    font-size:clamp(17px,1.4vw,21px);
    line-height:1.55;
    color:rgba(255,255,255,.88);
}
.premium-practice-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 25px;
    border-radius:10px;
    background:#efffaa;
    color:#061f1b;
    text-decoration:none;
    font-weight:800;
    transition:transform .22s ease,box-shadow .22s ease;
}
.premium-practice-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.premium-practice-content{
    padding:78px 48px 110px;
    background:linear-gradient(180deg,#f4faec 0,#fff 240px);
}
.premium-practice-content-inner{
    width:min(980px,100%);
    margin:0 auto;
    font-size:18px;
    line-height:1.8;
}
.premium-practice-content-inner h2,
.premium-practice-content-inner h3{
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    letter-spacing:-.035em;
    line-height:1.08;
}
.premium-practice-content-inner h2{font-size:clamp(34px,4vw,54px);margin:0 0 25px;}
.premium-practice-content-inner h3{font-size:clamp(26px,3vw,36px);margin:48px 0 16px;}
.premium-practice-content-inner p{margin:0 0 24px;}
.premium-practice-content-inner ul,
.premium-practice-content-inner ol{margin:0 0 28px;padding-left:1.3em;}
@media(max-width:760px){
    .premium-practice-hero{min-height:auto;padding:54px 24px 48px;}
    .premium-practice-content{padding:58px 24px 80px;}
}


/* =========================================================
   RECHTSGEBIET PREMIUM – editierbares WordPress-Template
   Front-page bleibt unberührt.
   ========================================================= */
.premium-practice-page{background:#fff;color:#101817;}
.premium-practice-hero{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    min-height:360px;
    padding:72px 48px 58px;
    background:#063f37;
    color:#fff;
}
.premium-practice-orbits{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-1;
    pointer-events:none;
}
.premium-practice-orbits circle{
    fill:none;
    stroke:rgba(205,255,178,.12);
    stroke-width:1.4;
}
.premium-practice-hero-inner{
    width:min(1400px,100%);
    margin:0 auto;
}
.premium-practice-kicker{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:15px;
    color:#efffaa;
    font-size:13px;
    line-height:1;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.premium-practice-kicker span{
    width:38px;
    height:4px;
    border-radius:99px;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.12);
}
.premium-practice-hero h1{
    max-width:1050px;
    margin:0;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:clamp(42px,5vw,74px);
    line-height:.98;
    letter-spacing:-.055em;
}
.premium-practice-intro{
    max-width:820px;
    margin:22px 0 25px;
    font-size:clamp(17px,1.4vw,21px);
    line-height:1.55;
    color:rgba(255,255,255,.88);
}
.premium-practice-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 25px;
    border-radius:10px;
    background:#efffaa;
    color:#061f1b;
    text-decoration:none;
    font-weight:800;
    transition:transform .22s ease,box-shadow .22s ease;
}
.premium-practice-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.premium-practice-content{
    padding:78px 48px 110px;
    background:linear-gradient(180deg,#f4faec 0,#fff 240px);
}
.premium-practice-content-inner{
    width:min(980px,100%);
    margin:0 auto;
    font-size:18px;
    line-height:1.8;
}
.premium-practice-content-inner h2,
.premium-practice-content-inner h3{
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    letter-spacing:-.035em;
    line-height:1.08;
}
.premium-practice-content-inner h2{font-size:clamp(34px,4vw,54px);margin:0 0 25px;}
.premium-practice-content-inner h3{font-size:clamp(26px,3vw,36px);margin:48px 0 16px;}
.premium-practice-content-inner p{margin:0 0 24px;}
.premium-practice-content-inner ul,
.premium-practice-content-inner ol{margin:0 0 28px;padding-left:1.3em;}
@media(max-width:760px){
    .premium-practice-hero{min-height:auto;padding:54px 24px 48px;}
    .premium-practice-content{padding:58px 24px 80px;}
}

/* =========================================================
   Rechtsgebiet Premium: Header exakt wie auf der Frontpage
   ========================================================= */
.premium-practice-hero{
    padding-top:42px;
}

.premium-practice-hero .law-header{
    position:relative;
    z-index:5;
    max-width:1280px;
    margin:0 auto;
}

.premium-practice-hero .premium-practice-hero-inner{
    position:relative;
    z-index:2;
    padding-top:70px;
}

@media(max-width:760px){
    .premium-practice-hero{
        padding-top:42px;
    }

    .premium-practice-hero .premium-practice-hero-inner{
        padding-top:46px;
    }
}

/* =========================================================
   Rechtsgebiet Premium: gemeinsamer Header + kompakter Hero
   ========================================================= */

/* Die Navigation wird jetzt über template-parts/law-header.php geteilt.
   Änderungen an Menülinks bitte dort vornehmen; sie gelten für Frontpage
   und alle Rechtsgebiet-Premium-Unterseiten. */

.premium-practice-hero{
    min-height:260px !important;
    padding-top:42px !important;
    padding-bottom:42px !important;
}

.premium-practice-hero .law-header{
    position:relative;
    z-index:5;
    max-width:1280px;
    margin:0 auto;
}

.premium-practice-hero .premium-practice-hero-inner{
    position:relative;
    z-index:2;
    padding-top:44px !important;
}

.premium-practice-hero h1{
    font-size:clamp(36px,4.2vw,58px) !important;
    max-width:900px;
}

.premium-practice-intro{
    margin:18px 0 0 !important;
    max-width:760px;
}

.premium-practice-cta{
    display:none !important;
}

@media(max-width:760px){
    .premium-practice-hero{
        min-height:auto !important;
        padding:32px 24px 38px !important;
    }

    .premium-practice-hero .premium-practice-hero-inner{
        padding-top:34px !important;
    }
}


/* =========================================================
   Rechtsgebiet Premium – breiter grüner Kopf, Übergangsbalken
   und Kreisstruktur im weißen Contentbereich
   ========================================================= */
.premium-practice-page{
    overflow-x:hidden;
}

.premium-practice-hero{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    box-sizing:border-box;
    background:#063f37;
}

.premium-practice-hero .premium-practice-hero-inner{
    width:min(1450px, calc(100% - 96px));
    margin:0 auto;
}

.premium-practice-intro{
    max-width:980px !important;
}

.premium-practice-transition{
    position:relative;
    width:100vw;
    height:86px;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    background:#f4faec;
    border-top:1px solid rgba(239,255,170,.45);
    border-bottom:1px solid rgba(7,63,54,.05);
}

.premium-practice-transition::before{
    content:"";
    position:absolute;
    inset:-220px auto auto -120px;
    width:780px;
    height:780px;
    border-radius:50%;
    background:repeating-radial-gradient(circle, rgba(7,63,54,.07) 0 1px, transparent 1px 78px);
    opacity:.55;
}

.premium-practice-transition::after{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    border:2px solid #efffaa;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 7px rgba(239,255,170,.28);
}

.premium-practice-transition span{
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:linear-gradient(90deg, rgba(239,255,170,0), rgba(239,255,170,.95), rgba(239,255,170,0));
}

.premium-practice-content{
    position:relative;
    overflow:hidden;
    padding-top:96px;
    background:#fff !important;
}

.premium-practice-content-orbits{
    position:absolute;
    right:-120px;
    top:-210px;
    width:min(920px,70vw);
    height:auto;
    z-index:0;
    pointer-events:none;
}

.premium-practice-content-orbits circle{
    fill:none;
    stroke:rgba(7,63,54,.075);
    stroke-width:1;
    vector-effect:non-scaling-stroke;
}

.premium-practice-content-inner{
    position:relative;
    z-index:1;
}

@media(max-width:760px){
    .premium-practice-hero .premium-practice-hero-inner{
        width:100%;
    }
    .premium-practice-transition{
        height:62px;
    }
    .premium-practice-content-orbits{
        right:-250px;
        top:-150px;
        width:760px;
    }
}

/* =========================================================
   Rechtsgebiet Premium – Feinschliff 2026-07
   Weißer Übergangsbereich, sichtbare Trennung und breiter Introtext
   ========================================================= */
.premium-practice-hero{
    position:relative;
    z-index:3;
    box-shadow:0 16px 30px rgba(6,63,55,.16);
}

.premium-practice-hero .premium-practice-hero-inner{
    width:min(1560px, calc(100% - 96px));
}

.premium-practice-hero h1{
    max-width:1180px !important;
}

.premium-practice-intro{
    max-width:1280px !important;
    width:100%;
}

.premium-practice-transition{
    z-index:2;
    height:86px;
    background:#fff !important;
    border-top:0;
    border-bottom:1px solid rgba(7,63,54,.045);
    box-shadow:0 12px 24px rgba(6,63,55,.08);
}

.premium-practice-transition::before{
    inset:-285px auto auto -110px;
    width:850px;
    height:850px;
    background:repeating-radial-gradient(circle, rgba(7,63,54,.065) 0 1px, transparent 1px 78px);
    opacity:.52;
}

.premium-practice-content{
    background:#fff !important;
}

@media(max-width:760px){
    .premium-practice-hero{
        box-shadow:0 10px 22px rgba(6,63,55,.14);
    }
    .premium-practice-hero .premium-practice-hero-inner{
        width:100%;
    }
    .premium-practice-transition{
        height:62px;
        box-shadow:0 9px 18px rgba(6,63,55,.07);
    }
}

/* =========================================================
   Rechtsgebiet Premium – nahtloser weißer Hintergrund 2026-07
   Kein mittlerer Trennstrich/Schatten, Kreisstruktur wie Front-Page
   ========================================================= */
.premium-practice-hero{
    box-shadow:none !important;
}

.premium-practice-transition{
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    height:86px;
}

.premium-practice-transition span,
.premium-practice-transition::after{
    display:none !important;
}

.premium-practice-transition::before{
    inset:-330px auto auto -140px;
    width:900px;
    height:900px;
    background:repeating-radial-gradient(circle, rgba(7,63,54,.055) 0 1px, transparent 1px 54px);
    opacity:.62;
}

.premium-practice-content{
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    padding-top:86px;
}

.premium-practice-content-orbits{
    right:-90px;
    top:-300px;
    width:min(1040px,72vw);
}

.premium-practice-content-orbits circle{
    stroke:rgba(7,63,54,.065);
}

@media(max-width:760px){
    .premium-practice-transition{
        height:58px;
        box-shadow:none !important;
    }
    .premium-practice-content{
        padding-top:58px;
    }
}

/* =========================================================
   Rechtsgebiet Premium – finaler weißer Übergang 2026-07
   Ein einziger weißer Bereich: Kreisstruktur nur rechts,
   Schatten unter Hero + Frontpage-Trennlinie mit Mittelkreis
   ========================================================= */
.premium-practice-hero{
    position:relative;
    z-index:5;
    box-shadow:0 18px 34px rgba(6,63,55,.22) !important;
}

.premium-practice-transition{
    position:relative;
    z-index:4;
    height:88px;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible;
}

/* keine zweite/links startende Kreisstruktur im Zwischenbereich */
.premium-practice-transition::before{
    display:none !important;
    content:none !important;
}

/* Frontpage-artiger Separator direkt unter dem grünen Kopf */
.premium-practice-transition span{
    display:block !important;
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:linear-gradient(90deg, rgba(239,255,170,0), rgba(239,255,170,.95), rgba(239,255,170,0));
    z-index:2;
}

.premium-practice-transition::after{
    display:block !important;
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:13px;
    height:13px;
    border-radius:50%;
    background:#fff;
    border:2px solid #efffaa;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 7px rgba(239,255,170,.26);
    z-index:3;
}

.premium-practice-content{
    position:relative;
    z-index:1;
    margin-top:-88px; /* Übergang und Content wirken wie eine einzige weiße Fläche */
    padding-top:174px;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:hidden;
}

/* Kreisstruktur wie auf der Frontpage: ein großer Kreisbereich rechts */
.premium-practice-content-orbits{
    display:block !important;
    right:-95px;
    top:-260px;
    width:min(1120px,72vw);
    opacity:1;
}

.premium-practice-content-orbits circle{
    stroke:rgba(7,63,54,.06);
    stroke-width:1;
}

@media(max-width:760px){
    .premium-practice-hero{
        box-shadow:0 12px 24px rgba(6,63,55,.18) !important;
    }
    .premium-practice-transition{
        height:58px;
    }
    .premium-practice-content{
        margin-top:-58px;
        padding-top:116px;
    }
    .premium-practice-content-orbits{
        right:-300px;
        top:-160px;
        width:820px;
    }
}

/* =========================================================
   Rechtsgebiet Premium – Unterseiten Orbit/Übergang Korrektur
   2026-07: keine weiße Lücke, stärkere Frontpage-Kreisfarbe,
   Content beginnt höher, Separator direkt unter Hero
   ========================================================= */
.premium-practice-hero{
    position:relative;
    z-index:5;
    box-shadow:0 18px 34px rgba(6,63,55,.22) !important;
}

/* Der Übergangs-Div erzeugt keine eigene Fläche mehr. Er hält nur Linie + Mittelkreis. */
.premium-practice-transition{
    position:relative;
    z-index:6;
    height:0 !important;
    min-height:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
}

.premium-practice-transition::before{
    display:none !important;
    content:none !important;
}

.premium-practice-transition span{
    display:block !important;
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:linear-gradient(90deg, rgba(239,255,170,0), rgba(239,255,170,.95), rgba(239,255,170,0));
    z-index:2;
}

.premium-practice-transition::after{
    display:block !important;
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:13px;
    height:13px;
    border-radius:50%;
    background:#fff;
    border:2px solid #efffaa;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 7px rgba(239,255,170,.26);
    z-index:3;
}

.premium-practice-content{
    position:relative;
    z-index:1;
    margin-top:0 !important;
    padding-top:54px !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:hidden;
}

/* Nur ein Kreisbereich rechts, direkt ab Beginn des weißen Bereichs. */
.premium-practice-content-orbits{
    display:block !important;
    right:-85px !important;
    top:-340px !important;
    width:min(1180px,74vw) !important;
    opacity:1 !important;
    z-index:0;
}

.premium-practice-content-orbits circle{
    fill:none !important;
    stroke:rgba(7,63,54,.09) !important;
    stroke-width:1 !important;
    vector-effect:non-scaling-stroke;
}

.premium-practice-content-inner{
    position:relative;
    z-index:1;
}

/* =========================================================
   Rechtsgebiet Premium - gemeinsame linke Achse
   Header, Hero-Text und WordPress-Inhalt starten an derselben Kante.
   ========================================================= */
.premium-practice-hero .law-header,
.premium-practice-hero .premium-practice-hero-inner,
.premium-practice-content-inner{
    width:min(1280px, calc(100% - 96px)) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.premium-practice-hero h1,
.premium-practice-intro{
    margin-left:0 !important;
    margin-right:0 !important;
}

.premium-practice-hero .premium-practice-hero-inner{
    padding-top:74px !important;
}

.premium-practice-content-inner.has-table-of-contents{
    display:grid;
    grid-template-columns:minmax(250px, 324px) minmax(0, 1fr);
    gap:72px;
    align-items:start;
}

.premium-practice-content-with-toc{
    overflow:visible !important;
}

.premium-practice-page-with-toc{
    overflow-x:clip !important;
    overflow-y:visible !important;
}

.premium-practice-toc-column{
    position:relative;
    z-index:2;
    align-self:stretch;
    min-height:100%;
}

.premium-practice-sidebar-sticky{
    position:sticky;
    top:10px !important;
    max-height:calc(100vh - 20px);
    overflow:visible;
}

body.admin-bar .premium-practice-sidebar-sticky{
    top:42px !important;
    max-height:calc(100vh - 52px);
}

.dreiling-guide-page,
.dreiling-guide-single{
    background:#fff;
    color:#071f1b;
}

.dreiling-guide-hero .premium-practice-hero-inner{
    padding-top:44px !important;
}

.dreiling-guide-hero-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:56px;
}

.dreiling-guide-hero-copy{
    min-width:0;
}

.dreiling-guide-search{
    display:flex;
    align-items:center;
    width:min(330px,100%);
    min-height:58px;
    padding:5px 7px 5px 20px;
    border:1px solid rgba(7,63,54,.12);
    border-radius:999px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 30px rgba(0,0,0,.045);
    transition:border-color .2s ease,box-shadow .2s ease;
}

.dreiling-guide-search:focus-within{
    border-color:rgba(239,255,170,.95);
    box-shadow:0 0 0 4px rgba(239,255,170,.18),0 14px 34px rgba(0,0,0,.08);
}

.dreiling-guide-search input{
    min-width:0;
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#073f36;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:15px;
    font-weight:700;
}

.dreiling-guide-search input::placeholder{
    color:#55706b;
    opacity:1;
}

.dreiling-guide-search button{
    display:grid;
    flex:0 0 44px;
    width:44px;
    height:44px;
    padding:0;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#073f36;
    color:#efffaa;
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease;
}

.dreiling-guide-search button:hover{
    background:#efffaa;
    color:#073f36;
}

.dreiling-guide-search button:focus-visible{
    outline:2px solid #efffaa;
    outline-offset:3px;
}

.dreiling-guide-content{
    position:relative;
    overflow:hidden;
    padding:54px 48px 112px;
    background:#fff;
}

.dreiling-guide-layout{
    position:relative;
    z-index:2;
    width:min(1280px, calc(100% - 96px));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(250px,324px) minmax(0,1fr);
    gap:72px;
    align-items:start;
}

.dreiling-guide-sidebar{
    position:relative;
    z-index:3;
    align-self:stretch;
}

.dreiling-guide-sidebar .premium-practice-sidebar-sticky{
    top:10px !important;
}

/* Einzelne Ratgeberbeitraege: Kontaktbox und Inhaltsverzeichnis mitscrollen. */
.dreiling-guide-single .dreiling-guide-content{
    overflow:visible !important;
}

@media (min-width:761px){
    .dreiling-guide-single .dreiling-guide-sidebar .premium-practice-sidebar-sticky{
        position:sticky !important;
        top:10px !important;
        max-height:calc(100vh - 20px);
        overflow:visible;
    }

    body.admin-bar .dreiling-guide-single .dreiling-guide-sidebar .premium-practice-sidebar-sticky{
        top:42px !important;
        max-height:calc(100vh - 52px);
    }
}

.dreiling-guide-sidebar .dreiling-contact-box{
    margin-top:0 !important;
}

.dreiling-guide-categories{
    margin-top:34px;
}

.dreiling-guide-categories-title{
    margin:0 0 18px;
    color:#073f36;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:14px;
    font-weight:800;
    letter-spacing:.08em;
    line-height:1.2;
    text-transform:uppercase;
}

.dreiling-guide-categories-list{
    margin:0;
    padding:0;
    list-style:none;
}

.dreiling-guide-categories-list li{
    margin:0;
}

.dreiling-guide-categories-list a{
    position:relative;
    display:block;
    padding:9px 0 9px 18px;
    border-left:1px solid rgba(7,63,54,.14);
    color:#334844;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:15px;
    font-weight:400;
    line-height:1.35;
    text-decoration:none;
    transition:color .2s ease,border-color .2s ease,font-weight .2s ease;
}

.dreiling-guide-categories-list a::before{
    position:absolute;
    top:9px;
    bottom:9px;
    left:-1px;
    width:2px;
    background:#efffaa;
    content:'';
    opacity:0;
    transition:opacity .2s ease;
}

.dreiling-guide-categories-list a:hover,
.dreiling-guide-categories-list a[aria-current="page"]{
    border-left-color:rgba(7,63,54,.24);
    color:#073f36;
    font-weight:800;
}

.dreiling-guide-categories-list a:hover::before,
.dreiling-guide-categories-list a[aria-current="page"]::before{
    opacity:1;
}

.dreiling-guide-categories-list a:focus-visible{
    outline:2px solid #efffaa;
    outline-offset:2px;
}

.dreiling-guide-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.dreiling-guide-search-status{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 18px;
    border:1px solid rgba(7,63,54,.1);
    background:#f8fbf6;
    color:#334844;
    font-size:15px;
}

.dreiling-guide-search-status a,
.dreiling-guide-empty a{
    color:#073f36;
    font-weight:800;
    text-underline-offset:4px;
}

.dreiling-guide-card{
    min-width:0;
}

.dreiling-guide-card-link{
    display:flex;
    min-height:100%;
    flex-direction:column;
    padding:28px 30px;
    color:inherit;
    text-decoration:none;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(7,63,54,.11);
    box-shadow:0 18px 44px rgba(7,63,54,.07);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dreiling-guide-card-image{
    display:block;
    height:74px;
    margin:0 0 22px;
    overflow:hidden;
    background:#f4faee;
    border:1px solid rgba(7,63,54,.08);
}

.dreiling-guide-card-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

.dreiling-guide-card-link:hover{
    transform:translateY(-3px);
    border-color:rgba(239,255,170,.95);
    box-shadow:0 26px 58px rgba(7,63,54,.11);
}

.dreiling-guide-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 18px;
    color:#55706b;
    font-size:12px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.dreiling-guide-card-meta span{
    color:#073f36;
}

.dreiling-guide-card h2{
    margin:0 0 14px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(7,63,54,.16);
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:clamp(21px,1.85vw,27px);
    line-height:1.2;
    letter-spacing:0;
    font-weight:750;
    color:#073f36;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

.dreiling-guide-card p{
    margin:0 0 24px;
    color:#334844;
    font-size:17px;
    line-height:1.65;
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
    -webkit-hyphens:auto;
}

.dreiling-guide-card-more{
    margin-top:auto;
    display:inline-flex;
    width:max-content;
    align-items:center;
    min-height:42px;
    padding:0 16px;
    background:#efffaa;
    color:#061f1b;
    font-weight:900;
}

.dreiling-guide-pagination{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}

.dreiling-guide-pagination a,
.dreiling-guide-pagination span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:0 14px;
    border:1px solid rgba(7,63,54,.12);
    color:#073f36;
    text-decoration:none;
    font-weight:850;
}

.dreiling-guide-pagination .current{
    background:#073f36;
    color:#efffaa;
}

.dreiling-guide-empty{
    padding:34px;
    background:#f8fbf6;
    border:1px solid rgba(7,63,54,.10);
}

.dreiling-guide-empty h2{
    margin:0 0 12px;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-weight:750;
    letter-spacing:0;
    color:#073f36;
}

.dreiling-guide-empty p{
    margin:0;
    color:#334844;
}

.dreiling-guide-article{
    min-width:0;
    background:rgba(255,255,255,.96);
    padding:4px 0 8px 32px;
    margin-left:-32px;
}

.dreiling-guide-article-head{
    margin:0 0 32px;
}

.dreiling-guide-article-image{
    height:138px;
    margin:24px 0 0;
    overflow:hidden;
    background:#f4faee;
    border:1px solid rgba(7,63,54,.10);
}

.dreiling-guide-article-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

.dreiling-guide-entry-title{
    margin:38px 0 26px;
    padding:0;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:clamp(30px,2.7vw,42px);
    line-height:1.12;
    letter-spacing:-.02em;
    font-weight:750;
    color:#071f1b;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

.dreiling-guide-article-head h2{
    margin:0 !important;
    padding:0 48px 18px 0;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:clamp(23px,2.24vw,34px);
    line-height:1.12;
    letter-spacing:0;
    font-weight:750;
    color:#071f1b;
    border-bottom:5px solid #efffaa;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

.dreiling-guide-article p,
.dreiling-guide-article li{
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:20px;
    line-height:1.5;
    text-align:justify;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

.dreiling-guide-article > h2,
.dreiling-guide-article h2.wp-block-heading{
    margin:58px 0 30px;
    padding:12px 48px 18px 0;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:clamp(24px,2.24vw,34px);
    line-height:1.12;
    letter-spacing:0;
    font-weight:750;
    color:#071f1b;
    background:rgba(239,255,170,.10);
    border-bottom:5px solid #efffaa;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

.dreiling-guide-article > h2:first-child,
.dreiling-guide-article h2.wp-block-heading:first-child{
    margin-top:0;
}

.dreiling-guide-article h3{
    margin:38px 0 14px;
    font-size:22px;
    line-height:1.25;
    font-weight:850;
    color:#073f36;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

@media(max-width:980px){
    .dreiling-guide-hero-inner{
        grid-template-columns:1fr;
        gap:24px;
    }

    .dreiling-guide-search{
        width:min(420px,100%);
    }

    .dreiling-guide-layout{
        width:100%;
        grid-template-columns:1fr;
        gap:38px;
    }
    .dreiling-guide-list{
        grid-template-columns:1fr;
    }
    .dreiling-guide-article{
        padding:0;
    margin-left:0;
    }
}

.dreiling-guide-single-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0 0 14px !important;
    color:#55706b;
    font-size:12px !important;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.dreiling-guide-single-meta a{
    color:#073f36;
    text-decoration:none;
}

.dreiling-guide-single-meta a:hover{
    text-decoration:underline;
    text-underline-offset:4px;
}

@media(max-width:760px){
    .dreiling-guide-search{
        min-height:54px;
        padding-left:17px;
    }

    .dreiling-guide-search-status{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .dreiling-guide-content{
        padding:42px 24px 82px;
    }
}

.dreiling-contact-page{
    background:#fff;
    color:#071f1b;
}

.dreiling-contact-hero{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    min-height:560px;
    padding:42px 48px 96px;
    background:
        radial-gradient(circle at 72% 28%,rgba(37,114,98,.28),transparent 36%),
        linear-gradient(135deg,#073f36 0%,#06352f 58%,#052b26 100%);
    color:#fff;
}

.dreiling-contact-hero-orbits{
    position:absolute;
    inset:-22% -16% -10% -18%;
    width:138%;
    height:138%;
    pointer-events:none;
    z-index:1;
}

.dreiling-contact-hero-orbits circle{
    fill:none;
    stroke:rgba(255,255,255,.082);
    stroke-width:1;
    vector-effect:non-scaling-stroke;
}

.dreiling-contact-hero .law-header{
    position:relative;
    z-index:5;
}

.dreiling-contact-hero-inner{
    position:relative;
    z-index:2;
    width:min(1280px,100%);
    margin:0 auto;
    padding-top:88px;
}

.dreiling-contact-hero h1{
    max-width:960px;
    margin:0 0 26px;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:clamp(48px,6vw,82px);
    line-height:.95;
    letter-spacing:-.055em;
}

.dreiling-contact-hero p{
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.84);
    font-size:22px;
    line-height:1.58;
}

.dreiling-contact-content{
    position:relative;
    padding:78px 48px 112px;
    overflow:hidden;
    background:#fff;
}

.dreiling-contact-content::before{
    content:"";
    position:absolute;
    right:-130px;
    top:-210px;
    width:820px;
    height:820px;
    border-radius:50%;
    background:repeating-radial-gradient(circle,rgba(7,63,54,.07) 0 1px,transparent 1px 54px);
    pointer-events:none;
}

.dreiling-contact-section-divider{
    position:relative;
    height:45px;
    margin-top:-45px;
    z-index:4;
    overflow:hidden;
    background:
        linear-gradient(110deg,transparent 0%,rgba(255,255,255,.58) 18%,rgba(239,255,170,.50) 34%,rgba(173,230,214,.42) 52%,rgba(255,255,255,.54) 68%,transparent 100%),
        linear-gradient(135deg,#eaf4ee 0%,#f7fbf3 48%,#eef8e4 100%);
}

.dreiling-contact-section-divider span{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:linear-gradient(90deg,rgba(239,255,170,0),rgba(239,255,170,.95),rgba(239,255,170,0));
}

.dreiling-contact-section-divider::after{
    content:none;
    position:absolute;
    left:50%;
    top:50%;
    width:13px;
    height:13px;
    border-radius:50%;
    background:#efffaa;
    border:2px solid #efffaa;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 7px rgba(239,255,170,.18),0 0 26px rgba(239,255,170,.42);
}

.dreiling-contact-process{
    position:relative;
    overflow:hidden;
    padding:56px 48px 96px;
    background:
        linear-gradient(
            180deg,
            #EEF8E4 0%,
            #F4FAEE 30%,
            #FFFFFF 100%
        ) !important;
    color:#071f1b;
}

.dreiling-contact-process::before{
    content:"";
    position:absolute;
    left:-220px;
    top:48px;
    width:760px;
    height:760px;
    border-radius:50%;
    background:
        repeating-radial-gradient(
            circle,
            rgba(7,63,54,.065) 0 1px,
            transparent 1px 72px
        );
    pointer-events:none;
    opacity:.72;
}

.dreiling-contact-process-orbits{
    position:absolute;
    right:-170px;
    top:-210px;
    width:820px;
    height:820px;
    pointer-events:none;
    opacity:.86;
    z-index:1;
}

.dreiling-contact-process-orbits svg{
    width:100%;
    height:100%;
    display:block;
}

.dreiling-contact-process-orbits circle{
    fill:none;
    stroke:rgba(7,63,54,.075);
    stroke-width:1;
    vector-effect:non-scaling-stroke;
}

.dreiling-contact-process-inner{
    position:relative;
    z-index:2;
    width:min(1280px,100%);
    margin:0 auto;
}

.dreiling-contact-process-head{
    max-width:820px;
    margin:0 0 44px;
}

.dreiling-contact-process-right{
    position:relative;
    z-index:2;
    min-width:0;
    padding-top:6px;
}

.dreiling-contact-flow-label{
    margin:0 0 18px 116px;
}

.dreiling-contact-flow-label .law-section-kicker{
    margin-bottom:0;
}

.dreiling-contact-process-head h2{
    margin:0;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:clamp(38px,4vw,58px);
    line-height:.98;
    letter-spacing:-.055em;
}

.dreiling-contact-process-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
    align-items:stretch;
}

.dreiling-contact-step{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:26px 24px 28px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(7,63,54,.10);
    box-shadow:0 18px 46px rgba(7,63,54,.07);
}

.dreiling-contact-step::before{
    content:"";
    position:absolute;
    left:24px;
    right:24px;
    top:86px;
    height:2px;
    background:linear-gradient(90deg,rgba(7,63,54,.08),#efffaa,rgba(7,63,54,.08));
}

.dreiling-contact-step-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:34px;
}

.dreiling-contact-step-number{
    color:#073f36;
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
}

.dreiling-contact-step-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:8px;
    background:#efffaa;
    color:#073f36;
    font-size:25px;
    font-weight:900;
    box-shadow:0 10px 24px rgba(7,63,54,.11);
}

.dreiling-contact-step h3{
    margin:0 0 14px;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:26px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:0;
    color:#073f36;
}

.dreiling-contact-step p{
    margin:0;
    color:#334844;
    font-size:16px;
    line-height:1.66;
}

.dreiling-contact-step p + p{
    margin-top:14px;
}

.dreiling-contact-step a{
    color:#073f36;
    font-weight:900;
    text-decoration-thickness:2px;
    text-underline-offset:3px;
}

.dreiling-contact-step-fee{
    margin-top:auto !important;
    padding-top:16px;
    color:#173d37 !important;
    font-weight:760;
}

.dreiling-contact-content-inner{
    position:relative;
    z-index:1;
    width:min(1280px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(280px,380px) minmax(0,1fr);
    gap:72px;
    align-items:start;
}

.dreiling-contact-aside{
    position:sticky;
    top:24px;
    padding-top:8px;
}

.dreiling-contact-aside h2{
    margin:0 0 24px;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:clamp(34px,3.2vw,48px);
    line-height:1.02;
    letter-spacing:-.04em;
}

.dreiling-contact-aside ul{
    list-style:none;
    margin:0 0 34px;
    padding:0;
    display:grid;
    gap:14px;
}

.dreiling-contact-aside li{
    position:relative;
    padding-left:30px;
    color:#334844;
    font-size:17px;
    line-height:1.5;
    font-weight:650;
}

.dreiling-contact-aside li::before{
    content:"";
    position:absolute;
    left:0;
    top:.72em;
    width:16px;
    height:4px;
    border-radius:99px;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.24);
}

.dreiling-contact-direct{
    padding:22px;
    background:#f8fbf6;
    border:1px solid rgba(7,63,54,.12);
    box-shadow:0 16px 38px rgba(7,63,54,.06);
}

.dreiling-contact-direct p{
    margin:0 0 12px;
    color:#55706b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.dreiling-contact-direct a{
    display:block;
    margin-top:8px;
    color:#073f36;
    font-weight:800;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.dreiling-contact-form-panel{
    background:#fff;
    border:1px solid rgba(7,63,54,.12);
    box-shadow:0 24px 62px rgba(7,63,54,.10);
    padding:34px;
}

.dreiling-contact-form{
    display:grid;
    gap:20px;
}

.dreiling-contact-form p{
    margin:0;
}

.dreiling-contact-form label{
    display:block;
    margin:0 0 8px;
    color:#31504b;
    font-size:13px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.dreiling-contact-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.dreiling-contact-form input,
.dreiling-contact-form select,
.dreiling-contact-form textarea{
    width:100%;
    min-height:52px;
    padding:14px 15px;
    border:1px solid rgba(7,63,54,.18);
    border-radius:4px;
    background:#f8fbf6;
    color:#071f1b;
    font:inherit;
}

.dreiling-contact-form textarea{
    min-height:180px;
    resize:vertical;
}

.dreiling-contact-form input:focus,
.dreiling-contact-form select:focus,
.dreiling-contact-form textarea:focus{
    outline:2px solid rgba(239,255,170,.95);
    outline-offset:2px;
    border-color:#073f36;
    background:#fff;
}

.dreiling-contact-consent{
    display:grid !important;
    grid-template-columns:22px minmax(0,1fr);
    gap:12px;
    align-items:start;
    margin:2px 0 0 !important;
    color:#334844 !important;
    font-size:14px !important;
    line-height:1.55;
    letter-spacing:0 !important;
    text-transform:none !important;
    font-weight:600 !important;
}

.dreiling-contact-consent input{
    width:18px;
    min-height:18px;
    margin-top:2px;
    accent-color:#073f36;
}

.dreiling-contact-form-hint{
    padding:14px 16px;
    background:rgba(239,255,170,.28);
    color:#334844;
    font-size:14px;
    line-height:1.55;
}

.dreiling-contact-form-submit{
    min-height:56px;
    border:0;
    border-radius:4px;
    background:#efffaa;
    color:#061f1b;
    font:inherit;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(7,63,54,.14);
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.dreiling-contact-form-submit:hover{
    transform:translateY(-2px);
    background:#e7f89b;
    box-shadow:0 20px 42px rgba(7,63,54,.2);
}

.dreiling-contact-form-notice{
    padding:14px 16px;
    font-weight:800;
    line-height:1.45;
}

.dreiling-contact-form-notice.is-success{
    background:rgba(7,63,54,.08);
    color:#073f36;
}

.dreiling-contact-form-notice.is-error{
    background:#fff0f0;
    color:#9b1c1c;
}

.dreiling-contact-form-trap{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

@media(max-width:980px){
    .dreiling-contact-hero,
    .dreiling-contact-process,
    .dreiling-contact-content{
        padding-left:24px;
        padding-right:24px;
    }
    .dreiling-contact-process-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .dreiling-contact-process-orbits{
        right:-420px;
        opacity:.54;
    }
    .dreiling-contact-content-inner{
        grid-template-columns:1fr;
        gap:42px;
    }
    .dreiling-contact-aside{
        position:static;
    }
}

@media(max-width:620px){
    .dreiling-contact-process{
        padding-top:72px;
        padding-bottom:78px;
    }
    .dreiling-contact-process-grid{
        grid-template-columns:1fr;
    }
    .dreiling-contact-hero{
        min-height:auto;
        padding-bottom:72px;
    }
    .dreiling-contact-hero-inner{
        padding-top:64px;
    }
    .dreiling-contact-form-panel{
        padding:24px;
    }
    .dreiling-contact-form-grid{
        grid-template-columns:1fr;
    }
}

.dreiling-contact-hero{
    min-height:260px !important;
    padding-top:42px !important;
    padding-bottom:42px !important;
}

.dreiling-contact-hero-inner{
    width:min(1280px, calc(100% - 96px)) !important;
    padding-top:44px !important;
}

.dreiling-contact-hero h1{
    max-width:900px !important;
    font-size:clamp(36px,4.2vw,58px) !important;
    line-height:.98 !important;
}

.dreiling-contact-hero p{
    max-width:760px !important;
    margin-top:18px !important;
    font-size:20px !important;
    line-height:1.58 !important;
}

.dreiling-contact-hero.dreiling-contact-hero-without-intro{
    min-height:0 !important;
    padding-bottom:28px !important;
}

.dreiling-contact-hero.dreiling-contact-hero-without-intro h1{
    margin-bottom:0 !important;
}

@media(max-width:760px){
    .dreiling-contact-hero{
        min-height:auto !important;
        padding:32px 24px 38px !important;
    }
    .dreiling-contact-hero-inner{
        width:100% !important;
        padding-top:34px !important;
    }
}

/* Kontaktaufnahme - geschlossenes Premium-Prozessmodul */
.dreiling-contact-process{
    padding:56px 48px 104px !important;
    background:
        linear-gradient(180deg,#eef8e4 0%,#f7fbf3 48%,#ffffff 100%) !important;
}

.dreiling-contact-process-orbits{
    right:-120px !important;
    top:-180px !important;
    width:760px !important;
    height:760px !important;
    opacity:.72 !important;
}

.dreiling-contact-process-shell{
    position:relative;
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:54px;
    align-items:stretch;
    padding:34px;
    overflow:hidden;
    background:
        linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,252,246,.88)),
        radial-gradient(circle at 92% 10%,rgba(239,255,170,.34),transparent 28%);
    border:1px solid rgba(7,63,54,.12);
    box-shadow:0 34px 90px rgba(7,63,54,.13);
}

.dreiling-contact-process-shell::before{
    content:"";
    position:absolute;
    inset:18px;
    border:1px solid rgba(7,63,54,.075);
    pointer-events:none;
}

.dreiling-contact-process-shell::after{
    content:"";
    position:absolute;
    right:-160px;
    bottom:-170px;
    width:440px;
    height:440px;
    border-radius:50%;
    background:repeating-radial-gradient(circle,rgba(7,63,54,.07) 0 1px,transparent 1px 48px);
    pointer-events:none;
}

.dreiling-contact-process-head{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    margin:0 !important;
    max-width:none !important;
    padding:30px;
    background:
        linear-gradient(135deg,#073f36 0%,#06352f 64%,#052b26 100%);
    color:#fff;
    overflow:hidden;
}

.dreiling-contact-process-head::before{
    content:"";
    position:absolute;
    inset:-190px -180px auto auto;
    width:440px;
    height:440px;
    border-radius:50%;
    background:repeating-radial-gradient(circle,rgba(255,255,255,.075) 0 1px,transparent 1px 50px);
    pointer-events:none;
}

.dreiling-contact-process-head.dreiling-contact-process-photo{
    min-height:0;
    padding:25px 12px 12px;
    background:transparent;
}

.dreiling-contact-process-head.dreiling-contact-process-photo::before{
    display:none;
}

.dreiling-contact-process-photo-frame{
    width:100%;
    height:auto;
    flex:0 0 auto;
    min-height:0;
    margin:0;
    overflow:hidden;
    border:1px solid rgba(239,255,170,.58);
    box-shadow:0 8px 24px rgba(1,29,25,.2);
}

.dreiling-contact-process-photo-frame img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center top;
    transform:none;
    transition:none;
}

/* Kontaktaufnahme: grosse Ansprechpartnerkarte nach dem Vorbild der Ratgeberbox. */
.dreiling-contact-process-head.dreiling-contact-process-photo{
    align-self:start;
    padding:25px 12px 18px;
    background:linear-gradient(180deg,#fff 0%,#f8fbf6 100%);
    border:1px solid rgba(7,63,54,.12);
    box-shadow:0 18px 46px rgba(7,63,54,.08);
}

.dreiling-contact-process-photo-frame{
    position:relative;
    z-index:1;
}

.dreiling-contact-process-profile{
    position:relative;
    z-index:2;
    padding:24px 10px 4px;
    text-align:left;
}

.dreiling-contact-process-profile .dreiling-contact-box-kicker,
.dreiling-contact-process-profile .dreiling-contact-box-name,
.dreiling-contact-process-profile .dreiling-contact-box-profession,
.dreiling-contact-process-profile .dreiling-contact-box-regions,
.dreiling-contact-process-profile .dreiling-contact-box-audience{
    max-width:none;
}

.dreiling-contact-process-profile .dreiling-contact-box-kicker{
    color:#55706b;
    font-size:12px !important;
}

.dreiling-contact-process-profile .dreiling-contact-box-name{
    color:#073f36;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:24px !important;
    line-height:1.05;
}

.dreiling-contact-process-profile .dreiling-contact-box-profession{
    color:#073f36;
    font-size:14px !important;
    line-height:1.3;
}

.dreiling-contact-process-profile .dreiling-contact-box-regions{
    color:#60726e;
    font-size:11px !important;
    line-height:1.45;
}

.dreiling-contact-process-profile .dreiling-contact-box-audience{
    color:#073f36;
    font-size:14px !important;
    line-height:1.45;
}

.dreiling-contact-process-profile .dreiling-contact-box-detail{
    text-decoration:none;
}

.dreiling-contact-process-head .law-section-kicker{
    color:#efffaa;
}

.dreiling-contact-process-head h2{
    position:relative;
    z-index:1;
    max-width:520px;
    margin:0 0 22px !important;
    color:#fff;
    font-size:clamp(35px,3.9vw,56px) !important;
}

.dreiling-contact-process-head p{
    position:relative;
    z-index:1;
    max-width:520px;
    margin:0 0 30px;
    color:rgba(255,255,255,.82);
    font-size:18px;
    line-height:1.65;
}

.dreiling-contact-process-cta{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:50px;
    padding:0 22px;
    background:#efffaa;
    color:#061f1b;
    text-decoration:none;
    font-weight:900;
    box-shadow:0 16px 34px rgba(0,0,0,.16);
}

.dreiling-contact-process-flow{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:14px 0;
}

.dreiling-contact-process-flow::before{
    content:"";
    position:absolute;
    left:54px;
    top:34px;
    bottom:34px;
    width:8px;
    background:
        linear-gradient(180deg,rgba(239,255,170,.28),#efffaa 18%,rgba(7,63,54,.20) 50%,#efffaa 82%,rgba(239,255,170,.28));
    box-shadow:0 0 0 1px rgba(7,63,54,.08),0 18px 42px rgba(7,63,54,.10);
}

.dreiling-contact-process-flow .dreiling-contact-step{
    display:grid !important;
    grid-template-columns:116px minmax(0,1fr);
    gap:26px;
    min-height:0 !important;
    padding:20px 0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.dreiling-contact-process-flow .dreiling-contact-step::before{
    content:none !important;
}

.dreiling-contact-step-marker{
    position:relative;
    display:grid;
    place-items:center;
    width:116px;
    min-height:96px;
}

.dreiling-contact-step-number{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:78px;
    height:78px;
    min-height:78px;
    border-radius:50%;
    background:
        radial-gradient(circle at 34% 28%,#ffffff 0%,#ffffff 42%,#f4faee 100%);
    color:#073f36 !important;
    border:1px solid rgba(7,63,54,.14);
    box-shadow:0 18px 38px rgba(7,63,54,.13),0 0 0 8px rgba(255,255,255,.82),inset 0 0 0 7px rgba(239,255,170,.38);
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:30px !important;
    line-height:1;
    font-weight:900;
    letter-spacing:-.035em !important;
}

.dreiling-contact-step-number::after{
    content:"";
    position:absolute;
    right:10px;
    bottom:12px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.24);
}

.dreiling-contact-step-icon{
    display:none !important;
}

.dreiling-contact-step-body{
    position:relative;
    padding:22px 24px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(7,63,54,.08);
    box-shadow:0 14px 38px rgba(7,63,54,.055);
}

.dreiling-contact-step-body::before{
    content:"";
    position:absolute;
    left:-24px;
    top:50%;
    width:24px;
    height:1px;
    background:linear-gradient(90deg,rgba(7,63,54,.34),rgba(7,63,54,.08));
}

.dreiling-contact-step h3{
    margin:0 0 10px !important;
    color:#073f36 !important;
    font-size:24px !important;
}

.dreiling-contact-step p{
    max-width:760px;
    color:#334844 !important;
    font-size:16px !important;
    line-height:1.62 !important;
}

.dreiling-contact-step-fee{
    display:inline-flex;
    width:100%;
    box-sizing:border-box;
    margin-top:12px !important;
    padding:9px 12px !important;
    background:rgba(239,255,170,.44);
    color:#173d37 !important;
    font-size:14px !important;
    font-weight:850 !important;
}

.dreiling-contact-step-fee-prices{
    display:grid;
    grid-template-columns:max-content max-content 1fr;
    align-items:center;
    gap:5px 8px;
}

.dreiling-contact-price-row{
    display:contents;
}

.dreiling-contact-price-arrow{
    color:#073f36;
    font-size:15px;
    line-height:1;
}

.dreiling-contact-step-fee-note{
    margin:10px 0 0 !important;
    color:#60726e !important;
    font-size:13px !important;
    line-height:1.5 !important;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

@media(max-width:980px){
    .dreiling-contact-process-shell{
        grid-template-columns:1fr;
        gap:28px;
        padding:24px;
    }
    .dreiling-contact-flow-label{
        margin-left:0;
    }
    .dreiling-contact-process-head.dreiling-contact-process-photo{
        height:auto;
    }
}

@media(max-width:620px){
    .dreiling-contact-process{
        padding-top:42px !important;
        padding-bottom:76px !important;
    }
    .dreiling-contact-process-shell{
        padding:18px;
    }
    .dreiling-contact-process-head{
        padding:26px 22px;
    }
    .dreiling-contact-process-head.dreiling-contact-process-photo{
        height:auto;
        padding:25px 12px 12px;
    }
    .dreiling-contact-process-flow::before{
        left:31px;
        width:6px;
    }
    .dreiling-contact-process-flow .dreiling-contact-step{
        grid-template-columns:64px minmax(0,1fr);
        gap:16px;
    }
    .dreiling-contact-step-marker{
        width:64px;
        min-height:74px;
    }
    .dreiling-contact-step-number{
        width:54px;
        height:54px;
        min-height:54px;
        font-size:21px !important;
        box-shadow:0 12px 26px rgba(7,63,54,.13),0 0 0 5px rgba(255,255,255,.78),inset 0 0 0 5px rgba(239,255,170,.34);
    }
    .dreiling-contact-step-number::after{
        right:7px;
        bottom:8px;
        width:7px;
        height:7px;
    }
    .dreiling-contact-step-body{
        padding:18px;
    }
    .dreiling-contact-step-body::before{
        left:-16px;
        width:16px;
    }
}

.dreiling-contact-box{
    position:relative;
    margin:12px 0 34px;
    padding:0 22px 22px;
    overflow:hidden;
    background:
        linear-gradient(180deg,rgba(7,63,54,0) 0 116px,#ffffff 116px,#f8fbf6 100%);
    border:1px solid rgba(7,63,54,.12);
    box-shadow:0 18px 46px rgba(7,63,54,.08);
}

.dreiling-contact-box::before{
    content:"";
    display:block;
    height:116px;
    margin:0 -22px -56px;
    background:
        linear-gradient(115deg,transparent 0%,rgba(239,255,170,.045) 42%,rgba(255,255,255,.055) 49%,rgba(239,255,170,.035) 56%,transparent 70%),
        radial-gradient(circle at 76% 4%,transparent 0 42px,rgba(239,255,170,.14) 42px 43px,transparent 43px 92px,rgba(255,255,255,.09) 92px 93px,transparent 93px 151px,rgba(255,255,255,.06) 151px 152px,transparent 152px 214px,rgba(255,255,255,.08) 214px 215px,transparent 215px),
        radial-gradient(circle at 75% 10%,rgba(37,114,98,.42),transparent 42%),
        linear-gradient(135deg,#073f36 0%,#06352f 58%,#052b26 100%);
    background-size:220% 100%,360px 360px,100% 100%,100% 100%;
    background-position:-120% 0,0 0,0 0,0 0;
    clip-path:polygon(0 0,100% 0,100% 82%,0 100%);
    animation:dreiling-contact-holo 9s ease-in-out infinite;
}

@keyframes dreiling-contact-holo{
    0%,100%{
        background-position:-120% 0,0 0,0 0,0 0;
    }
    50%{
        background-position:120% 0,0 0,0 0,0 0;
    }
}

.dreiling-contact-box-media{
    width:124px;
    height:124px;
    margin:-76px auto 22px;
    border-radius:50%;
    overflow:hidden;
    border:3px solid #efffaa;
    box-shadow:0 0 0 6px rgba(239,255,170,.22);
    background:#f4faec;
    position:relative;
    z-index:2;
}

.dreiling-contact-box-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 25%;
    transform:scale(1.188);
    transform-origin:center;
}

.dreiling-contact-box-kicker{
    position:relative;
    z-index:2;
    margin:0 0 5px !important;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#55706b;
}

.dreiling-contact-box-name{
    position:relative;
    z-index:2;
    margin:0 0 2px !important;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:24px;
    line-height:1.05;
    letter-spacing:-.035em;
    color:#073f36;
}

.dreiling-contact-box-profession{
    position:relative;
    z-index:2;
    margin:0 0 7px !important;
    color:#073f36;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:14px !important;
    font-weight:700;
    line-height:1.3 !important;
    letter-spacing:0;
}

.dreiling-contact-box-regions{
    position:relative;
    z-index:2;
    margin:0 0 3px !important;
    color:#60726e;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:11px !important;
    font-weight:600;
    line-height:1.45 !important;
    letter-spacing:0;
    overflow-wrap:break-word;
}

.dreiling-contact-box-audience{
    position:relative;
    z-index:2;
    margin:0 0 15px !important;
    color:#073f36;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:14px !important;
    font-weight:700;
    line-height:1.45 !important;
    letter-spacing:0;
}

.dreiling-contact-box-links{
    position:relative;
    z-index:2;
    display:grid;
    gap:8px;
    margin:0 0 18px;
}

.dreiling-contact-box-detail{
    display:flex;
    align-items:center;
    gap:9px;
    color:#263634;
    font-size:14px;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.dreiling-contact-box-detail svg{
    flex:0 0 16px;
    width:16px;
    height:16px;
    stroke:#55706b;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dreiling-contact-box-button{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:0 16px;
    background:#efffaa;
    color:#061f1b;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    box-shadow:0 12px 28px rgba(7,63,54,.12);
}

.dreiling-toc{
    max-height:calc(100vh - 560px);
    overflow:auto;
    padding-left:0;
    padding-right:0;
    scrollbar-width:none;
    -ms-overflow-style:none;
}

.dreiling-toc::-webkit-scrollbar{
    width:0;
    height:0;
}

.dreiling-toc::-webkit-scrollbar-track{
    background:transparent;
}

.dreiling-toc::-webkit-scrollbar-thumb{
    min-height:34px;
    border:3px solid transparent;
    border-radius:999px;
    background:transparent;
    background-clip:content-box;
}

.dreiling-toc::-webkit-scrollbar-thumb:hover{
    background:transparent;
    background-clip:content-box;
}

.dreiling-toc::-webkit-scrollbar-button:single-button{
    display:none;
    height:0;
    background:transparent;
}

.dreiling-toc::-webkit-scrollbar-button:single-button:vertical:decrement{
    background:transparent;
}

.dreiling-toc::-webkit-scrollbar-button:single-button:vertical:increment{
    background:transparent;
}

.dreiling-toc-title{
    margin:0 0 18px !important;
    font-size:14px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#073f36;
    cursor:pointer;
    list-style:none;
}

.dreiling-toc-title::-webkit-details-marker{
    display:none;
}

.dreiling-toc-title::after{
    content:none;
}

.dreiling-toc[open] .dreiling-toc-title::after{
    content:none;
}

.dreiling-toc-list{
    list-style:none;
    margin:0;
    padding:0;
}

.dreiling-toc-item{
    margin:0;
}

.dreiling-toc-item a{
    position:relative;
    display:block;
    padding:8px 0 8px 14px;
    color:#263634;
    text-decoration:none;
    font-size:15px;
    line-height:1.4;
    border-left:1px solid rgba(7,63,54,.14);
    transition:color .2s ease, border-color .2s ease, font-weight .2s ease;
}

.dreiling-toc-item a::before{
    content:"";
    position:absolute;
    left:-1px;
    top:8px;
    bottom:8px;
    width:2px;
    background:#efffaa;
    opacity:0;
    transition:opacity .2s ease;
}

.dreiling-toc-item a:hover,
.dreiling-toc-item a[aria-current="true"]{
    color:#073f36;
    font-weight:800;
    border-left-color:rgba(7,63,54,.22);
}

.dreiling-toc-item a:hover::before,
.dreiling-toc-item a[aria-current="true"]::before{
    opacity:1;
}

.dreiling-toc-item-h3 a{
    padding-left:26px;
    font-size:14px;
    color:#50615e;
}

.premium-practice-main-content{
    min-width:0;
    position:relative;
    z-index:2;
    background:rgba(255,255,255,.96);
    padding:4px 0 8px 32px;
    margin-left:-32px;
}

.premium-practice-main-content p,
.premium-practice-main-content li{
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:20px;
    line-height:1.5;
    text-align:justify;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
}

.premium-practice-main-content ul{
    list-style:none;
    padding-left:0 !important;
    margin:0 0 30px !important;
}

.premium-practice-main-content ul li{
    position:relative;
    padding-left:34px;
    margin:0 0 16px;
}

.premium-practice-main-content ul li::before{
    content:"";
    position:absolute;
    left:0;
    top:.76em;
    width:18px;
    height:4px;
    border-radius:999px;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.20);
}

.premium-practice-main-content ul.dreiling-compact-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 12px;
    margin:18px 0 34px !important;
    padding:0 !important;
}

.premium-practice-main-content ul.dreiling-compact-list li{
    display:flex;
    align-items:center;
    min-height:42px;
    margin:0;
    padding:10px 14px 10px 38px;
    background:linear-gradient(135deg,rgba(244,250,236,.82),rgba(255,255,255,.96));
    box-shadow:0 10px 24px rgba(7,63,54,.045);
    font-size:18px;
    line-height:1.35;
    text-align:left;
    hyphens:auto;
}

.premium-practice-main-content ul.dreiling-compact-list li::before{
    left:14px;
    top:50%;
    width:14px;
    height:4px;
    transform:translateY(-50%);
    box-shadow:0 0 0 3px rgba(239,255,170,.18);
}

@media(max-width:760px){
    .premium-practice-main-content ul.dreiling-compact-list{
        grid-template-columns:1fr;
    }
}

.premium-practice-main-content h2{
    position:relative;
    margin:58px 0 30px !important;
    padding:12px 48px 18px 0;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:clamp(24px,2.24vw,34px) !important;
    line-height:1.12;
    letter-spacing:0;
    font-weight:750;
    color:#071f1b;
    background:rgba(239,255,170,.10);
}

.premium-practice-main-content h2:first-child{
    margin-top:0 !important;
}

.premium-practice-main-content h2::before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:54px;
    max-width:100%;
    height:5px;
    border-radius:999px;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.22);
    transition:width .55s ease;
}

.premium-practice-section.is-active > h2::before{
    width:min(320px,100%);
}

.premium-practice-section-toggle{
    position:absolute;
    right:0;
    top:.16em;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid rgba(7,63,54,.12);
    background:#fff;
    color:#073f36;
    cursor:pointer;
}

.premium-practice-section-toggle span,
.premium-practice-section-toggle span::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform:translate(-50%,-50%);
}

.premium-practice-section-toggle span::before{
    transform:translate(-50%,-50%) rotate(90deg);
    transition:opacity .2s ease;
}

.premium-practice-section:not(.is-collapsed) .premium-practice-section-toggle span::before{
    opacity:0;
}

.premium-practice-section-body{
    display:block;
}

.premium-practice-section.is-collapsed .premium-practice-section-body{
    display:none;
}

.premium-practice-section.is-collapsed > h2{
    margin-bottom:34px !important;
}

.premium-practice-section{
    padding:0;
}

.premium-practice-section:nth-of-type(even){
    margin-left:-30px;
    margin-right:-30px;
    padding:34px 30px 38px;
    background:linear-gradient(135deg,rgba(239,255,170,.10),rgba(7,63,54,.025));
}

.premium-practice-section:nth-of-type(even) > h2:first-child{
    margin-top:0 !important;
}

.premium-practice-main-content h3{
    margin:38px 0 14px !important;
    font-family:'DM Sans',Arial,Helvetica,sans-serif !important;
    font-size:22px !important;
    line-height:1.25;
    letter-spacing:0 !important;
    font-weight:800;
    color:#073f36;
}

.premium-practice-subsection{
    margin:34px 0;
}

.premium-practice-subsection > h3{
    position:relative;
    margin:0 !important;
    padding:0 60px 22px 0;
    border:0;
    background:transparent;
    box-shadow:none;
}

.premium-practice-subsection > h3::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,rgba(7,63,54,.42),rgba(7,63,54,.18),rgba(7,63,54,.42));
}

.premium-practice-subsection > h3::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    width:11px;
    height:11px;
    border-radius:50%;
    background:#efffaa;
    border:2px solid #fff;
    box-shadow:0 0 0 6px rgba(239,255,170,.24);
    transform:translate(-50%,50%);
}

.premium-practice-subsection-body{
    margin-top:22px;
}

.premium-practice-subsection.is-collapsed .premium-practice-subsection-body{
    display:none;
}

.premium-practice-subsection-toggle{
    position:absolute;
    right:0;
    top:0;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    background:transparent;
    color:#073f36;
    cursor:pointer;
}

.premium-practice-subsection-toggle span,
.premium-practice-subsection-toggle span::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:13px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform:translate(-50%,-50%);
}

.premium-practice-subsection-toggle span::before{
    transform:translate(-50%,-50%) rotate(90deg);
    transition:opacity .2s ease;
}

.premium-practice-subsection:not(.is-collapsed) .premium-practice-subsection-toggle span::before{
    opacity:0;
}

.dreiling-question-box{
    position:relative;
    margin:28px 0 30px;
    padding:30px 34px;
    background:linear-gradient(135deg,rgba(239,255,170,.32),rgba(244,250,236,.88));
    border:0;
    box-shadow:0 16px 36px rgba(7,63,54,.055);
    overflow:hidden;
}

.dreiling-question-box::before,
.dreiling-question-box::after{
    position:absolute;
    font-family:'DM Serif Text',Georgia,'Times New Roman',serif;
    font-size:86px;
    line-height:1;
    color:rgba(7,63,54,.14);
    pointer-events:none;
}

.dreiling-question-box::before{
    content:"\201C";
    left:18px;
    top:2px;
}

.dreiling-question-box::after{
    content:"\201D";
    right:18px;
    bottom:-28px;
}

.dreiling-question-box p{
    position:relative;
    z-index:1;
    margin:0 !important;
    padding-left:10px;
    padding-right:10px;
    color:#2f6f55;
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    font-size:22px;
    line-height:1.5;
    font-weight:700;
    text-align:left;
    hyphens:auto;
}

.dreiling-example-box{
    position:relative;
    margin:34px 0;
    padding:16px 34px 32px 0;
    background:linear-gradient(135deg,rgba(244,250,236,.78),rgba(255,255,255,.96));
    box-shadow:0 18px 42px rgba(7,63,54,.055);
    overflow:hidden;
}

.dreiling-example-box::before{
    content:"";
    position:absolute;
    right:-190px;
    top:-210px;
    width:520px;
    height:520px;
    border-radius:50%;
    background:repeating-radial-gradient(circle,rgba(7,63,54,.075) 0 1px,transparent 1px 54px);
    pointer-events:none;
}

.dreiling-example-box-kicker{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px !important;
    padding:10px 14px;
    background:linear-gradient(135deg,#073f36 0%,#06352f 100%);
    color:#fff;
    font-family:'DM Sans',Arial,Helvetica,sans-serif !important;
    font-size:13px !important;
    font-weight:800;
    letter-spacing:.08em;
    line-height:1.2 !important;
    text-transform:uppercase;
    text-align:left !important;
}

.dreiling-example-box-kicker::before{
    content:"";
    width:34px;
    height:5px;
    border-radius:999px;
    background:#efffaa;
    box-shadow:0 0 0 4px rgba(239,255,170,.16);
}

.dreiling-example-box-content{
    position:relative;
    z-index:1;
}

.dreiling-example-box-content p{
    margin:0 0 18px !important;
}

.dreiling-example-box-content p:last-child{
    margin-bottom:0 !important;
}

.premium-practice-main-content h2,
.premium-practice-main-content h3{
    scroll-margin-top:42px;
}

@media(max-width:760px){
    .premium-practice-hero .law-header,
    .premium-practice-hero .premium-practice-hero-inner,
    .premium-practice-content-inner{
        width:100% !important;
    }
    .premium-practice-hero .premium-practice-hero-inner{
        padding-top:64px !important;
    }
    .premium-practice-content-inner.has-table-of-contents{
        display:block;
    }
    .premium-practice-sidebar-sticky{
        position:sticky;
        top:10px !important;
        z-index:20;
        max-height:calc(100vh - 20px);
        overflow:visible;
    }
    body.admin-bar .premium-practice-sidebar-sticky{
        top:56px !important;
        max-height:calc(100vh - 66px);
    }
    .dreiling-toc{
        margin:0 0 36px;
        max-height:55vh;
        overflow:auto;
        padding:16px 18px;
        background:#fff;
        border:1px solid rgba(7,63,54,.12);
        box-shadow:0 14px 34px rgba(7,63,54,.10);
    }
    .dreiling-contact-box{
        margin-bottom:24px;
    }
    .dreiling-toc-title{
        margin:0 !important;
    }
    .dreiling-toc-title::after{
        content:"+";
        float:right;
        font-size:16px;
        line-height:1;
    }
    .dreiling-toc[open] .dreiling-toc-title::after{
        content:"-";
    }
    .dreiling-toc[open] .dreiling-toc-title{
        margin:0 0 14px !important;
    }
    .premium-practice-main-content h2,
    .premium-practice-main-content h3{
        scroll-margin-top:92px;
    }
    .premium-practice-main-content{
        padding:0;
        margin-left:0;
    }
    .premium-practice-section:nth-of-type(even){
        margin-left:-18px;
        margin-right:-18px;
        padding:28px 18px 32px;
    }
    .premium-practice-content{
        padding-top:42px !important;
    }
    .premium-practice-content-orbits{
        right:-300px !important;
        top:-170px !important;
        width:840px !important;
    }
}

/* Ratgeber: Sidebar exakt auf die Oberkante der ersten Beitragskarte setzen. */
@media(min-width:981px){
    .dreiling-guide-page .dreiling-guide-sidebar{
        margin-top:0 !important;
    }

    .dreiling-guide-page .dreiling-guide-sidebar .premium-practice-sidebar-sticky{
        position:static !important;
        top:auto !important;
        max-height:none !important;
    }

    .dreiling-guide-page .dreiling-guide-sidebar .dreiling-contact-box{
        margin-top:0 !important;
        margin-bottom:0 !important;
    }
}

/* Ratgeber-Navigation: Untermenüs dürfen über den kompakten Hero hinausragen. */
.dreiling-guide-page .dreiling-guide-hero{
    overflow:visible !important;
    z-index:100 !important;
}

.dreiling-guide-page .dreiling-guide-hero .law-header{
    z-index:1000 !important;
}

.dreiling-guide-page .dreiling-guide-hero .law-dropdown-menu{
    z-index:1100;
}

.dreiling-guide-page .dreiling-guide-hero .law-dropdown-sub-menu{
    z-index:1200;
}

.dreiling-guide-page .dreiling-guide-content{
    z-index:1;
}

/* Kontaktaufnahme-Navigation: Untermenues duerfen ueber den kompakten Hero hinausragen. */
.dreiling-contact-page .dreiling-contact-hero{
    overflow:visible !important;
    z-index:100 !important;
}

.dreiling-contact-page .dreiling-contact-hero .law-header{
    z-index:1000 !important;
}

.dreiling-contact-page .dreiling-contact-hero .law-dropdown-menu{
    z-index:1100;
}

.dreiling-contact-page .dreiling-contact-hero .law-dropdown-sub-menu{
    z-index:1200;
}

.dreiling-contact-page .dreiling-contact-process,
.dreiling-contact-page .dreiling-contact-content{
    z-index:1;
}

/* Globale Navigation: Dropdowns werden auf keiner Seite vom Hero abgeschnitten. */
.law-hero,
.pv-hero,
.premium-practice-hero,
.dreiling-contact-hero{
    position:relative;
    overflow-x:clip !important;
    overflow-y:visible !important;
    z-index:100 !important;
}

.law-header{
    position:relative;
    z-index:1000 !important;
}

.law-header .law-dropdown-menu{
    z-index:1100 !important;
}

.law-header .law-dropdown-sub-menu{
    z-index:1200 !important;
}

.law-practice,
.premium-practice-transition,
.premium-practice-content,
.dreiling-guide-content,
.dreiling-contact-process,
.dreiling-contact-content{
    position:relative;
    z-index:1 !important;
}

/* Einheitliche, kompakte Typografie innerhalb aller WordPress-Artikel. */
.law-practice article h1,
.law-practice article h2,
.law-practice article h3,
.law-practice article h4,
.law-practice article h5,
.law-practice article h6,
.law-practice article .wp-block-heading{
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    line-height:1.12;
    letter-spacing:0;
}

.law-practice article p,
.law-practice article li{
    font-family:'DM Sans',Arial,Helvetica,sans-serif;
    line-height:1.5;
}

/* Globale Kopfzeile: auf allen Seitentypen identisch und vollbreit. */
.law-hero,
.premium-practice-hero,
.dreiling-guide-hero,
.dreiling-contact-hero{
    padding-top:0 !important;
}

/* Heller Abschluss der dunkelgruenen Kopfbereiche auf allen Unterseiten. */
.premium-practice-hero,
.dreiling-guide-hero,
.dreiling-contact-hero,
.pv-hero{
    border-bottom:3px solid var(--law-lime) !important;
}

/* Hero-Inhalt 10px tiefer, bei unveraenderter Gesamthoehe. */
.premium-practice-hero,
.dreiling-guide-hero,
.dreiling-contact-hero{
    padding-bottom:32px !important;
}

.pv-hero{
    padding-bottom:100px !important;
}

.premium-practice-hero .premium-practice-hero-inner,
.dreiling-guide-hero .premium-practice-hero-inner,
.dreiling-contact-hero .dreiling-contact-hero-inner,
.pv-hero .pv-hero-inner{
    padding-top:35px !important;
}

.premium-practice-hero.premium-practice-hero-without-intro,
.dreiling-contact-hero.dreiling-contact-hero-without-intro{
    min-height:0 !important;
    padding-bottom:18px !important;
}

.law-hero > .law-header,
.premium-practice-hero > .law-header,
.dreiling-guide-hero > .law-header,
.dreiling-contact-hero > .law-header{
    width:100vw !important;
    max-width:none !important;
    margin-top:0 !important;
    margin-right:calc(50% - 50vw) !important;
    margin-left:calc(50% - 50vw) !important;
    padding:8px max(24px, calc((100vw - 1280px) / 2)) 7px !important;
    background:#ffffff;
    border-bottom:3px solid var(--law-lime);
    box-shadow:0 10px 28px rgba(1,29,25,.22);
}

.law-header .law-logo img{
    width:clamp(200px,19.2vw,272px);
}

/* Kompakte, gestufte Hauptnavigation fuer Mobilgeraete. */
.law-menu-toggle{
    display:none;
}

@media (max-width:980px){
    body.law-mobile-menu-open{
        overflow:hidden;
    }

    .law-hero > .law-header,
    .premium-practice-hero > .law-header,
    .dreiling-guide-hero > .law-header,
    .dreiling-contact-hero > .law-header{
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:16px;
        min-height:70px;
        padding:8px 18px 7px !important;
    }

    .law-header .law-logo{
        display:flex;
        align-items:center;
        min-width:0;
    }

    .law-header .law-logo img{
        display:block;
        width:min(224px,calc(100vw - 94px));
        height:auto;
    }

    .law-menu-toggle{
        position:relative;
        z-index:10002;
        display:grid;
        flex:0 0 46px;
        width:46px;
        height:46px;
        padding:0;
        place-items:center;
        border:1px solid rgba(0,72,62,.2);
        border-radius:6px;
        background:#f7faf8;
        color:var(--law-green);
        cursor:pointer;
    }

    .law-header.is-mobile-scrolled .law-menu-toggle{
        position:fixed;
        top:0;
        right:0;
        z-index:10002;
        background:#fff;
        box-shadow:0 10px 28px rgba(1,29,25,.22);
    }

    body.admin-bar .law-header.is-mobile-scrolled .law-menu-toggle{
        top:0;
    }

    .law-menu-toggle:focus-visible{
        outline:3px solid var(--law-lime);
        outline-offset:2px;
    }

    .law-menu-toggle-icon{
        position:relative;
        display:block;
        width:22px;
        height:16px;
    }

    .law-menu-toggle-icon span{
        position:absolute;
        left:0;
        display:block;
        width:22px;
        height:2px;
        background:currentColor;
        transform-origin:center;
        transition:top .22s ease,transform .22s ease,opacity .18s ease;
    }

    .law-menu-toggle-icon span:nth-child(1){top:0;}
    .law-menu-toggle-icon span:nth-child(2){top:7px;}
    .law-menu-toggle-icon span:nth-child(3){top:14px;}

    .law-header.is-menu-open .law-menu-toggle-icon span:nth-child(1){
        top:7px;
        transform:rotate(45deg);
    }

    .law-header.is-menu-open .law-menu-toggle-icon span:nth-child(2){
        opacity:0;
    }

    .law-header.is-menu-open .law-menu-toggle-icon span:nth-child(3){
        top:7px;
        transform:rotate(-45deg);
    }

    .law-header .law-nav{
        position:fixed !important;
        z-index:10001 !important;
        top:var(--law-mobile-menu-top,70px) !important;
        right:0 !important;
        bottom:0;
        left:0 !important;
        display:block !important;
        width:100% !important;
        max-width:none !important;
        height:auto;
        margin:0 !important;
        padding:10px 16px max(22px,env(safe-area-inset-bottom)) !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        overscroll-behavior:contain;
        scrollbar-width:none;
        background:#fff;
        border:0;
        box-shadow:0 18px 34px rgba(1,29,25,.18);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    }

    .law-header.is-menu-open .law-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .law-header .law-nav::-webkit-scrollbar{
        display:none;
    }

    .law-header .law-nav > a,
    .law-header .law-dropdown-trigger,
    .law-header .law-dropdown-menu > a,
    .law-header .law-dropdown-sub-trigger,
    .law-header .law-dropdown-sub-menu a{
        position:relative;
        display:flex !important;
        align-items:center;
        width:100%;
        min-height:52px;
        margin:0 !important;
        padding:13px 14px !important;
        color:#062f29 !important;
        font-family:'DM Sans',Arial,Helvetica,sans-serif;
        font-size:17px !important;
        font-weight:650;
        line-height:1.25;
        text-align:left;
        text-decoration:none;
        border:0 !important;
        border-bottom:1px solid rgba(6,47,41,.1) !important;
        border-radius:0 !important;
        background:#fff !important;
        box-shadow:none !important;
    }

    .law-header .law-nav > a::before,
    .law-header .law-nav > a::after{
        content:none !important;
    }

    .law-header .law-dropdown,
    .law-header .law-dropdown-sub{
        position:relative !important;
        display:block;
        width:100% !important;
        overflow:visible !important;
    }

    .law-header .law-dropdown-trigger{
        padding-right:52px !important;
    }

    .law-header .law-dropdown-trigger > span{
        display:none;
    }

    .law-header .law-dropdown-trigger::before{
        content:none !important;
    }

    .law-header .law-dropdown-trigger::after,
    .law-header .law-dropdown-sub-trigger::after{
        content:"+";
        position:absolute;
        top:50%;
        left:auto !important;
        right:14px;
        display:grid;
        width:26px;
        height:26px;
        place-items:center;
        border:0 !important;
        color:#075347;
        font-size:22px;
        font-weight:400;
        line-height:1;
        transform:translateY(-50%);
    }

    .law-header .law-dropdown.is-open > .law-dropdown-trigger::after,
    .law-header .law-dropdown-sub.is-open > .law-dropdown-sub-trigger::after{
        content:"\2212";
        transform:translateY(-50%);
    }

    .law-header .law-dropdown-menu,
    .law-header .law-dropdown-sub-menu{
        position:static !important;
        inset:auto !important;
        display:none !important;
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        background:#f5f8f6 !important;
        box-shadow:none !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
    }

    .law-header .law-dropdown.is-open > .law-dropdown-menu,
    .law-header .law-dropdown-sub.is-open > .law-dropdown-sub-menu{
        display:block !important;
    }

    .law-header .law-dropdown-menu > a,
    .law-header .law-dropdown-sub-trigger{
        min-height:48px;
        padding-left:30px !important;
        background:#f5f8f6 !important;
        font-size:16px !important;
    }

    .law-header .law-dropdown-sub-trigger{
        padding-right:52px !important;
        cursor:pointer;
    }

    .law-header .law-sub-arrow{
        display:none;
    }

    .law-header .law-dropdown-sub-menu a{
        min-height:44px;
        padding:11px 22px 11px 46px !important;
        color:#31554f !important;
        background:#eef4f0 !important;
        font-size:15px !important;
        font-weight:550;
    }

    .law-header .law-nav a:hover,
    .law-header .law-nav a:focus-visible{
        color:#012d27 !important;
        background:#eff9d9 !important;
    }

    .law-header .law-nav > .law-nav-button{
        justify-content:center;
        min-height:54px;
        margin-top:12px !important;
        color:#012d27 !important;
        background:var(--law-lime) !important;
        border-bottom:0 !important;
        border-radius:6px !important;
        font-weight:750;
    }

    .law-header .law-nav .law-nav-contact{
        display:flex;
        flex-direction:column;
        gap:12px;
        margin:22px 0 0;
        padding:18px 16px 0;
        border-top:1px solid rgba(7,63,54,.14);
    }

    .law-header .law-nav .law-nav-contact a{
        display:flex !important;
        align-items:center;
        gap:11px;
        min-height:28px !important;
        padding:0 !important;
        border:0 !important;
        color:var(--law-green) !important;
        background:transparent !important;
        font-size:15px !important;
        font-weight:600;
        text-decoration:none;
    }

    .law-nav-contact svg{
        width:20px;
        height:20px;
        flex:0 0 20px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.7;
        stroke-linecap:round;
        stroke-linejoin:round;
    }
}

@media (prefers-reduced-motion:reduce){
    .law-menu-toggle-icon span,
    .law-header .law-nav,
    .law-header .law-dropdown-trigger::after,
    .law-header .law-dropdown-sub-trigger::after{
        transition:none;
    }
}

/* Mobile Kontaktleiste fuer Premium-Rechtsgebietsseiten. */
.premium-mobile-contact{
    display:none;
}

@media (max-width:760px){
    body.has-premium-mobile-contact .dreiling-contact-box{
        display:none !important;
    }

    body.has-premium-mobile-contact .premium-mobile-contact-panel .dreiling-contact-box{
        display:block !important;
    }

    body.has-premium-mobile-contact{
        padding-bottom:54px;
    }

    body.dreiling-contact-drawer-open{
        overflow:hidden;
    }

    body.law-mobile-menu-open .premium-mobile-contact{
        opacity:0;
        pointer-events:none;
    }

    .premium-mobile-contact{
        position:fixed;
        z-index:10020;
        right:8px;
        bottom:max(8px,env(safe-area-inset-bottom));
        left:8px;
        display:block;
        font-family:'DM Sans',Arial,Helvetica,sans-serif;
        transition:opacity .16s ease;
    }

    .premium-mobile-contact-toggle{
        position:relative;
        z-index:3;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        min-height:46px;
        padding:9px 14px 9px 16px;
        border:1px solid rgba(239,255,170,.34);
        border-radius:5px;
        background:#073f36;
        box-shadow:0 -8px 24px rgba(3,39,33,.16);
        color:#fff;
        font:700 13px/1.25 'DM Sans',Arial,Helvetica,sans-serif;
        letter-spacing:0;
        text-align:left;
        cursor:pointer;
    }

    .premium-mobile-contact-toggle:focus-visible,
    .premium-mobile-contact-close:focus-visible{
        outline:3px solid #efffaa;
        outline-offset:2px;
    }

    .premium-mobile-contact-arrow{
        position:relative;
        flex:0 0 27px;
        width:27px;
        height:27px;
        border-radius:50%;
        background:rgba(239,255,170,.1);
        box-shadow:0 0 12px rgba(239,255,170,.34);
    }

    .premium-mobile-contact-arrow::before{
        content:"";
        position:absolute;
        left:9px;
        top:10px;
        width:7px;
        height:7px;
        border-top:2px solid #efffaa;
        border-left:2px solid #efffaa;
        transform:rotate(45deg);
    }

    .premium-mobile-contact-arrow::after{
        content:"";
        position:absolute;
        left:13px;
        top:10px;
        width:2px;
        height:9px;
        background:#efffaa;
        box-shadow:0 0 7px rgba(239,255,170,.75);
    }

    .premium-mobile-contact-backdrop{
        position:fixed;
        z-index:1;
        inset:0;
        display:block;
        width:100%;
        height:100%;
        padding:0;
        border:0;
        background:rgba(3,28,24,.42);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .2s ease,visibility .2s ease;
    }

    .premium-mobile-contact-panel{
        position:fixed;
        z-index:2;
        right:10px;
        bottom:62px;
        left:10px;
        max-height:calc(100dvh - 82px);
        padding:10px;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;
        border:1px solid rgba(7,63,54,.14);
        border-radius:6px;
        background:#fff;
        box-shadow:0 24px 70px rgba(2,35,30,.3);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(18px);
        transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
        scrollbar-width:none;
    }

    .premium-mobile-contact-panel::-webkit-scrollbar{
        display:none;
    }

    .premium-mobile-contact.is-open .premium-mobile-contact-backdrop,
    .premium-mobile-contact.is-open .premium-mobile-contact-panel{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    .premium-mobile-contact.is-open .premium-mobile-contact-panel{
        transform:translateY(0);
    }

    .premium-mobile-contact-close{
        position:sticky;
        z-index:10;
        top:0;
        float:right;
        display:grid;
        width:38px;
        height:38px;
        margin:0 0 -38px;
        padding:0;
        place-items:center;
        border:1px solid rgba(7,63,54,.16);
        border-radius:4px;
        background:rgba(255,255,255,.94);
        color:#073f36;
        font:400 27px/1 'DM Sans',Arial,Helvetica,sans-serif;
        cursor:pointer;
    }

    .premium-mobile-contact-panel .dreiling-contact-box{
        width:100%;
        margin:0;
        box-shadow:none;
    }
}

/* Kontaktaufnahme: klarer, linearer Ablauf auf kleinen Bildschirmen. */
@media (max-width:620px){
    .dreiling-contact-process{
        padding:34px 16px 64px !important;
    }

    .dreiling-contact-process-shell{
        display:block;
        padding:0;
        overflow:visible;
        background:transparent;
        border:0;
        box-shadow:none;
    }

    .dreiling-contact-process-shell::before,
    .dreiling-contact-process-shell::after{
        display:none !important;
    }

    .dreiling-contact-process-head.dreiling-contact-process-photo{
        display:block !important;
        width:100%;
        height:clamp(120px,36vw,150px);
        margin:0 0 24px !important;
        padding:0;
        overflow:hidden;
        background:#fff;
    }

    .dreiling-contact-process-photo-frame{
        width:100%;
        height:100%;
        border:1px solid rgba(7,63,54,.16);
        box-shadow:0 12px 30px rgba(7,63,54,.08);
    }

    .dreiling-contact-process-photo-frame img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center 27%;
    }

    .dreiling-contact-process-right{
        padding:0;
    }

    .dreiling-contact-flow-label{
        margin:0 0 20px;
    }

    .dreiling-contact-process-flow{
        display:grid;
        grid-template-columns:1fr;
        gap:44px;
        padding:0;
        counter-reset:contact-mobile-step;
    }

    .dreiling-contact-process-flow::before{
        content:none !important;
    }

    .dreiling-contact-process-flow .dreiling-contact-step{
        position:relative;
        display:block !important;
        width:100%;
        min-width:0;
        padding:0 !important;
        background:rgba(255,255,255,.94) !important;
        border:1px solid rgba(7,63,54,.16) !important;
        box-shadow:0 12px 30px rgba(7,63,54,.08) !important;
        counter-increment:contact-mobile-step;
    }

    .dreiling-contact-process-flow .dreiling-contact-step:not(:last-child)::after{
        content:"\2193";
        position:absolute;
        z-index:3;
        left:50%;
        bottom:-38px;
        display:grid;
        width:32px;
        height:32px;
        place-items:center;
        color:#075347;
        font:500 25px/1 'DM Sans',Arial,Helvetica,sans-serif;
        transform:translateX(-50%);
    }

    .dreiling-contact-step-marker{
        position:absolute;
        z-index:4;
        top:14px;
        left:14px;
        display:block;
        width:auto;
        min-height:0;
    }

    .dreiling-contact-step-number{
        width:38px;
        height:38px;
        min-height:38px;
        border-radius:3px;
        background:#073f36;
        border:0;
        color:#efffaa !important;
        box-shadow:none;
        font-family:'DM Sans',Arial,Helvetica,sans-serif;
        font-size:0 !important;
        font-weight:700;
        letter-spacing:.04em !important;
    }

    .dreiling-contact-step-number::before{
        content:counter(contact-mobile-step);
        font-size:14px;
        line-height:1;
    }

    .dreiling-contact-step-number::after{
        content:none;
    }

    .dreiling-contact-step-body{
        min-width:0;
        padding:66px 18px 22px;
        background:transparent;
        border:0;
        box-shadow:none;
    }

    .dreiling-contact-step-body::before{
        content:none;
    }

    .dreiling-contact-step h3{
        margin-bottom:12px !important;
        font-family:'DM Sans',Arial,Helvetica,sans-serif;
        font-size:22px !important;
        line-height:1.15;
        letter-spacing:0;
    }

    .dreiling-contact-step p{
        font-size:15px !important;
        line-height:1.55 !important;
        overflow-wrap:anywhere;
    }

    .dreiling-contact-step-fee-prices{
        display:block;
    }

    .dreiling-contact-price-row{
        display:flex;
        flex-wrap:wrap;
        gap:3px 7px;
        margin-bottom:7px;
    }
}

@media (prefers-reduced-motion:reduce){
    .premium-mobile-contact,
    .premium-mobile-contact-backdrop,
    .premium-mobile-contact-panel{
        transition:none;
    }
}

/* Mobile Artikeluebersicht: kompakt, nicht sticky und bei Bedarf aufklappbar. */
@media (max-width:760px){
    .premium-practice-sidebar-sticky,
    body.admin-bar .premium-practice-sidebar-sticky{
        position:static !important;
        top:auto !important;
        z-index:auto;
        max-height:none !important;
        overflow:visible;
    }

    .premium-practice-toc-column{
        min-height:0;
    }

    .dreiling-toc{
        width:100%;
        max-height:none;
        margin:0 0 28px;
        padding:0;
        overflow:hidden;
        border:1px solid rgba(7,63,54,.13);
        border-radius:5px;
        background:rgba(255,255,255,.97);
        box-shadow:0 10px 28px rgba(7,63,54,.07);
    }

    .dreiling-toc[open]{
        max-height:55vh;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;
    }

    .dreiling-toc-title,
    .dreiling-toc[open] .dreiling-toc-title{
        position:sticky;
        z-index:3;
        top:0;
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:50px;
        margin:0 !important;
        padding:13px 16px;
        background:#fff;
        color:#073f36;
        font-size:13px;
        line-height:1.2;
        border-bottom:0;
    }

    .dreiling-toc[open] .dreiling-toc-title{
        border-bottom:1px solid rgba(7,63,54,.1);
    }

    .dreiling-toc-title::after,
    .dreiling-toc[open] .dreiling-toc-title::after{
        float:none;
        display:grid;
        flex:0 0 26px;
        width:26px;
        height:26px;
        margin-left:16px;
        place-items:center;
        border-radius:50%;
        background:#f3f8ee;
        color:#075347;
        font-size:19px;
        font-weight:400;
        line-height:1;
    }

    .dreiling-toc-title::after{
        content:"+";
    }

    .dreiling-toc[open] .dreiling-toc-title::after{
        content:"\2212";
    }

    .dreiling-toc-list{
        padding:8px 14px 14px;
    }

    .dreiling-toc-item a{
        padding-top:7px;
        padding-bottom:7px;
        font-size:14px;
        line-height:1.35;
    }

    .dreiling-toc-item-h3 a{
        padding-left:24px;
        font-size:13px;
    }
}
/* Kompakte Serifentitel in den gruenen Seitenkoepfen der Unterseiten. */
.premium-practice-hero h1,
.dreiling-guide-hero h1,
.dreiling-contact-hero h1,
.pv-hero h1 {
  font-family: 'DM Serif Text', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(24px, 2.56vw, 38.4px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  text-shadow:
    0 4px 18px rgba(0, 0, 0, 0.42),
    0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Einzelbeitrag Ratgeber: kompakter Hero mit 25px Gruen unter dem Kicker. */
.dreiling-guide-single .dreiling-guide-hero{
  min-height:0 !important;
  padding-bottom:25px !important;
}

/* Dezenter Akzent unter dem fett gesetzten Einleitungstitel eines Artikels. */
:is(
  .premium-practice-main-content > p:first-child,
  .premium-practice-content-inner:not(.has-table-of-contents) > p:first-child,
  .dreiling-guide-article-head + p
):has(> strong:only-child)::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 13px;
  background: linear-gradient(
    90deg,
    rgba(7, 63, 54, 0.66) 0 50%,
    rgba(76, 119, 107, 0.42) 50% 100%
  );
}

/* Einheitliche, kompaktere Zwischenueberschriften in Rechtsgebieten und Ratgeberartikeln. */
:is(
  .premium-practice-main-content,
  .dreiling-guide-article
) h2,
.dreiling-guide-article-head h2 {
  font-size: clamp(20px, calc(2.24vw - 4px), 30px) !important;
}

:is(
  .premium-practice-main-content,
  .dreiling-guide-article
) h3 {
  font-size: clamp(18px, calc(2.24vw - 6px), 28px) !important;
  color: #141414 !important;
}

/* Impressum: Abschnittstitel wie in den uebrigen Inhaltsseiten. */
.page-id-529 .premium-practice-content-inner > h2 {
  margin: 42px 0 20px !important;
  font-family: 'DM Sans', Arial, Helvetica, sans-serif !important;
  font-size: clamp(20px, calc(2.24vw - 4px), 30px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  color: #141414 !important;
}

.page-id-529 .premium-practice-content-inner > h2:first-child {
  margin-top: 0 !important;
}

/* Desktop-Navigation: Akzentlinie waechst beim Hover aus der Mitte. */
@media (min-width: 981px) {
  .law-nav > a:not(.law-nav-button)::after,
  .law-dropdown > .law-dropdown-trigger::after {
    background:
      linear-gradient(90deg, rgba(96, 108, 105, .26), rgba(96, 108, 105, .26))
        center calc(100% - 5px) / 0 1px no-repeat,
      #fff;
    transition:
      opacity .22s ease,
      box-shadow .22s ease,
      background-size .32s cubic-bezier(.22, .7, .25, 1);
  }

  .law-nav > a:not(.law-nav-button):hover::after,
  .law-nav > a:not(.law-nav-button):focus-visible::after,
  .law-dropdown:hover > .law-dropdown-trigger::after,
  .law-dropdown:focus-within > .law-dropdown-trigger::after {
    background-size: calc(100% - 36px) 1px, auto;
  }

  .law-nav-button {
    background:
      linear-gradient(90deg, rgba(96, 108, 105, .26), rgba(96, 108, 105, .26))
        center calc(100% - 7px) / 0 1px no-repeat,
      var(--law-lime);
    transition:
      transform .22s ease,
      background-size .32s cubic-bezier(.22, .7, .25, 1);
  }

  .law-nav-button:hover,
  .law-nav-button:focus-visible {
    background-size: calc(100% - 40px) 1px, auto;
  }
}

/* Desktop-Navigation: dunkelgruene Hover-Flaeche faehrt von oben aus. */
@media (min-width: 981px) {
  .law-nav > a:not(.law-nav-button)::after,
  .law-dropdown > .law-dropdown-trigger::after {
    top: -24px;
    right: -4px;
    bottom: auto;
    left: -4px;
    height: 15px;
    border-radius: 0 0 2px 2px;
    background: #083B34;
    box-shadow: none;
    opacity: 1;
    transform: scaleY(0);
    transform-origin: center top;
    transition: transform .3s cubic-bezier(.22, .7, .25, 1);
  }

  .law-nav > a:not(.law-nav-button):hover,
  .law-nav > a:not(.law-nav-button):focus-visible,
  .law-dropdown:hover > .law-dropdown-trigger,
  .law-dropdown:focus-within > .law-dropdown-trigger {
    color: #000 !important;
  }

  .law-nav > a:not(.law-nav-button):hover::after,
  .law-nav > a:not(.law-nav-button):focus-visible::after,
  .law-dropdown:hover > .law-dropdown-trigger::after,
  .law-dropdown:focus-within > .law-dropdown-trigger::after {
    background: #083B34;
    background-size: auto;
    box-shadow: none;
    transform: scaleY(1);
  }

  .law-dropdown:hover > .law-dropdown-trigger span,
  .law-dropdown:focus-within > .law-dropdown-trigger span {
    color: #000 !important;
  }
}

@media (min-width: 981px) and (prefers-reduced-motion: reduce) {
  .law-nav > a:not(.law-nav-button)::after,
  .law-dropdown > .law-dropdown-trigger::after {
    transition: none;
  }
}

/* Kontakt-CTA: Kreis- und Pfeilmotiv der grossen Direktkontaktbox. */
@media (min-width: 981px) {
  .law-nav > .law-nav-button {
    position: relative;
    overflow: hidden;
    min-height: 0;
    padding: 13px 18px !important;
    background: var(--law-lime);
    box-shadow: inset 0 0 0 1px rgba(8, 59, 52, 0);
    transition:
      background-color .22s ease,
      box-shadow .22s ease;
  }

  .law-nav > .law-nav-button::before {
    content: none;
  }

  .law-nav > .law-nav-button::after {
    content: none;
  }

  .law-nav > .law-nav-button:hover,
  .law-nav > .law-nav-button:focus-visible {
    color: #000 !important;
    background: #f2ffb4;
    box-shadow: inset 0 0 0 1px rgba(8, 59, 52, .08);
    transform: none;
  }
}

@media (min-width: 981px) and (prefers-reduced-motion: reduce) {
  .law-nav > .law-nav-button,
  .law-nav > .law-nav-button::after {
    transition: none;
  }
}

/* Desktop: Die unveraenderte Topbar versteckt sich beim Scrollen rechts. */
@media (min-width:981px) {
  .law-header.is-scroll-compact {
    position:fixed !important;
    z-index:10000 !important;
    top:18px !important;
    right:max(24px, calc((100vw - 1280px) / 2)) !important;
    left:auto !important;
    display:flex !important;
    justify-content:flex-end !important;
    width:54px !important;
    min-height:54px !important;
    margin:0 !important;
    padding:5px !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:7px !important;
    background:#fff !important;
    box-shadow:0 12px 30px rgba(1,29,25,.24) !important;
    transition:width .3s cubic-bezier(.22,.7,.25,1), padding .3s ease, border-radius .3s ease;
  }

  body.admin-bar .law-header.is-scroll-compact {
    top:50px !important;
  }

  .law-header.is-scroll-compact .law-logo,
  .law-header.is-scroll-compact .law-nav {
    display:none !important;
  }

  .law-header.is-scroll-compact .law-menu-toggle {
    position:relative !important;
    inset:auto !important;
    display:grid !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    margin:0 !important;
    padding:0 !important;
    place-items:center !important;
    border:1px solid rgba(0,72,62,.18) !important;
    border-radius:5px !important;
    background:#f8faf9 !important;
    color:var(--law-green) !important;
    cursor:pointer;
  }

  .law-header.is-scroll-compact.is-menu-open {
    right:0 !important;
    width:100vw !important;
    min-height:0 !important;
    padding:8px max(24px, calc((100vw - 1280px) / 2)) 7px !important;
    border-bottom:3px solid var(--law-lime) !important;
    border-radius:0 !important;
  }

  body.admin-bar .law-header.is-scroll-compact.is-menu-open {
    top:32px !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-logo {
    display:inline-flex !important;
    margin-right:auto !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-nav {
    position:static !important;
    inset:auto !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:14px !important;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 14px 0 0 !important;
    padding:0 !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-nav > a,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown-trigger {
    display:inline-flex !important;
    width:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:13px 18px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:var(--law-green) !important;
    font-size:17px !important;
    font-weight:500 !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-nav > .law-nav-button {
    padding:13px 18px !important;
    border-radius:8px !important;
    background:var(--law-lime) !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown {
    position:relative !important;
    width:auto !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown-trigger > span,
  .law-header.is-scroll-compact.is-menu-open .law-sub-arrow {
    display:inline !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown-trigger::after {
    content:none !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown-menu,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown-sub-menu {
    position:absolute !important;
    display:block !important;
    width:220px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown-menu {
    top:calc(100% + 10px) !important;
    right:auto !important;
    bottom:auto !important;
    left:0 !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown-sub-menu {
    top:0 !important;
    right:auto !important;
    bottom:auto !important;
    left:100% !important;
    width:320px !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown:hover > .law-dropdown-menu,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown:focus-within > .law-dropdown-menu,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown-sub:hover > .law-dropdown-sub-menu,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown-sub:focus-within > .law-dropdown-sub-menu {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .law-header.is-scroll-compact.is-menu-open .law-dropdown-menu > a,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown-sub-trigger,
  .law-header.is-scroll-compact.is-menu-open .law-dropdown-sub-menu a {
    display:flex !important;
    width:100% !important;
    min-height:0 !important;
    padding:18px 20px !important;
    background:#fff !important;
    color:#111 !important;
    font-size:16px !important;
    font-weight:500 !important;
  }
}

@media (min-width:981px) and (prefers-reduced-motion:reduce) {
  .law-header.is-scroll-compact {
    transition:none;
  }
}

/* Dezente Cookie-Einwilligung */
.dreiling-cookie-consent[hidden] {
  display:none !important;
}

.dreiling-cookie-consent {
  position:fixed;
  z-index:10000;
  right:16px;
  bottom:16px;
  left:16px;
  color:#1d2b26;
}

.dreiling-cookie-consent__inner {
  display:flex;
  align-items:center;
  gap:24px;
  width:min(100%, 1040px);
  margin:0 auto;
  padding:16px 18px;
  border:1px solid rgba(20, 62, 47, .16);
  border-radius:12px;
  background:rgba(255, 255, 255, .98);
  box-shadow:0 12px 38px rgba(14, 37, 29, .16);
}

.dreiling-cookie-consent__copy {
  flex:1 1 auto;
}

.dreiling-cookie-consent__copy h2 {
  margin:0 0 3px;
  color:#123f31;
  font-size:17px;
  line-height:1.25;
}

.dreiling-cookie-consent__copy p {
  margin:0;
  font-size:14px;
  line-height:1.45;
}

.dreiling-cookie-consent__copy a {
  color:#145a43;
  text-decoration:underline;
  text-underline-offset:2px;
}

.dreiling-cookie-consent__actions {
  display:flex;
  flex:0 0 auto;
  gap:10px;
}

.dreiling-cookie-consent__button {
  min-height:42px;
  padding:9px 15px;
  border:1px solid #145a43;
  border-radius:7px;
  background:#fff;
  color:#145a43;
  font:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.dreiling-cookie-consent__button--primary {
  background:#145a43;
  color:#fff;
}

.dreiling-cookie-consent__button:hover,
.dreiling-cookie-consent__button:focus-visible {
  outline:2px solid #b6d52c;
  outline-offset:2px;
}

.law-footer-cookie-settings {
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-decoration:underline;
  cursor:pointer;
}

@media (max-width:760px) {
  .dreiling-cookie-consent {
    right:10px;
    bottom:10px;
    left:10px;
  }

  .dreiling-cookie-consent__inner {
    display:block;
    padding:14px;
  }

  .dreiling-cookie-consent__actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:12px;
  }
}

@media (max-width:430px) {
  .dreiling-cookie-consent__actions {
    grid-template-columns:1fr;
  }
}

/* Ansprechpartnerkarte der Kontaktaufnahme auf kleinen Bildschirmen vollstaendig zeigen. */
@media (max-width:620px) {
  .dreiling-contact-process-head.dreiling-contact-process-photo {
    display:block !important;
    width:100%;
    height:auto !important;
    margin:0 0 28px !important;
    padding:25px 12px 18px !important;
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#f8fbf6 100%);
    border:1px solid rgba(7,63,54,.12);
    box-shadow:0 18px 46px rgba(7,63,54,.08);
  }

  .dreiling-contact-process-photo-frame {
    width:100%;
    height:clamp(240px,78vw,330px);
  }

  .dreiling-contact-process-photo-frame img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 24%;
  }

  .dreiling-contact-process-profile {
    padding:22px 6px 2px;
  }
}
