/* Schneider Theissing GmbH, site.css (Rev. 16, 30.10.2026)
   Basis: Juni-Design aus premium.min.css (DM Serif Display, Navy, Gold, Versal-Rubriken, Kaesten).
   Diese Datei ersetzt design-r9.css. Reihenfolge der Kaskade: premium.min.css, site.css, animations.css.
   Abschnitte: 1 Token, 2 Typografie, 3 Abstaende, 4 Kopfzeile, 5 Buttons, 6 Karten und Kaesten,
   7 Formulare, 8 FAQ und Tabellen, 9 Ratgeber, 10 Footer, 11 Bausteine Rev. 11 bis 15, 12 Responsiv,
   13 Dark Mode und Druck. Keine Kursiven, keine Animationen ausser den bestehenden Hover-Uebergaengen. */

/* ---------- 1 Token ---------- */
:root{
  color-scheme:light;
  --r9-ink:#0b1a2e;
  --r9-ink-2:#132740;
  --r9-tx:#3d5472;
  --r9-tx-2:#4f6680;
  --r9-lbl:#506986;
  --r9-warm:#faf8f5;
  --r9-warm-2:#f3efe8;
  --r9-line:#e8ecf1;
  --r9-line-2:#d1d9e3;
  --r9-field:#8592a3;
  --r9-focus:#2563eb;
  --r9-gold-inv:#d9bd7c;
  --dark:#0b1a2e;
  --gold-dk:#7d6234;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;--s14:112px;
  --sec-y:clamp(56px,7vw,96px);
  --sec-y-s:clamp(48px,5vw,64px);
  --measure:68ch;
  --btn-h:48px;
}
body{color:var(--text-primary)}

/* ---------- 2 Typografie ---------- */
*,*::before,*::after{font-style:normal!important}
/* DM Serif Display hat nur einen Schnitt: kein kuenstlicher Fettdruck */
html{font-synthesis:none}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.hero-h1,.cta-h,.team-name{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.h1,.ph h1{font-size:clamp(36px,4.4vw,58px);line-height:1.08;letter-spacing:-.02em}
.hero-h1{font-size:clamp(36px,4.2vw,56px);line-height:1.08}
.h2{font-size:clamp(28px,3.2vw,42px);line-height:1.12;letter-spacing:-.015em}
.h3{font-size:clamp(22px,2.1vw,28px);line-height:1.2}
.h4{font-size:21px;line-height:1.25}
.lead{font-size:clamp(17px,1.3vw,18.5px);line-height:1.75;max-width:var(--measure)}
.body,.sec p,.ph p,.hero-desc{max-width:var(--measure)}
.body{font-size:16px;line-height:1.8}
.h1+.lead,.h1+p,.h2+.lead,.h2+.body,.h2+p,.h3+.body,.h3+p{margin-top:var(--s2)}
.h2[style*="text-align:center"],[style*="text-align:center"]>.body,[style*="text-align:center"]>.lead,[style*="text-align:center"]>p{margin-left:auto;margin-right:auto}
strong,b{font-weight:600}
.ey-txt{font-size:11px;letter-spacing:.2em;color:var(--gold-dk)}
.ey-inv .ey-txt,.ph .ey-txt,.bg-ink .ey-txt,.sec-dark .ey-txt,.split-body .ey-txt{color:#d9bd7c}
.hh-ey-tx{font-size:11px;color:rgba(255,255,255,.72)}
.eyebrow{margin-bottom:var(--s2)}
/* Inhaltsueberschriften in Fliesstextbereichen ohne Klasse in der Serifenschrift */
main h2:not([class]),main h3:not([class]){font-family:var(--serif);font-weight:400;color:var(--text-primary);line-height:1.2}
.bg-ink h2:not([class]),.bg-ink h3:not([class]),.sec-dark h2:not([class]),.sec-dark h3:not([class]){color:#fff}
/* Text in dunklen Bereichen */
.ph strong,.bg-ink strong,.sec-dark strong,.cta-band strong,.split-body strong,.home-hero strong{color:#fff}

/* ---------- 3 Abstaende (8er-Raster) ---------- */
.sec{padding:var(--sec-y) 0}
.sec-lg{padding:calc(var(--sec-y) + 16px) 0}
.sec-sm,.sec[style*="padding:40px 0"]{padding:var(--sec-y-s) 0}
.sec-off{background:var(--bg-warm)}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt14{margin-top:14px}.mt16{margin-top:16px}.mt18{margin-top:18px}.mt24{margin-top:24px}.mt32{margin-top:32px}.mt40{margin-top:40px}.mt48{margin-top:48px}
.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.mb24{margin-bottom:24px}.mb32{margin-bottom:32px}.mb40{margin-bottom:40px}.mb48{margin-bottom:48px}
.kurz-wrap>.wrap{padding-top:var(--s5)}
.results-bar+.sec,.kurz-wrap+.sec{padding-top:var(--s8)}
/* Absatz unter H1 auf Danke-, Thank-you- und 404-Seite */
.h1+p[style*="margin:0 auto"],h1+p[style*="margin:0 auto"]{margin-top:var(--s2)!important}
/* Seiteneinblendung und Fade-up bleiben aus: ruhiger Seitenaufbau, sofort sichtbarer Inhalt */
html body{animation:none}
[data-r],[data-anim],html.js [data-r]{opacity:1!important;transform:none!important;transition:none!important}

/* ---------- 4 Kopfzeile ---------- */
.site-header .nav-row{gap:16px}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:0 22px;margin-left:8px;font-size:11px;letter-spacing:.1em;line-height:1;white-space:nowrap}
/* Telefon: unter 1200 px Hoerersymbol im Rahmen (Juni), ab 1200 px Nummer ohne Rahmen als Textlink mit Hoerersymbol */
.site-header .nav-row .nav-tel{transition:color .2s,border-color .2s;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;margin-left:8px;border:1px solid var(--border-strong);background:transparent;color:var(--ink);font-family:var(--sans);font-size:14px!important;line-height:1;white-space:nowrap!important;overflow:visible;flex:0 0 auto;text-decoration:none}
.site-header .nav-row .nav-tel svg{width:16px;height:16px;flex:0 0 16px;color:var(--gold)}
.site-header .nav-row .nav-tel .nav-tel-text{display:none!important}
.site-header .nav-row .nav-tel:hover{border-color:var(--gold);color:var(--gold)}
@media(min-width:1200px){
  .site-header .nav-row .nav-tel{width:auto!important;min-width:0!important;padding:0 6px!important;border-color:transparent}
  .site-header .nav-row .nav-tel .nav-tel-text{display:inline!important;font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--ink)}
  .site-header .nav-row .nav-tel:hover{border-color:transparent}
  .site-header .nav-row .nav-tel:hover .nav-tel-text{color:var(--gold-dk);text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:900px){.site-header .nav-row .nav-tel,.site-header .nav-cta{display:none!important}}
.nav-btn{color:var(--text-secondary)}

/* ---------- 5 Buttons ---------- */
.btn{min-height:var(--btn-h);padding:0 28px;justify-content:center;border-radius:0;line-height:1.3;font-size:11.5px;letter-spacing:.1em}
.btn-sm{min-height:42px;padding:0 20px;font-size:10.5px}
.btn:hover,.nav-cta:hover,.art-cta a:hover{transform:none}
.btn-txt svg,.blog-read svg,.team-link svg{transition:transform var(--dur) var(--ease)}
/* Primaer: Navy auf hellem Grund, Gold auf dunklem Grund */
.btn-gold,main a.btn[style*="background:var(--gold"]{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-gold:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.ph .btn-gold,.home-hero .btn-gold,.bg-ink .btn-gold,.sec-dark .btn-gold,.cta-band .btn-gold,.split-body .btn-gold,.hero-inv.dark .btn-gold,.funnel-hero .btn-gold,.art-cta .btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.ph .btn-gold:hover,.home-hero .btn-gold:hover,.bg-ink .btn-gold:hover,.sec-dark .btn-gold:hover,.cta-band .btn-gold:hover,.split-body .btn-gold:hover{background:var(--gold-warm);border-color:var(--gold-warm)}
/* Sekundaer: umrandet */
.btn-ol,.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ol:hover,.btn-outline:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-gh,.btn-ghost-inv{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-gh:hover,.btn-ghost-inv:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.btn-txt{color:var(--gold-dk)}
.ph .btn-txt,.bg-ink .btn-txt,.sec-dark .btn-txt,.split-body .btn-txt,.cta-band .btn-txt{color:#d9bd7c}

/* Fokus sichtbar (R14) */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--r9-focus)!important;outline-offset:3px}
.ph :focus-visible,.home-hero :focus-visible,.bg-ink :focus-visible,.sec-dark :focus-visible,.cta-band :focus-visible,.split-body :focus-visible,.results-bar :focus-visible,.ic-section :focus-visible,.mobile-menu :focus-visible,footer :focus-visible,.cookie-banner :focus-visible,.mobile-cta-bar :focus-visible,.art-cta :focus-visible{outline:2px solid var(--r9-gold-inv)!important;outline-offset:3px}

/* ---------- 6 Karten und Kaesten ---------- */
/* einheitlich: Radius 0 wie im Juni, Rahmen 1 px, Schatten nur dezent, ruhiger Hover ohne Verschieben */
.pcard,.blog-card,.svc-item,.audience-card,.diff-card,.ref-card,.team-card,.case,.case-teaser,.ck-q,.ck-form,.card-form,.f-panel{border-radius:0}
.pcard:hover,.blog-card:hover{transform:none;box-shadow:var(--shadow-md)}
.svc-item,.audience-card,.diff-card{padding:var(--s4)}
.svc-n{font-style:normal}
.pn-num{font-style:normal}
.cta-mid,.svc-lead,.price-card,.consulting-steps,.art-box,.cta-box{border-radius:0!important}
.cta-mid{border-left-width:3px!important}
/* Textkarten der Geschaeftsfuehrung, ohne Foto */
.team-row{gap:var(--s3)}
.team-row .team-card,.team-row-wide .team-card{display:flex;flex-direction:column;border:1px solid var(--border);border-top:2px solid var(--gold);background:#fff;box-shadow:var(--shadow-xs)}
.team-card .team-body{padding:var(--s5) var(--s5) var(--s4)}
.team-role{font-size:10.5px;letter-spacing:.2em;color:var(--gold-dk)}
.team-name{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,32px);line-height:1.15;color:var(--ink);margin:4px 0 12px}
.team-qual{font-size:14px;line-height:1.7;color:var(--text-tertiary);margin:0 0 var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--border)}
.team-bio{font-size:15px;line-height:1.75;color:var(--text-secondary);margin:0 0 12px;max-width:var(--measure)}
.team-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:var(--s1)}
.team-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk);text-decoration:none;padding:0 16px;border:1px solid var(--border-strong)}
.team-link:hover{color:#fff;background:var(--ink);border-color:var(--ink)}
.team-link svg{width:12px;height:12px}
.team-row.team-row-wide{grid-template-columns:1fr 1fr}
.sec-off .team-card{background:#fff}

/* Kurz gesagt, E-E-A-T-Kasten, Fallbeispiele im Juni-Kasten */
.kurz{background:var(--bg-warm);border-left:3px solid var(--gold);padding:var(--s3) var(--s4)}
.kurz-k{font-size:10.5px;font-weight:600;letter-spacing:.2em;color:var(--gold-dk)}
.kurz p{color:var(--text-primary);font-size:16px;line-height:1.7;max-width:var(--measure)}
.kurz.kurz-art{margin:var(--s3) 0 var(--s4);max-width:760px;text-align:left}
.lm-hero .kurz.kurz-art{margin-left:auto;margin-right:auto}
.kurz.kurz-art p{margin:0}
.kurz p a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.eeat{background:var(--bg-warm);border-left:3px solid var(--gold);color:var(--text-secondary)}
.eeat-k{font-weight:600;letter-spacing:.18em;color:var(--gold-dk)}
.eeat a{color:var(--ink)}
.case,.case-teaser{border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-xs)}
.case-teaser:hover{border-color:var(--gold);box-shadow:var(--shadow-sm)}
.case-tag{color:var(--gold-dk);font-weight:600}
.case-body h3{color:var(--text-tertiary);font-family:var(--sans);font-weight:600}

/* ---------- 7 Formulare ---------- */
.card-form{background:#fff;border:1px solid var(--border);border-top:2px solid var(--gold);padding:var(--s5);box-shadow:var(--shadow-sm)}
.card-form .f-field,.f-panel .f-field{margin-bottom:var(--s2)}
.card-form .f-row{gap:var(--s2)}
.f-field input,.f-field select,.f-field textarea{border-color:var(--r9-field)}
.f-lbl{font-size:11px;letter-spacing:.12em;color:var(--text-secondary)}
.f-field input::placeholder,.f-field textarea::placeholder{color:#66768a}
.bg-ink .card-form,.sec-dark .card-form{background:transparent;border-color:rgba(255,255,255,.18);border-top-color:var(--gold);box-shadow:none}

/* ---------- 8 FAQ und Tabellen ---------- */
/* Plus-Symbol fuer FAQ-Fragen ohne eigenes Symbol, offen um 45 Grad gedreht */
.faq-q:not(:has(.faq-ico))::after{content:"+";flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);font-family:var(--sans);font-size:16px;font-weight:300;line-height:1;color:var(--text-tertiary);transition:background var(--dur) var(--ease);margin-left:16px}
.faq-item.open .faq-q:not(:has(.faq-ico))::after,details[open]>.faq-q::after{content:"\2212";background:var(--ink);border-color:var(--ink);color:#fff}
.faq-q{font-family:var(--sans)}
.faq-item.open .faq-ico{transform:none}
.faq-ico svg{transition:transform var(--dur) var(--ease)}
.faq-item.open .faq-ico svg{transform:rotate(45deg)}
/* Tabellen: Kopf als Versal-Label, Zeilen mit Haarlinie, mobil horizontal scrollbar mit Schattenhinweis */
.tbl-scroll,main .art table:not(.tbl-scroll table):not(.ib-tbl table):not(.tbl-wrap table){overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left/40px 100% no-repeat local,linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(11,26,46,.18),transparent) left/12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(11,26,46,.18),transparent) right/12px 100% no-repeat scroll}
main .art table:not(.tbl-scroll table):not(.ib-tbl table):not(.tbl-wrap table){display:block}
.tbl-scroll table th,main .art table th{background:var(--bg-warm);color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:600px){.tbl-scroll table:not(.price-quick):has(tr>*:nth-child(3)),main .art table:not(.price-quick):has(tr>*:nth-child(3)){min-width:560px}.tbl-scroll table th,.tbl-scroll table td,main .art table th,main .art table td{font-size:13.5px}}

/* ---------- 9 Ratgeber ---------- */
main .art h1{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}
main .art .cta-box-art{display:block;grid-template-columns:none;margin:var(--s5) 0;padding:var(--s4);background:var(--bg-warm);border-left:3px solid var(--gold)}
main .art .cta-box-art .cta-h{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2vw,24px);line-height:1.25;color:var(--text-primary);margin:0 0 8px}
main .art .cta-box-art .cta-p{margin:0;font-size:15.5px;line-height:1.7;color:var(--text-secondary)}
main .art .cta-box-art .btn{text-decoration:none}
.cta-box .cta-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:var(--s2)}
.cta-box .cta-actions .btn{margin:0}
.cta-box .cta-tel{margin:12px 0 0!important;font-size:14.5px;line-height:1.6;color:var(--text-secondary)}
.cta-box .cta-tel a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:6px 0}
/* Anfragekasten auf Leistungsseiten (cta-box ohne -art) */
.cta-box:not(.cta-box-art){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 40px;align-items:center;background:var(--bg-warm);border:1px solid var(--border);border-top:2px solid var(--gold);padding:var(--s5);text-align:left}
.cta-box:not(.cta-box-art) .cta-h{color:var(--text-primary);font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);margin:0;grid-column:1}
.cta-box:not(.cta-box-art) .cta-p{grid-column:1;margin:0;color:var(--text-secondary)}
.cta-box:not(.cta-box-art)>.btn{grid-column:2;grid-row:1/span 2}
.cta-box:not(.cta-box-art) .cta-actions,.cta-box:not(.cta-box-art) .cta-tel{grid-column:1}
.sec-off .cta-box{background:#fff}
/* alter Anfragekasten in Ratgebern */
main .art .cta-mid{padding:var(--s4)!important;margin:var(--s5) 0!important}
/* Kopfzeile Ratgeber bis 900 px ohne Trennpunkt am Zeilenanfang */
@media(max-width:900px){main .art-meta{column-gap:20px}main .art-meta>span+span::before{display:none}}
/* Rechenzentrum-Ratgeber */
.dc-art h2{margin-top:var(--s6);margin-bottom:var(--s2)}
.dc-art h3.h4{margin-bottom:12px}
.dc-art .tbl-scroll{margin-top:var(--s2)}
.dc-art .faq-list{margin-top:8px}

/* ---------- 10 Footer ---------- */
.ft-links a:hover,.ft-legal a:hover,.ft-cl a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ft-cl a{display:inline-block;padding:3px 0}
.ft-cl.ft-hours span{color:inherit}
.foot-hours{pointer-events:none}
.site-footer-compact .foot-copy{color:rgba(255,255,255,.7)!important}
/* mobile Leiste: Platz unter dem Footer in Footerfarbe statt weissem Streifen */
@media(max-width:900px){body.has-mobile-cta{background:linear-gradient(to top,var(--ink) 96px,var(--bg) 96px)}}

/* ---------- 11 Bausteine Rev. 11 bis 15 (funktional, im Juni-Stil) ---------- */
/* Rev. 11: Inline-Kontakt ausblenden, wenn die Seite ein eigenes Formular hat */
body:has(main form[action="/mail.php"]) #inlineContact{display:none!important}
.lm-form{text-align:left}
.lm-form label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 6px;text-align:left}
.lm-form input:is([type=text],[type=tel],[type=email],[type=date]){display:block;width:100%;max-width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--r9-field);background:#fff;font:inherit;font-size:16px;margin:0 0 16px;border-radius:0}
.lm-form input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:2px 10px 0 0}
.lm-form label:has(input[type=checkbox]){display:flex;align-items:flex-start;font-weight:400}
.mobile-cta-bar:empty{display:none!important}
.mobile-menu a:not(.m-cta){color:rgba(255,255,255,.82)}
.ic-trust{display:block!important;text-align:center}
.ic-trust svg{display:inline;vertical-align:-2px;margin-right:6px}
main .svc-tags{display:none!important}
@media(max-width:900px){.k-split>div:last-child{order:-1}}
main .sec>.wrap>div[style*="#e8f5e9"]{display:none}
.mb-box{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;border:1px solid var(--border);border-top:2px solid var(--gold);padding:var(--s4);background:#fff}
.mb-wrap{margin:var(--s5) 0}
.mb-form{background:var(--bg-warm);padding:var(--s3)}
.mb-form button[type=submit]{width:100%;min-height:var(--btn-h);padding:0 20px;background:var(--ink);color:#fff;border:0;font:inherit;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.mb-form button[type=submit]:hover{background:var(--gold)}
.mb-form .lm-privacy{font-size:12.5px;color:var(--r9-tx-2);margin:12px 0 0}
@media(max-width:860px){.mb-box{grid-template-columns:1fr;gap:24px}}
#hoai-rechner .hr-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;border:1px solid var(--border);border-top:2px solid var(--gold);padding:var(--s4);background:#fff}
#hoai-rechner label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 6px}
#hoai-rechner input,#hoai-rechner select{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--r9-field);background:#fff;font:inherit;font-size:16px;border-radius:0}
#hoai-rechner .hr-hint{font-size:13px;color:var(--r9-tx-2);margin:6px 0 18px;line-height:1.5}
#hoai-rechner .hr-out{background:var(--bg-warm);padding:var(--s3);border-left:3px solid var(--gold)}
#hoai-rechner .hr-lbl{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dk);margin:0}
#hoai-rechner .hr-val{font-family:var(--serif);font-size:clamp(26px,3vw,34px);color:var(--ink);margin:6px 0 8px;line-height:1.15}
#hoai-rechner .hr-sub{font-size:14.5px;color:var(--text-secondary);margin:0 0 14px}
#hoai-rechner .hr-note{font-size:12.5px;color:var(--r9-tx-2);margin:0 0 18px;line-height:1.55}
@media(max-width:860px){#hoai-rechner .hr-grid{grid-template-columns:1fr;padding:var(--s3)}}
.erf-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.erf-list li{padding:16px 20px;background:var(--bg-warm);border-left:2px solid var(--gold);font-weight:500;color:var(--text-primary);font-size:15px}
.erf-list li a{color:inherit;text-decoration:underline;text-decoration-color:var(--r9-line-2);text-underline-offset:3px}
@media(max-width:860px){.erf-list{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.erf-list{grid-template-columns:1fr}}
/* CI 2026-10-29: Logo als Vektor-Bildmarke */
.logo .logo-mark{display:block!important;width:58px;height:45px;flex:0 0 auto;background:url(/images/logo-st-bildmarke-schwarz.svg) no-repeat left center/contain;font-size:0!important;line-height:0;color:transparent!important;overflow:hidden}
.logo .logo-pipe{display:none!important}
.logo.logo-inv .logo-mark{background-image:url(/images/logo-st-weiss.svg);width:120px;height:111px}
@media(max-width:600px){.logo .logo-mark{width:50px;height:39px}.logo.logo-inv .logo-mark{width:104px;height:96px}}
.brand .brand-mark{width:58px;height:45px;border:0;background:url(/images/logo-st-bildmarke-schwarz.svg) no-repeat left center/contain;font-size:0;color:transparent;overflow:hidden}
.brand .brand-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* R14 UX: Fokus, Kontrast, Touch-Ziele */
.cookie-banner:not(.show){visibility:hidden}
@media(min-width:601px) and (max-width:900px){.home-hero .hh-inner{max-width:620px!important}}
.ic-section p a{text-decoration:underline;text-underline-offset:3px}
.cl li a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:600px){body:not(.has-mobile-cta):has(#stickyCta) .site-footer{padding-bottom:88px}}
.ei-field{font-size:16px!important}
.ei-close{min-width:44px;min-height:44px;top:2px!important;right:2px!important;color:rgba(255,255,255,.85)!important}
.diff-c h3{color:var(--r9-gold-inv)!important}
@media(max-width:600px){.fn-field input,.fn-field select,.fn-field textarea{font-size:16px!important}}
.ck-q-n{font-style:normal}

/* R15: Startseite Festpreiszeile unter den Hero-Buttons */
.home-hero .hero-offer{margin:var(--s3) 0 0;max-width:56ch;font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.86)}
.home-hero .hero-offer a{color:var(--r9-gold-inv);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0;white-space:nowrap}

/* R15: Cookie-Banner mit drei gleich gestalteten Schaltflaechen und Auswahl Statistik/Werbemessung */
.cookie-banner{max-height:100vh;max-height:100dvh;overflow-y:auto}
.cookie-banner .cookie-btn,.cookie-banner .cookie-btn.cookie-accept,.cookie-banner .cookie-btn.cookie-decline,.cookie-banner .cookie-btn.cookie-more,.cookie-banner .cookie-btn.cookie-save{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.7)!important;font-weight:600!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cookie-banner .cookie-btn:hover,.cookie-banner .cookie-btn:focus-visible{background:rgba(255,255,255,.14)!important;border-color:#fff!important}
.cookie-set{flex:1 1 100%;display:grid;gap:14px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.cookie-set[hidden]{display:none!important}
.cookie-opt{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.8);cursor:pointer}
.cookie-opt-txt{flex:1 1 auto;min-width:0}
.cookie-opt strong{display:block;color:#fff;font-weight:600;margin-bottom:2px}
.cookie-always{flex:0 0 auto;font-size:12px;color:rgba(255,255,255,.75);white-space:nowrap}
.cookie-switch{-webkit-appearance:none;appearance:none;flex:0 0 auto;position:relative;width:46px;height:26px;margin:0;border:1px solid rgba(255,255,255,.75);border-radius:13px;background:rgba(255,255,255,.12);cursor:pointer;transition:background .2s,border-color .2s}
.cookie-switch::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}
.cookie-switch:checked{background:var(--gold);border-color:#d9bd7a}
.cookie-switch:checked::before{transform:translateX(20px)}
.cookie-set-btns{display:flex;justify-content:flex-end}
@media(max-width:600px){.cookie-banner{padding:12px 16px!important}.cookie-banner p{font-size:13px!important;margin-bottom:10px!important}.cookie-btns{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px}.cookie-banner .cookie-btn{width:100%;padding:8px 4px!important;font-size:10.5px!important;letter-spacing:.02em!important;white-space:normal;line-height:1.3}.cookie-set-btns .cookie-btn{width:100%}.cookie-opt{font-size:12.5px;gap:12px}}

/* R15: Telefon und Erreichbarkeit im Mobilmenue */
.mobile-menu a.m-tel{margin-top:28px;border-bottom:0!important;padding:10px 0 2px!important;color:#fff!important;font-weight:600!important;font-size:18px}
.mobile-menu .m-hours{display:block;font-size:14px;color:rgba(255,255,255,.72);padding:0 0 4px}
.mobile-menu a.m-tel + .m-hours + .m-cta{margin-top:20px}

/* R15: Preistabelle direkt unter der H1 (RND-Kosten) */
.svc .price-quick-wrap{margin:8px 0 var(--s3);border:1px solid var(--border);border-top:2px solid var(--gold);background:#fff}
.svc .price-quick{width:100%;font-size:15px}
.svc .price-quick th,.svc .price-quick td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.svc .price-quick thead th{background:var(--bg-warm);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}
.svc .price-quick th[scope=row]{font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;background:none;color:var(--text-primary)}
.svc .price-quick td:nth-child(2){font-family:var(--serif);font-size:19px;color:var(--ink);white-space:nowrap}
.svc .price-quick-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 var(--s4)}
@media(max-width:600px){.svc .price-quick,.svc .price-quick tbody,.svc .price-quick tr,.svc .price-quick th,.svc .price-quick td{display:block;width:100%}.svc .price-quick thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.svc .price-quick tr{padding:14px 16px;border-bottom:1px solid var(--border)}.svc .price-quick td{padding:4px 0!important;border:0!important;white-space:normal!important}.svc .price-quick td:nth-child(2){font-size:17px}.svc .price-quick-wrap{overflow:visible;background:#fff}.svc .price-quick th[scope=row]{padding:0 0 4px!important;border:0!important}.svc .price-quick-cta .btn{flex:1 1 100%}}

/* R15: mobile Leiste auch auf Tablets, ausgeblendet solange das Zielformular sichtbar ist */
@media(min-width:601px) and (max-width:900px){.mobile-cta-bar{display:flex;padding:12px 32px;align-items:center}.mobile-cta-bar a{min-height:44px;padding:11px 22px}body.has-mobile-cta{padding-bottom:76px}}
.mobile-cta-bar.cta-target-visible{transform:translateY(100%)!important;visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s}
@media(max-width:900px){body:not(.has-mobile-cta):has(#stickyCta) .site-footer{padding-bottom:88px}}

/* R15: Funnels mobil (Einleitung vor dem Formular), Pflichtfeldhinweis */
.fn-req-note{font-size:13px;color:var(--r9-tx-2);margin:4px 0 0}
@media(max-width:900px){
 .fn-grid{gap:0!important}
 .fn-grid>.fn-left{display:contents}
 .fn-grid>.fn-left>*{order:2}
 .fn-grid>.fn-left>.fn-badge,.fn-grid>.fn-left>h1{order:0}
 .fn-grid>.fn-left>h1+.fn-sub{order:0;margin-bottom:24px}
 .fn-grid>.fn-right{order:1!important;margin-bottom:40px;align-self:stretch;width:100%;max-width:none}
 .fn-grid>.fn-left>.fn-badge{align-self:flex-start}
}

/* R15 ib: Industriebau, Hallenbau, Logistik (Tabellen, Phasenliste, Zielgruppenkarten) */
.ib-tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--s3) 0 8px;border:1px solid var(--border);border-top:2px solid var(--gold);background:#fff}
.ib-tbl table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.6;min-width:560px}
.ib-tbl th,.ib-tbl td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.ib-tbl thead th{background:var(--bg-warm);color:var(--text-tertiary);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ib-tbl tbody th{font-weight:600;color:var(--text-primary)}
.ib-tbl caption{caption-side:bottom;text-align:left;font-size:13px;color:var(--text-tertiary);padding:10px 14px}
.ib-phases{list-style:none;counter-reset:ibp;margin:var(--s4) 0 0;padding:0;display:grid;gap:2px}
.ib-phases>li{counter-increment:ibp;position:relative;padding:20px 24px 20px 72px;background:#fff;border:1px solid var(--border);font-size:15px;line-height:1.75;color:var(--text-secondary)}
.ib-phases>li::before{content:counter(ibp,decimal-leading-zero);position:absolute;left:24px;top:18px;font-family:var(--serif);font-size:22px;color:var(--gold)}
.ib-phases>li strong{display:block;color:var(--text-primary);font-size:16px;margin-bottom:4px}
.ib-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin-top:var(--s5)}
.ib-card{background:#fff;border:1px solid var(--border);border-top:2px solid var(--gold);padding:var(--s4)}
.ib-card h3{margin:0 0 10px}
.ib-card p{margin:0 0 12px}
.ib-card a{color:var(--gold-dk)}
.sec-off .ib-card,.sec-off .ib-phases>li{background:#fff}
@media(max-width:760px){.ib-cards{grid-template-columns:1fr}.ib-phases>li{padding:18px 16px 18px 60px}.ib-phases>li::before{left:16px;top:16px;font-size:20px}}
@media(max-width:600px){.ib-tbl{border-left:0;border-right:0}.ib-tbl table{min-width:0}.ib-tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ib-tbl tr,.ib-tbl th,.ib-tbl td{display:block;width:100%}.ib-tbl tbody tr{padding:14px 0;border-bottom:1px solid var(--border)}.ib-tbl tbody th,.ib-tbl tbody td{border:0;padding:3px 0}.ib-tbl tbody th{font-size:15.5px;padding-bottom:6px}.ib-tbl td[data-label]::before{content:attr(data-label);display:block;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-top:6px}}

/* R15: Danke-Seite, ein Button, Rest als Textlinks */
.danke-links{margin:var(--s3) auto 0;max-width:720px;font-size:15px;line-height:2;color:var(--text-secondary)}
.danke-links a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0}
/* R15: Touch-Ziele Footer und Kontaktangaben mobil */
@media(max-width:600px){.ft-legal a{display:inline-block;padding:11px 0}.team-link{min-height:44px}.k-row .k-val a{display:inline-block;padding:10px 0}.foot-bottom a{display:inline-block;padding:11px 0}}
/* R15: Ergebniskasten der Checks */
.ck-res .btn{margin-top:4px}
.ck-res .ck-res-cta{margin:18px 0 6px}

/* R15 fach: RND-Rechner Ergebnisbox (Anlage 2 ImmoWertV) */
#rndCalc .calc-result{border:1px solid var(--border);border-top:2px solid var(--gold);background:#fff;padding:var(--s4);margin-bottom:22px}
#rndCalc .cr-number{font-family:var(--serif);font-size:3.2rem;line-height:1.05;color:var(--ink)}
#rndCalc .cr-unit{font-size:14px;color:var(--text-secondary);margin:4px 0 20px}
#rndCalc .cr-range{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:14px}
#rndCalc .cr-range-item{background:var(--bg-warm);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
#rndCalc .cr-range-label{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}
#rndCalc .cr-range-val{font-family:var(--serif);font-size:1.35rem;color:var(--ink)}
#rndCalc .cr-model{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0 0 12px}
#rndCalc .cr-hints{font-size:13.5px;line-height:1.6;color:var(--ink);background:var(--bg-warm);border-left:3px solid var(--gold);padding:10px 14px;margin:0 0 14px}
#rndCalc .cr-savings{border-top:1px solid var(--border);padding-top:16px;margin-top:6px}
#rndCalc .cr-savings-title{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}
#rndCalc .cr-savings-num{font-family:var(--serif);font-size:1.8rem;color:var(--ink);margin:4px 0 6px}
#rndCalc .cr-savings-desc{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-bottom:10px}
#rndCalc .cr-tax{margin:12px 0;max-width:420px}
#rndCalc .cr-tax-result{font-size:14px;line-height:1.6;color:var(--ink);margin:10px 0 0;font-weight:600}
#rndCalc .cr-cta-area{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
#rndCalc .cr-cta-sub{font-size:13px;color:var(--text-secondary)}
#rndCalc .calc-error{color:#a8321f;font-size:14px;margin:8px 0 0;font-weight:500}
#rndCalc .mod-pts{font-weight:400;font-size:12px;color:var(--text-secondary);white-space:nowrap}
#rndCalc .calc-info{font-size:14.5px;line-height:1.7;margin-bottom:22px}
#rndCalc .mod-info{display:flex;flex-direction:column;gap:2px}
#rndCalc .mod-title{font-weight:600;color:var(--ink)}
#rndCalc .mod-sub{font-size:12.5px;color:var(--text-secondary)}
@media(max-width:600px){#rndCalc .calc-row{grid-template-columns:1fr;gap:0;margin-bottom:0}#rndCalc .cr-range{grid-template-columns:1fr}#rndCalc .calc-result{padding:20px 16px}#rndCalc .calc-input,#rndCalc .calc-select{font-size:16px}}

/* Brotkrumen: auf hellem Grund Navy-Grau, im dunklen Seitenkopf hell mit AA-Kontrast */
.bc a,.bc button{color:var(--text-tertiary)}
.bc span{color:var(--text-muted)}
.bc a:hover,.bc button:hover{color:var(--ink)}
.ph .bc a,.ph .bc button,.home-hero .bc a,.bg-ink .bc a,.sec-dark .bc a,.funnel-hero .bc a,.bpi-hero .bc a{color:rgba(255,255,255,.74)}
.ph .bc span,.home-hero .bc span,.bg-ink .bc span,.sec-dark .bc span,.funnel-hero .bc span,.bpi-hero .bc span{color:rgba(255,255,255,.74)}
.ph .bc a:hover,.ph .bc button:hover{color:#fff}
/* R15 en: Sprachlink Deutsch/English in den Brotkrumen */
.bc:has(.bc-lang){flex-wrap:wrap}
.bc .bc-lang{margin-left:auto;padding:1px 10px;border:1px solid currentColor;line-height:1.6}

/* R15 cluster: "Weiterlesen im Themenbereich" und "Ratgeber zum Thema" als Juni-Kasten */
.wl-cluster{margin:var(--s6) 0 8px;padding:var(--s4);border:1px solid var(--border);border-top:2px solid var(--gold);background:#fff}
main .art .wl-cluster .wl-h,.wl-cluster .wl-h{font-family:var(--serif)!important;font-weight:400!important;font-size:22px!important;color:var(--text-primary);margin:0 0 var(--s2)!important;padding-top:0!important;border-top:0!important}
.wl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px}
.wl-k{display:block;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dk);margin:0 0 6px}
.wl-cluster ul,main .art .wl-cluster ul{list-style:none!important;margin:0!important;padding:0!important;font-size:14.5px!important}
.wl-cluster li{margin:0!important;padding:6px 0;border-top:1px solid var(--border);font-size:14.5px;line-height:1.5}
.wl-cluster a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.wl-cluster a:hover{color:var(--gold-dk)}
.wl-cluster .wl-svc{margin:18px 0 0!important;font-size:14px!important;line-height:1.9!important}
.wl-cluster .wl-svc a{display:inline-block;margin-right:14px}
.wl-sec .wl-cluster{max-width:none;margin:0}
@media(max-width:720px){.wl-grid{grid-template-columns:1fr}.wl-cluster{padding:20px 18px}.wl-cluster li a,.wl-cluster .wl-svc a{display:inline-block;padding:5px 0}}

/* Kontrast-Korrekturen fuer Altbausteine mit Inline-Farben (WCAG AA) */
main [style*="color:#27ae60"]{color:#1e7a45!important}
.faq-box p,.faq-box span{color:rgba(255,255,255,.78)!important}
.funnel-hero .funnel-kicker{color:#d9bd7c}
.art-card-body .art-card-cat{color:var(--gold-dk)}
.art>nav a[style*="gold"],main .art nav:not(.bc) a{text-decoration:underline;text-underline-offset:3px;color:var(--gold-dk)!important}
.status-teil{color:#8a5f14!important}
.sec-dark .lead,.bg-ink .lead{color:rgba(255,255,255,.8)}
.site-footer [style*="color:rgba(255,255,255,.2"],.site-footer [style*="color:rgba(255,255,255,.3"],.site-footer [style*="color:rgba(255,255,255,.4"],.sec-dark [style*="color:rgba(255,255,255,.4"],.bg-ink [style*="color:rgba(255,255,255,.4"]{color:rgba(255,255,255,.72)!important}
main [style*="color:#e67e22"]{color:#a8530f!important}
main [style*="color:#f39c12"]{color:#94600a!important}
main [style*="color:#e74c3c"],main [style*="color:#c0392b"]{color:#a8321f!important}
.bpi-cta-band .bpi-p{color:rgba(255,255,255,.8)}
.bpi-cta-band .bpi-h2{color:#fff}
.bpi-hero .bpi-eyebrow,.bpi-cta-band .bpi-eyebrow{color:#d9bd7c}
.site-footer [style*="font-size:11px"]{font-size:12.5px!important}

/* ---------- 12 Responsiv ---------- */
@media(max-width:900px){
  .team-row.team-row-wide{grid-template-columns:1fr}
  .cta-box:not(.cta-box-art){grid-template-columns:1fr}
  .cta-box:not(.cta-box-art)>.btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:12px}
}
@media(max-width:600px){
  .h1,.ph h1,.hero-h1{font-size:clamp(30px,8.4vw,36px);line-height:1.1}
  .h2{font-size:clamp(26px,7vw,30px)}
  .h3{font-size:22px}
  .svc-item,.audience-card,.diff-card{padding:var(--s3)}
  .card-form,.f-panel{padding:var(--s3) 18px}
  .team-card .team-body{padding:var(--s3) 20px}
  .cta-box:not(.cta-box-art),main .art .cta-box-art,main .art .cta-mid{padding:var(--s3) 20px!important}
  .cta-box .cta-actions .btn{flex:1 1 100%}
  .btn{padding:12px 20px}
}
@media(max-width:480px){
  main .art h1,.ph h1,.h1{font-size:clamp(28px,7.6vw,32px)!important;line-height:1.12}
}

/* ---------- 13 Dark Mode und Druck ---------- */
/* Die Seite bleibt hell; Altregeln fuer prefers-color-scheme: dark wuerden helle Schrift auf hellem Grund erzeugen */
@media(prefers-color-scheme:dark){
  .eeat,.kurz{background:var(--bg-warm)}
  .eeat a{color:var(--ink)}
  .case,.case-teaser,.wl-cluster{background:#fff}
  .case-teaser-ti{color:var(--ink)}
}
@media print{
  .site-header,.mobile-menu,.mobile-cta-bar,.cookie-banner,#inlineContact,#exitIntent,.nav-mobile-btn,.reading-progress{display:none!important}
  h1,h2,h3,.h1,.h2,.h3{color:#000!important}
  .ph,.ph *,.home-hero,.home-hero *{color:#000!important;background:#fff!important}
  .ph::before,.hh-left::before{display:none!important}
  body{font-size:11pt}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt}
}
