
/* V012. Startseite und neue Übersichtsseite; die Fachseiten bleiben unverändert.
   Proportionen und Navigation bewusst auf Inhaltsgleichwertigkeit ausgerichtet. */
:root{--v12-red:#c50919;--v12-ink:#222724;--v12-muted:#58625c;--v12-sand:#f4f2ee;--v12-border:#e0e3df}
/* Navigation auf ALLEN Seiten */
.nav-v012{display:flex;gap:clamp(11px,1.6vw,23px);align-items:center}
.nav-v012 .nav-group{position:relative;display:flex;align-items:center;gap:3px}
.nav-v012 .nav-parent{display:inline-flex;align-items:center;min-height:50px;font-weight:650;font-size:14px;line-height:1.2;white-space:nowrap}
.nav-v012 .nav-parent.nav-active,.nav-v012 .nav-parent[aria-current=page],.nav-v012 .nav-parent:hover{color:var(--v12-red)}
.nav-v012 .nav-expand{display:inline-flex;align-items:center;justify-content:center;width:24px;height:36px;background:transparent;border:0;color:#626964;cursor:pointer;padding:0 0 4px;font-size:20px}
.nav-v012 .nav-expand:hover,.nav-v012 .nav-expand[aria-expanded=true]{color:var(--v12-red)}
.nav-v012 .nav-expand span{display:inline-block;transition:transform .18s}
.nav-v012 .nav-group.is-expanded .nav-expand span{transform:rotate(180deg)}
.nav-v012 .nav-dropdown{display:none;position:absolute;left:0;top:calc(100% - 2px);z-index:27;background:white;min-width:262px;box-shadow:0 18px 32px #17201820;border:1px solid #e3e4df;padding:12px 9px}
.nav-v012 .nav-group:hover .nav-dropdown,.nav-v012 .nav-group:focus-within .nav-dropdown,.nav-v012 .nav-group.is-expanded .nav-dropdown{display:grid}
.nav-v012 .nav-dropdown a{display:block;padding:11px 13px;font-size:13px;white-space:normal;line-height:1.35;color:#333a35;border-radius:0}
.nav-v012 .nav-dropdown a:hover,.nav-v012 .nav-dropdown a[aria-current=page]{background:#f7f4f0;color:var(--v12-red)}
.nav-v012 .nav-cta{font-size:13px;white-space:nowrap;padding:13px 18px;background:var(--v12-red);color:white}
.nav-v012 .nav-cta:hover,.nav-v012 .nav-cta[aria-current=page]{color:white;background:#a90614}
.header-grid{min-height:84px}
.brand-words strong{font-size:22px}
.nav-v012 a:focus-visible,.nav-v012 button:focus-visible,a:focus-visible{outline:2px solid #9c1321;outline-offset:3px}
@media(max-width:1130px){
 .menu-toggle{display:block;z-index:22}
 .nav-v012{display:none;position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;padding:15px 24px 26px;border-top:1px solid #e6e7e1;box-shadow:0 16px 30px #1a221b1c;max-height:calc(100vh - 84px);overflow-y:auto;align-items:stretch;flex-direction:column;gap:0}
 .nav-v012.is-open{display:flex}
 .nav-v012 .nav-group{display:grid;grid-template-columns:1fr 52px;border-bottom:1px solid #efefec;gap:0}
 .nav-v012 .nav-parent{min-height:50px;font-size:15px;padding:12px 4px;border:0}
 .nav-v012 .nav-expand{height:51px;width:52px;font-size:24px}
 .nav-v012 .nav-dropdown{display:none;position:static;min-width:0;box-shadow:none;border:0;border-top:1px solid #efefea;padding:2px 0 10px;grid-column:1/-1;background:#f7f7f4}
 .nav-v012 .nav-group:hover .nav-dropdown,.nav-v012 .nav-group:focus-within .nav-dropdown{display:none}
 .nav-v012 .nav-group.is-expanded .nav-dropdown{display:grid}
 .nav-v012 .nav-dropdown a{font-size:14px;padding:11px 16px}
 .nav-v012 .nav-alone{border-bottom:1px solid #efefec}
 .nav-v012 .nav-cta{font-size:14px;text-align:center;margin-top:14px}
}
@media(max-width:640px){.nav-v012{max-height:calc(100vh - 68px)}.brand-words strong{font-size:19px}}

/* Startseite – diszipliniertes Editorial statt unterschiedlicher Kachelgewichte */
.design-v012{color:var(--v12-ink);background:#fff}
.design-v012 .site-header,.v12-construction~.footer{box-shadow:none}
.v12-section{padding:clamp(76px,8vw,126px) 0}
.v12-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#a51c28;margin:0 0 23px;line-height:1.5}
.v12-eyebrow:before{content:"";display:inline-block;background:var(--v12-red);width:25px;height:2px;margin-right:12px;vertical-align:middle}
.v12-section h2,.v12-contact h2{font-size:clamp(37px,4.6vw,65px);letter-spacing:-.055em;line-height:1.1;font-weight:730;margin:0}
.v12-section h2 em,.v12-contact h2 em{font-style:normal;color:#a32630}
.v12-arrow-link{display:inline-flex;gap:17px;align-items:center;width:fit-content;border-bottom:1px solid var(--v12-red);padding:7px 0;font-size:13px;font-weight:750;color:#a01d29;line-height:1.4}
.v12-arrow-link:hover{color:#72202a}
.v12-button{display:inline-flex;gap:22px;justify-content:space-between;align-items:center;padding:15px 22px;min-height:54px;font-size:12px;font-weight:800;letter-spacing:.03em;background:var(--v12-red);color:white;white-space:nowrap;transition:background .2s}
.v12-button:hover{background:#a50614}
.v12-hero{display:grid;grid-template-columns:46% 54%;min-height:620px;background:var(--v12-sand)}
.v12-hero-copy{padding:clamp(56px,5vw,88px) 5.5vw clamp(35px,3vw,52px) max(44px,calc((100vw - 1240px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.v12-hero h1{font-size:clamp(44px,4.5vw,72px);line-height:1.08;letter-spacing:-.065em;font-weight:760;margin:0 0 30px;max-width:620px}
.v12-hero h1 em{font-style:normal;color:#9d2430;font-weight:710}
.v12-lead{font-size:clamp(16px,1.42vw,20px);line-height:1.63;color:#4b5550;max-width:490px;margin:0 0 30px}
.v12-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.v12-text-link{border-bottom:1px solid var(--v12-red);font-weight:750;font-size:13px;padding:8px 0;display:inline-flex;gap:12px;align-items:center}
.v12-hero-meta{margin:50px 0 0;border-top:1px solid #d3d5ce;width:100%;padding-top:13px;color:#68716b;letter-spacing:.15em;font-size:10px;font-weight:750}
.v12-hero-image{position:relative;min-height:620px;background:#ccd0c7;overflow:hidden}
.v12-hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:55% center}
.v12-hero-image span{position:absolute;bottom:23px;left:28px;font-size:10px;letter-spacing:.14em;color:white;font-weight:700;text-shadow:0 1px 7px #000a}
.v12-company-grid{display:grid;grid-template-columns:.92fr 1fr;gap:clamp(35px,9vw,138px);align-items:start}
.v12-company-text{max-width:610px}
.v12-company-text p{color:var(--v12-muted);font-size:16px;line-height:1.85;margin:0 0 22px}
.v12-company-text .v12-large{color:#29332d;font-size:21px;font-weight:650;line-height:1.48}
.v12-company .v12-arrow-link{margin-top:10px}
.v12-section-top{display:grid;grid-template-columns:1.12fr .72fr;gap:clamp(25px,8vw,115px);align-items:end;margin-bottom:44px}
.v12-section-top>p{font-size:16px;color:#5d6660;line-height:1.7;max-width:430px;margin:0}
.v12-services{background:#f7f6f3}
.v12-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.v12-service{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid #e3e3dd;transition:box-shadow .2s}
.v12-service:hover{box-shadow:0 12px 26px #17201818}
.v12-service-image{aspect-ratio:1.52;overflow:hidden;background:#ddd}
.v12-service-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s}
.v12-service:hover img{transform:scale(1.025)}
.v12-service-body{padding:30px 33px 34px;display:flex;justify-content:space-between;gap:18px;flex:1}
.v12-service-body span,.v12-overview-grid>a>span{font-size:10px;letter-spacing:.13em;font-weight:800;color:#a32631}
.v12-service h3{font-size:clamp(23px,2.45vw,34px);font-weight:730;letter-spacing:-.045em;line-height:1.2;margin:10px 0 14px}
.v12-service p{font-size:15px;color:var(--v12-muted);line-height:1.7;margin:0}
.v12-service b{font-size:25px;color:var(--v12-red);font-weight:500}
.v12-planning-note{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:30px 0 0;margin-top:32px;border-top:1px solid #d5d9d2}
.v12-planning-note>div{max-width:695px}
.v12-note-index{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:#9e2831;margin-bottom:8px}
.v12-planning-note strong{display:block;font-size:19px;letter-spacing:-.02em}
.v12-planning-note p{font-size:14px;line-height:1.65;color:#626b64;margin:7px 0 0}
.v12-reasons-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:28px}
.v12-reason{padding:23px 0 24px;border-top:2px solid #d9ddda}
.v12-reason img{display:block;width:130px;height:126px;object-fit:contain;object-position:left center}
.v12-reason h3{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.025em;line-height:1.2;margin:17px 0 12px}
.v12-reason p{font-size:14px;line-height:1.75;color:var(--v12-muted);margin:0}
.v12-process{background:#f6f5f1}
.v12-process-layout{display:grid;grid-template-columns:.78fr 1.2fr;gap:clamp(28px,6vw,95px);align-items:center}
.v12-process-copy>p:not(.v12-eyebrow){color:var(--v12-muted);font-size:16px;line-height:1.8;margin:27px 0 25px;max-width:480px}
.v12-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v12-milestones a{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #e5e7e0;min-width:0;padding:25px 15px 27px;transition:border-color .2s}
.v12-milestones a:hover{border-color:#c02b36}
.v12-milestones img{width:100%;max-width:138px;height:126px;object-fit:contain}
.v12-milestones span{font-size:10px;font-weight:800;color:#a42c36;margin:12px 0 9px;letter-spacing:.15em}
.v12-milestones strong{font-size:14px;line-height:1.38}
.v12-contact{background:#222b28;color:#fff;padding:clamp(68px,7vw,103px) 0}
.v12-contact-layout{display:flex;align-items:center;justify-content:space-between;gap:48px}
.v12-contact h2{font-size:clamp(40px,4.6vw,69px)}
.v12-contact h2 em{color:#f2c8c8}
.v12-contact .v12-eyebrow{color:#f4b6ba}
.v12-contact p:not(.v12-eyebrow){color:#d1d8d3;margin:24px 0 0;font-size:16px;line-height:1.75;max-width:580px}
.v12-contact-links{display:grid;gap:13px;min-width:255px}
.v12-contact-links>a:not(.v12-button){font-size:15px;border-bottom:1px solid #6b746d;padding:9px 0;overflow-wrap:anywhere}
.v12-button-light{background:white;color:#26302a}
.v12-button-light:hover{background:#e9e9e4;color:#26302a}
/* New Übersicht: content from original remains unabridged */
.v12-subhero{background:#f6f5f1;padding:35px 0 0}
.v12-subhero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center;min-height:470px}
.v12-subhero-grid>div:first-child{padding:36px 0 70px}
.v12-subhero h1{font-size:clamp(51px,5vw,76px);letter-spacing:-.06em;line-height:1.1;margin:0 0 24px}
.v12-subhero-photo{height:100%;min-height:440px;overflow:hidden}
.v12-subhero-photo img{width:100%;height:100%;object-fit:cover}
.v12-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v12-overview-grid>a{display:flex;flex-direction:column;border:1px solid #e5e7e2;background:#fff;padding-bottom:20px}
.v12-overview-grid>a>img{width:100%;aspect-ratio:1.52;object-fit:cover;margin-bottom:25px}
.v12-overview-grid>a>span,.v12-overview-grid h3,.v12-overview-grid p,.v12-overview-grid b{margin-left:22px;margin-right:22px}
.v12-overview-grid h3{font-size:25px;letter-spacing:-.03em;line-height:1.15;margin-top:10px;margin-bottom:10px}
.v12-overview-grid p{font-size:14px;line-height:1.65;color:#606a63;flex:1}
.v12-overview-grid b{font-size:12px;color:#a3212b;margin-top:8px}
.v12-full-benefits{background:#f7f7f4;scroll-margin-top:100px}
.v12-full-benefits .benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v12-full-benefits .benefit{border:1px solid #e4e6e1;padding:26px 23px 30px;min-height:0;background:white;display:block}
.v12-full-benefits .benefit-icon{width:145px;height:136px;object-fit:contain;margin:0 0 20px}
.v12-full-benefits .benefit h3{font-size:22px;line-height:1.23;letter-spacing:-.02em;margin:0 0 12px}
.v12-full-benefits .benefit p{font-size:14px;line-height:1.75;color:#59635d;margin:0}
@media(max-width:1080px){
 .v12-hero{grid-template-columns:51% 49%}
 .v12-hero-copy{padding:55px 28px 37px 40px}
 .v12-hero h1{font-size:clamp(41px,5vw,62px)}
 .v12-actions{gap:16px}
 .v12-process-layout{grid-template-columns:1fr}
 .v12-milestones{max-width:750px}
}
@media(max-width:760px){
 .v12-section{padding:75px 0}
 .v12-hero{grid-template-columns:1fr;min-height:0}
 .v12-hero-copy{padding:58px 28px 46px}
 .v12-hero h1{font-size:clamp(38px,9vw,59px)}
 .v12-hero-meta{margin-top:35px}
 .v12-hero-image{min-height:330px}
 .v12-company-grid,.v12-section-top,.v12-subhero-grid{grid-template-columns:1fr;gap:25px}
 .v12-services-grid{gap:16px}
 .v12-services-grid{grid-template-columns:1fr}
 .v12-service-image{aspect-ratio:1.67}
 .v12-service-body{padding:24px}
 .v12-planning-note{align-items:flex-start;flex-direction:column;gap:16px}
 .v12-reasons-grid{grid-template-columns:1fr;gap:0}
 .v12-reason{display:grid;grid-template-columns:115px 1fr;gap:0 18px;align-items:start}
 .v12-reason img{grid-row:1/3;width:110px;height:113px}
 .v12-reason h3{margin:10px 0 8px}
 .v12-reason p{grid-column:2}
 .v12-contact-layout{flex-direction:column;align-items:stretch;gap:30px}
 .v12-milestones{gap:8px}
 .v12-milestones a{padding:20px 8px}
 .v12-milestones img{height:96px}
 .v12-overview-grid,.v12-full-benefits .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v12-subhero-grid>div:first-child{padding:30px 0 5px}
 .v12-subhero-photo{min-height:290px}
}
@media(max-width:480px){
 .v12-hero-copy{padding:52px 22px 38px}
 .v12-section{padding:64px 0}
 .v12-section h2,.v12-contact h2{font-size:clamp(35px,9vw,47px)}
 .v12-hero h1{font-size:clamp(37px,10vw,49px);overflow-wrap:normal}
 .v12-actions{align-items:stretch;flex-direction:column}
 .v12-button{white-space:normal}
 .v12-hero-image{min-height:240px}
 .v12-hero-image span{bottom:12px;left:13px;font-size:8px}
 .v12-milestones{grid-template-columns:1fr;gap:10px}
 .v12-milestones a{display:grid;grid-template-columns:86px 1fr;grid-template-rows:auto auto;align-items:center;justify-items:start;text-align:left;gap:1px 15px;padding:10px 17px}
 .v12-milestones img{grid-row:1/3;width:80px;height:80px}
 .v12-milestones span{margin:0}
 .v12-milestones strong{font-size:15px}
 .v12-reason{grid-template-columns:90px 1fr;gap:0 13px}
 .v12-reason img{width:88px;height:93px}
 .v12-overview-grid,.v12-full-benefits .benefits-grid{grid-template-columns:1fr}
 .v12-overview-grid>a>img{aspect-ratio:1.85}
 .v12-contact-links{min-width:0}
}
@media(prefers-reduced-motion:reduce){.v12-service-image img{transition:none}}

/* V012 Prüfkorrektur: Originalgrafiken nur um unbedruckte Außenränder beschnitten, keine Bildinhalte verändert. */
.v12-reason img{width:220px;height:170px;max-width:100%;object-fit:contain;object-position:left center}
.v12-full-benefits .benefit-icon{width:185px;height:160px;max-width:100%;object-fit:contain;object-position:left center}
@media(max-width:760px){.v12-reason img{width:105px;height:125px;object-fit:contain}}
@media(max-width:480px){.v12-reason img{width:85px;height:100px}.v12-reason{grid-template-columns:90px 1fr}.v12-full-benefits .benefit-icon{height:150px}}

/* V040 – nur Startseite: dezenter Außenabstand rechts an der Hero-Bildbühne.
   Die Grid-Spalten und der Textbereich bleiben unverändert. */
.home-v012 .v12-hero > .v12-hero-image {
  margin-right: clamp(24px, 2vw, 32px);
}
@media (max-width: 1080px) {
  .home-v012 .v12-hero > .v12-hero-image { margin-right: 20px; }
}
@media (max-width: 760px) {
  .home-v012 .v12-hero > .v12-hero-image { margin-right: 10px; }
}

/* V112: Untergruppe So bauen wir in der Hauptnavigation */
.nav-v012 .nav-dropdown .v110-menu-group-label {
  display: block;
  margin: 6px 12px 1px;
  padding: 12px 1px 4px;
  border-top: 1px solid #ecece8;
  color: #666d67;
  font-size: 11px;
  letter-spacing: .10em;
  font-weight: 750;
  line-height: 1.35;
}
@media (max-width: 1130px) {
  .nav-v012 [data-menu="ueber-uns"] .nav-parent { white-space: normal; }
  .nav-v012 .nav-dropdown .v110-menu-group-label { margin: 2px 16px 0; padding: 13px 0 3px; }
}
