
/* =========================================================
V15 PETERS CLEAN
Basis: V5/Peters-Richtung. Farben: Weiß, Anthrazit, Olive.
Schwarz nur als Textfarbe auf hellen Flächen.
========================================================= */
:root{
  --dm-anth:#2b302c;
  --dm-anth-2:#353b36;
  --dm-white:#ffffff;
  --dm-ink:#111312;
  --dm-soft:#f7f5f0;
  --dm-line:#dde0da;
  --dm-shadow:0 24px 66px rgba(25,33,27,.11);
  --dm-ease:cubic-bezier(.22,1,.36,1);
  --page:#f7f5f0!important;
  --section:#fff!important;
  --section-text:#111312!important;
  --dark-section:#2b302c!important;
  --text-main:#fff!important;
  --footer:#2b302c!important;
}
body{font-family:Manrope,"Segoe UI",system-ui,sans-serif!important;background:var(--dm-soft)!important}
h1,h2,h3,h4,.btn,.main-nav a,.brand-copy strong{font-family:Sora,Manrope,"Segoe UI",system-ui,sans-serif!important}
.btn::before,.btn::after,.header-cta::before,.header-cta::after,.hp-home-service::before,.hp-home-services-cta::before,.quality-point::before,.why-card::before,.contact-premium::before{content:none!important;display:none!important;animation:none!important}

.topbar{background:var(--dm-green)!important;color:#fff!important}
.topbar-track{animation:topbarSlide 44s linear infinite!important}
.site-header{background:rgba(43,48,44,.97)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(16px)!important}
.brand-copy strong{font-family:Sora,Manrope,sans-serif!important;font-size:16px!important;font-weight:700!important}
.brand-copy small{color:rgba(255,255,255,.68)!important}
.main-nav{gap:8px!important;margin-left:36px!important}
.main-nav>a,.nav-services>.services-trigger,.nav-legal-trigger{padding:0 10px!important;min-height:42px!important;border-radius:10px!important;font-size:13px!important;font-weight:800!important;color:#eef2ef!important;display:inline-flex!important;align-items:center!important}
.main-nav>a:hover,.nav-services>.services-trigger:hover,.nav-legal-trigger:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;transform:none!important}
.main-nav>a::after,.nav-services>.services-trigger::after,.nav-legal-trigger::after{display:none!important}
.header-cta{background:var(--dm-green)!important;color:#fff!important;box-shadow:none!important}
.social-btn{box-shadow:none!important}
.social-btn.ig,.social-btn.tt{display:none!important}
.nav-legal{position:relative;display:flex;align-items:center}
.nav-legal-menu{position:absolute;top:48px;right:0;min-width:190px;padding:8px;border-radius:14px;background:#353b36;border:1px solid rgba(255,255,255,.10);box-shadow:0 24px 60px rgba(18,24,20,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s var(--dm-ease)}
.nav-legal:hover .nav-legal-menu,.nav-legal:focus-within .nav-legal-menu{opacity:1;visibility:visible;transform:none}
.nav-legal-menu a{display:block;padding:11px 12px;border-radius:9px;color:#eaf0eb!important;font-size:12px;font-weight:750}
.nav-legal-menu a:hover{background:rgba(101,120,93,.28)}

.hero{background:var(--dm-anth)!important;min-height:80vh!important}
.hero-media::after,.hero-bg:after,.sub-hero-bg:after{background:linear-gradient(90deg,rgba(43,48,44,.91),rgba(43,48,44,.64) 55%,rgba(43,48,44,.18)),linear-gradient(to top,rgba(43,48,44,.52),transparent 60%)!important}
.hero-bg-fallback{animation:dmHeroMove 18s ease-in-out infinite alternate!important;transform-origin:center}
@keyframes dmHeroMove{from{transform:scale(1.01)}to{transform:scale(1.055)}}
.hero-brand-mini{background:rgba(43,48,44,.42)!important;border-color:rgba(255,255,255,.16)!important}
.hero-kicker{background:var(--dm-green)!important;border-radius:999px!important}
.hero h1{font-size:clamp(44px,5.1vw,70px)!important;max-width:790px!important;letter-spacing:-.045em!important;text-wrap:balance}
.hero p{max-width:720px!important}
.hero-scroll-note{display:none!important}
.hero-badges span{background:rgba(43,48,44,.52)!important}
.hero-eyecatcher{background:rgba(255,255,255,.96)!important;border-radius:18px!important;box-shadow:0 24px 64px rgba(23,29,25,.18)!important}

.section-dark{background:var(--dm-anth)!important}
.section-white{background:#fff!important;color:var(--dm-ink)!important}
.intro::after{display:none!important}
.intro-grid{gap:78px!important}
.intro-grid h2,.section-title h2{letter-spacing:-.045em!important;text-wrap:balance}
.hp-home-service{border-radius:20px!important;box-shadow:var(--dm-shadow)!important}
.hp-home-service::after{background:linear-gradient(180deg,rgba(43,48,44,.08),rgba(43,48,44,.88)),linear-gradient(90deg,rgba(43,48,44,.42),rgba(43,48,44,.06))!important}
.hp-home-service-content a{background:var(--dm-green)!important;box-shadow:none!important}
.hp-home-services-cta{background:var(--dm-soft)!important;border-color:var(--dm-line)!important;border-radius:18px!important}
.reference-showcase{box-shadow:none!important}
.brand-pill{background:var(--dm-anth)!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important}
.quality-point{background:var(--dm-anth)!important;color:#fff!important}
.why-card{border-radius:18px!important;box-shadow:0 18px 46px rgba(25,33,27,.07)!important}

/* Compact Dominik teaser on home */
.home-owner{padding:86px 7vw;background:var(--dm-soft);color:var(--dm-ink)}
.home-owner-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.home-owner-visual{position:relative;min-height:410px}
.home-owner-vehicle{position:absolute;inset:0 74px 0 0;border-radius:22px;overflow:hidden;box-shadow:var(--dm-shadow)}
.home-owner-vehicle img{width:100%;height:100%;object-fit:cover}
.home-owner-portrait{position:absolute;right:0;bottom:22px;width:205px;height:275px;border-radius:18px;overflow:hidden;border:6px solid var(--dm-soft);box-shadow:0 20px 50px rgba(28,35,30,.18)}
.home-owner-portrait img{width:100%;height:100%;object-fit:cover}
.home-owner-copy h2{font-size:clamp(36px,4.5vw,56px);line-height:1.04;letter-spacing:-.045em;margin:8px 0 15px;max-width:11ch;text-wrap:balance}
.home-owner-copy p{color:#5e6761;line-height:1.82;font-size:17px;margin:0 0 20px}
.owner-facts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.owner-facts span{padding:9px 12px;border:1px solid var(--dm-line);background:#fff;border-radius:999px;font-size:11px;font-weight:800;color:#354039}

/* Shared subpage design */
.sub-hero{background:var(--dm-anth)!important}
.sub-hero h1{letter-spacing:-.045em!important;text-wrap:balance}
.page-shell{padding:84px 7vw;background:#fff;color:var(--dm-ink)}
.page-inner{width:min(1180px,100%);margin:auto}
.page-lead{font-size:18px;line-height:1.85;color:#5e6761;max-width:760px}

/* Before/after attached to relevant service pages */
.service-compare{padding:86px 7vw;background:var(--dm-soft);color:var(--dm-ink)}
.service-compare-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}
.compare-frame{position:relative;aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:var(--dm-anth);box-shadow:var(--dm-shadow)}
.compare-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.compare-frame .compare-after{clip-path:inset(0 0 0 50%)}
.compare-divider{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%)}
.compare-divider::after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:var(--dm-ink);display:grid;place-items:center;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.compare-frame input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.compare-chip{position:absolute;top:15px;padding:8px 11px;border-radius:999px;background:rgba(43,48,44,.78);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.compare-chip.before{left:15px}.compare-chip.after{right:15px}
.service-compare-copy h2{font-size:clamp(34px,4.2vw,54px);line-height:1.04;letter-spacing:-.045em;margin:8px 0 14px;text-wrap:balance}
.service-compare-copy p{font-size:16px;line-height:1.8;color:#5e6761}

/* About */
.about-main{padding:88px 7vw;background:#fff;color:var(--dm-ink)}
.about-grid-v15{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}
.about-visual-v15{position:relative;min-height:570px}
.about-vehicle-v15{position:absolute;inset:0 90px 0 0;border-radius:24px;overflow:hidden;box-shadow:var(--dm-shadow)}
.about-vehicle-v15 img{width:100%;height:100%;object-fit:cover}
.about-person-v15{position:absolute;right:0;bottom:28px;width:235px;height:315px;border-radius:20px;overflow:hidden;border:7px solid #fff;box-shadow:0 22px 55px rgba(23,30,25,.2)}
.about-person-v15 img{width:100%;height:100%;object-fit:cover}
.about-copy-v15 h2{font-size:clamp(38px,4.8vw,62px);line-height:1.02;letter-spacing:-.05em;margin:8px 0 16px;max-width:10.5ch;text-wrap:balance}
.about-copy-v15 p{font-size:17px;line-height:1.84;color:#5e6761}
.about-quote-v15{margin:22px 0;padding:20px;border-radius:17px;background:var(--dm-soft);border:1px solid var(--dm-line);font-size:17px;font-weight:700;line-height:1.65;color:#263129}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.about-value{padding:17px;background:#fff;border:1px solid var(--dm-line);border-radius:15px}
.about-value strong{display:block;font-size:20px;color:var(--dm-ink)}
.about-value span{display:block;margin-top:4px;color:#6b746e;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.about-gallery-v15{width:min(1180px,100%);margin:26px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.about-gallery-v15 img{width:100%;height:210px;object-fit:cover;border-radius:16px}

/* Career only on its own page */
.career-main{padding:80px 7vw 96px;background:var(--dm-soft);color:var(--dm-ink)}
.career-inner{width:min(1180px,100%);margin:auto}
.career-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;margin-bottom:36px}
.career-intro h2{font-size:clamp(38px,4.6vw,58px);line-height:1.03;letter-spacing:-.045em;margin:8px 0 0;max-width:10ch;text-wrap:balance}
.career-intro p{font-size:17px;line-height:1.8;color:#5e6761}
.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.career-card{padding:25px;background:#fff;border:1px solid var(--dm-line);border-radius:19px;box-shadow:0 18px 46px rgba(24,31,26,.07)}
.career-card h3{font-size:23px;margin:0 0 8px}
.career-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.career-meta span{padding:7px 10px;border-radius:999px;background:#edf0ea;color:#455149;font-size:10px;font-weight:800}
.career-card p,.career-card li{font-size:13px;line-height:1.65;color:#5e6761}
.career-card details{margin-top:14px;padding-top:14px;border-top:1px solid var(--dm-line)}
.career-card summary{cursor:pointer;font-weight:850;color:#28312b}
.career-apply{margin-top:24px;padding:28px;border-radius:20px;background:var(--dm-anth);color:#fff;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}.career-apply p{color:#c8d0ca;margin:7px 0 0}

/* Legal pages */
.legal-page{padding:86px 7vw;background:#fff;color:var(--dm-ink);min-height:60vh}
.legal-inner{width:min(900px,100%);margin:auto}.legal-inner h1{font-size:clamp(42px,5.6vw,68px);letter-spacing:-.05em;margin:0 0 20px}.legal-inner h2{font-size:22px;margin-top:34px}.legal-inner p,.legal-inner li{font-size:15px;line-height:1.85;color:#515a54}.legal-note{padding:16px 18px;border-radius:14px;background:var(--dm-soft);border:1px solid var(--dm-line);color:#56615a!important}

.site-footer{background:var(--dm-anth)!important}
.footer-col a,.footer-col span,.footer-brand p,.footer-hours{color:rgba(255,255,255,.72)!important}
.footer-col h3{color:#fff!important}
.footer-credit,.footer-bottom{color:rgba(255,255,255,.55)!important}

@media(max-width:1220px) and (min-width:1051px){.main-nav{margin-left:12px!important}.main-nav>a,.nav-services>.services-trigger,.nav-legal-trigger{font-size:12px!important;padding:0 7px!important}.brand-copy strong{font-size:14px!important}}
@media(max-width:1050px){
 .home-owner-inner,.service-compare-inner,.about-grid-v15,.career-intro{grid-template-columns:1fr}
 .career-grid{grid-template-columns:1fr}
 .nav-legal-menu{position:static;opacity:1;visibility:visible;transform:none;background:transparent;border:0;box-shadow:none;padding:0 0 0 14px}
 .nav-legal-trigger{display:none!important}
}
@media(max-width:760px){
 .home-owner,.service-compare,.about-main,.career-main,.page-shell,.legal-page{padding-left:24px!important;padding-right:24px!important}
 .home-owner-visual{min-height:360px}.home-owner-vehicle{right:0}.home-owner-portrait{width:160px;height:220px}
 .service-compare-inner{gap:28px}.compare-frame{aspect-ratio:4/3}
 .about-visual-v15{min-height:450px}.about-vehicle-v15{right:0}.about-person-v15{width:170px;height:225px}
 .about-values{grid-template-columns:1fr}.about-gallery-v15{grid-template-columns:1fr 1fr}.about-gallery-v15 img{height:170px}
 .career-apply{grid-template-columns:1fr}
}
