:root{
      --fs-ink:#1e2633;
      --fs-muted:#5f7184;
      --fs-blue:#103c64;
      --fs-blue-2:#1a5385;
      --fs-rose:#d41d71;
      --fs-rose-2:#aa175a;
      --fs-rose-tint:#fdf4f8;
      --fs-blue-tint:#eef4f9;
      --fs-blue-tint-2:#f6f9fc;
      --fs-line:#dbe6f0;
      --fs-shadow:0 1.5rem 4rem rgba(16,60,100,.13);
      --fs-radius:1.5rem;
    }
    html{scroll-behavior:smooth;}
    body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--fs-ink);background:#fff;}
    .serif{font-family:"Fira Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:0;}
    .text-muted{color:var(--fs-muted)!important;}
    .text-blue{color:var(--fs-blue)!important;}
    .text-rose{color:var(--fs-rose)!important;}
    .bg-subtle{background:var(--fs-blue-tint-2);}
    .bg-blue-tint{background:var(--fs-blue-tint);}
    .bg-rose{background:var(--fs-rose);}
    .section{padding:6rem 0;}
    .section-sm{padding:4rem 0;}
    .rounded-personal{border-radius:var(--fs-radius);}
    .shadow-personal{box-shadow:var(--fs-shadow);}
    .lead{font-size:1.18rem;line-height:1.75;}

    .btn{border-radius:999px;font-weight:750;padding:.9rem 1.25rem;}
    .btn-primary{--bs-btn-bg:var(--fs-blue);--bs-btn-border-color:var(--fs-blue);--bs-btn-hover-bg:var(--fs-blue-2);--bs-btn-hover-border-color:var(--fs-blue-2);}
    .btn-outline-primary{--bs-btn-color:var(--fs-blue);--bs-btn-border-color:var(--fs-blue);--bs-btn-hover-bg:var(--fs-blue);--bs-btn-hover-border-color:var(--fs-blue);}

    .navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(219,230,240,.92);}
    .navbar-brand img{height:60px;width:auto;}
    .nav-link{font-weight:700;color:var(--fs-blue);}
    .nav-link:hover,.nav-link:focus{color:var(--fs-rose);}
    
    .phonecall { text-decoration: none; color: var(--fs-rose); font-size: 1.25rem; font-weight: 700; }
    .phonecall::before{content:" "; margin-right:.5rem; background-image:url(/theme/public/assets/images/phone.svg); background-size:contain; background-repeat:no-repeat; display:inline-block; width:1rem; height:1rem; vertical-align:middle;}

    .alert { margin-bottom: 1.5rem; }
    .alert ul { margin: 0; padding-left: 0; list-style-type: none; }

    .hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f6f9fc 36%,#eef4f9 100%);}
    .hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(16,60,100,.13),transparent 30rem),radial-gradient(circle at 86% 22%,rgba(212,29,113,.07),transparent 24rem);pointer-events:none;}
    .hero .container{position:relative;z-index:1;}
    .eyebrow{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1px solid var(--fs-line);border-radius:999px;padding:.45rem .8rem;color:var(--fs-blue);font-weight:800;font-size:.86rem;box-shadow:0 .75rem 2rem rgba(16,60,100,.08);}
    .eyebrow:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--fs-rose);}
    .hero-title{font-family:'Qwigley';font-size:clamp(3.5rem,4vw,5rem);line-height:1.12;font-weight:400;}
    .hero-card{position:relative;background:#fff;border:1px solid var(--fs-line);border-radius:2rem;padding:1rem;box-shadow:var(--fs-shadow);transform:rotate(1.2deg);}
    .hero-card img{border-radius:1.5rem;width:100%;height:620px;object-fit:cover;object-position:center;}
    .hero-card::after{content: "GEEIGNETE STELLE\A nach § 305 Abs. 1 InsO"; white-space: pre-line;position:absolute; bottom:10%;right:0; background: var(--fs-rose); padding: 0.5rem 1.5rem; color: #fff; font-weight: 700; text-align: center;}
    .signature-card{margin-top:-4rem;margin-left:2rem;margin-right:2rem;position:relative;background:#fff;border:1px solid var(--fs-line);border-radius:1.25rem;padding:1.25rem;box-shadow:0 1rem 2rem rgba(16,60,100,.12);}
    .stat-strip{border-top:1px solid var(--fs-line);border-bottom:1px solid var(--fs-line);background:rgba(255,255,255,.72);}
    .stat strong{display:block;font-size:1.55rem;color:var(--fs-blue);}
    .stat span{color:var(--fs-muted);font-weight:650;}
    .quote-box{border-left:5px solid var(--fs-rose);background:#fff;border-radius:0 var(--fs-radius) var(--fs-radius) 0;padding:1.5rem 1.75rem;box-shadow:0 1rem 2.5rem rgba(16,60,100,.08);}
    .portrait-inline{position:relative;}
    .portrait-inline img{width:100%;min-height:520px;object-fit:cover;border-radius:2rem;box-shadow:var(--fs-shadow);}
    .portrait-compact{max-width:620px;margin:0 auto;}
    .portrait-compact img{min-height:0;aspect-ratio:4/3;object-fit:cover;object-position:center;background:var(--fs-blue-tint-2);padding:0;}
    .portrait-badge{position:absolute;left:1.5rem;bottom:1.5rem;background:#fff;border:1px solid var(--fs-line);border-radius:1rem;padding:1rem;max-width:340px;}
    .portrait-compact .portrait-badge{position:static;margin-top:.75rem;max-width:none;}
    .team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
    .team-card{display:flex;align-items:center;gap:1rem;border:1px solid var(--fs-line);border-radius:1rem;background:#fff;padding:1rem;box-shadow:0 .75rem 2rem rgba(16,60,100,.06);}
    .team-photo,.team-placeholder{width:4.75rem;height:4.75rem;border-radius:1rem;flex:0 0 auto;}
    .team-photo{object-fit:cover;object-position:center;}
    .team-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--fs-blue-tint),#fff);border:1px solid var(--fs-line);color:var(--fs-blue);font-size:1.6rem;font-weight:850;}

    .card-clean{height:100%;border:1px solid var(--fs-line);border-radius:var(--fs-radius);background:#fff;padding:1.5rem;box-shadow:0 .75rem 2rem rgba(16,60,100,.06);}
    .contact-info-card{height:auto;}
    .contact-info-card a:not(.btn){ text-decoration: none; color: var(--fs-rose); font-weight: 700; }
    .service-detail-card{padding:1.75rem;}
    .service-detail-card ul{color:var(--fs-muted);padding-left:1.25rem;margin-bottom:1rem;}
    .service-detail-card li{margin-bottom:.4rem;}
    .cost-list li{margin-bottom:.85rem;}
    .cost-list li:last-child{margin-bottom:0;}
    .number{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:var(--fs-blue);color:#fff;font-weight:850;}
    .area-card{border:1px solid var(--fs-line);border-radius:var(--fs-radius);padding:1.4rem;background:#fff;height:100%;}
    .is-primary{border-color:rgba(212,29,113,.36);box-shadow:0 1rem 2.5rem rgba(212,29,113,.1);}
    .area-card-featured{padding:1.75rem;}
    .procedure-graphic{border:1px solid var(--fs-line);border-radius:var(--fs-radius);background:#fff;padding:1rem;box-shadow:var(--fs-shadow);}
    .procedure-graphic-link{display:block;cursor:zoom-in;}
    .procedure-graphic img{display:block;width:100%;height:auto;border-radius:1rem;}
    .region-graphic{border:1px solid var(--fs-line);border-radius:var(--fs-radius);background:#fff;padding:1.5rem;box-shadow:var(--fs-shadow);}
    .region-graphic-map{position:relative;min-height:330px;border-radius:1rem;background:linear-gradient(145deg,#f6f9fc,#eef4f9);overflow:hidden;}
    .region-graphic-map:before{content:"";position:absolute;inset:2rem 4.5rem;border:2px solid rgba(16,60,100,.18);border-radius:42% 34% 38% 44%;transform:rotate(-8deg);background:rgba(255,255,255,.55);}
    .region-graphic-map:after{content:"";position:absolute;left:48%;top:14%;width:2px;height:72%;background:linear-gradient(to bottom,transparent,rgba(16,60,100,.22),transparent);transform:rotate(18deg);}
    .region-pin{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--fs-line);border-radius:999px;background:#fff;padding:.4rem .65rem;color:var(--fs-blue);font-weight:800;font-size:.84rem;box-shadow:0 .75rem 1.6rem rgba(16,60,100,.1);}
    .region-pin:before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--fs-rose);box-shadow:0 0 0 .25rem rgba(212,29,113,.12);}
    .pin-nuernberg{right:12%;top:15%;}
    .pin-regensburg{right:9%;top:45%;}
    .pin-ingolstadt{left:36%;top:43%;}
    .pin-pfaffenhofen{left:22%;top:58%;}
    .pin-dachau{left:18%;bottom:14%;}
    .region-graphic-note{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem;color:var(--fs-muted);}
    .region-graphic-note strong{color:var(--fs-blue);font-size:1.05rem;}
    .tag{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:var(--fs-blue-tint);color:var(--fs-blue);font-weight:750;font-size:.85rem;}
    .social-links{display:flex;flex-wrap:wrap;gap:.65rem;}
    .social-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fs-line);border-radius:999px;padding:.55rem .8rem;color:var(--fs-blue);font-weight:800;text-decoration:none;background:#fff;}
    .social-links a:hover{border-color:var(--fs-rose);color:var(--fs-rose);}
    .faq .accordion-item{border:1px solid var(--fs-line);border-radius:1rem!important;overflow:hidden;margin-bottom:.75rem;}
    .faq .accordion-button{font-weight:800;box-shadow:none;}
    .faq .accordion-button:not(.collapsed){background:var(--fs-rose-tint);color:var(--fs-blue);}
    footer{background:var(--fs-blue);color:var(--fs-blue-tint);}
    footer a{color:var(--fs-blue-tint);text-decoration:none;}
    footer a:hover{color:#fff;}
    
    @media (max-width:991.98px){.section{padding:4.5rem 0}.hero-card img{height:460px}.signature-card{margin:1rem 0 0}.portrait-inline img{min-height:380px}.portrait-compact img{min-height:0}.team-grid{grid-template-columns:1fr}.region-graphic-map{min-height:300px}}
    @media (max-width:575.98px){.region-graphic{padding:1rem}.region-graphic-map{min-height:380px}.pin-nuernberg{right:8%;top:10%}.pin-regensburg{right:8%;top:30%}.pin-ingolstadt{left:8%;top:48%}.pin-pfaffenhofen{left:8%;top:66%}.pin-dachau{right:8%;bottom:8%}.social-links a{flex:1 1 auto}}

.footer-logo{filter:brightness(0) invert(1);}
