:root{--primary:#111;--bg:#fff;--text:#222;--muted:#f7f7f7}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}img{max-width:100%;height:auto;display:block}.container{width:min(1200px,92%);margin:0 auto}.section{padding:3rem 1rem}h1,h2,h3{font-weight:600;line-height:1.2;margin:0 0 .75rem}p{margin:.5rem 0 1rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.site-header,.site-footer{background:var(--muted);padding:.75rem 0}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:700}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem}.footer-links a{margin-left:1rem}.small{font-size:.9rem;color:#555}.btn{display:inline-block;padding:.75rem 1.25rem;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:.25rem}.btn:hover{filter:brightness(1.05)}.btn-primary{background:#222;border-color:#222}.hero{position:relative;height:100vh;min-height:540px;padding:0;background:#fff}.hero-bg{position:absolute;inset:0}.hero-overlay{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1.25rem;padding:2rem 1rem}.hero-box{width:100%;max-width:520px;background:rgba(255,255,255,.92);padding:1.25rem;border:1px solid #e6e6e6;box-shadow:0 10px 25px rgba(0,0,0,.08);margin-right:5%}.lead{font-size:1.05rem}.stars{color:#f5c518;font-size:1.2em}#leistungen{background:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.card{border:1px solid #000;padding:1.25rem;background:#fff}.card h3{margin-top:0;font-size:1.1rem}.profile-grid,.contact-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.contact-grid{grid-template-columns:1.1fr .9fr}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media (max-width:1200px){.hero-box{margin-right:10%}}@media (max-width:900px){.hero-overlay{align-items:stretch;justify-content:flex-end;padding:1rem}.hero-box{margin-right:0;max-width:100%}}@media (max-width:720px){.contact-grid{grid-template-columns:1fr}}.hero-box figure figcaption{text-align:right;display:block;margin-top:.25rem}.card h3{display:flex;align-items:center;gap:.5rem}.card-icon{width:28px;height:28px;display:inline-block;flex:0 0 28px}.card-icon svg{width:100%;height:100%;fill:none;stroke:#000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible{outline:2px solid #000;outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,1px,1px);white-space:nowrap;border:0}.hero-box figure blockquote{text-align:left;margin:0}.hero-box h2{text-align:left}.hero-box figure{margin:0 0 1rem 0}.nav-toggle{display:none}.burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;gap:4px;border:1px solid #ddd;border-radius:.5rem}.burger span{display:block;width:22px;height:2px;background:#111}h1{font-size:clamp(1.6rem,1.2rem + 2.2vw,2.2rem)}h2{font-size:clamp(1.25rem,1rem + 1.2vw,1.6rem)}h3{font-size:clamp(1.05rem,.95rem + .6vw,1.2rem)}.lead{font-size:clamp(1rem,.95rem + .5vw,1.1rem)}.main-nav a{padding:.5rem .75rem}@media (max-width:900px){.burger{display:inline-flex}.nav-wrap{position:relative}.main-nav ul{position:absolute;right:0;top:100%;background:var(--muted);border:1px solid #e6e6e6;padding:.75rem 1rem;display:none;flex-direction:column;gap:.5rem;width:min(320px,92vw);border-radius:.5rem;box-shadow:0 10px 25px rgba(0,0,0,.08)}.nav-toggle:checked ~ nav ul{display:flex}.btn{width:100%;text-align:center}.hero{min-height:80dvh}.hero-overlay{align-items:stretch;justify-content:flex-end;padding:1rem}.hero-box{margin-right:0;max-width:100%}}@supports (height:100dvh){.hero{height:100dvh}}@media (max-width:900px){.main-nav ul{z-index:1000}body{padding-bottom:76px}}@media (max-width:360px){.btn{padding:.7rem 1rem}.main-nav a{padding:.45rem .65rem}}#leistungen,#anwalt,#kontakt,#formulare{content-visibility:auto;contain-intrinsic-size:800px}@media (max-width:900px){.hero-overlay{justify-content:flex-start;padding-top:5rem}}@media (max-width:600px){.hero-overlay{padding-top:6rem}}.hero-img{width:100%;height:100%;object-fit:cover;display:block}

/* Mandantenstimmen */
#stimmen h2 {
  margin-bottom: 1.25rem;
  text-align: left;
}

.stimmen-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.stimmen-grid figure {
  background: #fff;
  border: 1px solid #e6e6e6;
  padding: 1rem;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  margin: 0;
}

.stimmen-grid blockquote {
  margin: 0 0 .5rem 0;
  font-size: 1rem;
  line-height: 1.45;
}

.stimmen-grid figcaption {
  font-size: .9rem;
  color: #555;
  text-align: right;
}
