
/* ============ TOKENS ============ */
:root{
  --ink:#181818;
  --paper:#FFFFFF;
  --mist:#F4F1EC;
  --mist-2:#ECE7DF;
  --line:#E2DCD2;
  --red:#E2122F;
  --red-dark:#B30E26;
  --red-tint:#FBE7E9;
  --maroon:#5C0E1A;
  --maroon-tint:#F1E3E1;
  --charcoal:#2B2A28;
  --charcoal-tint:#E9E7E4;
  --muted:#6B6660;
  --muted-2:#8C8780;
  --shadow: 0 1px 2px rgba(24,24,24,.04), 0 8px 24px -8px rgba(24,24,24,.10);
  --shadow-lg: 0 18px 50px -18px rgba(24,24,24,.28);
  --radius: 14px;
  --container: 1180px;
  --display: "Archivo", sans-serif;
  --body: "IBM Plex Sans", sans-serif;
  --mono: "IBM Plex Mono", monospace;
}

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
h1,h2,h3,h4,p,figure{margin:0;}
button{font-family:inherit; cursor:pointer;}
input,textarea{font-family:inherit; font-size:1rem;}
:focus-visible{outline:3px solid var(--red); outline-offset:3px; border-radius:4px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--ink); color:#fff; padding:.7em 1.2em; z-index:200; border-radius:0 0 8px 0;
}
.skip-link:focus{left:0; top:0;}

.wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px;
}

.eyebrow{
  font-family:var(--mono);
  font-weight:600;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
  display:flex;
  align-items:center;
  gap:.6em;
  margin-bottom:1.1em;
}
.eyebrow::before{
  content:"";
  width:22px; height:2px;
  background:var(--red);
  display:inline-block;
}
.eyebrow.on-dark{color:#F2A6AE;}
.eyebrow.on-dark::before{background:#F2A6AE;}
.eyebrow.charcoal{color:var(--charcoal);}
.eyebrow.charcoal::before{background:var(--charcoal);}

h2.h-section{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(1.7rem, 1.1rem + 2.4vw, 2.7rem);
  line-height:1.12;
  letter-spacing:-.01em;
  max-width:18ch;
}
.section-head{
  margin-bottom:3rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
}
.section-head p{
  max-width:38ch;
  color:var(--muted);
  font-size:1.02rem;
  padding-bottom:.2rem;
}

section{padding:6.5rem 0;}
@media (max-width:720px){ section{padding:4.2rem 0;} }

.bg-mist{background:var(--mist);}
.bg-ink{background:var(--ink); color:#EFECE7;}

/* Checkmark bullets, reused everywhere — the brand's own mark */
.check-list{display:flex; flex-direction:column; gap:.85rem;}
.check-list li{
  display:flex; gap:.7rem; align-items:flex-start;
  font-size:.99rem;
}
.check-list li svg{flex:none; margin-top:.2rem;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--body); font-weight:600; font-size:.97rem;
  padding:.95em 1.7em;
  border-radius:999px;
  border:2px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--red); color:#fff; box-shadow:var(--shadow);}
.btn-primary:hover{background:var(--red-dark); transform:translateY(-2px); box-shadow:var(--shadow-lg);}
.btn-ghost{border-color:var(--ink); color:var(--ink);}
.btn-ghost:hover{background:var(--ink); color:#fff; transform:translateY(-2px);}
.btn-ghost.on-dark{border-color:#fff; color:#fff;}
.btn-ghost.on-dark:hover{background:#fff; color:var(--ink);}
.btn-light{background:#fff; color:var(--red); box-shadow:var(--shadow);}
.btn-light:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg);}
.btn-sm{padding:.7em 1.3em; font-size:.88rem;}

/* ============ HEADER ============ */
.topbar{
  background:var(--ink); color:#cfc9c1; font-family:var(--mono); font-size:.74rem;
  letter-spacing:.04em;
}
.topbar .wrap{
  display:flex; justify-content:flex-end; gap:1.8rem; padding:.5rem 28px;
}
.topbar a{display:flex; align-items:center; gap:.45em; transition:color .15s;}
.topbar a:hover{color:#fff;}
@media (max-width:1120px){ .topbar{display:none;} }

header.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 28px; gap:2rem;
}
.logo{
  display:flex; align-items:center;
}
.logo-img{height:28px; width:auto; display:block;}

nav.main-nav{display:flex; align-items:center; gap:.3rem;}
nav.main-nav a{
  position:relative;
  font-weight:600; font-size:.93rem; color:var(--ink);
  padding:.6rem .95rem;
  border-radius:8px 8px 0 0;
  transition:background .15s, color .15s;
}
nav.main-nav a::after{
  content:""; position:absolute; left:.95rem; right:.95rem; bottom:.3rem; height:2px;
  background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
}
nav.main-nav a:hover{background:var(--mist);}
nav.main-nav a:hover::after{transform:scaleX(1);}
nav.main-nav .nav-cta{display:none;}

.header-actions{display:flex; align-items:center; gap:.7rem;}
.burger{
  display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:10px;
  background:#fff; align-items:center; justify-content:center;
}
.burger span, .burger span::before, .burger span::after{
  content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative;
  transition:transform .2s, opacity .2s;
}
.burger span::before{position:absolute; top:-6px;}
.burger span::after{position:absolute; top:6px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

@media (max-width:1120px){
  .header-actions{display:none;}
  .burger{margin-left:auto;}
  nav.main-nav{
    position:absolute; top:100%; left:0; right:0; background:#fff;
    flex-direction:column; align-items:stretch; padding:.6rem 28px 1.2rem;
    border-bottom:1px solid var(--line);
    transform:translateY(-8px); opacity:0; visibility:hidden;
    transition:transform .2s ease, opacity .2s ease, visibility .2s;
  }
  nav.main-nav.open{transform:translateY(0); opacity:1; visibility:visible;}
  nav.main-nav a{padding:.85rem .3rem; border-radius:0; border-bottom:1px solid var(--line);}
  nav.main-nav a::after{display:none;}
  nav.main-nav .nav-cta{margin-top:.7rem; display:inline-flex;}
  .burger{display:flex;}
}

/* ============ HERO ============ */
.hero{
  padding-top:4.5rem; padding-bottom:4rem; position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 88% 8%, var(--red-tint) 0%, transparent 45%),
    var(--paper);
}
.hero .wrap{
  display:grid; grid-template-columns:1.12fr .88fr; gap:3rem; align-items:center;
}
.hero-content h1{
  font-family:var(--display); font-weight:900;
  font-size:clamp(2.2rem, 1.3rem + 4vw, 3.5rem);
  line-height:1.06; letter-spacing:-.015em; max-width:15ch;
}
.hero-content h1 .accent{color:var(--red);}
.hero-sub{margin-top:1.3rem; font-size:1.1rem; color:var(--muted); max-width:42ch;}
.hero-cta{display:flex; gap:1rem; margin-top:2.1rem; flex-wrap:wrap;}
.hero-badges{margin-top:2.6rem; display:flex; flex-wrap:wrap; gap:.55rem;}
.badge{
  display:inline-flex; align-items:center; gap:.5em;
  font-size:.78rem; font-weight:600; color:var(--muted);
  padding:.5em .85em; border:1px solid var(--line); border-radius:999px; background:#fff;
}
.badge svg{width:13px; height:13px; flex:none;}

.hero-visual{position:relative; display:flex; justify-content:center; align-items:center; min-height:360px;}
.doc-card{
  position:absolute; width:62%; aspect-ratio:3/4;
  background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow);
  padding:1.1rem;
}
.doc-card .tab{width:34%; height:9px; border-radius:0 0 5px 5px; margin-bottom:.9rem;}
.doc-card .ln{height:6px; background:var(--mist-2); border-radius:3px; margin-bottom:.55rem;}
.doc-card .ln:nth-child(3){width:80%;}
.doc-card .ln:nth-child(4){width:60%;}
.doc-card.c1{transform:rotate(-13deg) translate(-34%,-2%); z-index:1;}
.doc-card.c1 .tab{background:var(--charcoal);}
.doc-card.c2{transform:rotate(11deg) translate(30%,10%); z-index:1;}
.doc-card.c2 .tab{background:var(--maroon);}

.stamp-wrap{position:relative; width:min(300px,72%); z-index:2; filter:drop-shadow(0 18px 30px rgba(92,14,26,.18));}
.stamp{animation:stampdrop .8s cubic-bezier(.18,1.2,.4,1) both;}
.stamp text{font-family:var(--mono); font-weight:600;}
@keyframes stampdrop{
  0%{opacity:0; transform:scale(1.6) rotate(-20deg);}
  65%{opacity:1;}
  100%{opacity:1; transform:scale(1) rotate(-7deg);}
}
@media (prefers-reduced-motion: reduce){ .stamp{animation:none; transform:rotate(-7deg);} }

@media (max-width:920px){
  .hero .wrap{grid-template-columns:1fr; text-align:left;}
  .hero-visual{order:-1; min-height:260px; margin-bottom:1rem;}
  .stamp-wrap{width:210px;}
}

/* ============ ZIELGRUPPEN ============ */
.audience-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.6rem;
}
.audience-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:2.1rem 1.9rem 2.3rem;
  position:relative; overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.audience-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg);}
.audience-card .tab-strip{
  position:absolute; top:0; left:2rem; width:46px; height:8px; border-radius:0 0 6px 6px;
}
.audience-card.a1 .tab-strip{background:var(--red);}
.audience-card.a2 .tab-strip{background:var(--charcoal);}
.audience-card.a3 .tab-strip{background:var(--maroon);}
.audience-card .ic{
  width:46px; height:46px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.4rem;
}
.audience-card.a1 .ic{background:var(--red-tint);}
.audience-card.a2 .ic{background:var(--charcoal-tint);}
.audience-card.a3 .ic{background:var(--maroon-tint);}
.audience-card .ic svg{width:23px; height:23px;}
.audience-card h3{font-family:var(--display); font-weight:800; font-size:1.18rem; margin-bottom:.7rem; letter-spacing:-.005em;}
.audience-card .pain{color:var(--muted); font-size:.95rem; margin-bottom:1.2rem; line-height:1.55;}
.audience-card .solve{
  font-size:.86rem; font-weight:600; color:var(--ink);
  border-top:1px dashed var(--line); padding-top:1rem;
}
.audience-card .solve span{display:block; font-weight:400; color:var(--muted); margin-top:.3rem; font-size:.88rem;}

@media (max-width:980px){
  .audience-grid{grid-template-columns:1fr; gap:1.2rem;}
}

/* ============ LEISTUNGEN ============ */
.pillars{display:flex; flex-direction:column; gap:1.3rem;}
.pillar{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:2.6rem 2.6rem 2.6rem 2.9rem;
  display:grid; grid-template-columns:.82fr 1.18fr; gap:2.6rem;
  align-items:center;
  position:relative; overflow:hidden;
}
.pillar::before{content:""; position:absolute; left:0; top:0; bottom:0; width:6px;}
.pillar.p1::before{background:var(--red);}
.pillar.p2::before{background:var(--charcoal);}
.pillar.p3::before{background:var(--maroon);}
.pillar-head .pic{
  width:46px; height:46px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.1rem;
}
.pillar.p1 .pic{background:var(--red-tint);}
.pillar.p2 .pic{background:var(--charcoal-tint);}
.pillar.p3 .pic{background:var(--maroon-tint);}
.pillar-head .pic svg{width:22px; height:22px;}
.pillar-head .pnum{
  font-family:var(--mono); font-weight:600; font-size:.82rem; letter-spacing:.12em;
  display:inline-block; margin-bottom:1rem;
}
.pillar.p1 .pnum{color:var(--red);}
.pillar.p2 .pnum{color:var(--charcoal);}
.pillar.p3 .pnum{color:var(--maroon);}
.pillar-head h3,.pillar-head h4{
  font-family:var(--display); font-weight:800; font-size:1.55rem; line-height:1.18;
  margin-bottom:.9rem; letter-spacing:-.01em; max-width:18ch;
}
.pillar-head p{color:var(--muted); font-size:.96rem; max-width:32ch;}
.pillar-list{
  display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1.6rem;
  align-content:start;
}
.pillar-list li{display:flex; gap:.55rem; font-size:.93rem; align-items:flex-start; line-height:1.4;}
.pillar-list li svg{flex:none; margin-top:.25rem;}
.pillar.p1 .pillar-list li svg path{stroke:var(--red);}
.pillar.p2 .pillar-list li svg path{stroke:var(--charcoal);}
.pillar.p3 .pillar-list li svg path{stroke:var(--maroon);}

@media (max-width:840px){
  .pillar{grid-template-columns:1fr; padding:2.2rem 1.6rem 2.2rem 2rem;}
  .pillar-list{grid-template-columns:1fr;}
}

/* ============ CTA BAND ============ */
.cta-band{background:var(--red); color:#fff;}
.cta-band .wrap{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:1.5rem;
  padding:3.6rem 28px;
}
.cta-band h2{
  font-family:var(--display); font-weight:800;
  font-size:clamp(1.5rem,1rem+2vw,2.05rem); max-width:24ch; letter-spacing:-.01em;
}
.cta-band p{opacity:.92; max-width:46ch; font-size:1.02rem;}
.cta-band .hero-cta{justify-content:center;}

/* ============ WARUM WIR ============ */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.7rem;}
.why-item{display:flex; flex-direction:column; gap:.9rem;}
.why-item .ic{
  width:48px; height:48px; border-radius:12px; background:var(--red-tint);
  display:flex; align-items:center; justify-content:center;
}
.why-item .ic svg{width:23px; height:23px;}
.why-item h3{font-family:var(--display); font-weight:800; font-size:1.06rem;}
.why-item p{color:var(--muted); font-size:.92rem; line-height:1.55;}
@media (max-width:900px){ .why-grid{grid-template-columns:1fr 1fr; gap:2rem 1.4rem;} }
@media (max-width:560px){ .why-grid{grid-template-columns:1fr;} }

/* ============ PROZESS ============ */
.process-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; position:relative;
}
.process-step{position:relative; padding-top:2.6rem;}
.process-step .pnum2{
  font-family:var(--display); font-weight:900; font-size:2.1rem; color:var(--line);
  position:absolute; top:-.6rem; left:0; line-height:1;
}
.process-step h3{font-family:var(--display); font-weight:800; font-size:1.05rem; margin:.4rem 0 .6rem;}
.process-step p{color:var(--muted); font-size:.92rem; line-height:1.55;}
.process-step::before{
  content:""; position:absolute; top:.6rem; left:0; right:1.6rem; height:2px; background:var(--line);
}
.process-step:first-child::before{display:none;}
@media (max-width:900px){
  .process-grid{grid-template-columns:1fr; gap:2.2rem;}
  .process-step::before{display:none;}
}

/* ============ ÜBER UNS ============ */
.about-wrap{
  display:grid; grid-template-columns:.55fr 1fr; gap:3.2rem; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:3rem; position:relative; overflow:hidden;
}
.about-avatar{
  width:100%; aspect-ratio:1; border-radius:16px;
  background:var(--mist);
  overflow:hidden;
  position:relative; z-index:1;
  border:1px solid var(--line);
}
.about-avatar img{
  width:100%; height:100%; object-fit:cover; object-position:center 18%;
}
.about-text .role{
  font-family:var(--mono); font-size:.83rem; color:var(--muted); letter-spacing:.03em; margin-bottom:.3rem;
}
.about-text h3{font-family:var(--display); font-weight:800; font-size:1.7rem; margin-bottom:.5rem;}
.about-text blockquote{
  font-size:1.08rem; color:var(--ink); margin:1.3rem 0; line-height:1.6;
  border-left:3px solid var(--red); padding-left:1.1rem;
}
.about-creds{display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.3rem;}
@media (max-width:840px){
  .about-wrap{grid-template-columns:1fr; padding:2.2rem;}
  .about-avatar{max-width:160px; margin:0 auto;}
}

/* ============ FAQ ============ */
/* ============ FAQ ============ */
.faq-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%;
  background:var(--red-tint); margin-bottom:1.3rem;
}
.faq-icon svg{width:26px; height:26px;}
.faq-list{max-width:760px; margin:0 auto;}
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-item summary{
  list-style:none; cursor:pointer; padding:1.5rem 2.4rem 1.5rem 0; position:relative;
  font-family:var(--display); font-weight:700; font-size:1.04rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+"; font-family:var(--body); font-weight:400; font-size:1.6rem; color:var(--red);
  position:absolute; right:0; top:50%; transform:translateY(-58%); transition:transform .2s;
}
.faq-item[open] summary::after{content:"–";}
.faq-item .faq-a{padding:0 2.4rem 1.6rem 0; color:var(--muted); font-size:.97rem; max-width:68ch; line-height:1.6;}

/* ============ KONTAKT ============ */
.contact-wrap{display:grid; grid-template-columns:1fr .85fr; gap:2.8rem;}
.contact-form{background:#fff; border:1px solid var(--line); border-radius:18px; padding:2.4rem;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.field{margin-bottom:1.1rem;}
.field label{display:block; font-size:.84rem; font-weight:600; margin-bottom:.4rem;}
.field input, .field textarea{
  width:100%; border:1px solid var(--line); border-radius:9px; padding:.75em .9em;
  background:var(--mist); transition:border-color .15s, background .15s;
}
.field input:focus, .field textarea:focus{border-color:var(--red); background:#fff; outline:none;}
.field-check{display:flex; align-items:flex-start; gap:.6rem; font-size:.85rem; color:var(--muted);}
.field-check input{width:auto; margin-top:.2rem;}
.form-note{font-size:.8rem; color:var(--muted-2); margin-top:.7rem;}
.field-honeypot{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}
.form-alert{
  border-radius:9px; padding:.85em 1.1em; margin-bottom:1.2rem; font-size:.92rem; font-weight:600;
}
.form-alert.success{background:#E6F4EA; color:#1E7B34;}
.form-alert.error{background:var(--red-tint); color:var(--maroon);}

.contact-info{display:flex; flex-direction:column; gap:1.6rem;}
.info-card{background:var(--mist); border-radius:16px; padding:1.8rem;}
.info-card h4{font-family:var(--display); font-weight:800; font-size:.98rem; margin-bottom:1rem;}
.info-line{display:flex; gap:.7rem; align-items:flex-start; font-size:.92rem; margin-bottom:.85rem;}
.info-line:last-child{margin-bottom:0;}
.info-line svg{flex:none; margin-top:.15rem; width:17px; height:17px;}
.map-frame{border-radius:16px; overflow:hidden; border:1px solid var(--line); height:200px;}
.map-frame iframe{width:100%; height:100%; border:0;}
.social-row{display:flex; gap:.6rem;}
.social-row a{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; transition:background .15s, border-color .15s;
}
.social-row a:hover{background:var(--ink); border-color:var(--ink);}
.social-row a:hover svg{stroke:#fff;}
@media (max-width:920px){ .contact-wrap{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;} }

/* ============ FOOTER ============ */
footer.site-footer{background:var(--ink); color:#C9C4BC; padding:4rem 0 0;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid #3a3833;}
.footer-logo-chip{
  display:inline-flex; background:#fff; padding:.6rem 1rem; border-radius:10px;
}
.footer-grid p.tag{margin-top:1rem; font-size:.9rem; color:#9a958c; max-width:30ch;}
.footer-seal{
  display:flex; align-items:center; gap:.7rem; margin-top:1.4rem;
}
.footer-seal img{width:46px; height:46px; flex:none;}
.footer-seal span{font-size:.78rem; color:#9a958c; max-width:19ch; line-height:1.35;}
.footer-col h5{color:#fff; font-family:var(--display); font-size:.86rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.1rem;}
.footer-col ul{display:flex; flex-direction:column; gap:.65rem; font-size:.92rem;}
.footer-col a:hover{color:#fff;}
.footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  padding:1.6rem 0 2rem; font-size:.82rem; color:#8b867d;
}
.footer-bottom a:hover{color:#fff;}
@media (max-width:840px){ .footer-grid{grid-template-columns:1fr 1fr; gap:2rem;} }
@media (max-width:560px){ .footer-grid{grid-template-columns:1fr;} }

/* Persönliche Liegenschaftsverwaltung */
.property-teaser{margin-top:1.2rem;font-weight:600;}
.property-teaser a,.property-link{color:var(--red);text-decoration:underline;text-underline-offset:4px;}
.property-link{display:inline-block;margin-top:1rem;}
.property-pillar{scroll-margin-top:110px;}
.property-pillar > *{min-width:0;overflow-wrap:anywhere;}
.property-pillar .btn{white-space:normal;text-align:center;max-width:100%;}
.property-pillar .pnum{max-width:100%;}
.property-benefits h4{font-family:var(--display);font-size:1.12rem;margin-bottom:.4rem;}
.property-benefits p{color:var(--muted);margin-bottom:1.35rem;}
.property-pillar .pnum{letter-spacing:.06em;}
.audience-card h3{overflow-wrap:break-word;}

/* Responsive Korrekturen: intrinsische Breiten begrenzen, Inhalte umbrechen. */
.hero .wrap > *, .contact-wrap > *, .form-row > *, .pillar > *, .footer-grid > *, .about-wrap > *{min-width:0;}
.hero-visual{width:100%;max-width:440px;justify-self:center;}
.doc-card{width:min(62%,220px);}
.logo,.burger{flex-shrink:0;}
.logo-img{max-width:100%;height:auto;width:220px;}
.btn{white-space:normal;text-align:center;max-width:100%;min-height:44px;}
h1,h2,h3,h4,p,li,a,address,label{overflow-wrap:anywhere;}
.pillar-list{display:grid;}
section[id],article[id]{scroll-margin-top:110px;}
nav.main-nav{max-height:calc(100dvh - 76px);overflow-y:auto;}
.social-row a{width:44px;height:44px;}
.footer-col a{display:inline-block;padding:5px 0;}
@media(max-width:920px){
 .hero-visual{order:0;min-height:260px;margin:1rem auto 0;}
 .hero .wrap{gap:1.5rem;}
}
@media(max-width:560px){
 .wrap{padding-left:20px;padding-right:20px;}
 .nav-row{padding:12px 20px;gap:16px;}
 .logo-img{width:190px;}
 .hero{padding-top:2.5rem;}
 .hero-content h1{font-size:clamp(2rem,8.6vw,2.8rem);}
 .hero-visual{display:none;}
 .hero-cta{gap:.75rem;}
 .contact-form,.info-card,.about-wrap{padding:1.25rem;}
 .pillar{padding:1.5rem;}
 .cta-band .wrap{padding-left:20px;padding-right:20px;}
 .hero-badges{margin-top:1.5rem;}
 .property-pillar .pnum{font-size:.75rem;}
}

.offer-overview{padding-top:4rem;padding-bottom:4rem;}
.entry-links{display:grid;gap:.7rem;margin:1rem 0 1.5rem;font-weight:600;}
.entry-links a{text-decoration:underline;text-underline-offset:4px;}
.offer-overview .audience-card{display:flex;flex-direction:column;align-items:flex-start;}
.offer-overview .audience-card .btn{margin-top:auto;}
.offer-overview .solve{margin-bottom:1.5rem;}
.service-heading{margin:0 0 1.8rem;scroll-margin-top:110px;}
.service-heading h3{font-family:var(--display);font-size:1.6rem;margin-bottom:.6rem;}
.service-heading > p:last-child{max-width:70ch;color:var(--muted);}
.service-subsection{padding:2rem 0 0;}
.service-subsection .pillar{border-top:3px solid var(--red);}

.offer-overview .audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1000px){.offer-overview .audience-grid{grid-template-columns:1fr;}}
@media(min-width:1121px){nav.main-nav a{padding-left:.55rem;padding-right:.55rem;font-size:.88rem;}.nav-row{gap:1.2rem;}}

/* Gemeinsame Gestaltung der Angebotskacheln und Unterseiten */
.offer-overview .audience-card{display:grid;grid-template-rows:auto auto 1fr auto;align-items:start;gap:1rem;}
.offer-overview .audience-card h3{margin:0;min-height:2.6em;}
.offer-overview .card-audience{font-weight:600;color:var(--ink);margin:0;}
.offer-overview .card-description{color:var(--muted);margin:0 0 .6rem;}
.offer-overview .audience-card .btn{justify-self:start;align-self:end;margin:0;}
.page-intro{padding:3rem 0 2rem;}
.page-title{font-family:var(--display);font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;max-width:24ch;letter-spacing:-.02em;}
.page-intro p{margin-top:1.2rem;max-width:65ch;color:var(--muted);}
.breadcrumb{padding:1.3rem 28px 0;font-size:.88rem;color:var(--muted);}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px;}
nav.main-nav a[aria-current="page"]{color:var(--red);}
.offer-overview .audience-card .tab-strip{position:absolute;}
@media(max-width:1000px){.offer-overview .audience-card h3{min-height:0;}}
@media(min-width:1001px){.offer-overview .card-audience{min-height:3.2em;}}

/* Ausführliche Verwaltungsleistungen */
.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
.management-card{border:1px solid var(--line);border-top:3px solid var(--red);border-radius:14px;padding:2rem;background:#fff;min-width:0;}
.management-card h3{font-family:var(--display);font-size:1.35rem;line-height:1.25;margin-bottom:1rem;}
.management-card p{color:var(--muted);margin-bottom:1.2rem;}
.management-card ul{list-style:disc;padding-left:1.2rem;display:grid;gap:.75rem;}
.management-card li::marker{color:var(--red);}
.management-note{margin-top:2rem;max-width:88ch;color:var(--muted);}
.management-personal-title{font-family:var(--display);font-size:1.55rem;line-height:1.18;margin-bottom:.9rem;}
@media(max-width:760px){.management-grid{grid-template-columns:1fr;}.management-card{padding:1.4rem;}}
.faq-item summary{overflow-wrap:anywhere;hyphens:auto;}
