/* Core Guard Karaman – Textseiten: Leistungen, Impressum, Datenschutz */
.textseite{padding-top:9.5em;}
.textseite p{text-transform:none;}

/* Kopf der Seite */
.sub-hero-inner{max-width:1800px;margin:0 auto;padding:0 5em 6em;display:flex;flex-direction:column;align-items:flex-start;gap:1.25em;}
.breadcrumb{font-size:.75em;text-transform:uppercase;color:var(--schrift-60);}
.breadcrumb a{transition:color .2s;}
.breadcrumb a:hover{color:var(--schrift);}
.breadcrumb span{margin:0 .4em;}
.sub-hero .about-tag{color:var(--schrift-75);text-transform:uppercase;background:var(--tag);border-radius:.3em;padding:.2em .55em .15em;font-size:.75em;}
/* Anzeigeschrift wie auf der Startseite gestaucht, Zeilenumbruch bleibt richtig */
.sub-hero h1{width:calc(100% / var(--eng));max-width:calc(15em / var(--eng));margin:.1em 0 .15em;font-family:var(--anzeige);font-weight:900;font-size:7em;line-height:.9;letter-spacing:-.01em;text-transform:uppercase;transform:scaleX(var(--eng));transform-origin:0 0;}
.sub-hero-lead{max-width:32em;font-family:var(--titel);font-size:1.5em;line-height:1.35;color:var(--schrift-75);}
.sub-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75em 1.75em;margin-top:1em;}
.sub-link{font-size:.875em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;color:var(--schrift-75);transition:color .2s;}
.sub-link:hover{color:var(--schrift);}

/* Abschnitte: Beschriftung links, Inhalt rechts wie im Abschluss */
.sub-section,.cta-section{max-width:1800px;margin:0 auto;padding:4.5em 5em;}
.sub-section + .sub-section,.cta-section,.sub-section + .cta-section,.cta-section + .sub-section{border-top:1px solid var(--linie-stark);}
.sub-inner,.cta-inner{display:grid;grid-template-columns:repeat(6,1fr);column-gap:1.25em;}
.sub-inner > *,.cta-inner > *{grid-column:3/7;}
.sub-inner > .about-tag{grid-column:1/3;grid-row:1/span 2;align-self:start;padding-top:.6em;font-size:.75em;text-transform:uppercase;color:var(--schrift-60);}
.sub-inner h2,.cta-title{font-family:var(--titel);font-size:2.6em;font-weight:500;line-height:1.1;letter-spacing:-.015em;margin:0 0 .6em;}
.sub-inner h2:not(:first-child){margin-top:1.4em;}
.sub-inner > .about-tag + h2{margin-top:0;}
.sub-inner h3{font-family:var(--titel);font-size:1.3em;font-weight:500;line-height:1.3;margin:1.6em 0 .4em;}
.sub-inner p,.sub-inner li,.cta-text{max-width:44em;font-family:var(--titel);font-size:1.125em;line-height:1.6;color:var(--schrift-75);}
.sub-inner p + p{margin-top:.9em;}
.sub-inner p a,.sub-inner li a{color:var(--schrift);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--linie-hover);transition:text-decoration-color .2s;}
.sub-inner p a:hover,.sub-inner li a:hover{text-decoration-color:currentColor;}
.sub-inner strong{color:var(--schrift);font-weight:500;}
.sub-klein{font-size:.85em!important;color:var(--schrift-60)!important;}
.sub-nachsatz{margin-top:1.5em;}

/* Listen */
.sub-list{margin:.6em 0 0;padding:0;list-style:none;}
.sub-list li{position:relative;padding:.35em 0 .35em 1.5em;}
.sub-list li::before{content:"";position:absolute;left:0;top:1.05em;width:.6em;height:1px;background:var(--schrift-60);}

/* Karten */
.sub-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25em;margin-top:.4em;}
.sub-card{padding:1.75em;border:1px solid var(--linie-stark);border-radius:.3125em;background:var(--flaeche);}
.sub-card h3{margin-top:0;}
.sub-card p{font-size:1em;}

/* Ablauf mit Nummern */
.sub-steps{counter-reset:schritt;margin-top:.4em;}
.sub-step{counter-increment:schritt;position:relative;padding:1.25em 0 1.25em 4em;border-top:1px solid var(--linie-stark);}
.sub-step:last-child{border-bottom:1px solid var(--linie-stark);}
.sub-step::before{content:counter(schritt,decimal-leading-zero);position:absolute;left:0;top:1.55em;font-size:.8em;color:var(--schrift-60);}
.sub-step h3{margin:0 0 .3em;}
.sub-note{margin-top:2em;padding:1.25em 1.5em;border:1px solid var(--linie-stark);border-radius:.3125em;background:var(--flaeche);}

/* Häufige Fragen */
.faq-list{margin-top:.4em;border-bottom:1px solid var(--linie-stark);}
.faq-list details{border-top:1px solid var(--linie-stark);}
.faq-list summary{display:flex;justify-content:space-between;align-items:baseline;gap:1em;padding:1.1em 0;list-style:none;cursor:pointer;font-family:var(--titel);font-size:1.25em;font-weight:500;line-height:1.3;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:"+";flex:none;font-family:var(--text);font-size:1.2em;font-weight:400;line-height:1;color:var(--schrift-60);transition:transform .4s var(--sanft);}
.faq-list details[open] summary::after{transform:rotate(45deg);}
.faq-list summary:hover::after{color:var(--schrift);}
.faq-list details p{padding-bottom:1.4em;}

/* Aufruf und verwandte Leistungen */
.cta-text{margin-bottom:1.75em;}
.cta-inner .knopf{justify-self:start;}
.sub-related{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25em;margin-top:.4em;}
.sub-related a{position:relative;display:flex;flex-direction:column;gap:.6em;padding:1.5em 3em 1.5em 1.5em;border:1px solid var(--linie-stark);border-radius:.3125em;background:var(--flaeche);font-family:var(--titel);font-size:1.25em;font-weight:500;line-height:1.25;transition:border-color .3s var(--sanft);}
.sub-related a::after{content:"→";position:absolute;right:1.1em;top:1.3em;font-family:var(--text);color:var(--schrift-60);transition:transform .4s var(--sanft),color .3s;}
.sub-related a:hover{border-color:var(--linie-hover);}
.sub-related a:hover::after{transform:translateX(.25em);color:var(--schrift);}
.sub-related a span{font-size:.72em;font-weight:400;line-height:1.45;color:var(--schrift-60);}

/* Tablet und Handy */
@media (max-width:991px){
  .textseite{padding-top:7.5em;}
  .sub-hero-inner{padding:0 1.5em 4em;}
  .sub-hero h1{font-size:3.6em;}
  .sub-hero-lead{font-size:1.2em;}
  .sub-section,.cta-section{padding:3.5em 1.5em;}
  .sub-inner > *,.cta-inner > *,.sub-inner > .about-tag{grid-column:1/7;grid-row:auto;}
  .sub-inner > .about-tag{padding:0 0 .75em;}
  .sub-inner h2,.cta-title{font-size:1.9em;}
  .sub-cards,.sub-related{grid-template-columns:1fr;}
  .sub-step{padding-left:3em;}
}
@media (max-width:479px){
  .sub-hero h1{font-size:2.9em;}
}

/* Trennlinien auf Satzspiegelbreite statt randlos */
.sub-section,.cta-section{position:relative;}
.sub-section + .sub-section,.cta-section,.sub-section + .cta-section,.cta-section + .sub-section{border-top:0;}
.sub-section + .sub-section::before,.sub-section + .cta-section::before,.cta-section + .sub-section::before{content:"";position:absolute;top:0;left:5em;right:5em;height:1px;background:var(--linie-stark);}
@media (max-width:991px){
  .sub-section + .sub-section::before,.sub-section + .cta-section::before,.cta-section + .sub-section::before{left:1.5em;right:1.5em;}
  .sub-hero-cta .knopf{font-size:.85em;}
}

/* Foto in der linken Spalte eines Abschnitts */
.sub-inner:has(.sub-bild) > .about-tag{grid-row:1/2;}
.sub-inner > .sub-bild{grid-column:1/3;grid-row:2/span 20;align-self:start;position:sticky;top:7em;margin:1.5em 2.5em 0 0;aspect-ratio:3/4;border:1px solid var(--linie-stark);border-radius:.125em;overflow:hidden;background:var(--flaeche-2);}
.sub-bild img{width:100%;height:100%;object-fit:cover;}
@media (max-width:991px){
  .sub-inner > .sub-bild{grid-column:1/7;grid-row:auto;position:static;max-width:22em;margin:0 0 2em;}
}

/* Ratgeber und Fallstudien */
.sub-hero:has(.sub-autor) h1{font-size:5.2em;max-width:calc(18em / var(--eng));}
.sub-autor{margin-top:.5em;}
.sub-zahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(10em,1fr));gap:1.25em;margin:.4em 0 1em;}
.sub-zahl{display:flex;flex-direction:column;gap:.5em;padding-top:1em;border-top:1px solid var(--linie-stark);}
.sub-zahl .anz{font-size:3.4em;line-height:.95;color:var(--schrift);}
.sub-zahl .eng{transform-origin:0 50%;}
.sub-zahl > span:last-child{font-size:.75em;text-transform:uppercase;color:var(--schrift-60);line-height:1.4;}
@media (max-width:991px){.sub-hero:has(.sub-autor) h1{font-size:2.6em;}.sub-zahl .anz{font-size:2.6em;}}

/* Kundenstimme auf Leistungsseiten (12.10.2026) */
.sub-stimme{margin:0 0 2.5em;padding:1.75em 2em;border-left:2px solid #f2b31b;}
.sub-stimme blockquote{margin:0;font-family:var(--titel);font-size:1.3em;line-height:1.4;color:var(--schrift-75);}
.sub-stimme figcaption{margin-top:1em;font-size:.8em;letter-spacing:.06em;text-transform:uppercase;color:var(--schrift-60);}
.sub-stimme figcaption a{color:inherit;}
