/* Enterprise layer, linked last on every route.
   One shared pass over text contrast, heading weight, label system and section rhythm;
   page families keep their own layouts underneath. */

/* Ink and body contrast: darker, calmer text across home and inner pages. */
.site-shell:has(.solding-home){--sh-ink:#14212c;--sh-muted:#3c4a57;--sh-line:#d3dbe2}
#main-content .solding-page.solding-page{--sp-ink:#14212c;--sp-muted:#3c4a57;--sp-line:#d3dbe2}

/* Headings: heavier display, tighter tracking, compact leading. */
#main-content :is(.solding-home,.solding-page) h1{font-weight:var(--sg-weight-display);letter-spacing:-.034em;line-height:1.06}
#main-content .solding-home .sh-hero h1{line-height:1.06;letter-spacing:-.034em}
#main-content :is(.solding-home,.solding-page) h2{font-weight:var(--sg-weight-heading);letter-spacing:-.03em;line-height:1.1}
#main-content :is(.solding-home,.solding-page) h3{font-weight:var(--sg-weight-heading);letter-spacing:-.018em}
#main-content :is(.solding-home,.solding-page) h4{font-weight:var(--sg-weight-strong)}
#main-content .solding-home .sh-title-accent{color:#1f5a80}

/* One label system: small, tracked, uppercase. */
#main-content :is(.solding-home,.solding-page) :is(.sp-eyebrow,.sh-hero-eyebrow,.sh-source-label,.d7-kicker,.sai-eyebrow,.ct7-digital__label,.delivery-label,.eyebrow){font-size:var(--sg-size-caption);line-height:1.5;font-weight:var(--sg-weight-heading);letter-spacing:.1em;text-transform:uppercase}
#main-content .solding-home .sh-hero-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 28px;color:#1f5a80}
#main-content .solding-home .sh-hero-eyebrow::before{content:'';width:32px;height:2px;background:var(--sh-orange,#f36b24)}

/* Lead paragraphs carry the argument: larger and closer to ink. */
#main-content .solding-home .sh-lead,#main-content .solding-page .sp-lead{font-size:clamp(1.125rem,1.25vw,1.25rem);line-height:1.6;color:#2a3946;max-width:52ch}
#main-content .solding-home .sh-lead strong{color:var(--sh-ink)}

/* Actions: firmer buttons and links. */
#main-content :is(.solding-home .sh-button,.solding-page .sp-button){font-weight:var(--sg-weight-strong);letter-spacing:.005em;border-radius:2px;box-shadow:0 1px 0 rgba(20,33,44,.12)}
/* Hover lightens (5.46:1 with ink) rather than darkens: a darker orange drops below 4.5:1. */
#main-content :is(.solding-home .sh-button,.solding-page .sp-button):hover{background:#f77c36;border-color:#f77c36}
#main-content :is(.solding-home .sh-text-link,.solding-page .sp-text-link){font-weight:var(--sg-weight-strong);text-underline-offset:6px}

/* Role enforcement: several family stylesheets out-specify the shared roles above. The doubled id
   lets this layer win for weight, tracking, leading and label style only; sizes stay with each family. */
#main-content#main-content :is(.solding-home,.solding-page) h1{font-weight:var(--sg-weight-display);letter-spacing:-.034em;line-height:1.06}
#main-content#main-content :is(.solding-home,.solding-page) h2{font-weight:var(--sg-weight-heading);letter-spacing:-.03em;line-height:1.12}
#main-content#main-content :is(.solding-home,.solding-page) h3{font-weight:var(--sg-weight-heading);letter-spacing:-.015em;line-height:1.3}
#main-content#main-content :is(.solding-home,.solding-page) :is(.sp-eyebrow,.sh-hero-eyebrow,.sh-source-label,.d7-kicker,.sai-eyebrow,.ct7-digital__label,.delivery-label,.eyebrow){font-family:var(--sg-font);font-size:var(--sg-size-caption);line-height:1.5;font-weight:var(--sg-weight-heading);letter-spacing:.1em;text-transform:uppercase}
#main-content#main-content .solding-page.sp-legal h1{font-size:clamp(1.75rem,2.3vw,2.375rem)}
.skip-link{font-family:var(--sg-font)!important}
#main-content#main-content :is(.solding-home,.solding-page) h4{font-weight:var(--sg-weight-strong)}

/* Micro-labels and strapline: nothing non-uppercase below 13px. */
.site-shell .site-header.site-header--v4 .brand__copy small{font-size:.8125rem}
#main-content .solding-home .sh-contact-action small,.site-shell .sf-footer .sf-contact-link small{font-size:.8125rem}

/* Hero proof bar: verified facts only (register, public naming, scope). */
/* Rendered as a compact spec table (value | label) at every width, so long values never collide. */
#main-content .solding-home .sh-proof{display:grid;grid-template-columns:max-content minmax(0,1fr);list-style:none;margin:44px 0 0;padding:0;border-top:1px solid var(--sh-line);max-width:34rem}
#main-content .solding-home .sh-proof li{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline;column-gap:24px;padding:12px 0;border-bottom:1px solid var(--sh-line)}
#main-content .solding-home .sh-proof strong{font-size:1rem;line-height:1.4;font-weight:var(--sg-weight-display);letter-spacing:-.01em;color:var(--sh-ink);white-space:nowrap;-webkit-hyphens:none;hyphens:none}
#main-content .solding-home .sh-proof span{font-size:.875rem;line-height:1.45;color:var(--sh-muted)}

/* Home services: single-line titles, stronger index. */
#main-content .solding-home .sh-service h3{font-size:var(--sg-size-subsection);line-height:1.25}
#main-content .solding-home .sh-service .sh-index{color:#c4561a;font-weight:var(--sg-weight-heading);letter-spacing:.06em}
#main-content .solding-home .sh-service p{max-width:40ch}

/* Section rhythm: more air between chapters on large screens. */
@media(min-width:1101px){
  #main-content .solding-home .sh-section{padding-block:112px}
  #main-content .solding-page .sp-section{padding-block:104px}
  #main-content .solding-home .sh-section-intro{margin-bottom:56px}
  /* Contact brief: the recovered bundle caps this section at 640/820px; use the full grid. */
  #main-content .solding-page.solding-contact-page .kontakt-brief__intro{max-width:none;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  #main-content .solding-page.solding-contact-page .kontakt-brief__intro h2{line-height:1.1}
  #main-content .solding-page.solding-contact-page .kontakt-brief__list{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px}
}

@media(max-width:650px){
  #main-content :is(.solding-home,.solding-page) h1,#main-content .solding-home .sh-hero h1{line-height:1.12}
  #main-content :is(.solding-home,.solding-page) h2{line-height:1.16}
  #main-content#main-content :is(.solding-home,.solding-page) h1{line-height:1.12}
  #main-content#main-content :is(.solding-home,.solding-page) h2{line-height:1.16}
  /* Narrow phones: cap heading size by viewport so the longest German compounds
     ("Straßenbeleuchtung", "Projektvorbereitung.") fit 280px at 320 without breaking. */
  #main-content#main-content :is(.solding-home,.solding-page) h1{font-size:min(2.25rem,8.2vw)}
  #main-content#main-content :is(.solding-home,.solding-page) h2{font-size:min(1.875rem,7.2vw)}
  /* No automatic mid-word hyphenation in headings; break only if a word cannot fit at all. */
  #main-content#main-content :is(.solding-home,.solding-page) :is(h1,h2,h3){-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word}
  .site-shell .site-footer.sf-footer .sf-footer-nav a{min-height:44px}
  #main-content .solding-home .sh-proof{margin-top:32px}
  #main-content .solding-home .sh-proof li{column-gap:14px;padding:10px 0}
  #main-content .solding-home .sh-proof strong{font-size:.9375rem}
  #main-content .solding-home .sh-proof span{font-size:.8125rem}
}

/* General trust block (ticket #11, decision D2): shared by the homepage and the Nachunternehmer page.
   White ground, ink text, blue heading; orange stays reserved for actions. Weights come from the heading roles above. */
#main-content .solding-trust{background:#fff;color:#14212c;border-top:1px solid #d3dbe2;padding-block:80px}
#main-content .solding-trust__wrap{width:min(100% - 128px,1312px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
#main-content .solding-trust__intro h2{margin:0 0 20px;font-size:var(--sg-size-section);color:#245c82}
#main-content .solding-trust__intro p{margin:0;max-width:38ch;font-size:var(--sg-size-lead);line-height:1.6;color:#3c4a57}
#main-content .solding-trust__list{list-style:none;margin:0;padding:0;border-top:2px solid #245c82}
#main-content .solding-trust__list li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:8px 32px;padding:22px 0;border-bottom:1px solid #d3dbe2}
#main-content .solding-trust__list h3{margin:0;font-size:var(--sg-size-card);line-height:1.3;color:#14212c}
#main-content .solding-trust__list p{margin:0;font-size:var(--sg-size-body);line-height:1.55;color:#3c4a57}
@media(max-width:1100px){
  #main-content .solding-trust__wrap{width:min(100% - 80px,1312px);grid-template-columns:minmax(0,1fr);gap:36px}
  #main-content .solding-trust__intro p{max-width:56ch}
}
@media(max-width:650px){
  #main-content .solding-trust{padding-block:56px}
  #main-content .solding-trust__wrap{width:min(100% - 48px,1312px);gap:28px}
  #main-content .solding-trust__list li{grid-template-columns:minmax(0,1fr);gap:6px;padding:18px 0}
}
