/* =========================================================
   RESET
========================================================= */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html:focus-within{scroll-behavior:smooth}
body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}

/* =========================================================
   THEME TOKENS
========================================================= */
:root{
  --bg: #f5ede0;           
  --paper: #fbf8f5;
  --ink: #3e3b38;
  --muted: #3a3a3a;
  --accent: #4c4b55d2;
  --accent-700:#55505f;
  --line: #f0eae4;

  --radius: 14px;
  --shadow: 2px 5px 30px rgba(24, 24, 24, 0.25);
  --container: 1160px;
}

/* =========================================================
   BASE
========================================================= */
body{
  background: var(--bg);
  color: #3e3b38;
  font-family: Arial, sans-serif;
  line-height: 1.9;
  letter-spacing: 0.6px;

}
body.modal-open {
  overflow: hidden;
}
/* Utilities */
.container{width:min(92%, var(--container)); margin-inline:auto}
.section{padding: clamp(20px, 6vw, 88px) 0}
.section__title{
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(45px, 5vw, 50px);
  line-height:1.2;
  font-weight:100;
  margin-bottom: 8px;
}

/* a11y utility */
.visually-hidden{
  position:absolute !important;
  height:1px;width:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

/* Skip link */
.skip-link{ position:absolute; left:-9999px; top:auto }
.skip-link:focus{ left:1rem; top:1rem; background:#000; color:#fff; padding:.5rem .75rem; z-index:1000 }




/* =========================================================
   HEADER / NAV (shared)
========================================================= */
.site-header{
  position: sticky; top:0; z-index: 100; /* above hero overlay */
  background: rgba(247,239,231,0);
  backdrop-filter: blur(3px);
  border-bottom: 0px solid var(--line);
  
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: .8rem 0; position: relative;
}
.brand{ display:flex; flex-direction:column; gap:-5px }
.brand__title{
  font-size: 1.5rem; 
  font-family:'Cormorant Garamond', serif; font-weight:700; letter-spacing: 0.4px;
  color: var(--muted);
}
.brand__subtitle{ gap: 5px; font-size:.9rem; color:var(--muted) }

/* base nav look (desktop default) */
.nav{ display:flex; gap: 1.2rem; align-items:center; flex-wrap:wrap }
.nav a{ color: var(--muted) }
.nav a:hover{ color: #f0ece7 }

/* burger control base (hidden on desktop) */
.nav-toggle{ display:none }
.nav-toggle-button{
  display:none;          /* shown on mobile */
  width:44px; height:38px;
  border-radius: 10px;
  cursor:pointer;
  align-items:center; justify-content:center;
  gap:6px; flex-direction:column;
  position: absolute; right:0; top:50%; transform: translateY(-50%);
  background: none; border: none ; box-shadow: var(--shadow);
}
.nav-toggle-button span{
  width:22px; height:2px; background:#2a2620; border-radius: 2px;
  transition: transform .25s ease, opacity .2s ease, width .2s ease;
}

/* burger -> X animation */
.nav-toggle:checked + .nav-toggle-button span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.nav-toggle:checked + .nav-toggle-button span:nth-child(2){ opacity:0; }
.nav-toggle:checked + .nav-toggle-button span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }









.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: url(bilder/strafrecht66.jpg) center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  color: #fff;
  padding: 0;
  margin-top: -85px;
}

.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to bottom right,
      rgba(255, 224, 170, 0.04),
      rgba(0,0,0,0.08)
    );
  z-index:0;
  
}



/* Content */
.hero__content {
  position: relative;
  z-index: 2;
  max-width: 550px;
  padding-left: 40px;
  padding-right: 20px;
  padding-bottom: 40px;
  text-align: left;
}

/* Heading */
.hero__content h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: clamp(32px, 4.8vw, 48px);
  line-height: 1.15;
  color: #ffffff;
  opacity: 0;
   animation: fadeUp 1.4s ease-out forwards;
  animation-delay: 0s;

text-shadow:
  0 4px 18px rgba(0,0,0,0.55),   /* tiefer dunkler Glow */
  0 0 6px rgba(255,255,255,0.45), /* weiche helle Aura */
  0 0 2px rgba(255,255,255,0.95); /* scharfe weiße Kante */


}

/* Paragraph */
.hero__content p {
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.45;
  margin-bottom: 1.5rem;
  color: #ffffff;
  opacity: 0;
    animation: fadeUp 1.9s ease-out forwards;
    animation-delay: 0s;
text-shadow:
  0 3px 14px rgba(0,0,0,0.50),
  0 0 4px rgba(255,255,255,0.40),
  0 0 1px rgba(255,255,255,0.85);


}


/* CTA */
.hero__content .cta-call {
  padding: 12px 28px;
  font-size: 17px;
  font-weight: 500;
  border-radius: 6px;
  margin-top: 0.5rem;
  opacity: 0;
    animation: fadeUp 1.9s ease-out forwards;
    animation-delay: 0.2s;
}










/* =========================================================
   MOBILE – funktioniert garantiert
========================================================= */


 

 
  @media (max-width: 800px) {
  .hero {
    background: url("bilder/strafrecht66.jpg") left 58% center / cover no-repeat;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    position: relative;
    margin-top: -110px;
    
  }

  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
     background:
    linear-gradient(
      to bottom right,
      rgba(255, 224, 170, 0.02),
      rgba(0,0,0,0.05)
    );
   
  }

  .hero__overlay {
    width: 100%;
    height: 100%;
  justify-content:flex end;
  display: flex;
  align-items: flex-end;  


  }

  .hero__content {
    padding: 24px;
    text-align: left;
    position: absolute;
    bottom: -0.6rem;
    z-index: 2;
text-shadow:
  0 3px 14px rgba(0,0,0,0.50),
  0 0 4px rgba(255,255,255,0.40),
  0 0 1px rgba(255,255,255,0.85);
}

  
    
  

  .hero__content h1 {
    font-size: clamp(28px, 7vw, 35px);
    line-height: 1.2;
    max-width: 20ch;
    margin-bottom: -1.5rem;
    opacity: 0;
  animation: fadeUp 1.4s ease-out forwards;
  animation-delay: 0s;
    text-shadow:
      0 2px 8px rgba(0,0,0,0.45),   /* weicher dunkler Schatten */
      0 0 3px rgba(255,255,255,0.35), /* leichte helle Aura */
      0 0 0.5px rgba(255,255,255,0.7); /* ganz feine Kante – NICHT fransig */
  }


  .hero__content p {
    opacity: 0;
    animation: fadeUp 1.9s ease-out forwards;
    animation-delay: 0s;
  }



   .cta-call {
    opacity: 0;
    animation: fadeUp 1.9s ease-out forwards;
    animation-delay: 0s;
  }
 







}




@media (max-width: 380px) {
  .hero__content h1 {
    font-size: 25px;
    line-height: 1.1;
      text-shadow:
    0 2px 5px rgba(0,0,0,0.4),
    0 0 6px rgba(255, 240, 220, 0.18);
}
  }

/*animationen*/

/* =========================================================
   LUXUS ANIMATIONS – KOMPLETTPAKET
   (Kann unverändert in styles.css eingefügt werden)
========================================================= */

/* 1. Cinematic Fade-Up */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(38px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}





/* -------------------------------------------------------
   LUXURY CTA – Diamond Sweep Entrance
-------------------------------------------------------- */

@keyframes ctaReveal {
  0% {
    opacity: 0;
    transform: translateY(25px);
    filter: blur(6px);
  }
  50% {
    opacity: 0.6;
    transform: translateY(12px);
    filter: blur(3px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes ctaSweep {
  0% {
    background-position: -120% 0;
  }
  100% {
    background-position: 220% 0;
  }
}


.hero__content .cta-call {
  position: relative;
  display: inline-block;

  /* CTA Styling bleibt */
  padding: 12px 28px;
  font-size: 17px;
  border-radius: 6px;
  font-weight: 500;
  opacity: 0;

  /* Diamond Sweep Gradient */
  background-image: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.9) 40%,
    rgba(255,255,255,0) 80%
  );
  background-size: 200% auto;

  /* TEXT bleibt normal sichtbar */
  color: #ffffff;

  /* Animationen */
animation:
  ctaReveal 1.8s ease-out forwards,
  ctaSweep 2.4s linear 2s infinite;



}







/* =========================================================
   CONTACT WIDGET (FAB)
========================================================= */
/* ===== CONTACT WIDGET — click/tap toggle, directional menus ===== */
.contact-widget{
  position: fixed;
  right: 30px;
  bottom: 40px;
  width: 56px;                /* anchor box matches the button width */
  z-index: 120;               /* above header/nav */
}

.fab{
  width:56px; height:56px; border-radius: 16px;
  background:#ffffffc3; 
  backdrop-filter: blur(3px);
  color:var(--accent-700);
  border:0px solid var(--line);
  display:flex; align-items:center; justify-content:center; gap:6px;
  box-shadow: var(--shadow);
  cursor: pointer;
  position: relative;         /* anchor for focus ring if needed */
}

/* Menu is absolutely positioned relative to the widget box */
.fab-menu{
  position: absolute;
  display:flex;
  gap:10px;
  pointer-events:none;
  opacity:0;
  transition: transform .22s ease, opacity .18s ease;
}

/* DESKTOP (default): slide out to the LEFT of the button, vertically centered */
.fab-menu{
  top: 50%;
  right: calc(100% + 10px);   /* sits to the left of the 56px button + 10px gap */
  transform: translate(8px, -50%); /* slight offset in collapsed state */
  flex-direction: row;
}

/* OPEN state */
.contact-widget.is-open .fab-menu{
  transform: translate(0, -50%);
  opacity:1;
  pointer-events:auto;
}

.fab-item{
  width:44px; height:44px; border-radius:12px;
  background:#ffffffd5; border:0px solid var(--line);
  display:grid; place-items:center; color:var(--ink);
  box-shadow: var(--shadow);
}

/* ===== Mobile placement (≤600px): widget center-right; items slide UP ===== */
@media (max-width: 600px){
  .contact-widget{
    top: 57%;
    right: 12px;
    bottom: auto;
    transform: translateY(-50%); /* vertical centering */
  }

  .fab-menu{
    top: auto;
    right: 50%;
    bottom: calc(100% + 10px);   /* above the button */
    transform: translate(50%, 8px); /* collapsed offset */
    flex-direction: row;
  }

  .contact-widget.is-open .fab-menu{
    transform: translate(50%, 0);  /* slide upward into place */
    opacity:1;
    pointer-events:auto;
  }
}





/* =========================================================
   ABOUT (stable + bottom-aligned text on desktop)
========================================================= */
.about__inner{
  display:grid;
  gap:26px;
  grid-template-columns: 1fr;
}
.about__media img{
  border-radius: 12px;
  box-shadow: var(--shadow);
}
.about__content h2{
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(35px, 3.6vw, 40px);
  font-weight: 300;
  line-height:1.3;
  margin-bottom: clamp(10px, 2vw, 16px); /* avoid % margins that balloon */
}
.about__content{
  color: var(--ink);
  margin-top:-1rem;
  text-align: left;
}

/* Desktop: two columns; bottom-align text within its cell */
@media (min-width: 860px){
  .about__inner{
    grid-template-columns: minmax(360px, 1fr) 1.1fr;
    align-items: end; /* rows bottom-aligned without stretching section */
  }
  .about__content{
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-top: 0;
  }
}









.custom-section {
  background: #2E2E2E; /* deutlicher Farbton das ist der bereich mit dem zitat */
  color: #F6F2EB;   /* guter Kontrast */
  padding: clamp(50px, 8vw, 60px) 0;
  text-align: center;
  font-family: 'Cormorant Garamond', serif;
  
}

.custom-section__text {
  font-size: 1.2rem;
  max-width: 700px;
  margin: 1rem auto 0;
  line-height: 1.6;
}








.unterschrift-container {
  margin-top: -0.9rem;
  margin-bottom: -2.7rem;
  text-align: left; /* oder center, je nach Positionierung */
}

.unterschrift-img {
  max-width: 290px;    /* passe die Größe nach Geschmack an */
  height: auto;
  display: block;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.2)); /* leicht edler Schatten */
}





.stats.zitat{
  background: #232222;
  color: #FFFDF9;
  padding: clamp(28px, 5vw, 54px) 0;


.kontakt-button {
  display: inline-block;
  background-color: #b59760; /* Goldton */
  color: #fff;
  font-family: Arial, sans-serif!important;
  font-size: 2rem;
  font-weight: 600;
  padding: 0.9rem 1.4rem;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  margin-top: 1.5rem;
}

.kontakt-button:hover {
  background-color: #9e8353;
  transform: translateY(-2px);
}

}



/* =========================================================
   SERVICES
========================================================= */
.services{ background: #E6E3E0 }
.services__rail{
  display:grid;
  grid-auto-flow: row;
  grid-auto-columns: minmax(20px, 360px);
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 12px;
  padding-top: 12px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.service-card{
  scroll-snap-align: start;
  height: 250px;
  display:flex; flex-direction:row; flex-wrap: wrap; gap:1.5rem;
  padding:20px; border:none solid var(--paper); border-radius: 10px;
  background:#ffffff; box-shadow: none;
}



.service-card h3 {
  font-family: "Marcellus", serif;
  font-size: 1.7rem;
  font-weight: 500;
  color: #2a2629;
  text-shadow: 0 1px 0 rgba(181, 151, 96, 0.3);
  margin-bottom: 0.4rem;
}


.service-card__body{
  --preview-height: 9rem;
  position:relative;
  overflow:hidden;
  max-height: var(--preview-height);
  color:var(--muted);
  font-size: .98rem;
}
.service-card__body::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:7px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 60%);
  pointer-events:none;
}
.card__cta{
 margin: 1rem auto 0 auto; /* oben etwas Abstand, zentriert */
  height:42px;
  border:0; border-radius:10px;
  background: var(--paper);
  color:#1E1B16; font-weight:600;
  box-shadow: var(--shadow);
  cursor:pointer;
  transition: transform .15s ease, background .2s ease;
  display: block;
  
  
}

.services__rail{ scrollbar-width: thin; scrollbar-color: rgba(0,0,0,.25) transparent }
.services__rail::-webkit-scrollbar{ height:10px }
.services__rail::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.18); border-radius: 20px }
.services__rail::-webkit-scrollbar-track{ background: transparent }

.services__rail {
  scroll-behavior: smooth;
}


/* ===== SERVICES: desktop grid (auto-reflow on resize) ===== */
@media (min-width: 860px){
  .services__rail{
    /* switch from horizontal rail to grid */
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    overflow: visible;
    scroll-snap-type: none;          /* disable snap on desktop */
  }
  .service-card{
    height: auto;                    /* let cards grow naturally */
    min-height: 260px;
  }
  .service-card__body{
    max-height: none;                /* show full text on desktop */
  }
  .service-card__body::after{
    display: none;                   /* remove fadeout on desktop */
  }
}


/* ===== SERVICES: mobile Anpassung ===== */
@media (max-width: 859px) {
  .services__rail {
    display: block;           /* Keine Grid-Spalten mehr */
    overflow-x: hidden;       /* Kein horizontales Scrollen mehr */
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .service-card {
    width: 100%;              /* Karten über gesamte Breite */
    max-width: 100%;          /* Sicherstellen, dass nichts überschreitet */
    margin-bottom: 1.5rem;    /* Abstand zwischen den Karten */
    height: auto;             /* Höhe flexibel */
  }
}





/* =========================================================
   STATS
========================================================= */
.stats{
  background: #FDFBF8;
  color: #2a2629;
  padding: clamp(28px, 5vw, 54px) 0;
  text-align: center;
}

.stats8{
  background: #FFFDFC;
  color: #2a2629;
  padding: clamp(28px, 5vw, 54px) 0;
  text-align: center;
}






















.fullwidth-bg {
  background-image: url('bilder/strafrecht4.jpg'); /* 👉 Hier deinen Dateinamen einsetzen */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 60vh; /* oder z. B. 100vh für ganze Bildschirmhöhe */
  position: relative;
  width: 100%;
}

.fullwidth-bg__overlay {
  background-color: rgba(0, 0, 0, 0.4); /* Optionaler dunkler Overlay */
  width: 100%;
  height: 100%;
  display: flex;
  align-items: left;
  justify-content: left;
}

.fullwidth-bg__text {
  color: #fff;
  text-align: left;
  padding: 2rem;
}

.fullwidth-bg__text h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  line-height: 1.2;
}


.fullwidth-bg {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 5s ease, transform 5s ease;
}

.fullwidth-bg.reveal {
  opacity: 5;
  transform: translateY(0);
}
























.first-steps {
  background-color: #dcd4d1; 
  padding: 0px 20px;
  text-align: center;
}

.steps-header h2 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333;
}

.steps-header p {
  font-size: 1rem;
  color: #333;
  max-width: 600px;
  margin: 0 auto 40px;
}

.steps-grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.step-item {
  max-width: 280px;
}

.step-circle {
  width: 60px;
  height: 60px;
  background-color: white;
  color: #e3362c;
  font-weight: bold;
  font-size: 1.6rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.step-item h3 {
  font-size: 1.05rem;
  color: #000;
  line-height: 1.4;
}

/* Desktop: nebeneinander */
@media (min-width: 768px) {
  .steps-grid {
    flex-direction: row;
    justify-content: center;
    gap: 60px;
  }

  .step-item {
    max-width: 240px;
  }
}

.step-circle {
  /* ... deine bestehenden Styles ... */
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s ease-out forwards;
}

/* Verzögerungen je nach Position */
.step-item:nth-child(1) .step-circle {
  animation-delay: 0.2s;
}
.step-item:nth-child(2) .step-circle {
  animation-delay: 0.4s;
}
.step-item:nth-child(3) .step-circle {
  animation-delay: 0.6s;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.steps-cta {
  margin-top: 40px;
  text-align: center;
}

.cta-button--gold {
  display: inline-block;
  background-color: #b59760;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.9rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease;
}

.cta-button--gold:hover {
  background-color: #9e8353;
}





/* WAS TUN BEI STARFRECHTLICHEM VORWURF INDEXSEITE +/

/* ===== Premium Steps (High-End Variante) ===== */
:root {
  --gold: #c2a46d;              /* warmes, edles Gold */
  --gold-30: rgba(194,164,109,.30);
  --ink-soft: #2a2629;
}

.premium-steps{
  background: #e8e1da;          /* leicht wärmer als #E6E3E0, sehr ruhig */
  padding: clamp(56px, 8vw, 96px) 0;
  border-top: 1px solid rgba(0,0,0,.04);
  border-bottom: 1px solid rgba(0,0,0,.04);
}

.premium-steps__header{
  text-align:center;
  max-width: 900px;
  margin: 0 auto clamp(28px,4vw,44px);
}
.premium-steps__header h2{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  letter-spacing: .4px;
  font-size: clamp(30px, 3.8vw, 44px);
  color: var(--ink-soft);
  line-height: 1.5;
}
.premium-steps__intro{
  margin-top: .8rem;
  color: #4a4642;
  font-size: clamp(15px, 1.4vw, 18px);
  opacity: .9;
}

.premium-steps__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(14px, 2.2vw, 24px);
  align-items: stretch;
}

@media (max-width: 860px){
  .premium-steps__grid{ grid-template-columns: 1fr; }
}

.premium-step{
  position: relative;
  background: #fff;
  border: 1px solid var(--gold-30);
  border-radius: 14px;
  padding: clamp(18px, 2.6vw, 26px) clamp(18px, 2.4vw, 24px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.premium-step:hover{
  transform: translateY(-3px);
  border-color: rgba(194,164,109,.55);
  box-shadow: 0 18px 34px rgba(0,0,0,0.08);
}

.premium-step__badge{
  position: absolute;
  top: -18px;
  left: 20px;
  width: 44px; height: 44px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--gold-30);
  display: grid; place-items: center;
  font-family:'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 500; color: var(--ink-soft);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
    width: 34px;
    height: 34px;
    top: -14px;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 400;
    border: 0.7px solid rgba(194,164,109,.35);
    box-shadow: none;
    letter-spacing: 0.5px;
}



.premium-step__icon{
  margin-top: 12px;
  margin-bottom: 10px;
  color: var(--gold);
  opacity: .95;
}

.premium-step__title{
  font-family:'Cormorant Garamond', serif;
  font-weight: 600;
  letter-spacing: .2px;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--ink-soft);
  margin: 6px 0 6px;
}

.premium-step__text{
  color: #4a4642;
  line-height: 1.7;
  font-size: 1rem;
}

/* CTA – flach, edel */
.premium-steps__cta{
  text-align:center;
  margin-top: clamp(18px, 4vw, 36px);
}

  /* ======================== */
/*   PREMIUM CTA – CHANEL   */
/* ======================== */
.gold-premium-cta {
    font-family:'Cormorant Garamond', serif;

  padding: 16px 42px;
  background: #c8a96a;
  background: linear-gradient(135deg, #c8a96a 0%, #b89456 100%);
  border-radius: 12px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .5px;
  text-decoration: none;
  display: inline-block;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 0 12px rgba(200,169,106,0.45),
    inset 0 0 10px rgba(255,255,255,0.3);
}

.gold-premium-cta::after {
  /* edler innerer Lichtstreifen */
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    115deg,
    transparent 20%,
    rgba(255,255,255,0.35) 45%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0.35) 55%,
    transparent 80%
  );
  animation: inner-gold-shine 3.5s linear infinite;
  pointer-events: none;
}

@keyframes inner-gold-shine {
  0% { transform: translateX(0); }
  100% { transform: translateX(75%); }
}






















.legal-situations {
  padding: 2rem 1rem;
  background: transparent;
  text-align: center;
}

.section-title {
  font-size: 2rem;
  font-weight: 600;
  color: #1E1B16;
  margin-bottom: 3rem;
}

.situation-column {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: center;
}

.situation-item {
  max-width: 800px;
  text-align: center;
  padding: 0 1rem;
}

.situation-item img {
  width: 300px;
  height: 250px;
  margin-bottom: 2rem;
  
}

.situation-item h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
  color: #1E1B16;
}

.situation-item p {
  font-size: 1rem;
  color: #444;
  line-height: 1.6;
}






.legal-situations {
  padding: 4rem 1rem;
  background: transparent;
  text-align: center;
}

.section-title {
  font-size: 2rem;
  font-weight: 600;
  color: #1E1B16;
  margin-bottom: 3rem;
}

.situation-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}

.situation-item {
  max-width: 800px;
  display: flex;
  flex-direction: column;
  align-items: center; /* ← wichtig */
  text-align: center;
  padding: 0 1rem;
}

.situation-item img {
  width: 90px;
  height: auto;
  margin-bottom: 1.5rem;
  display: block;
}

.situation-item h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
  color: #1E1B16;
}

.situation-item p {
  font-size: 1rem;
  color: #444;
  line-height: 1.6;
}



.situation-item img {
  width: 260px;
  height: auto;
  margin-bottom: 0.5rem;
  display: block;
}


.anklage-icon {
  width: 150px !important;
   height: auto;
  margin-bottom: 1.5rem;
  display: block;
}






















































.stats_mandanten{
  background: #f8f5f0;
  color: #2a2629;
  padding: clamp(5px, 5vw, 1px) 0;
}


.testimonials {
  background: #f8f5f0;
  padding: 4rem 1rem;
  text-align: center;
}

.testimonials-title {
  font-size: 0rem;
  font-weight: 600;
  margin-bottom: 1rem;
  font-family: "Playfair Display", serif;
  color: #1E1B16;
}

.testimonial {
  padding: 2rem;
  max-width: 600px;
  margin: 0 auto;
}

.testimonial p {
  font-size: 1.1rem;
  font-style: italic;
  color: #444;
  margin-bottom: 1rem;
}

.testimonial .author {
  font-size: 0.95rem;
  font-weight: bold;
  color: #b59760;
}

.swiper-pagination-bullet {
  background: #b59760;
}













/* =========================================================
   CONTACT
========================================================= */
.contact__copy p{ color:#2a2629; max-width: 48ch }
.contact__list{ list-style:none; margin-top: 14px; display:grid; gap:8px; padding-left:0 }
.contact__list a{ text-decoration: underline; text-decoration-color: rgba(0,0,0,.18) }
.contact__icon{ width:24px; display:inline-block; margin-right:.4rem }

/* Hintergrundbild */
.contact{
  /*background-image: url(contact_image2.png);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;*/
  min-height: 450px;
  padding-bottom: 0;
}

/* 2-Spalten: links Inhalt (Card + Map), rechts frei */
.contact__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: start;
}
.contact__col{
  display: grid;
  gap: 14px;
  grid-auto-rows: min-content;
  max-width: 680px;
}
.contact__spacer{ min-height: 80% }

/* Card-Optik */
.contact__card{
  border: none;
  border-radius: 14px;
  background: none;
  box-shadow: none;
  padding: 16px;
}
.contact__tagline{ color: var(--muted); margin: 4px 0 8px }
.contact__row{ display:flex; align-items:center; gap:.35rem }

/* Responsiv Kontakt */
@media (max-width: 859px){
  .contact__inner{ grid-template-columns: 1fr }
  .contact__spacer{ display: none }
  .map-frame{ margin-top: 6px }
}




/* =========================================================
   FOOTER
========================================================= */
/* ===== FOOTER ===== */
.site-footer {
  padding: 20px 0;
  background: #FFFDFC;   /* keep your existing footer bg if different */
}

.footer__inner {
  display: flex;
  flex-wrap: wrap;              /* items wrap nicely on small screens */
  justify-content: center;      /* center items horizontally */
  gap: 20px;                    /* space between items */
  text-align: center;           /* keep text tidy */
}

.footer__inner a.imprint{ color: var(--ink); text-decoration: none}


/* hier war der burger tool - 



/* =========================================================
   DESKTOP LAYOUT HELPERS
========================================================= */
@media (min-width: 860px){
  .nav-toggle-button{ display:none } /* burger hidden on desktop */
}

/* =========================================================
   MOBILE NAV (<= 859px) — animated top-right dropdown
========================================================= */
@media (max-width: 600px){
  /* Show burger, convert nav to dropdown panel */
  .nav-toggle-button{ display:flex }

  /* Anchor nav to top-right under the header bar */
  .nav{
    position: absolute;
    top: calc(100% + 8px);   /* just below header inside container */
    right: 0;
    background: #ffffffe2;
    backdrop-filter: blur(3px);
    border: none;
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 8px;
    display: grid;
    gap: 4px;
    width: min(88vw, 260px);
    transform-origin: top right;
    transform: scaleY(0);
    opacity: 0;
    pointer-events: none;
    transition: transform .22s ease, opacity .18s ease;
    z-index: 120;
  }

  /* Links as block items for easy tapping */
  .nav a{
    display:block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #141414;
  }
  .nav a:hover{ background: rgba(0,0,0,.04); color: var(--ink) }

  /* OPEN STATE (checkbox hack) */
  .nav-toggle:checked ~ .nav-right .nav{
    transform: scaleY(1);
    opacity: 1;
    pointer-events: auto;
  }

  /* Spacing so brand doesn't overlap burger */
  .header-inner{ padding-right: 52px; }

}















/* =========================================================
   NICE DETAILS
========================================================= */
.service-card:hover{ transform: translateY(-2px); transition: transform .15s ease }

/* =========================================================
   MODAL (dialog)
========================================================= */
.modal{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-height: 80vh;
  min-width: 80vw;
  max-width: 90vw;
  max-height: 90vh;
  border: none;
  border-radius: 8px;
  padding: 0;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  overflow-y: auto;
  background: #FBF8F5;
}
.modal::backdrop{
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
}
.modal__header{
  display:flex; align-items:center; justify-content:space-between;
  padding: 16px 18px; border-bottom:1px solid var(--line); border-radius:16px 16px 0 0; background: #fbf8f5;
}
.modal__header h4{
  font-family:"Playfair Display", Georgia, serif;
  font-size:1.15rem;
}
.modal__close{
  appearance:none; border:0; background:transparent;
  font-size: 26px; line-height:1; cursor:pointer; padding:2px 6px; border-radius:8px;
}
.modal__body{
  padding: 18px; background: #FBF8F5; border-radius: 0 0 16px 16px;
}
.modal__body p + p{ margin-top:.9rem }

/* ===== MODAL — mobile full-screen sheet ===== */
@media (max-width: 600px){
  .modal{
    position: fixed;
    inset: 0;               /* stick to all edges */
    width: 100%;
    height: 100vh;
    max-width: none;
    max-height: none;
    margin: 0;              /* remove any default margins */
    border-radius: 0;       /* no rounded corners on full-screen */
    transform: none;        /* cancel desktop centering transform */
    box-shadow: none;       /* optional: avoid inner shadow look on mobile */
    background: var(--paper);
  }
  .modal__header{
    position: sticky;       /* keep header visible while scrolling */
    top: 0;
    background: var(--bg);
    border-radius: 0;
    z-index: 1;
  }
  .modal__body{
    padding: 14px 16px 24px; /* comfy but tight to screen edges */
    background: var(--paper);
  }
  .modal::backdrop{
    background: rgba(0,0,0,.5); /* slightly stronger backdrop on mobile */
  }
}






/* =========================================================
   COOKIE / DATENSCHUTZ-HINWEIS
========================================================= */

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #e8dfd2; /* heller, edler Grundton */
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  padding: 1.5rem 0;
  display: none; /* zunächst ausgeblendet */
  z-index: 9999;
  animation: fadeIn 0.5s ease-in-out;
}

.cookie-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1.5rem;
  font-family: "Inter", "Helvetica Neue", sans-serif;
  color: #2b2b2b;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cookie-inner h4 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #b59760;
  margin: 0;
}

.cookie-inner p {
  margin: 0;
  line-height: 1.7;
  font-size: 0.95rem;
}

.cookie-inner a {
  color: #b59760;
  text-decoration: underline;
}

.cookie-inner a:hover {
  color: #8c6a43;
}

.cookie-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.cookie-buttons button {
  padding: 0.6rem 1.2rem;
  font-family: "Inter", sans-serif;
  font-size: 0.95rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-accept {
  background-color: #b59760; /* Gold */
  color: #fff;
}

.btn-accept:hover {
  background-color: #9e8353;
}

.btn-decline {
  background-color: #f6f2ed; /* helles Beige */
  color: #2b2b2b;
}

.btn-decline:hover {
  background-color: #c7bbaa;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/* Dropdown-Menü für Header-Navigation */
.nav-dropdown {
  position: relative;
}

.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  min-width: 220px;
  z-index: 1000;
  padding: 10px 0;
  flex-direction: column;
}

.nav-dropdown-menu a {
  display: block;
  padding: 10px 16px;
  color: #1E1B16;
  font-size: 0.95rem;
  white-space: nowrap;
}

.nav-dropdown-menu a:hover {
  background-color: #f0ece7;
  color: var(--accent-700);
}

.nav-dropdown:hover .nav-dropdown-menu {
  display: flex;
}

/* Optional: Cursor und Farbe für den Dropdown-Link */
.nav-link {
  cursor: pointer;
  padding: 10px;
  color: #3a3a3a;
  transition: color 0.2s ease;
}

.nav-link:hover {
  color: #D4AF37;
}


/* Split-Layout: Text links, Bild rechts (sticky) */
.split-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.split-layout__text {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink);
}

.split-layout__image {
  position: sticky;
  top: 100px;
  align-self: start;
}

.split-layout__image img {
  border-radius: 12px;
  max-width: 100%;
  box-shadow: var(--shadow);
}

/* Responsive Verhalten */
@media (max-width: 860px) {
  .split-layout {
    grid-template-columns: 1fr;
  }
  .split-layout__image {
    position: static;
    margin-top: 20px;
  }
}




/* ================================
   TEXTDARSTELLUNG – RECHTSGEBIETE
   ================================ */

.split-layout {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 3rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
  flex-wrap: wrap;
}

.split-layout__text {
  flex: 1 1 55%;
  max-width: 700px;
}

.split-layout__image {
  flex: 1 1 40%;
  position: sticky;
  top: 100px;
  align-self: flex-start;
}

.split-layout__image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
}


/* Hauptüberschrift (h1) */
.split-layout__text h1 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #2a2629;
   font-family: 'Cormorant Garamond', serif;
  font-size: clamp(40px, 5vw, 50px);
  line-height: 1.6;

  margin-bottom: -1rem;

  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

  

/* Zwischenüberschriften (h2) */
.split-layout__text h2 {
  position: relative;
  display: inline-block;               /* sorgt dafür, dass die Linie nur so breit ist wie der Text */
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 2.5rem;
  margin-bottom: 0.8rem;
  color: #333;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

/* Zarte Linie unter h2 */
.split-layout__text h2::after {
  content: "";
  display: block;
  width: 60px;                         /* Länge der Linie */
  height: 3.5px;                         /* sehr fein */
  background-color: rgba(181, 151, 96, 0.5); /* Gold, halbtransparent */
  margin-top: 0.4rem;
}


/* Textabsätze */
.split-layout__text p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #2a2629;
  margin-bottom: 1.6rem;
}

/* Optional: Fettmarkierung */
.split-layout__text strong {
  font-weight: 600;
  color: #111;
}

/* Responsive Anpassung */
@media (max-width: 768px) {
  .split-layout {
    flex-direction: column;
  }
  .split-layout__image {
    position: static;
    margin-top: 2rem;
  }
}


.notruf-badge {
  display: none !important;
}



.split-layout__image {
  position: sticky;
  top: 100px;
}

.image-caption {
  text-align: center;
  margin-top: 10px;
  font-family: Arial, sans-serif;
  font-size: 0.95rem;
  color: #333;
}




/* =========================================================
   CONTACT SECTION (für Unterseiten)
========================================================= */
.contact {
  background: #ece7df;
  padding: 4rem 0;
  border-top: 1px solid var(--line);
}

.contact__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: flex-start;
}

.contact__col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}



.contact__tagline {
  font-size: 1rem;
  color: var(--muted);
}

.contact__list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  display: grid;
  gap: 0rem;
}

.contact__row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1rem;
}

.contact__icon {
  font-size: 1.2rem;
  width: 24px;
}

.contact__address {
  font-style: normal;
}

.contact__list a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact__list a:hover {
  color: var(--accent-700);
  text-decoration: underline;
}

iframe {
  border-radius: var(--radius);
  width: 100%;
  height: 350px;
  border: none;
}

/* Responsive */
@media (max-width: 860px) {
  .contact__inner {
    grid-template-columns: 1fr;
  }
}



.fab {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); }
}


.about__rechtsanwalt1 {
  width: 10%;
  height: auto;
  display: block;
  margin: 2rem auto; /* zentriert und mit Abstand */
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}



.zitat {
  font-style: italic;
  font-size: 1.2rem;
  text-align: center;
  margin: 3rem auto;
  max-width: 600px;
  color: #555;
  padding: 1rem 2rem;
  border-left: 3px solid #ccc;
  opacity: 0.8;
}




html {
  scroll-behavior: smooth;
}



.cta-call {
  display: inline-block;
  background-color: #b59760!important;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.7rem 1.2rem;
  border-radius: 8px;
  text-decoration: none;
  margin-top: 0.6rem;
  transition: background 0.2s ease;
}
.cta-call:hover {
  background-color: #9e8353;
}




.kontakt-button {
  display: inline-block;
  background-color: #9e8353; /* Goldton */
  color: #fff;
  font-family: "Arial", serif;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.9rem 1.4rem;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  margin-top: 1.5rem;
}

.kontakt-button:hover {
  background-color: #9e8353;
  transform: translateY(-2px);
}











































.cta-block {
  text-align: center;
  background-color: #e8d8d3;
  padding: 3rem 1rem;
  margin: 4rem 0;
}

.cta-block h3 {
  font-size: 1.6rem;
  color: #1E1B16;
  margin-bottom: 1rem;
}

.cta-block .cta-button {
  background-color: #8a3c3c;
  color: white;
  padding: 0.8rem 1.4rem;
  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
  display: inline-block;
  margin-top: 1rem;
}







.highlight {
  background: linear-gradient(to top, #b59760 20%, transparent 20%);
}



.cta-section {
  text-align: center;
  padding: 5rem 1rem;
  background-color: #f8f6f4;
  border-top: 1px solid rgba(181, 151, 96, 0.15);
  border-bottom: 1px solid rgba(181, 151, 96, 0.15);
}

.cta-section h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: #1e2732;
  margin-bottom: 0.5rem;
  line-height:1.2;
}

.cta-section p {
  font-family: 'Cormorant Garamond', serif;
  color: #333;
  margin-bottom: 2rem;
}

.cta-button {
  display: inline-block;
  background-color: transparent;
  color: #1e2732;
  border: 1px solid rgba(181, 151, 96, 0.6);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-decoration: none;
  padding: 0.8rem 1.8rem;
  border-radius: 0;
  transition: all 0.3s ease;
}

.cta-button:hover {
  background-color: #b59760;
  color: #fff;
  border-color: #b59760;
  transform: translateY(-2px);
}


.cta-section {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.cta-section.visible {
  opacity: 1;
  transform: translateY(0);
}














.split-layout__text {
  width: 100%;
  box-sizing: border-box;
}

.datenschutz__content {
  line-height: 1.6;
  word-wrap: break-word;
}


















.contact-icons-right {
  position: fixed;
  right: 24px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  z-index: 1000;
}

.contact-icons-right .icon-link svg {
  width: 46px;
  height: 46px;
  fill: #c8a65b; /* Warmes Gold */
  transition: transform 0.4s ease, filter 0.4s ease, fill 0.4s ease;
  animation: gentlePulse 3s ease-in-out infinite;
}

/* sanftes Leuchten / Pulsieren */
@keyframes gentlePulse {
  0%, 100% {
    transform: scale(1);
    filter: drop-shadow(0 0 3px rgba(200,166,91,0.4));
  }
  50% {
    transform: scale(1.08);
    filter: drop-shadow(0 0 10px rgba(230,200,120,0.6));
  }
}

/* Hover-Effekt – helleres Gold + leichter Lift */
.contact-icons-right .icon-link:hover svg {
  fill: #e6c878; /* Helleres Gold beim Hover */
  transform: scale(1.15) translateY(-3px);
  filter: drop-shadow(0 0 12px rgba(230,200,120,0.7));
}





/* =========================================================
   FACHGEBIETE – Einheitlicher Hintergrund
========================================================= */
body.fachgebiet {
  background-color: #FFFDFC;  /* z. B. ein edles hellblaugrau */
  color: #2a2629;
}

/* Optional: Innere Sektionen etwas absetzen */
body.fachgebiet main,
body.fachgebiet .section {
  background: transparent;
}

/* =========================================================
   FACHGEBIETE – Kontaktbereich hell halten
========================================================= */

body.fachgebiet .contact {
  background-color: #f7f3eb; /* dein helles, edles Weiß */
  color: var(--ink);
}



/* =========================================================
   FACHGEBIETE – Einheitlicher Hintergrund
========================================================= */
body.anwalt {
  background-color: #F2E8E4;  /* z. B. ein edles hellblaugrau */
  color: #2a2629;
}

/* Optional: Innere Sektionen etwas absetzen */
body.anwalt main,
body.anwalt .section {
  background: transparent;
}

/* =========================================================
   FACHGEBIETE – Kontaktbereich hell halten
========================================================= */

body.anwalt .contact {
  background-color: #fbf8f5; /* dein helles, edles Weiß */
  color: var(--ink);
}













/* NEUES NAVI 

/* ===========================================
   NAVIGATION – Einheitlich & Sauber
=========================================== */

/* Basislayout (Desktop) */
.nav {
  display: flex;
  gap: 1.2rem;
  align-items: center;
}

.nav-item {
  position: relative;
}

.nav-link {
  cursor: pointer;
  font-weight: 400;
  color: #2a2629;
  padding: 8px 0;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

/* Dropdown (Desktop-Hover) */
.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  padding: 10px 0;
  min-width: 220px;
  flex-direction: column;
  z-index: 100;
}

.nav-dropdown-menu a {
  display: block;
  padding: 10px 16px;
  color: #2a2629;
}

.nav-dropdown-menu a:hover {
  background: rgba(0,0,0,0.05);
}

/* Hover zeigt Menü auf Desktop */
@media (min-width: 861px) {
  .nav-item:hover > .nav-dropdown-menu {
    display: flex;
  }
}

/* ===========================================
   MOBILE VERSION
=========================================== */
@media (max-width: 859px) {
  .nav {
    display: none;
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    padding: 10px 14px;
    margin-top: 10px;
  }

  .nav a,
  .nav-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: #2a2629;
    padding: 12px 10px;
    border-radius: 8px;
  }

  /* Burger aktiv → Menü sichtbar */
 
.nav-toggle:checked ~ .nav-right .nav {
  display: flex;

  }



  /* Dropdown für mobile Ansicht (Klickverhalten) */
  .nav-dropdown-menu {
    display: none;
    flex-direction: column;
    background: #fafafa;
    margin-top: 6px;
    border-radius: 8px;
    padding: 6px 10px;
  }

  .nav-dropdown.open .nav-dropdown-menu {
    display: flex;
  }
}




@media (max-width: 860px) {
  /* Hauptlinks im mobilen Menü */
  .nav a,
  .nav-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 300; /* ← hier wird es „dick“ */
    color: #2a2629;
    padding: 12px 10px;
    border-radius: 8px;
    background: none;
  }
}



/* NAVIGATION – Hover-Effekte für Dropdown auf Mobil ausschalten */
@media (max-width: 859px) {
  .nav-dropdown:hover .nav-dropdown-menu {
    display: none !important;
  }

  .nav-dropdown-menu {
    position: static !important;
    box-shadow: none !important;
    background: none !important;
    padding: 0 !important;
  }

  .nav-dropdown-menu a {
    padding-left: 18px !important; /* optional – etwas eingerückt für Übersicht */
  }

  /* Entfernt evtl. Pfeil- oder Hoverfarben */
  .nav-link:hover {
    color: inherit !important;
    background: none !important;
  }
}






/* Mobile Dropdown (+/-) */
.dropdown-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.4rem;
  margin-left: 6px;
  cursor: pointer;
  color: #2a2629;
}

/* nur auf Mobil anzeigen */
@media (max-width: 860px) {
  .dropdown-toggle {
    display: inline-block;
  }

  .nav-dropdown-menu {
    display: none;
    position: static;
    background: none;
    box-shadow: none;
    padding: 0;
  }

  .nav-dropdown.open .nav-dropdown-menu {
    display: flex;
    flex-direction: column;
  }

  /* + / - Symbol */
  .nav-dropdown .dropdown-toggle::after {
    content: "+";
    font-weight: bold;
  }
  .nav-dropdown.open .dropdown-toggle::after {
    content: "−";
  }
}



/* neue button bei fachgebiete 

/* =========================
   CTA-Button in Service Cards
========================= */
.card__cta {
  display: block;
  color: #2a2629;
  border: 1.5px solid rgba(181, 151, 96, 0.3);
  border-radius: 8px;
  padding: 0.55rem 1.1rem;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  transition: all 0.25s ease;
  margin: 0.6rem auto 0 auto;
  align-items:center;
  line-height:1.2;
}
.card__cta:hover {
  background: #b59760;
  color: #fff;
  transform: translateY(-2px);
}

.service-card {
  border: 1px solid rgba(181, 151, 96, 0.3); /* zarter Gold-Ton, halbtransparent */
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}

.service-card:hover {
  border-color: #b59760;
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* --- Goldene Umrandung um die Karten (immer sichtbar) --- */
.service-card {
  border: 0.5px solid #b59760; /* konstante goldene Linie */
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
  padding: 1.2rem;
}

/* Hover-Effekt: etwas intensiver und leicht angehoben */
.service-card:hover {
  border-color: #a08245; /* satteres Gold beim Hover */
  box-shadow: 0 8px 22px rgba(181, 151, 96, 0.15);
  transform: translateY(-3px);
}








.about__media {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.about__video {
  width: 100%;
  height: 100%;
  object-fit: cover;          /* Füllt den Rahmen schön aus */
  filter: brightness(0.8);    /* Etwas gedämpft, eleganter Look */
  border-radius: 12px;
  opacity: 0.85;              /* Dezent transparent, wirkt edel */
}

/* Optional: Farbton leicht anpassen, z. B. in dein Farbschema (Beige/Braun) */
.about__video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(59, 44, 26, 0.15); /* leicht brauner Overlay-Farbton */
  pointer-events: none;
}


.about__media,
.about__video {
  height: 100%;
}

.about__inner {
  align-items: stretch; /* alle Elemente gleich hoch */
}



@media (max-width: 859px) {
  .about__inner {
    display: block;
  }

.about__media {
  width: 100%;
  margin: 0;
  border-radius: 0;
  position: relative;
}

  

  .about__video {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    border-radius: 0px;
  }

  .about__content {
    padding: 0 1.5rem;  
    margin-top: 1.5rem;     /* sorgt für Text-Abstand auf kleineren Screens */
  }
}





















.video-divider {
  position: relative;
  width: 100%;
  height: 160px; /* Höhe des Balkens – kannst du anpassen (z. B. 100px, 200px) */
  overflow: hidden;
}

.video-divider video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  filter: brightness(0.8);
  opacity: 0.9;
}



.video-divider::before {
  top: 0;
  background: linear-gradient(to bottom, #f6eddf, transparent);
}

.video-divider::after {
  bottom: 0;
  background: linear-gradient(to top, #f6eddf, transparent);
}














/* =============================
   Section-Abstände gezielt steuern
============================= */

/* Standardregel für alle Seiten */
.section {
  padding: clamp(40px, 6vw, 88px) 0;
}

/* Startseite (mit class="home") behält ihren oberen Abstand */
body.home .section:first-of-type {
  padding-top: clamp(40px, 6vw, 88px);
}

/* Alle Unterseiten (ohne .home) starten bündig unter dem Header */
body.fachgebiete  {
  padding-top: -100px;
}




/* =========================================================
   UNTERSEITEN-ABSTAND FIX
========================================================= */

/* Nur Unterseiten mit class="fachgebiet" */
body.fachgebiete .video-divider {
  margin-top: 0 !important;
  padding-top: 60px !important; /* hier Abstand nach Wunsch */
  padding-bottom: 20px;         /* optional, damit es unten harmonisch bleibt */
}

/* Erste Section nach Header, falls video-divider fehlt */
body.fachgebiete main > section:first-of-type {
  margin-top: 0 !important;
  padding-top: 500px !important;
}







/* =========================================================
   UNTERSEITEN NEUE SECTION-KLASSE
========================================================= */
.subsection {
  padding: 0;            /* kein globales Padding */
  margin: -50;             /* bündig mit Header */
}

/* optional, wenn du ein bisschen Luft willst */
.subsection:first-of-type {
  padding-top: 0px;
}





/* =========================================================
   Mobile Feintuning für Unterseiten-Abstand
========================================================= */
@media (max-width: 768px) {
  body.fachgebiete .subsection:first-of-type {
    padding-top: 20px; /* kleinerer Abstand für Handy */
  }
}







/* --- FIX: Dropdown öffnet auf Mobil per Klick --- */
@media (max-width: 860px) {
  .nav-dropdown:hover .nav-dropdown-menu {
    display: none !important; /* Hover ausschalten auf Mobil */
  }

  .nav-dropdown.open .nav-dropdown-menu {
    display: flex !important; /* Klick (JS) zeigt das Menü */
    flex-direction: column;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    padding: 10px 0;
  }
}






.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

/* Stil fürs Plus-Zeichen */
.nav-plus {
  font-weight: 600;
  font-size: 1.2em;
  transition: transform 0.3s ease;
}

/* Dreht sich beim Öffnen */
.nav-dropdown.open .nav-plus {
  transform: rotate(45deg); /* aus + wird ein × */
}











.justitia-wrapper {
    text-align: center;      /* zentriert horizontal */
    margin: 10px 0;          /* Abstand oben und unten */
}

.justitia {
    max-width: 100%;         /* passt sich an, bleibt responsiv */
    height: auto;            /* Verzerrung vermeiden */
    display: inline-block;   /* notwendig für perfekte Zentrierung */
    width: 290px;
}





.kontaktbild {
  max-width: 70%;
  height: auto;
  display: block;
  margin: 0 auto; /* zentriert das Bild */
}





















































.faq-kartenbereich {
  padding: 24px 0 24px;
  background-color: #E6E3E0; /* wie dein Fachgebiete-Hintergrund */
}

.faq-column {
  display: flex;
  flex-direction: column;
  gap: 2em;
  max-width: 800px;
  margin: 0 auto;
}

.faq-karte {
  background: #fff;
  padding: 2em;
  border-radius: 12px;
  border: 1px solid #bfa77a; /* zarter Goldton */
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease;
}

.faq-karte:hover {
  transform: translateY(-3px);
}

.faq-frage {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  margin-bottom: 0.6em;
  color: #2c2c2c;
}

.faq-antwort {
  font-family: 'Inter', sans-serif;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #444;
}















.faq-section {
  background-color: #E6E3E0;
  
  font-family: 'Inter', sans-serif;
}

.faq-section .container {
  max-width: 800px;
  margin: 0 auto;
}

.faq-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 1rem;
  color: #2c2c2c;
}

.faq-intro {
  font-size: 1.1rem;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 2rem auto;
  color: #444;
}



.cta-button:hover {
  background-color: #002244;
}



















/* FAQ Styles */

/* FAQ Styles */
.faq-item {
  background: #fff;
  border: 1px solid #d6b56c;
  border-radius: 10px;
  margin-bottom: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-question {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-size: 1.2rem;
  font-family: 'Cormorant Garamond', serif;
  padding: 1rem 1.5rem;
  cursor: pointer;
  color: #2c2c2c;
  position: relative;
}

.faq-question::after {
  content: '+';
  position: absolute;
  right: 1.5rem;
  top: 1.2rem;
  font-size: 1.2rem;
  color: #bfa76a;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question::after {
  content: '−';
  transform: rotate(180deg);
}





.faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 1.5rem;
  font-size: 1rem;
  color: #444;
  transition: max-height 0.4s ease, padding 0.3s ease;
}

.faq-item.active .faq-answer {
  max-height: 2000px;
  padding: 1rem 1.5rem 1.5rem;  /* Abstand unten */
}






.cta-wrapper {
  text-align: center;
  margin-top: 1.5rem;
}

.cta-edel-gold {
  display: inline-block;
  background-color: #bfa76a;
  color: #fff;
  padding: 0.75rem 1.5rem;
  font-size: 1.05rem;
  font-family: 'Inter', sans-serif;
  text-decoration: none;
  border: none;
  border-radius: 8px;
  font-weight: 500;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.cta-edel-gold:hover {
  background-color: #a68f55;
  transform: translateY(-2px);
}






.faq-question {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-size: 1.2rem;
  font-family: 'Cormorant Garamond', serif;
  padding: 1rem 1.5rem;
  cursor: pointer;
  color: #2c2c2c;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.faq-question i {
  color: #bfa76a; /* Goldton für das Icon */
  font-size: 1rem;
  flex-shrink: 0;
}






.faq-answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0 1.5rem;
  font-size: 1rem;
  color: #444;
  transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.3s ease;
}

.faq-item.active .faq-answer {
  max-height: 2000px;
  opacity: 1;
  padding: 1rem 1.5rem 1.5rem;
}

.faq-question:active {
  transform: scale(0.98);
  transition: transform 0.1s ease;
}


.faq-item:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}




/* Spezielle interne Rechtsgebiets-Links */
.internal-link {
  color: #b08a46;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 138, 70, 0.4);
  padding-bottom: 2px;
  transition: all 0.25s ease;
}

.internal-link:hover {
  color: #916f33;
  border-bottom-color: #916f33;
}








/* Antwortblock: linksbündig, gute Lesbarkeit */
.faq-answer {
  text-align: left !important;   /* überschreibt geerbtes center */
  
}

.faq-answer p {
  margin: 0 0 12px;
  line-height: 1.7;
  font-size: 1.02rem;
  color: #333;
}

/* Falls der ganze FAQ-Bereich zentriert war: hier auf links zurückdrehen */
.faq-section,
.faq-list,
.faq-item {
  text-align: left !important;
}

/* Optional: max Breite im Text für Premium-Rhythmus */
.faq-answer > * {
  max-width: 62ch;
}



/* =========================================================
   faqs – Einheitlicher Hintergrund
========================================================= */
body.faqs {
  background-color: #fdf9f4;  /* z. B. ein edles hellblaugrau */
  color: #2a2629;
}

/* Optional: Innere Sektionen etwas absetzen */
body.fachgebiet main,
body.fachgebiet .section {
  background: transparent;
}





html {
  overflow-x: hidden 
}

body {
  overflow-x: hidden
}



.faq-container.split-layout {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}





/* ============================================
   Eigener Container für FAQ
   ============================================ */
.faq-container {
  max-width: 1200px;   /* oder 1100, wie du es gewohnt bist */
  margin: 0 auto;      /* zentriert */
  padding: 0 1rem 1rem;     /* angenehme Seitenabstände */
  width: 100%;

}








.toc {
  border-left: 4px solid #bfa76a;
  padding: 1.6rem 2rem;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
}
.toc h2 {
  margin-top: 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
}





.faq-split-layout__text h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3rem;
  margin-bottom: 0.6rem;
  font-weight: 500;
}

.faq-split-layout__text h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  color: #3b3b3b;
  margin-bottom: 1.2rem;
}

.faq-split-layout__text p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #4b4b4b;
}


























.subpage-content {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 2rem;
  color: #2a2629;
  line-height: 1.7;
}












.subpage-divider {
  width: 250px;            
  height: 2px;             
  background-color: #bfa76a;  
  
  margin: 2.5rem auto 0.5rem auto;  
  border-radius: 2px;
  opacity: 0.9;            
}





.subpage-heading-icon {
  text-align: center;
  font-size: 1.3rem;
  color: #bfa76a;
  margin-bottom: 0.6rem;
  opacity: 0.85;
}







.overview-premium {
  background: #ffffff;
  border: 1px solid rgba(191, 167, 106, 0.45);
  border-radius: 16px;
  padding: 2.2rem 2.4rem;
  margin: 2.8rem auto;
  box-shadow: 0 6px 25px rgba(0,0,0,0.07);
  max-width: 900px;
  position: relative;
  overflow: hidden;
}

/* Gold-Linie oben */
.overview-premium::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #bfa76a, #e4d5a0, #bfa76a);
}

/* Header */
.overview-premium__header {
  display: flex;
  align-items: center;
  margin-bottom: 1.4rem;
}

.overview-premium__icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, #ebdec0, #c7b07a);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

.overview-premium__icon i {
  color: #564b3f;
  font-size: 1.1rem;
}

.overview-premium__header h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.55rem;
  color: #2a2629;
  margin: 0;
}

/* Liste */
.overview-premium__list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  line-height: 1.7;
}

.overview-premium__list li {
  margin-bottom: 0.45rem;
  padding-left: 0.2rem;
}

.overview-premium__list li a {
  text-decoration: none;
  color: #5a4a42;
  font-size: 1.08rem;
  transition: 0.2s ease;
}

.overview-premium__list li a:hover {
  color: #bfa76a;
  padding-left: 4px;
}






















/* =========================================================
   HERO – GLOBAL (für ALLE Fachgebiete)
========================================================= */

.subpage-hero-right {
  position: relative;
  height: 100vh;
  background-image: url('bilder/anwaltstrafrecht5.jpeg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 40%; /* Desktop */
  overflow: hidden;
}

/* 📱 Mobil-Geräte: Bild neu zentrieren */
@media (max-width: 768px) {
  .subpage-hero-right {
    background-position: center !important; 
    background-size: cover;
  }
}











/* Textblock */
.subpage-hero-right__content {
  position: absolute;
  bottom: 40px;
  right: 5%;
  width: 40%;
  color: #fff;
  text-align: right;

  opacity: 0;
  transform: translateY(12px);
  transition: all 0.8s ease;
}



.subpage-hero-right__content h1 {
  font-size: 3.2rem;
  line-height: 1.15;
  text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
























body.fachgebiet .faq-split-layout__text h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: rgba(181, 151, 96, 0.55);
  margin-top: 0.4rem;
}

body.fachgebiet .faq-split-layout__text h2 {
  margin-top: 2.2rem;
  margin-bottom: 0.6rem;
}



body.fachgebiet .faq-split-layout__text p {
  margin-bottom: 1.1rem;  /* geringer als aktuell */
  line-height: 1.65;      /* edler als 1.7 */
}


body.fachgebiet .faq-split-layout__text h2::after {
  content: "";
  display: block;
  width: 90px;
  height: 2.5px;
  background-color: rgba(191, 167, 106, 0.55);
  margin-top: 0.4rem;
  border-radius: 2px;
}


body.fachgebiet .faq-split-layout__text {
  max-width: 1000px;
  margin: 0 auto;
}


body.fachgebiet .faq-split-layout__text p {
  color: #2b2725; /* leicht dunkler, eleganter */
}
body.fachgebiet .faq-split-layout__text h2 {
  color: #1e1c1b; /* etwas tiefer */
}


body.fachgebiet .faq-split-layout__text h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.8rem;
  font-weight: 500;
}



body.fachgebiet .subpage-content {
  padding-top: 1.2rem;
}



body.fachgebiet .highlight {
  background: linear-gradient(90deg, #faf5ee, #f9f3e8);
  padding: 0.1rem 0.2rem;
  border-radius: 3px;
}




.faq-split-layout__text p:first-of-type {
  font-size: 1.16rem;
  font-weight: 400;
}



.faq-split-layout__text h2 + p {
  text-indent: 6px;
  font-size: 1.16rem;
  font-weight: 400;
}




::-webkit-scrollbar {
  width: 7px;
}

::-webkit-scrollbar-thumb {
  background: rgba(191,167,106,0.45);
  border-radius: 10px;
}

::-webkit-scrollbar-track {
  background: #f2ede6;
}




body.fachgebiet .faq-split-layout__text h2 {
  letter-spacing: 0.3px;
}










.faq-split-layout__text h2 {
  letter-spacing: -0.3px;
  font-weight: 500;
}



.faq-split-layout__text h2 {
  padding-top: 1px;
}


.subpage-hero-right__content {
  opacity: 0;
  transform: translateY(12px);
  transition: all 0.8s ease;
}

body.loaded .subpage-hero-right__content {
  opacity: 1;
  transform: translateY(0);
}










body.loaded .subpage-hero-right {
  transform: scale(1);
}



.faq-split-layout__text ul {
  list-style: none;
  padding-left: 0;
}

.faq-split-layout__text ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 0.6rem;
}

.faq-split-layout__text ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 8px;
  height: 8px;
  background: #bfa76a;
  border-radius: 50%;
}


/* Grundzustand: unsichtbar, leicht nach unten versetzt */
.faq-split-layout__text ul li {
  opacity: 0;
  transform: translateY(16px);
}

/* Aktivierte Animation */
.faq-split-layout__text ul li.animate {
  animation: fadeUp 0.9s ease-out forwards;
}

/* Verzögerungen – bleiben gleich */
.faq-split-layout__text ul li.animate:nth-child(1) { animation-delay: 0.15s; }
.faq-split-layout__text ul li.animate:nth-child(2) { animation-delay: 0.30s; }
.faq-split-layout__text ul li.animate:nth-child(3) { animation-delay: 0.45s; }
.faq-split-layout__text ul li.animate:nth-child(4) { animation-delay: 0.60s; }
.faq-split-layout__text ul li.animate:nth-child(5) { animation-delay: 0.75s; }
.faq-split-layout__text ul li.animate:nth-child(6) { animation-delay: 0.90s; }
.faq-split-layout__text ul li.animate:nth-child(7) { animation-delay: 1.05s; }
.faq-split-layout__text ul li.animate:nth-child(8) { animation-delay: 1.20s; }
.faq-split-layout__text ul li.animate:nth-child(9) { animation-delay: 1.35s; }
.faq-split-layout__text ul li.animate:nth-child(10) { animation-delay: 1.50s; }

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}











body.anwalt .subpage-hero-right {
  background-image: url('bilder/anwalt4.jpg');
  background-position: right 20%;    
  background-size: cover;
}











body.anwalt .faq-split-layout__text h2::after {
  content: "";
  display: block;
  width: 90px;
  height: 2.5px;
  background-color: rgba(191, 167, 106, 0.55);
  margin-top: 0.4rem;
  border-radius: 2px;
}












@media (max-width: 600px) {

  .subpage-hero-right__content {
    width: 90% !important;
    right: 5% !important;
    left: 5% !important;
    text-align: right !important;  /* oder center, wenn du willst */
  }

  .subpage-hero-right__content h1 {
    font-size: 1.8rem !important;
    line-height: 1.2 !important;
    text-align: right !important;
  }

  .subpage-hero-right__content p {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
    text-align: right !important;
  }
}





body.anwalt .faq-split-layout__text p {
  color: #2b2725; /* leicht dunkler, eleganter */
}
body.anwalt .faq-split-layout__text h2 {
  color: #1e1c1b; /* etwas tiefer */
}


body.anwalt .faq-split-layout__text h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.8rem;
  font-weight: 500;
}





























.hero-container {
    position: relative;
    min-height: 100vh;
    height: auto;
    width: 100%;
    overflow: visible !important;  /* WICHTIG! */
    padding-bottom: 120px;  /* Platz für die Karte */
}













/*ABSCHNITT*/

/* Oben und unten der Inhalt */
/* Das globale Video im Hintergrund */
body.home::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('bilder/strafrechtmuenchen.jpeg') no-repeat center center;
    background-size: cover;
    z-index: -1;  /* hinter ALLEN Elementen */
    filter: brightness(0.9);
    pointer-events: none;
}








/* Vogue-konformer, minimalistischer Kontaktstreifen */
.contact-bar{
  background: linear-gradient(180deg,#fff,#fbf8f2);
  border-top: 1px solid rgba(214,184,120,.35);
  border-bottom: 1px solid rgba(214,184,120,.35);
}

.contact-bar .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 40px;
}

.contact-inline{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; /* mittig, wirkt editorial */
  gap: 12px 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-item{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  position: relative;
  color: #222;
  line-height: 1.4;
  font-size: 15.5px;
}

/* zarter Trennerpunkt im Vogue-Stil */
.contact-item::after{
  content: "·";
  margin-left: 28px;
  opacity: .35;
}
.contact-item:last-child::after{ content: none; }

.label{
  font-variant-caps: all-small-caps;
  letter-spacing: .08em;
  color: #8c8c8c;
}

/* Links: understatement, dezente Gold-Anmutung beim Hover */
.contact-item a{
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.contact-item a:hover{
  border-bottom-color: rgba(181,140,74,.55); /* Goldlinie */
  color: #111;
}

/* Notfall leicht akzentuieren – ohne Button-Wirkung */
.contact-emergency{
  padding: 4px 10px;
  border: 1px solid rgba(181,140,74,.35);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(214,184,120,.10), rgba(181,140,74,.05));
}

/* Mobile Breakpoints: sauber umbrechen */
@media (max-width: 900px){
  .contact-bar .container{ padding:16px 18px; }
  .contact-inline{ gap: 10px 18px; }
  .contact-item::after{ margin-left: 18px; }
}
@media (max-width: 560px){
  .contact-inline{ justify-content: flex-start; }
  .contact-item{ font-size: 15px; }
  .contact-item::after{ display:none; } /* auf sehr klein ohne Punkte */
  .contact-emergency{ order: -1; }      /* Notfall ganz nach vorn */
}


/* ============================================
   FINALER VOGUE KONTAKTSTREIFEN
   Ultra-clean, editorial, luxury
============================================ */

.contact-bar{
  background: linear-gradient(180deg,#ffffff, #faf7f2);
  border-top: 1px solid rgba(181,140,74,0.28);
  border-bottom: 1px solid rgba(181,140,74,0.28);
  padding: 18px 0;
  position: relative;
  z-index: 5;
}

/* Container */
.contact-bar .container{
  max-width: 1250px;
  margin: 0 auto;
  padding-inline: 24px;
}

/* Inline-Liste */
.contact-inline{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

/* Items */
.contact-item{
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  position: relative;
  font-size: 15.5px;
  color: #1c1c1c;
  font-weight: 400;
  letter-spacing: 0;
}

/* Trennpunkte */
.contact-item::after{
  content: "·";
  font-size: 22px;
  position: absolute;
  right: -22px;
  top: 40%;
  transform: translateY(-50%);
  color: rgba(181,140,74,0.38);
}
.contact-item:last-child::after{ content: none; }

/* Labels */
.label{
  font-size: 12px;
  letter-spacing: 0.11em;
  font-variant-caps: all-small-caps;
  color: #777;
}

/* Links */
.contact-item a{
  color: #1c1c1c;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
  transition: border-color .25s ease, color .25s ease;
}

.contact-item a:hover{
  border-bottom-color: rgba(181,140,74,.55);
  color: #000;
}

/* Notfall – Akzent */
.contact-emergency{
  padding: 6px 14px;
  border: 1px solid rgba(181,140,74,.35);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(214,184,120,.12), rgba(181,140,74,.06));
}

/* Mobile */
@media (max-width: 900px){
  .contact-inline{
    gap: 26px 20px;
  }
  .contact-item::after{
    right: -14px;
  }
}

@media (max-width: 600px){
  .contact-inline{
    justify-content: flex-start;
  }
  .contact-item::after{
    display: none;
  }
  .contact-emergency{
    order: -1;
    margin-bottom: 6px;
  }
}















/* Top- und Bottom-Abschnitt */

.card-bottom {
    padding: 40px 0;
    background: #f7f3eb; /* Beige */
}

/* Der Slot, in dem man das Video sieht */
.video-background-slot {
    height: 100vh;   /* hier erscheint das Video */
    background: transparent;   /* wichtig! */
    position: relative;
    border-top: 2px solid rgba(198, 166, 103, 0.55);  /* hochwertiges Gold */
    border-bottom: 2px solid rgba(198, 166, 103, 0.55);
}

.video-background-slot::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;

    background: linear-gradient(
        rgba(198, 166, 103, 0.15),
        rgba(0,0,0,0)
    );
}















/* größere Laptops/Tablets: Motiv etwas höher schieben */
@media (max-width: 1280px){
  body.home::before{
    background-position: center 40%;
  }
}

/* Smartphones: noch etwas höher und minimal stärkerer Overlay */
@media (max-width: 768px){
  body.home::before{
    background-image:
      url('bilder/strafrechtmuenchen.jpeg');
          filter: brightness(1);

    background-position: left 30%;
  }
}



























@media (max-width: 820px) {
  body.fachgebiet .faq-split-layout__text {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 15px !important;
  }
}









.cta-elegant {
  background: #ffffff;
  padding: 3.2rem 2rem;
  border: 1px solid rgba(191, 167, 106, 0.35);
  border-radius: 14px;
  max-width: 850px;
  margin: 4rem auto;
  text-align: center;
  box-shadow: 0 8px 28px rgba(0,0,0,0.04);
}

.cta-elegant h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.1rem;
  color: #2c2c2c;
  font-weight: 500;
  margin-bottom: 1rem;
}

.cta-elegant p {
  font-family: "Inter", sans-serif;
  font-size: 1.1rem;
  color: #4c4c4c;
  margin-bottom: 1.8rem;
  line-height: 1.65;
}

/* Gold Outline Button – wirkt extrem high-end */
.cta-btn-outline {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 6px;
  border: 1px solid rgba(191,167,106,0.8);
  color: #6a552d;
  background: transparent;
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.3px;
  text-decoration: none;
  transition: all 0.25s ease;
}

.cta-btn-outline:hover {
  background: rgba(191,167,106,0.08);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}


@keyframes fadeInSoft {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}




/* Start unsichtbar */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

/* Sobald sichtbar */
.reveal-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}






.fade-h2, 
.fade-text, 
.fade-btn {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.cta-elegant.visible .fade-h2 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.15s;
}

.cta-elegant.visible .fade-text {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.75s;
}

.cta-elegant.visible .fade-btn {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.50s;
}


/*gold linie beim ersten block über mich auf startseite */
.gold-divider {
  border: none;
  height: 1.5px;
  width: 80px;
  margin: 2.5rem 0;
  background: linear-gradient(90deg, rgba(191,167,106,0.9), rgba(191,167,106,0.4));
  border-radius: 2px;
}






.signature-area {
    margin-top: 50px;
    margin-bottom: 80px;
}

.signature {
    font-family: 'Ms Madi', cursive;
    font-size: 52px;
    color: #c9b38a; /* Goldton */
    letter-spacing: 1px;
    margin-left: 0;
    margin-bottom: 0px;
}

.signature-title {
    font-family: "Didot", "Bodoni MT", serif;
    font-size: 14px;
    color: #22211f;
    text-transform: uppercase;
    letter-spacing: 4px;
    margin-left: 3px;
}






@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&display=swap');

/* Container – drei Spalten nebeneinander */

/* Wrapper: alles schön in der Mitte */
.values-wrapper {
    text-align: center;
    margin-top: 60px;
}

/* Einzelne Werte – untereinander */
.excellence {
    margin-bottom: 55px;
}

/* Titel (Didot – sehr edel) */
.excellence-title {
    font-family: "Didot", "Bodoni MT", serif;
    font-size: 44px;
    letter-spacing: 3px;
    font-weight: 300;
    color: #2a2f75;
    margin-bottom: 12px;
}

/* Untertitel – fein, minimalistisch */
.excellence-sub {
    font-family: "Didot", "Bodoni MT", serif;
    font-size: 17px;
    letter-spacing: 1.3px;
    line-height: 1.7;
    color: #2a2f75;
    opacity: 0.95;
}

/* Abstand zwischen den Zeilen (z.B. "Ehrlichkeit · Verantwortung" <br> "Authentizität · Konsequenz") */
.excellence-sub br {
    margin-bottom: 4px;
}

/* Mobile – identisch, aber etwas kleiner */
@media (max-width: 900px) {
    .excellence-title {
        font-size: 36px;
    }

    .excellence-sub {
        font-size: 15px;
    }
}


/* MOBILE FIX (max 900px) */
@media (max-width: 900px) {

    .values-row {
        display: block;
        width: 100%;
        text-align: center;
        padding: 0 20px; /* verhindert Ausbluten */
    }

    .values-row .excellence {
        width: 100%;
        margin: 40px 0;
    }

    .excellence.integritaet {
        padding: 0 20px;
    }

    .excellence-title {
        font-size: 34px;
        word-break: break-word; /* bricht extrem lange Wörter auf */
    }

    .excellence-sub {
        font-size: 15px;
        line-height: 1.6;
    }
}



.mobile-br {
    display: none;
}

@media (max-width: 900px) {
    .mobile-br {
        display: inline;
    }
}





/* ============================
   STARTSEITE – FAQ-BEREICH
   ============================ */

/* FAQ SECTION */
.faq-section {
    text-align: center;
    padding: 40px 0 70px;
}

.faq-intro {
    max-width: 700px;
    margin: 0 auto 50px;
}

/* GRID */
.faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 26px;
    margin-top: 30px;
}

/* PREMIUM-KARTEN */
.faq-card {
    background: #fdfdfd; /* etwas heller als dein Grundton */
    border: 1px solid #d9c6a5; /* zartes Gold */
    border-radius: 14px;
    padding: 26px 24px;
    text-align: left;
    box-shadow: 0 6px 14px rgba(0,0,0,0.06);
    transition: all 0.25s ease;
}

.faq-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}

/* TITEL */
.faq-card h3 {
    font-family: "Cormorant Garamond", serif;
    color: #2a2629;
    font-size: 1.35rem;
    margin-bottom: 10px;
    font-weight: 600;
}

/* BESCHREIBUNG */
.faq-card p {
    margin: 0 0 18px;
    font-size: 0.98rem;
    color: #4d4a4a;
    line-height: 1.55;
}

/* LINK */
.faq-card a {
    font-size: 0.92rem;
    color: #b89a67; /* dein Gold */
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px solid rgba(184,154,103,0.35);
    padding-bottom: 2px;
    transition: 0.2s;
}

.faq-card a:hover {
    color: #a38455;
    border-bottom-color: #a38455;
}



/* Abschnitt kontrollieren: Abstand über PADDING, nicht über Kind-Margins */
.faq-section{
  padding: 72px 0 120px;  /* oben/unten großzügig, unten extra wegen Sticky-Icons */
  background:  #E6E3E0; /* falls dein graubeiger Hintergrund so heißt */
}

/* Titel + Intro: keine Top-Margins, nur unten */
.faq-section .section__title,
.faq-intro{
  margin-top: 0;
}
.faq-section .section__title{ margin-bottom: 10px; }
.faq-intro{ margin: 0 auto 28px; max-width: 700px; }

/* Grid: keine zusätzlichen Außenabstände */
.faq-grid{ margin: 0; }

/* Liste sauber: falls du <ul><li> nutzt */
.faq-grid, .faq-grid li{ list-style: none; padding:0; }

/* Karten füllen die Zelle komplett – gleiche Höhen wirken „aufgeräumt“ */
.faq-card{ height: 100%; }

/* Sicherheitsabstand unter dem Footer/Sticky-Fab erhöhen – Mobile */
@media (max-width: 640px){
  .faq-section{ padding-bottom: 160px; }
}



:root { --gutter: clamp(16px, 4vw, 48px); }

.faq-section{
  padding: 72px var(--gutter) 120px;   /* links/rechts Abstand erzwingen */
}

.faq-grid{ margin: 0; }  /* keine extra Außenabstände */













/* =============================
   CTA – UNTERSEITEN mit Goldrahmen
   ============================= */

   /* Voller Hintergrundbereich für Unterseiten */
.stats-unterseitekontakt {
  background: #f5efe8;  /* ← Wunschfarbe für den Abschnitt */
  padding: 1rem 0 1rem;      /* Abstand oben und unten */
}


.cta-unterseiten{
  text-align:center;
  padding:4rem 2.5rem;
  background:#fbf9f7;
  border:1px solid rgba(181,151,96,0.55); /* Goldrahmen */
  border-radius:1px; /* edle Rundung */
  max-width:950px;
  margin:6rem auto;
  box-shadow:0 10px 25px rgba(0,0,0,0.05);
}


.cta-unterseiten h2{
  font-family:"Cormorant Garamond", serif;
  font-size:1.9rem;
  font-weight:500;
  color:#1e2732;
  line-height:1.25;
  margin:0 0 .5rem;
}

.cta-unterseiten p{
  font-family:"Cormorant Garamond", serif;
  color:#333;
  font-size:1.1rem;
  max-width:700px;
  margin:0 auto 2.2rem;
}

/* Button – zustandssicher, unabhängig von globalen Link-Styles */
a.cta-unterseiten__btn,
a.cta-unterseiten__btn:link,
a.cta-unterseiten__btn:visited{
  display:inline-block;
  background:transparent;
  color:#1e2732;
  border:1px solid rgba(181,151,96,.7);
  padding:.9rem 2rem;
  font-family:"Cormorant Garamond", serif;
  font-size:1.1rem;
  letter-spacing:.5px;
  text-decoration:none;
  transition:all .3s ease;
}

a.cta-unterseiten__btn:hover,
a.cta-unterseiten__btn:focus{
  background:#b59760;
  color:#fff;
  border-color:#b59760;
  transform:translateY(-2px);
}

a.cta-unterseiten__btn:active{
  transform:translateY(-1px);
}




/* CTA Reveal (luxuriös, dezent) */
.cta-unterseiten {
  opacity: 0;
  transform: translateY(40px) scale(0.985);
  transition: opacity .9s ease, transform .9s ease;
  will-change: opacity, transform;
}
.cta-unterseiten.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Motion-Preference respektieren */
@media (prefers-reduced-motion: reduce) {
  .cta-unterseiten {
    transition: none;
    transform: none;
    opacity: 1;
  }
}





:root { --header-h: 84px; }      /* Höhe deines Headers (im DevTool messen) */

.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: #fff;
  margin: 0 !important;
}

/* Platz für den festen Header schaffen */
body{ padding-top: var(--header-h); }

/* Hero ganz nach oben, ohne Spalt */
.subpage-hero-right{
  margin-top: 10px;
  height: calc(100vh - var(--header-h));  /* voller Screen unter dem Header */
}


:root {
  --header-h: 84px; /* echte Höhe deines Headers – anpassen falls nötig */
}

/* HEADER TRANSPARENT + STICKY */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--header-h);
  z-index: 1000;

  background: rgba(255,255,255,0);      /* durchsichtig */
  backdrop-filter: none;                /* keine Milchglas-Optik */
  box-shadow: none;

  transition: background 0.35s ease, box-shadow 0.35s ease;
}

/* Header beim Scrollen solid */
body.scrolled .site-header {
  background: rgba(255,255,255,0.96);   /* leicht transparent weiß */
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 14px rgba(0,0,0,0.06);
}


body {
  padding-top: var(--header-h);
}



.subpage-hero-right {
  height: calc(100vh); /* volles Fenster – Hero wird mächtig groß */
  position: relative;
  z-index: 1;
}



:root {
  --header-h: 84px; /* auf deine echte Headerhöhe anpassen */
}

/* 1) Header wirklich oben drüber + transparent am Start */
.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--header-h);
  z-index: 1000;                /* höher als alles andere */
  background: transparent !important;  /* wirklich durchsichtig */
  box-shadow: none;
  backdrop-filter: none;
  transition: background .75s ease, box-shadow .75s ease, backdrop-filter .75s ease;
}

/* Falls dein Inner-Container einen weißen Hintergrund hat: weg damit */
.site-header .header-inner,
.container.header-inner {
  background: transparent !important;
}

/* 2) Body-Padding schafft Platz für den fixed Header (Inhalt springt nicht darunter) */
body { 
  padding-top: var(--header-h); 
}

/* 3) Hero unter den Header „hochziehen“ und volle Höhe zeigen */
.subpage-hero-right{
  position: relative;
  z-index: 0;
  margin-top: -85px;        /* Bild beginnt direkt unter Browserkante */

  background-image: url('bilder/anwaltstrafrecht5.jpeg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 40%;
  overflow: hidden;


}
body.loaded .subpage-hero-right{ transform: scale(1); }

/* 4) Beim Scrollen wird der Header solide (optional) */
body.scrolled .site-header{
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 2px 14px rgba(0,0,0,.06);
}










/* ============================================
   Heading-Block unter dem Hero (Unterseiten)
============================================ */
.subpage-heading-block {
  background: #f8f6f4; /* sanftes Beige, wirkt warm und edel */
  padding: 4rem 1.5rem 3rem;
  text-align: center;
  border-bottom: 1px solid rgba(181, 151, 96, 0.25); /* Goldlinie */
}

.subpage-heading-block__inner {
  max-width: 900px;
  margin: 0 auto;
}

.subpage-heading-block h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #1e2732;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.subpage-heading-block p {
  font-family: "Arial", serif;
  font-size: 1.3rem;
  color: #333;
  line-height: 1.5;
}


.subpage-heading-block h1{
  font-size: 3.2rem;      /* vorher 2.8 */
  line-height: 1.15;      /* enger für mehr Gravitas */
  letter-spacing: 0.2px;  /* optische Ruhe */
  margin-bottom: 1.25rem; /* etwas mehr Luft zum Untertitel */
}
@media (max-width: 900px){
  .subpage-heading-block h1{ font-size: 2.4rem; line-height: 1.2; }
}






body.btm .subpage-hero-right {
  background-image: url('bilder/anwalt4.jpg');
    background-position: right 20%;    
  background-size: cover;
}

body.haft .subpage-hero-right {
  background-image: url('bilder/anwalt4.jpg');
    background-position: right 20%;    
  background-size: cover;
}


body.sexualstrafrecht .subpage-hero-right {
  background-image: url('bilder/anwalt4.jpg');
    background-position: right 20%;    
  background-size: cover;
}




  body.kontakt .subpage-hero-right {
  background-image: url('bilder/muenchenstrafrecht5.jpeg');

  background-repeat: no-repeat;    /* verhindert Wiederholung */
  background-position: center;     /* zentriert das Bild */
  background-color: #000;          /* optionaler Hintergrund hinter dem Bild */
  .kontakt-hero {
    position: relative;
    width: 100%;
    height: 100vh;           /* voller Bildschirm */
    overflow: hidden;        /* verhindert Scroll-Bug */
    background: #000;        /* edler Hintergrund falls Ränder nötig */
    background-image:
        linear-gradient(
            rgba(198,166,103,0.25) 0%, 
            rgba(198,166,103,0.10) 40%, 
            rgba(0,0,0,0) 80%
        ),
        url('bilder/muenchenstrafrecht5.jpeg.jpeg');

    background-size: cover;
    background-position: center 55%;
    background-repeat: no-repeat;
}

  
    

}

/* SMARTPHONE – Fokus schön auf den Löwen UND dein Kanzleigebäude */
@media (max-width: 768px) {
  body.kontakt .subpage-hero-right {
      background-position: center 80%; /* zeigt das Haus deutlicher */
      background-size: cover;
  }
}

/* iPhone SE / sehr kleine Screens */
@media (max-width: 480px) {
  body.kontakt .subpage-hero-right {
      background-position: center 88%;  /* maximiert dein Gebäude */
  }
}





/* --- MOBILE: Bild immer perfekt zentriert --- */
@media (max-width: 768px) {
  .subpage-hero-right {
    background-position: center center !important;
    background-size: cover !important;
  }
}


body.fachgebiet.faq .subpage-hero-right {
  position: relative; /* nötig für das Overlay */
  
  background-image: url('bilder/strafrechtfaq1.jpeg') !important;
  background-position: right 40% center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}



body.fachgebiet.faq.wirtschaftsstrafrecht .subpage-hero-right {
  position: relative;
  background-image: url('bilder/faq2.jpeg') !important;
  background-position: right 40% center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}





body.fachgebiet.faq.btm .subpage-hero-right {
  position: relative;
  background-image: url('bilder/faq3.jpeg') !important;
  background-position: right 45% center !important;
  background-size: cover !important;
}

b



body.fachgebiet.faq.sexualstrafrecht .subpage-hero-right {
  position: relative;
  background-image: url('bilder/faq2.jpeg') !important;
  background-position: right 38% center !important;
  background-size: cover !important;
}





body.fachgebiet.faq.jugendstrafrecht .subpage-hero-right {
  position: relative;
  background-image: url('bilder/faq3.jpeg') !important;
  background-position: right 40% center !important;
  background-size: cover !important;
}


body.fachgebiet.faq.haft .subpage-hero-right {
  position: relative;
  background-image: url('bilder/strafrechtfaq1.jpeg') !important; /* ← dein Bildname */
  background-position: right 40% center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}



body.fachgebiet.jva .subpage-hero-right {
  position: relative;
  background-image: url('bilder/haftbild.jpeg') !important;
  background-position: right 40% center !important;
  background-size: cover !important;
}



body.fachgebiet.strafbefehl .subpage-hero-right {
  position: relative;
  background-image: url('bilder/anwaltstrafrecht5.jpeg') !important;
  background-position: center   !important;
  background-size: cover !important;
}







@media (max-width: 860px) {
  .nav-dropdown .nav-dropdown-menu { display: none; }
  .nav-dropdown.open .nav-dropdown-menu { display: block; }
}







/* 1) Ein Gold-Token, damit's einheitlich bleibt */
:root { --gold: #D4AF37; }

/* 2) Standard-Farbe + Transition für ALLE Nav-Links */
.site-header .nav a,
.site-header .nav .nav-link {
  color: #3a3a3a;
  transition: color .2s ease;
  text-decoration: none;
}

/* 3) Hover/Focus überall: Gold */
.site-header .nav a:hover,
.site-header .nav a:focus-visible,
.site-header .nav .nav-link:hover,
.site-header .nav .nav-link:focus-visible {
  color: var(--gold) !important;
}

/* 4) Einfache Links (nicht-Dropdown) explizit mitnehmen */
.site-header .nav .nav-item > a:hover,
.site-header .nav .nav-item > a:focus-visible {
  color: var(--gold) !important;
}

/* 5) Dropdown-Menüeinträge: ebenfalls Gold auf Hover */
.site-header .nav-dropdown-menu a:hover {
  background-color: #f0ece7;
  color: var(--gold) !important;
}

/* 6) Gescrollter Zustand: Basisfarbe dunkel, Hover bleibt Gold */
body.scrolled .site-header .nav a,
body.scrolled .site-header .nav .nav-link {
  color: #1E1B16;
}
body.scrolled .site-header .nav a:hover,
body.scrolled .site-header .nav .nav-link:hover {
  color: var(--gold) !important;
}

/* 7) Optional: aktueller Menüpunkt dauerhaft Gold */
.site-header .nav a[aria-current="page"],
.site-header .nav .is-active > a {
  color: var(--gold) !important;
}

/* 8) Optional: Plus-Zeichen im Dropdown auch Gold bei Hover/Open */
.site-header .nav .nav-plus { transition: color .2s ease; }
.site-header .nav-dropdown.open .nav-plus,
.site-header .nav-link:hover .nav-plus {
  color: var(--gold);
}







:root { --gold: #D4AF37; } /* edles Gold */

/* Einheitliche Basis: Links und Brand im Header */
.site-header .nav a,
.site-header .nav .nav-link,
.site-header .brand__title,
.site-header .brand__subtitle {
  transition: color .2s ease;
}

/* HOVER/FOCUS: überall Gold (überschreibt .nav a:hover) */
.site-header .nav .nav-item > a:hover,
.site-header .nav .nav-item > a:focus-visible,
.site-header .nav .nav-link:hover,
.site-header .nav .nav-link:focus-visible,
.site-header .brand:hover .brand__title,
.site-header .brand:hover .brand__subtitle {
  color: var(--gold) !important;
}

/* ACTIVE/CLICK: auch Gold */
.site-header .nav a:active,
.site-header .nav .nav-link:active,
.site-header .brand:active .brand__title,
.site-header .brand:active .brand__subtitle {
  color: var(--gold) !important;
}

/* Optional: gescrolled – Text bleibt dunkel, Hover bleibt Gold */
body.scrolled .site-header .nav a,
body.scrolled .site-header .nav .nav-link,
body.scrolled .site-header .brand__title,
body.scrolled .site-header .brand__subtitle {
  color: var(--muted); /* deine Grundfarbe */
}
body.scrolled .site-header .nav a:hover,
body.scrolled .site-header .nav .nav-link:hover,
body.scrolled .site-header .brand:hover .brand__title,
body.scrolled .site-header .brand:hover .brand__subtitle {
  color: var(--gold) !important;
}



/* ===== Einheitlicher Brand im Header (alle Seiten) ===== */
:root {
  --gold: #D4AF37;
  --brand-title: #1E1B16;   /* dunkles Schwarzbraun */
  --brand-sub:   #4A4A4A;   /* dezentes Grau */
}

/* Link-Reset nur im Header */
.site-header .brand {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}
.site-header .brand:link,
.site-header .brand:visited,
.site-header .brand:hover,
.site-header .brand:active {
  text-decoration: none !important;   /* KEIN Unterstrich, nie */
  color: inherit;
}

/* Typo wie auf der Startseite */
.site-header .brand__title{
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: 1.5rem;         /* ggf. 1.6rem, wenn du exakt matchen willst */
  letter-spacing: .4px;
  color: var(--brand-title) !important;
}
.site-header .brand__subtitle{
  font-family: Arial, sans-serif;
  font-weight: 400;
  font-size: .95rem;
  color: var(--brand-sub) !important;
}

/* Hover: elegant Gold, weiterhin ohne Unterstrich */
.site-header .brand:hover .brand__title,
.site-header .brand:hover .brand__subtitle{
  color: var(--gold) !important;
  text-decoration: none !important;
}

/* Auch im gescrollten Zustand gleich (nicht plötzlich weiß) */
body.scrolled .site-header .brand__title,
body.scrolled .site-header .brand__subtitle{
  color: var(--brand-title) !important;
}

/* Nav-Links ebenfalls ohne Unterstrich + Gold-Hover */
.site-header .nav a { text-decoration: none; }
.site-header .nav a:hover,
.site-header .nav .nav-link:hover { color: var(--gold); text-decoration: none; }



























.kontakt-section {
  background: #f7f3ee;
  padding: 6rem 0;
}

.kontakt-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.kontakt-container h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.8rem;
  margin-bottom: 0.5rem;
  color: #1e1b16;
}

.kontakt-subline {
  font-size: 1.1rem;
  color: #4a4a4a;
  margin-bottom: 3rem;
}

.kontakt-form {
  background: #ffffff;
  padding: 2.5rem;
  border-radius: 16px;
  box-shadow: 0 5px 25px rgba(0,0,0,0.05);
}

.form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 1.5rem;
}

.form-group {
  flex: 1;
  text-align: left;
}

.form-group label {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.4rem;
  font-weight: 600;
  color: #6d604f;
}

.form-group input,
.form-group textarea {
  width: 100%;
  border: 1px solid #d6c4a8;
  padding: 12px;
  border-radius: 8px;
  font-size: 1rem;
  background: #faf9f7;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: #bfa76a;
  outline: none;
  box-shadow: 0 0 0 3px rgba(191,167,106,0.2);
}

.kontakt-submit {
  background: linear-gradient(90deg, #c4a771, #e6d3a0);
  border: none;
  padding: 14px 28px;
  font-size: 1.1rem;
  color: white;
  border-radius: 50px;
  cursor: pointer;
  margin-top: 1rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kontakt-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}


.form-status[hidden]{display:none}
.form-status{margin:12px 0 18px; padding:12px 14px; border-radius:10px; font-size:.95rem}
.form-status.ok{background:#eef8ef; color:#1e5025; border:1px solid #b8e0c1}
.form-status.err{background:#fff0f0; color:#7a1d1d; border:1px solid #e5baba}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}








/* ===== Ultra-Clean, Edles Google-Badge (ohne Animation) ===== */

:root{
  --gold-1:#efe2b9;
  --gold-2:#d6b878;
  --gold-3:#b58c4a;
  --paper:#fffdf7;
}

.google-badge{
  position: fixed;
  right: 16px;
  bottom: calc(env(safe-area-inset-bottom,0px) + 16px);
  z-index: 999999;

  /* edle Karte */
  background: var(--paper);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.14), 0 2px 8px rgba(0,0,0,.08);

  /* feiner Goldrand */
  border: 1px solid rgba(238,226,196,.9);

  /* Layout */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: 6px;

  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:#3a352b;
}

/* Titel */
.gbadge-title{
  font-weight:600;
  font-size: 13px;
  line-height:1.2;
  letter-spacing: .2px;
  color:#3a352b;
}

/* Sterne + Score */
.gbadge-inner{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  width:100%;
}

/* Goldene Sterne */
.gbadge-stars{
  font-size: 16px;
  letter-spacing: .5px;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Score-Pill */
.gbadge-score{
  font-size:12px;
  font-weight:600;
  padding: 2px 8px;
  border-radius:999px;
  color:white;
  background: linear-gradient(180deg,var(--gold-2),var(--gold-3));
  box-shadow: inset 0 1px 0 rgba(255)
}


/* Start unsichtbar */
.google-badge {
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .4s ease, transform .4s ease;
}

/* Wenn sichtbar */
.google-badge.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}


.google-badge{
  background: #2E2E2E;                /* dein edler Dunkelton */
border: 1px solid #d6b878;  /* heller, aber satt */
  color: #f7f3ec;                     /* warmer Offwhite-Text */
}

/* Titel */
.gbadge-title{
  color: #f7f3ec;                     /* hell auf dunkel */
}

.gbadge-stars {
  color: #d4b572 !important;      /* perfektes, gleichmäßiges Gold */
  font-size: 16px;
  letter-spacing: 0.5px;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  background: none !important;
}














/* Mini-Kontaktzeile: sitzt absolut im Header, beeinflusst kein Layout */
@media (min-width: 992px){
  .header-inner{ position: relative; } /* nur für das Absolute-Positionieren */

  .header-contacts-inline{
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(6px); /* Start leicht „unter“ */
    bottom: 6px;                 /* exakt am unteren Rand des Headers */
    white-space: nowrap;
    font-size: 12px;             /* sehr klein */
    line-height: 1;
    color: #6c665d;              /* dezent */
    opacity: 0;                  /* erst unsichtbar */
    pointer-events: none;        /* klicks erst bei sichtbarkeit */
    transition: opacity .2s ease, transform .2s ease;
    z-index: 5;                  /* über dem Header-Hintergrund */
  }

  /* Nur im gescrollten Zustand einblenden */
  body.scrolled .header-contacts-inline{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
  }

  .header-contacts-inline a{
    color: inherit;
    text-decoration: none;
  }
  .header-contacts-inline a:hover{
    color: #b59760;              /* edles Gold beim Hover */
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .header-contacts-inline .dot{ opacity:.5; margin: 0 .45rem; }
}

/* Mobil/Tablet ausschalten */
@media (max-width: 991.98px){
  .header-contacts-inline{ display: none !important; }
}



/* ===== Mini-Kontaktzeile unter der Navigation, rechtsbündig ===== */
@media (min-width: 992px){

  .header-inner{
    position: relative; /* Referenz für absolute Positionierung */
  }

  .header-contacts-inline{
    position: absolute;
    right: 0;                          /* rechtsbündig */
    bottom: -2px;                      /* direkt unter der Hauptzeile */
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    color: #6c665d;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    transform: translateY(4px);
  }

  /* Beim Scrollen einblenden */
  body.scrolled .header-contacts-inline{
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .header-contacts-inline a{
    color: inherit;
    text-decoration: none;
  }
  .header-contacts-inline a:hover{
    color: #b59760;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .header-contacts-inline .dot{
    margin: 0 .45rem;
    opacity: .6;
  }
}

/* Mobile/Tablet: ausblenden */
@media (max-width: 991.98px){
  .header-contacts-inline{
    display:none !important;
  }
}



/* ===== Mini-Kontaktzeile: rechtsbündig, unter der Navigation, nur beim Scroll ===== */
@media (min-width: 992px){
  .header-inner{                 /* Anker für absolute Positionierung */
    position: relative;
    overflow: visible;           /* falls irgendwo overflow gesetzt war */
  }

  .header-contacts-inline{
    position: absolute;
    right: 0;                    /* rechtsbündig */
    top: calc(100% - 4px);       /* direkt UNTER der Hauptzeile (Feinwert) */
    z-index: 5;                  /* über dem Hero-Bild */
    font-size: 12px;             /* klein & edel */
    line-height: 1.2;
    white-space: nowrap;
    color: #6c665d;

    opacity: 0;                  /* erst beim Scroll zeigen */
    transform: translateY(4px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
  }

  /* Beim Scrollen einblenden (du hast body.scrolled schon) */
  body.scrolled .header-contacts-inline{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .header-contacts-inline a{
    color: inherit;
    text-decoration: none;
  }
  .header-contacts-inline a:hover{
    color: #b59760;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .header-contacts-inline .dot{
    margin: 0 .45rem;
    opacity: .6;
  }
}

/* Mobil/Tablet ausblenden */
@media (max-width: 991.98px){
  .header-contacts-inline{ display:none !important; }
}



/* Header darf wachsen – keine feste Höhe mehr */
.site-header { height: auto !important; }

/* Grundlayout des Headers */
.header-inner{
  display:flex; justify-content:space-between; align-items:center;
  gap: 16px;
}

/* Rechte Seite: erst einzeilig, beim Scrollen zweizeilig */
.nav-right{
  display:flex; align-items:center; gap: 14px;
}

/* Scroll-Zustand: zweite Zeile direkt darunter, rechtsbündig */
body.scrolled .nav-right{
  flex-direction: column;
  align-items: flex-end;    /* rechts bündig */
  gap: 4px;
  padding-bottom: 4px;      /* feine Luft nach unten */
}

/* Kontaktzeile: klein, zart, im Flow (keine absolute Position!) */
.header-contacts-inline{
  font-size: 12px; line-height: 1.2; color:#6c665d;
  white-space: nowrap;
  display: none;            /* nur im Scrollzustand zeigen */
}
body.scrolled .header-contacts-inline{ display: block; }

.header-contacts-inline a{ color: inherit; text-decoration: none; }
.header-contacts-inline a:hover{
  color:#b59760; text-decoration: underline; text-underline-offset: 2px;
}
.header-contacts-inline .dot{ margin: 0 .45rem; opacity:.6; }

/* Mobil ausblenden */
@media (max-width: 991.98px){
  .header-contacts-inline{ display:none !important; }
}



/* Header darf wachsen */
.site-header { height: auto !important; }

/* Layout rechts */
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.nav-right { display:flex; align-items:center; gap:14px; }

/* beim Scrollen: zwei Zeilen, rechts bündig */
body.scrolled .nav-right { flex-direction:column; align-items:flex-end; gap:4px; padding-bottom:4px; }

/* kleine Kontaktzeile */
.header-contacts-inline { display:none; font-size:12px; line-height:1.2; color:#6c665d; white-space:nowrap; }
.header-contacts-inline a { color:inherit; text-decoration:none; }
.header-contacts-inline a:hover { color:#b59760; text-decoration:underline; text-underline-offset:2px; }
.header-contacts-inline .dot { margin:0 .45rem; opacity:.6; }

/* nur Desktop zeigen */
@media (max-width: 991.98px){ .header-contacts-inline { display:none !important; } }

/* Scroll-Trigger bleibt wie gehabt */




/* Mini Kontaktzeile: Standard ausblenden */
.header-mini-contacts {
  display: none;
  width: 100%;
  text-align: right;
  font-size: 12px;
  padding: 4px 0 6px;
  color: #6c665d;
  white-space: nowrap;
}

.header-mini-contacts a {
  color: inherit;
  text-decoration: none;
}

.header-mini-contacts a:hover {
  color: #b59760;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.header-mini-contacts .dot {
  margin: 0 .45rem;
}

/* Beim Scrollen EINBLENDEN */
body.scrolled .header-mini-contacts {
  display: block;
}

/* Nur Desktop */
@media (max-width: 860px){
  .header-mini-contacts {
    display: none !important;
  }
}


body.scrolled .header-mini-contacts {
  border-top: 1px solid rgba(191,167,106,.25);
  padding-top: 8px;         /* minimal mehr Luft */
}





/* LOGO im Header */
.brand-logo img {
  height: 80px;       /* → kannst du anpassen */
  width: auto;
  display: block;
}

/* Abstand zur Navigation */
.brand-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}




.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}



/* Logo im Header knackscharf halten */
.brand-logo { display:flex; align-items:center; }
.brand-logo .logo-img{
  height: 70px;         /* ggf. 44/50 testen – Hauptsache keine Hochskalierung */
  width: auto;
  display: block;       /* verhindert Subpixel-Weichzeichnung */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}


.brand-logo img {
  height: 48px; /* oder 50–60px, wie du willst */
  margin-top: 12px; /* DAS bewegt das Logo nach unten */
  margin-left: -30px;
}




.brand-logo img {
  transition: filter 0.3s ease, opacity 0.3s ease;
}




.brand-logo img {
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.brand-logo img {
  transition: filter 0.3s ease, opacity 0.3s ease;
}

/* Hover-Effekt */
.brand-logo:hover img {
  filter: brightness(0) saturate(100%) sepia(50%) hue-rotate(10deg) saturate(300%) brightness(1.3);
}











/* ===== HELL, EDEL, LUXUS ===== */

:root{
  --hero-min-h: 56vh;
  --bg-top: #ffffff;
  --bg-mid: #f7f4ef;
  --bg-bottom: #efe9df;
  --gold: #d6b878;
}

.hero--notfall {
  position: relative;
  min-height: var(--hero-min-h);
  overflow: clip;
}

/* helle Basisfläche */
.hero--notfall {
  background: linear-gradient(
    180deg,
    var(--bg-top) 0%,
    var(--bg-mid) 50%,
    var(--bg-bottom) 100%
  );
  position: relative;
}

/* Heller Gold-Sheen */
.hero--notfall::after {
  content:"";
  position:absolute;
  inset:-10% -5%;
  background:
    linear-gradient(110deg,
      rgba(214,184,120,.25) 0%,
      rgba(214,184,120,.12) 28%,
      rgba(214,184,120,.04) 58%,
      transparent 80%
    ),
    radial-gradient(80% 60% at 50% 10%, rgba(255,255,255,.85), transparent 60%);
  opacity:.6;        /* war 0.85 → jetzt viel heller */
  filter: blur(14px) saturate(1.02);
  pointer-events:none;
}


.notfall-intro-box {
  padding: 34px 40px;
  margin: 0 auto 60px auto;
  max-width: 900px;

  background: linear-gradient(
      135deg,
      rgba(255,255,255,0.96),
      rgba(248,246,240,0.98)
  );
  border: 1px solid rgba(214,184,120,0.42);

  border-radius: 22px;
  backdrop-filter: blur(3px);

  box-shadow:
      0 14px 34px rgba(0,0,0,0.08),
      0 0 0 1px rgba(255,255,255,0.65) inset,
      0 12px 28px rgba(214,184,120,0.06);
}

.notfall-intro-box p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.55rem;
  line-height: 1.42;
  letter-spacing: 0.3px;
  color: #1f1f1f;
  text-align: center;
}

.notfall-intro-box strong {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.75rem;
  font-weight: 500;
  color: #c7ab72;
  letter-spacing: 0.4px;
  margin-bottom: 10px;
}





@media (max-width: 767px){
  body.fachgebiet.wirtschaftsstrafrecht .subpage-hero-right{
    background-position: left  !important;
   
  }
}

@media (max-width: 767px){
  body.fachgebiet.medizinstrafrecht .subpage-hero-right{
    background-position: left  !important;
   
  }
}

@media (max-width: 767px){
  body.fachgebiet.jugendstrafrecht .subpage-hero-right{
    background-position: left  !important;
   
  }
}

@media (max-width: 767px){
  body.fachgebiet.beamtenstrafrecht .subpage-hero-right{
    background-position: left  !important;
   
  }
}

@media (max-width: 767px){
  body.fachgebiet.umweltstrafrecht .subpage-hero-right{
    background-position: left  !important;
   
  }
}

@media (max-width: 767px){
  body.fachgebiet.strafbefehl .subpage-hero-right{
    background-position: left  !important;
   
  }
}



/* === FAQ-Typo normalisieren (nur im Fachgebiets-Bereich) === */
body.fachgebiet .faq-split-layout__text{
  --p-size: 1.08rem;      /* einheitliche Absatzgröße */
  --h2-size: 1.6rem;      /* ruhige H2-Größe */
}

/* Absätze: überall gleich groß */
body.fachgebiet .faq-split-layout__text p,
body.fachgebiet .faq-split-layout__text h2 + p,
body.fachgebiet .faq-split-layout__text p:first-of-type{
  font-size: var(--p-size) !important;
  line-height: 1.7;
  text-indent: 0 !important;   /* Einzug entfernen */
}

/* H2: überall gleich + gleiche Schriftfamilie */
body.fachgebiet .faq-split-layout__text h2{
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500;
  font-size: var(--h2-size) !important;
  line-height: 1.28;
  letter-spacing: 0.01em;
}

/* Optional: Wenn du außerhalb der Fachgebiete Inter für H2 behalten willst */
body:not(.fachgebiet) .faq-split-layout__text h2{
  font-family: "Inter", sans-serif;
  font-size: 1.3rem;
}




/* ================================
   LUXUS-TYPO (Fachgebietsseiten)
   Einheitliche, große Skala
   ================================ */

body.fachgebiet .faq-split-layout__text{
  /* Premium-Grundwerte als Variablen */
  --p-size: clamp(1.06rem, 0.98rem + 0.45vw, 1.18rem);   /* Absätze */
  --h3-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.55rem);    /* Sekundärüberschrift */
  --h2-size: clamp(1.7rem, 1.35rem + 1.2vw, 2.1rem);     /* Hauptabschnittsüberschrift */
  --lh-text: 1.78;
  --lh-head: 1.26;
  --gold-1: #efe2b9; --gold-2:#d6b878; --gold-3:#b58c4a;
}

/* Absätze – überall gleich groß & ruhig */
body.fachgebiet .faq-split-layout__text p,
body.fachgebiet .faq-split-layout__text h2 + p,
body.fachgebiet .faq-split-layout__text p:first-of-type{
  font-size: var(--p-size) !important;
  line-height: var(--lh-text);
  max-width: 72ch;
  text-indent: 0 !important;
  color: #2b2725;
  margin: 0 0 1.05em;
}

/* H2 – groß, edel, einheitlich */
body.fachgebiet .faq-split-layout__text h2{
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: var(--h2-size) !important;
  line-height: var(--lh-head);
  letter-spacing: 0.01em;
  color: #1e1c1b !important;
  margin: 2.2rem 0 .5rem;
}

/* Zarter, kürzerer Gold-Strich – Haute Couture */
body.fachgebiet .faq-split-layout__text h2::after{
  content:"";
  display:block;
  width: 56px;
  height: 2px;
  margin-top: .45em;
  background: linear-gradient(90deg,var(--gold-1),var(--gold-2) 60%,var(--gold-3));
  border-radius: 2px;
}

/* H3 – spürbar größer als Text, unter H2 */
body.fachgebiet .faq-split-layout__text h3{
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: var(--h3-size);
  line-height: var(--lh-head);
  letter-spacing: 0.01em;
  margin: 1.6rem 0 .35rem;
  color: #1f1d1c;
}

/* Listen – edel und ruhig */
body.fachgebiet .faq-split-layout__text ul{
  margin: .6rem 0 1.2rem; padding: 0; list-style: none;
}
body.fachgebiet .faq-split-layout__text ul li{
  position: relative; padding-left: 1.15rem; margin: .35rem 0;
  font-size: var(--p-size); line-height: var(--lh-text);
}
body.fachgebiet .faq-split-layout__text ul li::before{
  content:""; position:absolute; left:0; top: .72em;
  width:.55rem; height:2px; border-radius:2px;
  background: linear-gradient(90deg,var(--gold-2),var(--gold-3));
}

/* Containerbreite für den Textblock – großzügig, nicht zu breit */
body.fachgebiet .faq-split-layout__text{
  max-width: clamp(980px, 82vw, 1180px);
  margin: 0 auto;
}

/* Überschrift im Hero (falls vorhanden) ebenfalls groß & calm */
.subpage-hero-right__content h1{
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: clamp(2.2rem, 1.6rem + 2.2vw, 3.2rem);
  line-height: 1.16;
}

/* Mobile Feintuning: großzügig, aber harmonisch */
@media (max-width: 640px){
  body.fachgebiet .faq-split-layout__text{
    padding-inline: 16px;
  }
  body.fachgebiet .faq-split-layout__text h2{ margin-top: 1.6rem; }
}



/* 1) Rechte Sicherheitsrinne (falls rechts eine Icon-Leiste sitzt) */
:root{ --right-rail: 64px; } /* Breite der schwebenden Icons/Reserve */

@media (min-width: 1200px){
  .subpage-content,
  .faq-split-layout__text{
    padding-right: calc(clamp(24px, 2.5vw, 40px) + var(--right-rail));
  }
}

/* 2) Edle, etwas schmalere Breite + sanfte Seiten-Innenabstände */
.subpage-content,
.faq-split-layout__text{
  max-width: clamp(960px, 82vw, 1100px);
  margin-inline: auto;
  padding-inline: clamp(16px, 3vw, 32px);
}

/* 3) Überschriften brechen harmonisch, Text hyphenieren (DE) */
.faq-split-layout__text h2{
  text-wrap: balance;
}
.faq-split-layout__text{
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: anywhere; /* falls sehr lange Fachbegriffe */
}








/* ================================
   LUXUS: Vertikale Goldlinie + CK
   nur im Textabschnitt
   ================================ */

@media (min-width: 1200px){

  .lux-section {
    position: relative;
  }

  /* Die Goldlinie */
  .lux-section::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0px; /* Abstand – wirkt wie ein Editorial-Rand */
    height: 100%;
    width: 2px;
    background: linear-gradient(
      180deg,
      rgba(191,167,106,0.75),
      rgba(191,167,106,0.35)
    );
    border-radius: 2px;
    pointer-events: none;
  }

  /* Das CK-Monogramm – subtil */
  .lux-section::before {
    content: "CK";
    position: absolute;
    right: -46px;
    bottom: 50%;
    font-family: "Cormorant Garamond", serif;
    font-size: 4.4rem;
    color: rgba(191,167,106,0.22);
    font-weight: 500;
    transform: none;
    pointer-events: none;
    letter-spacing: -2px;
  }
}



@media (min-width:1200px){
  .lux-section::after{
    content:"";
    position:absolute;
    right: 0px;
    top:4%;
    height:92%;
    width:1.4px;

    background:linear-gradient(
      180deg,
      rgba(208,182,120,0.00) 0%,
      rgba(208,182,120,0.35) 18%,
      rgba(208,182,120,0.55) 40%,
      rgba(208,182,120,0.28) 65%,
      rgba(208,182,120,0.00) 100%
    );
    box-shadow:0 0 24px rgba(208,182,120,0.28);
    border-radius:2px;
  }
}


.faq-split-layout__text p{
  line-height:1.54;
}

.faq-split-layout__text h2{
  line-height:1.28;
}


.faq-split-layout__text{
  font-feature-settings:"liga","kern","onum","pnum";
}







.subpage-heading-block__inner {
  position: relative;
  padding: 2.5rem 0;
}

.subpage-heading-block__inner::before,
.subpage-heading-block__inner::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 22%;
  height: 1px;
  background: linear-gradient(90deg,#ccb98a,#e6dcc4,#ccb98a);
  opacity: .55;
}

.subpage-heading-block__inner::before {
  left: -2%;
}

.subpage-heading-block__inner::after {
  right: -2%;
}




@media (max-width: 600px){
  .faq-split-layout__text{
    padding-inline: 14px;   /* Sweet-Spot: 12–16 px */
  }
}


@media (max-width: 600px){
  .faq-split-layout__text h2{ margin-inline: 8px; }
  .faq-split-layout__text p{ margin-inline: 2px; }
}






/* ===== Luxus Goldlinie TOP über dem Bewertungsbereich ===== */

.lux-goldline-top{
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg,
    rgba(191,167,106,0) 0%,
    rgba(191,167,106,0.55) 40%,
    rgba(191,167,106,0.85) 50%,
    rgba(191,167,106,0.55) 60%,
    rgba(191,167,106,0) 100%
  );
  margin: 0 auto 3.2rem auto;
  border-radius: 6px;
  opacity: 0.8;
}





.premium-links-inline {
  margin-top: 2rem;
  font-size: 1rem;
}

.lux-link {
  color: #1f1f1f;
  font-weight: 600;
  position: relative;
  text-decoration: none;
}

.lux-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg,#d6b878,#b58c4a);
  transition: .3s;
  opacity: .5;
}

.lux-link:hover::after {
  opacity: 1;
  height: 2px;
}











.vertical-frame {
  position: relative;
}

/* Vertikale Goldlinien */
.vertical-frame::before,
.vertical-frame::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, #d6b878, #b58c4a);
  opacity: 0.35;
}

/* Links weit außen */
.vertical-frame::before {
  left: -8rem;   /* hier NUR Linien verschieben – NICHT den Inhalt */
}

/* Rechts weit außen */
.vertical-frame::after {
  right: -8rem;
}






/* Container */
.jva-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #d6b87855;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  margin-bottom: 1.2rem;
  overflow: hidden;

  max-width: 750px;   /* BREITE HIER EINSTELLEN */
  margin: 1.2rem 0;  


}

/* Frage */
.jva-card-question {
  width: 100%;
  background: #fff;
  border: none;
  padding: 1.1rem 1.4rem;
  font-family: "Cormorant Garamond", serif;
 
  font-weight: 500;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: .65rem;

  cursor: pointer;
  position: relative;
justify-content: flex-start;  text-align: left;


  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: .2px;
}


.jva-icon {
  color: #bfa76a;
  margin-right: .6rem;
  font-size: 1.2rem;
}

/* Plus-Symbol */
.jva-plus {
  font-size: 1.55rem;
  color: #bfa76a;
  font-weight: 300;
  transition: transform .25s ease;
  margin-left: auto;
}

/* Animierter Plus-Dreh */
.jva-card.open .jva-plus {
  transform: rotate(45deg);
}

/* Antworttext – identisch wie deine FAQ */
.jva-card-answer {
  padding: 0 1.4rem 1.4rem;
  display: none;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #444;
}

/* Wenn offen */
.jva-card.open .jva-card-answer {
  display: block;
}


/* === Einheitliche FAQs – unabhängig vom Seite-Layout === */

.faq-unified .jva-card{
  background:#fff !important;
  border:1px solid rgba(214,184,120,.55) !important;
  border-radius:16px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.06) !important;
  margin:18px 0 !important;
  overflow:hidden !important;
  max-width:900px !important;
}

.faq-unified .jva-card-question{
  width:100% !important;
  display:flex !important;
  align-items:center !important;

  gap:.7rem !important;
  padding:1.05rem 1.3rem !important;
  background:#fff !important;
  border:0 !important;
  cursor:pointer !important;
  text-align:left !important;

  font-family:"Cormorant Garamond", serif !important;
  font-weight:600 !important;
  font-size:1.05rem !important;
  line-height:1.35 !important;
  letter-spacing:.2px !important;
  color:#1a1a1a !important;
}

.faq-unified .jva-icon{
  font-size:1.15rem !important;
  margin-right:.4rem !important;
  color:#bfa76a !important;
}

.faq-unified .jva-plus{
  margin-left:auto !important;
  font-size:1.4rem !important;
  font-weight:300 !important;
  color:#bfa76a !important;
  transition:transform .25s ease !important;
}

.faq-unified .jva-card-answer{
  display:none !important;
  padding:0 1.3rem 1.3rem !important;
  font-family:Arial, sans-serif !important;
  font-size:1rem !important;
  line-height:1.6 !important;
  color:#444 !important;
}

.faq-unified .jva-card.open .jva-card-answer{ display:block !important; }
.faq-unified .jva-card.open .jva-plus{ transform:rotate(45deg) !important; }

/* Rail/Hintergrund anderer Seiten neutralisieren */
.faq-unified{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


/* FAQ-spezifische H3-Größe */
.faq-unified .jva-card-question h3,
.faq-container .jva-card-question h3 {
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  margin: 0 !important;
}




/* ===== FAQ Premium Typo – Frage größer, Antwort kleiner ===== */
.faq-unified .jva-card-question h3,
.faq-container.faq-unified .jva-card-question h3 {
  font-family: "Cormorant Garamond", serif !important;
  font-size: 1.15rem !important;      /* etwas größer */
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: .15px !important;
  margin: 0 !important;
  color: #1a1a1a !important;
}

/* Antwort-Text kleiner & ruhiger */
.faq-unified .jva-card-answer,
.faq-container.faq-unified .jva-card-answer {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: .95rem !important;        /* kleiner */
  line-height: 1.55 !important;
  color: #444 !important;
  margin: 0 !important;
}

.faq-unified .jva-card-answer p {
  margin: 0 0 .85rem !important;
}
.faq-unified .jva-card-answer p:last-child {
  margin-bottom: 0 !important;
}

/* Icons & Plus dezent einheitlich */
.faq-unified .jva-icon {
  font-size: 1.15rem !important;
  margin-top: 1px !important;
  color: #bfa76a !important;
}

.faq-unified .jva-plus {
  font-size: 1.3rem !important;
  color: #bfa76a !important;
}






/* Nur FAQ-Sektionen: vollbreiter, grauer Hintergrund */
.faq-kartenbereich.fullbleed{
  background: #e9e6e1;           /* dein FAQ-Grauton */
  /* Full-bleed – streckt die Section über die ganze Viewportbreite,
     selbst wenn die Seite sonst zentriert/gerastert ist */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 40px 0;               /* vertikaler Atemraum */
}

/* Inhalte bleiben im gewohnten schmalen Layout */
.faq-kartenbereich.fullbleed > .container{
  max-width: 1100px;             /* dein Wert */
  margin: 0 auto;
  background: transparent;
}

/* Optional: mobile etwas luftiger/kompakter justieren */
@media (max-width: 768px){
  .faq-kartenbereich.fullbleed{ padding: 28px 0; }
}







* härter & kollisionssicher */
.related-links { 
  margin-top: 1.8rem; 
  padding-top: 1rem; 
  border-top: 1px solid #d6b87855;
}
.related-links .h2-related { 
  font-size: 1.15rem; 
  margin: 0 0 .6rem 0; 
  letter-spacing: .3px;
}
.related-links .related-list { 
  list-style: none; 
  margin: 0; 
  padding: 0;
  display: grid !important;            /* erzwingt Grid */
  grid-template-columns: 1fr; 
  gap: .35rem; 
}
.related-links .related-list li { 
  margin: 0; 
  padding: 0;
}
.related-links .related-list a { 
  text-decoration: none; 
  display: inline-block;               /* verhindert seltsame Umbrüche */
}
.related-links .related-list a:hover { 
  text-decoration: underline; 
}

@media (min-width: 768px){
  .related-links .related-list { 
    grid-template-columns: repeat(2, minmax(0,1fr)) !important; 
    column-gap: 1rem; 
    row-gap: .4rem;
  }
}





.faq-section .section__title {
  text-align: center;
}









/* Edelster Stil: pure Typography, Editorial Niveau */

.legal-statement{
  text-align:center;
  margin: 2.2rem auto 2.8rem;
  padding: 1.2rem 0;
}

.ls-eyebrow{
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #C3A675; /* dein Gold */
  margin-bottom: .9rem;
}

.ls-line{
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  color: #3e3b38;   /* edles Anthrazit */
  margin: .35rem 0;
  line-height: 1.55;
}

/* Goldene Haarlinie oben & unten */
.legal-statement::before,
.legal-statement::after{
  content:"";
  display:block;
  height:1px;
  width:130px;
  margin:0.7rem auto;
  background: linear-gradient(
    90deg,
    transparent,
    #C3A675 60%,
    transparent
  );
  opacity: .75;
}


/* Basis: mobil zentriert (edel & ruhig) */
.legal-statement{
  text-align:center;
  margin: 2.2rem auto 2.8rem;
  padding: 1.2rem 0;
}

.ls-eyebrow{
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #C3A675;
  margin-bottom: .9rem;
}

.ls-line{
  font-family: "Inter", sans-serif;
  font-size: 1.05rem;
  color: #3e3b38;
  margin: .35rem 0;
  line-height: 1.55;
}

/* Gold-Haarlinien */
.legal-statement::before,
.legal-statement::after{
  content:"";
  display:block;
  height:1px;
  width:130px;
  margin:0.7rem auto;
  background: linear-gradient(90deg, transparent, #C3A675 60%, transparent);
  opacity: .75;
}

/* ===== Desktop: linksbündig, perfekt aligned zum Text ===== */
@media (min-width: 1200px){
  .legal-statement{
    text-align:left;
    margin-left:0;        /* perfekt bündig mit dem Text */
    padding-left:0;
    max-width: 650px;     /* eleganter Textblock wie ein Leitsatz */
  }
  .legal-statement::before,
  .legal-statement::after{
    margin-left:0;        /* Haarlinien ebenfalls linksbündig */
  }
}



/* --- JVA-Karten (FAQ) --- */
.jva-card-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}

/* geöffnet */
.jva-card.open .jva-card-answer{
  max-height:2000px; /* groß genug für lange Antworten */
}

/* klickbar + nie von Overlays blockiert */
.jva-card-question{
  cursor:pointer;
  position:relative;
  z-index:2;
}




.jva-card-answer{max-height:0;overflow:hidden;transition:max-height .28s ease}
.jva-card.open .jva-card-answer{max-height:2000px}
.jva-card-question{cursor:pointer;position:relative;z-index:2}
