   :root {
      --warm-grey: #9f9691;
      --dark-grey: #756f6b;
      --white: #ffffff;
      --light-grey: #eeeeee;
      --accent-lime: #b7d532;
      --footer-grey: #948b86;
      --logo-grey: #968e8a;
    }

    body {
      font-family: "Open Sans", Arial, sans-serif;
      background: var(--light-grey);
      color: var(--dark-grey);
      line-height: 1.6;
    }

    h1,h2,h3,h4 { margin: 1em 0;}	

    .site-header {
      background: var(--white);
      padding: 1.75rem 0 1rem;
    }

    .brand-logo { 
      width: 52%;
      margin-top: 12px;
    }

    .logo-box {
      width: 96px;
      height: 96px;
      background: var(--logo-grey);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 3rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      flex-shrink: 0;
    }


    .main-nav {
      background: var(--dark-grey);
      border-bottom: 4px solid var(--accent-lime);
    }

    .main-nav .nav-link {
      color: #fff;
      padding: 0.85rem 1.05rem;
      font-weight: 600;
      font-size: 0.95rem;
    }

    .main-nav .nav-link:hover,
    .main-nav .nav-link:focus {
      color: #f2f2f2;
      background: rgba(255, 255, 255, 0.08);
    }

    .dropdown-menu.show {
      background: var(--dark-grey);
      border: none;
     }
    .dropdown-item { color: white;}

    .navbar-nav { gap: 18px; }

    .hero {
      background: var(--warm-grey);
      color: #fff;
      padding: 2.3rem 0 2.6rem;
      position: relative;
    }

    .hero h1 {
      font-weight: 300;
      font-size: clamp(2rem, 4.2vw, 3.15rem);
      margin-bottom: 5rem;
    }

    .hero-intro {
      font-style: italic;
      font-weight: 300;
      font-size: clamp(1.4rem, 2.5vw, 2rem);
      margin-bottom: 1rem;
    }

    .hero p {
      color: #f2f2f2;
      margin-bottom: 0.8rem;
    }

    .hero-portrait {
      width: 100%;
      max-width: 355px;
      height: 410px;
      object-fit: cover;
      border: 0;
      display: block;
      margin: 0 auto;
      position: absolute;
      bottom: 0;
    }


    .principle {
      background: #fff;
      padding: 3.2rem 0 3rem;
      border-bottom: 4px solid var(--accent-lime);
    }

    .principle h2 {
      font-size: 2rem;
      font-weight: 400;
      margin-bottom: 1.4rem;
      color: var(--dark-grey);
    }

    .principle .quote {
      font-size: clamp(1.6rem, 3vw, 2.5rem);
      font-style: italic;
      font-weight: 300;
      line-height: 1.3;
      color: #6f6864;
      margin: 0;
      text-align: center;
      padding: 20px 0 20px 0;
    }

    .principle p { text-align: justify;}
    .principle b { color: var(--accent-lime);}
    .principle li { list-style-type: disclosure-closed;}
    .principle li::marker { color: var(--accent-lime);}    

    .principle .quote-bg span { 
	text-align: center;
	display: block;
        margin-bottom: 2em;
     }

     .siegel { margin: 2em 0; }

    .practice {
      background: var(--warm-grey);
      padding: 3rem 0;
    }


    .practice-card {
      position: relative;
      overflow: hidden;
      height: 220px;
      background: #8e8681;
    }

    .practice-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      filter: saturate(0.95);
      transition: all .3s ease;
      transform: scale(1);
    }

    .practice-caption {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      top: 170px;
      background: rgba(255, 255, 255, 0.9);
      color: #5f5855;
      font-size: 1.15rem;
      padding: 0.48rem 0.7rem;
      font-weight: 400;
      transition: all .2s ease;
      text-align: center;
    }
     .practice-card:hover .practice-caption {
       top: 155px;
       background: rgba(183, 213, 50, .9);
       color: white;
       transition: all .3s ease;
     }
 
         
     .practice-card:hover img {
        transform: scale(1.1);
        filter: grayscale(1);
        transition: all .3s ease;
      }

      .practice h2 {color: #FFF;}


     .quote-bg {
	margin: 2em 0;
        background: #f3f3f3;
      }

    .info {
      background: #fff;
      padding: 3rem 0 3.6rem;
    }

    .info-col {
      border-right: 1px solid #e9e9e9;
      padding-right: 1.3rem;
      margin-bottom: 1.5rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .info-col:last-child {
      border-right: 0;
    }

    .info h3 {
      font-size: 2rem;
      font-weight: 400;
      margin-bottom: 0.6rem;
      color: #5f5854;
    }

    .more-link {
      text-decoration: none;
      font-weight: 700;
      background: var(--accent-lime);
      padding: 10px 10px 10px 10px;
      color: white;
      transition: all .1s ease-in;
    }

    .more-link:hover {
      background: #8ba320;
      padding: 10px 10px 10px 25px;
      transition: all .3s ease-in;
    }

    .review-widget {
      width: 100%;
      max-width: 350px;
      border: 1px solid #9a9a9a;
      background: #fff;
      margin-top: 1.7rem;
    }

    .review-head {
      background: #4d5f84;
      color: #fff;
      padding: 0.4rem 0.65rem;
      font-size: 0.78rem;
      font-weight: 600;
    }

    .review-body {
      padding: 0.8rem 0.9rem;
      font-size: 0.84rem;
      color: #666;
      min-height: 170px;
    }

    .stars {
      color: #f6a100;
      font-size: 1.1rem;
      letter-spacing: 0.08em;
      margin-bottom: 0.35rem;
    }

    .site-footer {
      background: var(--footer-grey);
      color: #fff;
      padding: 2.1rem 0;
      position: relative;
      border-top: 4px solid var(--accent-lime);
      overflow: hidden;
    }

    .site-footer p { font-size: .8em;}

    .footer-watermark {
      position: absolute;
      left: 2rem;
      top: -24px;;
      font-size: 12rem;
      line-height: 1;
      font-weight: 700;
      color: rgba(255, 255, 255, 0.1);
      pointer-events: none;
      user-select: none;
    }

    .site-footer .footer-col {
      position: relative;
      z-index: 1;
      font-size: 1.35rem;
      line-height: 1.65;
    }

    .footer-links a,
    .site-footer a {
      color: #fff;
      text-decoration: none;
    }

    .footer-links a:hover,
    .site-footer a:hover {
      text-decoration: underline;
    }

    .footer-col img { 
      width: 12%;
      filter: invert(1);
      background: #482add;
      padding: 10px;
      border-radius: 50%;
      margin-bottom: 11px;
    }

   /* Extras */
    iframe { margin-top: 2em;}

    .subpage-image, .image-pet-cover { text-align: center;}
    .subpage-image img, .image-pet-cover img { width: 100vw; object-fit: cover;} 

   .image-pet-cover { margin-bottom: 3em;}	
   .image-pet { text-align: center;}
   .image-pet img  {
	aspect-ratio: 16 / 11;		
   }

   #widgetAnwaltde { width: 100%;}
   ul.anw-text-break {
	display: inline-block;
        padding-right: 58px;
   }
   .anw-link-dark  { color: var(--accent-lime);}

   #widgetAnwaltde { border: 1px solid var(--warm-grey) !important;}
   #widgetAnwaltde .fullwidth.widgetResultContent { font-size: .7em;} 
   .widgetHeadingContainer { background: var(--warm-grey) !important;}
	
   .breadcrumb-item::marker { color: transparent !important;}
   .breadcrumb-item a { color: var(--accent-lime); font-weight: bold;}
   .breadcrumb-item.active { color: rgba(33, 37, 41, 0.75); font-weight: normal;}


   /* sidefeed */
.contact-sidebar-container {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 150;
  display: flex;
  flex-direction: column;
  gap: 8px; 
  align-items: flex-end;
}

.contact-item {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.contact-badge {
  color: #ffffff;
  padding: 1rem;
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 10;
  user-select: none;
}

.phone-badge {
  background-color: var(--accent-lime);
}

.email-badge {
  background-color: #756f6b;
}

.contact-svg {
  width: 1.25rem;
  height: 1.25rem;
}

.pulse-animation {
  animation: pulse-effect 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.contact-panel {
  background-color: rgba(26, 26, 28, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0.875rem 1.5rem;
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
  letter-spacing: 0.025em;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
  
  position: absolute;
  right: 100%; 
  white-space: nowrap;
  
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease, visibility 0.3s;
  z-index: 5;
}

.contact-link {
  color: #ffffff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.2s ease;
}

.contact-item:hover .phone-badge + .contact-link,
.contact-link:hover {
  color: var(--accent-lime);
}

.contact-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #a1a1aa;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-right: 0.25rem;
}
.contact-item:hover .contact-panel {
  transform: translateX(10px);
  opacity: 1;
  visibility: visible;
}
@keyframes pulse-effect {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}



    @media(max-width: 1024px) {
      .brand-logo { width: 50%;}
      .hero h1 { margin-bottom: 2rem;}
      .hero-portrait {
          height: 343px; 
      }
      .site-footer p { font-size: .7em;}

    }
	

    @media (max-width: 991.98px) {

	.brand-logo { width: 30%;}

      .hero-portrait {
        height: 360px;
        margin-bottom: 0rem;
	z-index: 0;
      }

      .hero .col-md-8.col-lg-8 { z-index: 100; background: var(--warm-grey);}

      .info-col {
        border-right: 0;
        border-bottom: 1px solid #e9e9e9;
        padding-bottom: 1rem;
      }

      .info-col:last-child {
        border-bottom: 0;
      }

      ul.anw-text-break {
            display: block;
            padding-right: 0;
        }

      .navbar>.container, .navbar>.container-fluid, .navbar>.container-lg, .navbar>.container-md, .navbar>.container-sm, .navbar>.container-xl, .navbar>.container-xxl {
    	display: flex;
    	flex-wrap: inherit;
    	align-items: center;
    	justify-content: flex-end;
      }
    }

    @media (max-width: 575.98px) {
      .brand-logo { width: 50%;}
      .hero-portrait  { position: relative;}

      .breadcrumb-item { font-size: .8em;}
      .logo-box {
        width: 78px;
        height: 78px;
        font-size: 2.4rem;
      }

      .brand-title {
        font-size: 1.55rem;
      }

      .brand-subtitle {
        font-size: 1.05rem;
      }

      .site-footer .footer-col {
        font-size: 1.1rem;
      }
    }
