.page-main{padding-top:118px}.page-hero{position:relative;min-height:480px;display:flex;align-items:end;color:#fff;background:#121c17;overflow:hidden}.page-hero-media,.page-hero-shade{position:absolute;inset:0}.page-hero-media{background-position:center;background-size:cover;filter:saturate(.65) contrast(.98)}.page-hero-shade{background:linear-gradient(90deg,rgba(12,20,16,.74),rgba(12,20,16,.28)),linear-gradient(0deg,rgba(12,20,16,.5),transparent 65%)}.page-hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:90px 0}.page-hero h1{font-size:clamp(3.4rem,7vw,7rem);line-height:.92;letter-spacing:-.06em;margin:20px 0}.page-hero p:last-child{max-width:620px;font-size:1.12rem;color:rgba(255,255,255,.84)}.hero-references{background-image:url("../images/pages/leistungen.webp")}.hero-fleet{background-image:url("../images/fleet/gallery/flotte.webp")}.hero-rental{background-image:url("../images/fleet/gallery/lader.webp")}.hero-partners{background-image:url("../images/pages/opta.webp")}
.page-section{max-width:1180px;margin:auto;padding:100px 24px}.page-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,9vw,120px)}.page-intro h2,.content-head h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;letter-spacing:-.05em;margin:0}.page-intro-copy{font-size:1.12rem;color:#40566a}.page-intro-copy p:first-child{font-size:1.35rem;color:#073f73}.content-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.content-head p{max-width:470px;color:#587084}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.gallery-card{margin:0;background:#fff;border-bottom:3px solid transparent;transition:.25s;overflow:hidden}.gallery-card:hover{transform:translateY(-4px);border-color:#d71920;box-shadow:0 14px 40px rgba(7,63,115,.12)}.gallery-card picture{display:block;overflow:hidden}.gallery-card img{aspect-ratio:3/1.9;object-fit:cover;transition:transform .45s}.gallery-card:hover img{transform:scale(1.035)}.gallery-card figcaption{padding:20px}.gallery-card small{display:block;color:#d71920;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:6px}.gallery-card strong{font-size:1.15rem}.gallery-card p{font-size:.88rem;color:#627689;margin:7px 0 0}.gallery-card-wide{grid-column:span 2}.gallery-card-wide img{aspect-ratio:2/1}.equipment-section{background:#073f73;color:#fff;max-width:none}.equipment-inner{max-width:1180px;margin:auto}.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.equipment-card{background:#0d4c83;padding:34px}.equipment-card h3{font-size:1.55rem;margin:0 0 20px}.equipment-card ul{columns:2;list-style:none;padding:0;margin:0;color:#d4e1ec}.equipment-card li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12)}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.partner-card{min-height:170px;background:#fff;border:1px solid #dbe3e9;padding:25px;display:flex;align-items:center;justify-content:center;transition:.25s}.partner-card:hover{border-color:#d71920;box-shadow:0 10px 30px rgba(7,63,115,.1)}.partner-card img{max-width:100%;max-height:105px;object-fit:contain}.page-cta{background:#e7eef4;padding:75px 24px}.page-cta-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.page-cta h2{font-size:clamp(2rem,4vw,3.8rem);margin:0;letter-spacing:-.04em}.breadcrumb{position:absolute;z-index:2;top:25px;left:50%;width:min(1180px,calc(100% - 48px));transform:translateX(-50%);font-size:.78rem;color:#d5e1ea}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.seo-copy{max-width:800px;color:#50677a}.seo-copy h2{color:#073f73;font-size:2rem;margin-top:45px}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}.partner-grid{grid-template-columns:repeat(3,1fr)}.page-intro{grid-template-columns:1fr}.content-head{display:block}.content-head p{margin-top:20px}.page-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:1320px) and (min-width:801px){.page-main{padding-top:108px}}@media(max-width:800px){.page-main{padding-top:84px}}@media(max-width:640px){.page-hero{min-height:430px}.page-hero-inner{padding:75px 0 55px}.page-section{padding:70px 20px}.gallery{grid-template-columns:1fr}.gallery-card-wide{grid-column:auto}.gallery-card-wide img,.gallery-card img{aspect-ratio:3/2}.partner-grid{grid-template-columns:repeat(2,1fr)}.partner-card{min-height:125px;padding:17px}.equipment-grid{grid-template-columns:1fr}.equipment-card ul{columns:1}}
.profile-grid{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(40px,8vw,100px);align-items:center}.profile-grid img{aspect-ratio:4/3;object-fit:cover}.profile-copy h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;letter-spacing:-.05em;margin:0 0 30px}.profile-copy p{color:#4f6679;font-size:1.08rem}.location-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;background:#073f73;color:#fff;padding:40px}.location-grid img{height:100%;min-height:300px;object-fit:cover}.location-copy{padding:25px}.location-copy h2{font-size:2.5rem;margin:0 0 20px}.location-copy address{font-style:normal;color:#d5e2ec;line-height:1.8}
@media(max-width:900px){.profile-grid,.location-grid{grid-template-columns:1fr}}

/* Unternehmensprofil: vollständiges Logo und ausgewogene Inhaltsproportionen. */
.profile-grid{grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:clamp(52px,7vw,100px);padding-top:clamp(80px,8vw,120px);padding-bottom:clamp(80px,8vw,120px)}
.profile-grid .profile-logo{display:flex;align-items:center;justify-content:center;min-height:390px;padding:clamp(28px,4vw,58px);background:#fff;border:1px solid rgba(7,63,115,.1);box-shadow:0 22px 60px rgba(7,63,115,.08)}
.profile-grid .profile-logo img{display:block;width:100%;max-width:520px;height:auto;aspect-ratio:auto;object-fit:contain}
.profile-copy{max-width:680px}
.profile-copy .eyebrow{margin:0 0 24px;color:#476681}
.profile-copy h2{text-wrap:balance}
.profile-copy p{line-height:1.65}
@media(max-width:900px){.profile-grid{grid-template-columns:1fr;gap:48px}.profile-grid .profile-logo{min-height:300px}.profile-copy{max-width:none}}
@media(max-width:520px){.profile-grid .profile-logo{min-height:220px;padding:24px}.profile-copy h2{font-size:clamp(2.5rem,13vw,3.6rem)}}

.equipment-card p{max-width:480px;margin:0;color:#d4e1ec;line-height:1.65}
.equipment-inventory .equipment-card{background:#e7eef4;color:#073f73;border-top:3px solid #073f73}.equipment-inventory .equipment-card ul{color:#405a70}.equipment-inventory .equipment-card li{border-bottom-color:rgba(7,63,115,.14)}.inventory-note{max-width:760px;margin:30px 0 0;color:#587084;font-size:.92rem;line-height:1.65}

/* Aufstockungsreferenz auf Desktop und Mobil vollständig zeigen. */
.gallery-card-addition img,.gallery-card-wide.gallery-card-addition img{display:block;width:100%;height:auto;aspect-ratio:245/132;object-fit:contain;object-position:center}
.gallery-card-addition:hover img{transform:none}
.gallery-card-school picture{display:block;aspect-ratio:2/1;overflow:hidden}
.gallery-card-school img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 53%}
.gallery-card-placeholder picture{display:block;aspect-ratio:3/1.9;overflow:hidden}
.gallery-card-placeholder img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;filter:none;opacity:1}
.gallery-card-placeholder figcaption{border-top:3px solid #d71920}
@media(max-width:640px){.gallery-card-school picture{aspect-ratio:3/2}}

/* Neue Projektaufnahmen folgen exakt den Bildrahmen der bestehenden Referenzkarten. */
.gallery-card-project picture{display:block;aspect-ratio:3/1.9;overflow:hidden}
.gallery-card-project.gallery-card-wide picture{aspect-ratio:2/1}
.gallery-card-project img,.gallery-card-wide.gallery-card-project img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.gallery-card-project--dach-garage img{object-position:50% 56%}
.gallery-card-project--giebel img{object-position:50% 32%}
.gallery-card-project--neubau-nuernberg img{object-position:50% 42%}
.gallery-card-project--wohngebaeude-strasse img{object-position:50% 58%}
.gallery-card-project--wohngebaeude-garagen img{object-position:50% 50%}
@media(min-width:641px) and (max-width:900px){
  .gallery-card-project--dach-garage{grid-column:auto}
  .gallery-card-project--dach-garage picture{aspect-ratio:3/1.9}
}
@media(max-width:640px){
  .gallery-card-project picture,.gallery-card-project.gallery-card-wide picture{aspect-ratio:3/2}
  .gallery-card-project--giebel img{object-position:50% 48%}
  .gallery-card-project--wohngebaeude-strasse img{object-position:50% 56%}
  .gallery-card-project--wohngebaeude-garagen img{object-position:50% 54%}
}

/* Seitenweite Typografie und Farbführung entsprechend der Startseite. */
.page-main {
  color: var(--site-text);
  background: #f4f5f3
}

.page-main > .page-hero {
  background: #252d34
}

.page-main > .page-hero .page-hero-media {
  filter: saturate(.82) contrast(.98)
}

.page-main > .page-hero .page-hero-shade {
  background:
    linear-gradient(90deg, rgba(17, 22, 26, .82) 0%, rgba(17, 22, 26, .43) 55%, rgba(17, 22, 26, .1)),
    linear-gradient(0deg, rgba(17, 22, 26, .55), transparent 52%)
}

.page-main > .page-hero h1 {
  margin: 20px 0;
  color: #fff;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: var(--site-type-display);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.045em;
  text-wrap: balance
}

.page-main > .page-hero .eyebrow {
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .15em
}

.page-main > .page-hero p:last-child {
  color: rgba(255, 255, 255, .86);
  font-size: var(--site-type-lead);
  line-height: 1.55
}

.page-main :is(.page-intro, .content-head, .profile-copy, .page-cta) h2 {
  color: var(--site-heading);
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: var(--site-type-h2);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.035em;
  text-wrap: balance
}

.page-main .seo-copy h2 {
  color: var(--site-heading);
  font-size: clamp(2rem, 1.7rem + 1vw, 2.75rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-wrap: balance
}

.page-main :is(.page-intro-copy, .profile-copy, .seo-copy) {
  color: var(--site-text);
  font-size: var(--site-type-body);
  line-height: 1.65
}

.page-main .page-intro-copy p:first-child {
  color: var(--site-text-strong);
  font-size: var(--site-type-lead);
  line-height: 1.55
}

.page-main :is(.page-section, .page-cta) .eyebrow,
.page-main .gallery-card small {
  color: var(--site-accent);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em
}

.page-main .gallery-card strong,
.page-main .equipment-card h3,
.page-main .partner-card strong {
  color: var(--site-heading)
}

.page-main :is(.equipment-section, .location-grid) :is(h2, h3, strong),
.page-main :is(.equipment-section, .location-grid) .eyebrow {
  color: #fff
}

.page-main .page-cta {
  color: var(--site-text);
  background-color: #e7eef4
}
