
:root{--max:1180px;--p:#00d9c0;--s:#5ce1e6;--bg:#061b20;--bg2:#0a2c31;--txt:#f7fbfc;--mut:#b8c9cc;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--txt);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(var(--max),calc(100% - 44px));margin:auto}
header{position:sticky;top:0;z-index:50;height:76px;background:rgba(6,27,32,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}header .in{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:21px}.nav{display:flex;gap:20px;align-items:center}
.btn{display:inline-flex;padding:14px 22px;border-radius:999px;background:linear-gradient(135deg,var(--p),var(--s));color:#042328;font-weight:800}.ghost{background:rgba(255,255,255,.06);color:white;border:1px solid var(--line)}
.hero,.scene{background:linear-gradient(rgba(0,0,0,.26),rgba(0,0,0,.34)),var(--scene,radial-gradient(circle at 70% 30%,#155c61,#0a3036 36%,#061b20 72%));background-size:cover;background-position:center;background-attachment:fixed}
.hero{padding:42px 0 30px}.hero-card{display:grid;grid-template-columns:3fr 2fr;gap:42px;align-items:center;min-height:550px;padding:46px 50px;border:1px solid rgba(92,225,230,.28);border-radius:28px;background:linear-gradient(145deg,rgba(5,24,29,.76),rgba(9,42,48,.64));backdrop-filter:blur(12px);box-shadow:0 28px 80px rgba(0,0,0,.3)}
.kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--s)}h1,h2{letter-spacing:-.05em;line-height:.98}.hero h1{font-size:clamp(48px,5vw,76px);margin:16px 0}.hero h1 em{font-style:normal;color:var(--s)}.lead{color:var(--mut);font-size:18px;line-height:1.65}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.orbit{position:relative;width:min(100%,410px);aspect-ratio:1;margin:auto}.ring{position:absolute;inset:8%;border:1px solid rgba(255,255,255,.16);border-radius:50%}.ring.i{inset:23%}.core,.sat{position:absolute;background:rgba(5,28,33,.8);border:1px solid var(--line);backdrop-filter:blur(10px)}.core{inset:34%;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:800}.sat{width:122px;min-height:76px;border-radius:18px;padding:12px;text-align:center}.sat{
  left:50%;top:50%;
  margin-left:-61px;margin-top:-38px;
  --orbit-radius:170px;
  --orbit-start:0deg;
  transform:rotate(var(--orbit-start)) translateX(var(--orbit-radius)) rotate(calc(-1 * var(--orbit-start)));
  animation:mdh-orbit 24s linear infinite;
  transform-origin:center center;
  will-change:transform
}
.a{--orbit-start:-90deg}.b{--orbit-start:0deg}.c{--orbit-start:90deg}.d{--orbit-start:180deg}
@keyframes mdh-orbit{
  from{transform:rotate(var(--orbit-start)) translateX(var(--orbit-radius)) rotate(calc(-1 * var(--orbit-start)))}
  to{transform:rotate(calc(var(--orbit-start) + 360deg)) translateX(var(--orbit-radius)) rotate(calc(-1 * (var(--orbit-start) + 360deg)))}
}
@media(prefers-reduced-motion:reduce){.sat{animation:none}}

.divider{padding:56px 0;background:linear-gradient(90deg,#061b20,#0b4549,#061b20)}.divider .card{text-align:center;padding:28px 34px;border:1px solid var(--line);border-radius:24px;background:rgba(5,27,32,.64);backdrop-filter:blur(12px)}.divider h2{font-size:clamp(34px,4vw,58px);margin:14px 0}
.scene{padding:72px 0}.grid{display:grid;gap:24px;grid-template-columns:repeat(6,1fr)}.layout-2-3-1 article:nth-child(-n+2){grid-column:span 3}.layout-2-3-1 article:nth-child(n+3):nth-child(-n+5){grid-column:span 2}.layout-2-3-1 article:nth-child(6){grid-column:1/-1}.layout-3-2-1 article:nth-child(-n+3){grid-column:span 2}.layout-3-2-1 article:nth-child(n+4){grid-column:span 3}
article.tile,.page-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(5,28,33,.8),rgba(9,54,57,.66));backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(0,0,0,.22)}article.tile{min-height:220px}.tile h3{font-size:25px;margin:0 0 12px}.tile p,.page-card p,.page-card li{color:var(--mut);line-height:1.65}.tile a{display:inline-block;margin-top:18px;color:var(--s);font-weight:800}
.page{padding:58px 0 78px;background:linear-gradient(180deg,#071d22,#0a3034)}.page-card h1{font-size:clamp(42px,5vw,68px);margin:0 0 24px}
footer{padding:42px 0;background:#041417;border-top:1px solid var(--line)}footer .g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}footer a{display:block;color:var(--mut);margin:7px 0}.copy{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:#8fa5a9;font-size:13px}
@media(max-width:900px){.hero,.scene{background-attachment:scroll}.hero-card{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.grid article{grid-column:auto!important}.nav{display:none}footer .g{grid-template-columns:1fr}}
@media(max-width:600px){.shell{width:calc(100% - 24px)}.hero-card{padding:24px 20px}.scene{padding:48px 0}}

/* MASTER PUBLIC v2.0.2: definierte Bild-Slots je Public-Sektion.
   Sobald reale Assets vorliegen, werden nur diese Variablen gesetzt. */
.hero{--scene:radial-gradient(circle at 72% 30%,#155c61 0,#0a3036 38%,#061b20 74%)}
.scene:nth-of-type(4){--scene:radial-gradient(circle at 26% 30%,#13474c 0,#082b30 42%,#061b20 78%)}
.scene:nth-of-type(6){--scene:radial-gradient(circle at 76% 62%,#124e53 0,#082a2f 42%,#061b20 78%)}
@media(max-width:900px){.sat{--orbit-radius:145px}}
@media(max-width:600px){.orbit{width:min(100%,340px)}.sat{--orbit-radius:125px;width:108px;margin-left:-54px}}

/* v2.0.3: Orbit wird bewusst per JavaScript positioniert.
   Dadurch funktioniert er unabhängig von Browser-Unterstützung für
   animierte CSS-Custom-Properties und auch im /test-Unterverzeichnis. */
.orbit .sat{
  animation:none !important;
  margin:0 !important;
  will-change:left,top;
}

/* v2.0.4 – verbindliche Master-Komponenten */
.divider{min-height:168px;display:flex;align-items:center}
.divider .shell{width:min(var(--max),calc(100% - 44px))}
.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:18px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}
.hero-proof>div{padding:18px 20px;background:rgba(6,27,32,.90);text-align:center}
.hero-proof strong{display:block;font-size:14px}
.hero-proof span{display:block;margin-top:5px;color:var(--mut);font-size:12px;line-height:1.45}
.master-cta{padding:72px 0;background:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),radial-gradient(circle at 50% 30%,#124e53,#082a2f 44%,#061b20 78%)}
.master-cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;padding:38px 42px;border:1px solid rgba(92,225,230,.26);border-radius:28px;background:linear-gradient(145deg,rgba(5,28,33,.82),rgba(9,54,57,.68));backdrop-filter:blur(12px);box-shadow:0 22px 60px rgba(0,0,0,.28)}
.master-cta h2{font-size:clamp(34px,4vw,56px);margin:12px 0 12px}
.master-cta p{max-width:760px;color:var(--mut);font-size:17px;line-height:1.65;margin:0}
.master-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.mobile-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.05);color:white}
.mobile-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:currentColor;border-radius:2px}
@media(max-width:900px){
  .hero-proof{grid-template-columns:1fr 1fr}
  .master-cta-card{grid-template-columns:1fr}
  .master-cta-actions{justify-content:flex-start}
  .mobile-toggle{display:block}
  header .nav{position:absolute;left:12px;right:12px;top:68px;display:none;flex-direction:column;align-items:stretch;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(6,27,32,.98);box-shadow:0 18px 40px rgba(0,0,0,.30)}
  header .nav.open{display:flex}
  header .nav a{padding:10px 12px}
}
@media(max-width:600px){
  .hero-proof{grid-template-columns:1fr}
  .divider{min-height:142px}
  .master-cta{padding:48px 0}
  .master-cta-card{padding:28px 22px}
}

/* v2.0.5 – MDH Group Brand-Package / echte Bild-Assets */
.hero{
  --scene:url("../images/mdh-hero.svg");
}
.scene.scene-1{
  --scene:url("../images/mdh-projects.svg");
}
.scene.scene-2{
  --scene:url("../images/mdh-principle.svg");
}
.scene.scene-3{
  --scene:url("../images/mdh-system.svg");
}
.master-cta{
  background:
    linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),
    url("../images/mdh-cta.svg") center/cover fixed;
}
.hero-card,
.tile,
.divider .card,
.master-cta-card,
.page-card{
  border-color:rgba(92,225,230,.20);
  box-shadow:0 22px 60px rgba(0,0,0,.26);
}
.tile:hover{
  transform:translateY(-3px);
  border-color:rgba(92,225,230,.34);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
  box-shadow:0 26px 64px rgba(0,0,0,.32);
}
.divider{
  background:
    linear-gradient(90deg,#041417 0%,#0a353a 26%,#0d4a4f 50%,#0a353a 74%,#041417 100%);
}
.divider .card{
  max-width:1060px;
  margin:0 auto;
  background:linear-gradient(145deg,rgba(5,28,33,.80),rgba(9,54,57,.60));
}
@media(max-width:900px){
  .master-cta{background-attachment:scroll}
}

/* v2.0.6 – gemeinsame Public-Unterseiten */
.subhero{
  padding:44px 0 22px;
  background:
    linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.32)),
    url("../images/mdh-system.svg") center/cover fixed;
}
.subhero-card{
  padding:34px 38px;
  border:1px solid rgba(92,225,230,.20);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(5,28,33,.82),rgba(9,54,57,.64));
  backdrop-filter:blur(12px);
  box-shadow:0 22px 58px rgba(0,0,0,.25);
}
.subhero h1{font-size:clamp(40px,5vw,66px);margin:10px 0 10px;letter-spacing:-.05em;line-height:1}
.subhero p{max-width:820px;margin:0;color:var(--mut);font-size:17px;line-height:1.6}
.legal-nav{
  display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px;padding:14px;
  border:1px solid var(--line);border-radius:18px;background:rgba(5,28,33,.64);backdrop-filter:blur(10px)
}
.legal-nav a{padding:10px 14px;border-radius:12px;color:var(--mut);font-size:13px;font-weight:700}
.legal-nav a:hover,.legal-nav a.active{background:rgba(92,225,230,.12);color:var(--txt)}
.page-card h2{font-size:28px;margin:32px 0 10px}.page-card h3{font-size:20px;margin:24px 0 8px}
.page-card a{color:var(--s)}
.notice-card{
  margin:0 0 24px;padding:18px 20px;border:1px solid rgba(92,225,230,.22);
  border-radius:18px;background:rgba(92,225,230,.06);color:var(--mut)
}
.faq-list{display:grid;gap:14px}
.faq-item{border:1px solid var(--line);border-radius:18px;background:rgba(5,28,33,.56);overflow:hidden}
.faq-item button{
  width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;
  padding:18px 20px;border:0;background:transparent;color:var(--txt);font:inherit;font-weight:800;text-align:left;cursor:pointer
}
.faq-item button::after{content:"+";font-size:22px;color:var(--s)}
.faq-item.open button::after{content:"−"}
.faq-answer{display:none;padding:0 20px 18px;color:var(--mut);line-height:1.65}
.faq-item.open .faq-answer{display:block}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.contact-panel{padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(5,28,33,.54)}
.contact-panel strong{display:block;margin-bottom:8px}.contact-panel p{margin:0 0 10px}
@media(max-width:900px){
  .subhero{background-attachment:scroll}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .subhero-card{padding:26px 22px}
  .legal-nav{display:grid;grid-template-columns:1fr 1fr}
}

/* v2.0.7 – Hero 2-zeilig / Orbit-Logos / zentrale Rechtstruktur */
.hero h1 .hero-line{display:block;white-space:nowrap}
.hero h1 .hero-line-2{color:var(--s)}
.orbit .core img{width:84%;max-width:112px;height:auto;display:block}
.orbit .sat{display:flex;align-items:center;justify-content:center;padding:10px}
.orbit .sat img{display:block;width:100%;max-width:108px;max-height:48px;object-fit:contain}
@media(max-width:1050px){
  .hero h1{font-size:clamp(44px,5vw,66px)}
}
@media(max-width:900px){
  .hero h1 .hero-line{white-space:normal}
}
@media(max-width:600px){
  .hero h1 .hero-line{white-space:normal}
  .orbit .sat img{max-width:96px}
}

/* v2.0.8 – echte beigefügte Orbit-Icons: Icon oben, Text unten */
.orbit .orbit-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:7px;
}
.orbit .orbit-icon{
  display:block;
  width:42px;
  height:42px;
  object-fit:contain;
  flex:0 0 auto;
}
.orbit .orbit-label{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.1;
  font-weight:700;
  white-space:nowrap;
}
.orbit .core{
  padding:12px 8px;
}
.orbit .core .orbit-icon{
  width:48px;
  height:48px;
}
.orbit .core .orbit-label{
  font-size:13px;
}
.orbit .sat{
  min-height:94px;
  padding:10px 8px;
}
@media(max-width:600px){
  .orbit .orbit-icon{width:36px;height:36px}
  .orbit .core .orbit-icon{width:42px;height:42px}
  .orbit .orbit-label{font-size:12px}
  .orbit .sat{min-height:86px}
}

/* v2.0.9 – Deployment / zentrale Rechtstruktur mit sauberen Public-URLs */
.pilot-badge{
  position:fixed;right:14px;bottom:14px;z-index:9999;
  padding:8px 10px;border:1px solid rgba(92,225,230,.30);border-radius:999px;
  background:rgba(4,20,23,.88);backdrop-filter:blur(10px);
  color:#bfeff0;font-size:10px;font-weight:800;letter-spacing:.08em;
  pointer-events:none
}

/* v2.0.10 – Vier Kernprodukte: 2-2-2 + Projektlogos */
.layout-2-2-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.layout-2-2-2 .tile{
  grid-column:auto;
}
.project-logo-wrap{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:16px;
}
.project-logo{
  display:block;
  width:auto;
  max-width:100%;
  max-height:72px;
  object-fit:contain;
}
@media(max-width:900px){
  .layout-2-2-2{grid-template-columns:1fr}
  .project-logo-wrap{min-height:70px}
  .project-logo{max-height:62px}
}

/* v2.0.10 – Vier Kernprodukte 2x2 mit Original-Logos */
.layout-2-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-2-2 .tile{grid-column:auto}
.product-tile{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
.product-logo-wrap{
  width:100%;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.product-logo{
  display:block;
  width:auto;
  max-width:min(92%,470px);
  max-height:100px;
  object-fit:contain;
}

/* "Ein technisches Prinzip": 3 oben, 2 Mitte, 2 unten */
.layout-3-2-2{grid-template-columns:repeat(6,minmax(0,1fr))}
.layout-3-2-2 .tile:nth-child(-n+3){grid-column:span 2}
.layout-3-2-2 .tile:nth-child(n+4):nth-child(-n+5){grid-column:span 3}
.layout-3-2-2 .tile:nth-child(n+6):nth-child(-n+7){grid-column:span 3}

@media(max-width:900px){
  .layout-2-2,.layout-3-2-2{grid-template-columns:1fr}
  .layout-2-2 .tile,.layout-3-2-2 .tile{grid-column:auto!important}
}
@media(max-width:600px){
  .product-logo-wrap{min-height:92px}
  .product-logo{max-width:94%;max-height:82px}
}

/* v2.0.11 – Public-Unterseiten finalisieren */
header .nav a.active:not(.btn){
  color:var(--s);
}
.subhero-faq{
  background:
    linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.34)),
    url("../images/mdh-principle.svg") center/cover fixed;
}
.subhero-kontakt{
  background:
    linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.34)),
    url("../images/mdh-cta.svg") center/cover fixed;
}
.subhero-blog{
  background:
    linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.34)),
    url("../images/mdh-projects.svg") center/cover fixed;
}
.subhero-recht{
  background:
    linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.40)),
    url("../images/mdh-system.svg") center/cover fixed;
}
.faq-item button:hover{background:rgba(92,225,230,.05)}
.contact-grid .contact-panel{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-panel a{font-weight:800}
.legal-nav{
  position:sticky;
  top:92px;
  z-index:20;
}
.page-card{
  max-width:980px;
  margin:0 auto;
}
.page-card > :first-child{margin-top:0}
.page-card ul,.page-card ol{padding-left:1.35rem}
.page-card li+li{margin-top:.45rem}
.blog-placeholder-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.blog-placeholder{
  min-height:190px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(5,28,33,.52);
}
.blog-placeholder small{color:var(--s);font-weight:800;letter-spacing:.08em}
.blog-placeholder h3{margin:10px 0 8px}
@media(max-width:900px){
  .subhero-faq,.subhero-kontakt,.subhero-blog,.subhero-recht{background-attachment:scroll}
  .legal-nav{position:static}
  .blog-placeholder-grid{grid-template-columns:1fr}
}

/* v2.0.12 – übernommene Rechtstexte / Cookie-Einstellungen */
.legal-form{
  margin:20px 0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.cookie-action-card{
  margin-top:28px;
  padding:24px;
  border:1px solid rgba(92,225,230,.22);
  border-radius:20px;
  background:rgba(92,225,230,.06);
}
.cookie-action-card .btn{margin-top:8px}

/* v2.0.13 – funktionaler Consent-Button */
.consent-settings-button{
  border:0;
  cursor:pointer;
  opacity:1!important;
}
.consent-settings-button:hover{transform:translateY(-1px)}


/* ============================================================
   MASTER PUBLIC v2.0.17 – BRAND PACKAGE SYSTEM
   Alle projektbezogenen Farben und Backgrounds kommen aus config/brands/*.php.
   ============================================================ */
:root{
  --p:var(--brand-primary);
  --s:var(--brand-secondary);
  --bg:var(--brand-dark);
  --bg2:var(--brand-dark-2);
}
body{background:var(--brand-dark)}
header{
  background:color-mix(in srgb,var(--header-bg) 94%,transparent);
  border-bottom-color:color-mix(in srgb,var(--brand-secondary) 18%,transparent)
}
footer{
  background:var(--footer-bg);
  border-top-color:color-mix(in srgb,var(--brand-secondary) 16%,transparent)
}
.hero{
  --scene:var(--bg-hero);
}
.scene.scene-1{
  --scene:var(--bg-section-1);
}
.scene.scene-2{
  --scene:var(--bg-section-2);
}
.scene.scene-3{
  --scene:var(--bg-section-3);
}
.master-cta{
  background:
    linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),
    var(--bg-cta) center/cover fixed;
}
.divider{
  background:
    linear-gradient(
      90deg,
      var(--brand-dark) 0%,
      color-mix(in srgb,var(--separator-mid) 68%,var(--brand-dark)) 26%,
      var(--separator-mid) 50%,
      color-mix(in srgb,var(--separator-mid) 68%,var(--brand-dark)) 74%,
      var(--brand-dark) 100%
    );
}
.hero-card,
.tile,
.divider .card,
.master-cta-card,
.page-card,
.subhero-card{
  border-color:color-mix(in srgb,var(--brand-secondary) 24%,transparent);
}
.hero-card,
.tile,
.master-cta-card,
.page-card,
.subhero-card{
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb,var(--brand-dark) 84%,transparent),
      var(--glass-tint)
    );
}
.btn{
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
}
.kicker,
.tile a,
.page-card a,
header .nav a.active:not(.btn){
  color:var(--brand-secondary);
}
@media(max-width:900px){
  .master-cta{background-attachment:scroll}
}

/* ============================================================
   MASTER PUBLIC v2.0.18 – BRAND LOGO IM HEADER
   Logoquelle kommt ausschließlich aus dem jeweiligen Brand Package.
   ============================================================ */
.brand-logo-link{
  display:flex;
  align-items:center;
  min-width:0;
  height:100%;
}
.brand-header-logo{
  display:block;
  width:auto;
  height:auto;
  max-height:48px;
  max-width:330px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:1100px){
  .brand-header-logo{
    max-width:280px;
    max-height:44px;
  }
}
@media(max-width:700px){
  .brand-logo-link{
    max-width:72%;
  }
  .brand-header-logo{
    max-width:100%;
    max-height:38px;
  }
}
@media(max-width:420px){
  .brand-logo-link{
    max-width:68%;
  }
  .brand-header-logo{
    max-height:34px;
  }
}

/* ============================================================
   MASTER PUBLIC v2.0.19 – PROJECT SHELL / HEADER + FOOTER
   Hintergrund, Schriftfarben, Linien und Logos kommen aus dem Brand Package.
   ============================================================ */
header{
  background:var(--header-bg);
  color:var(--header-fg);
  border-bottom:1px solid var(--header-border);
}
header .brand,
header .nav a:not(.btn),
header .mobile-toggle{
  color:var(--header-fg);
}
header .nav a:not(.btn){
  opacity:.88;
}
header .nav a:not(.btn):hover,
header .nav a.active:not(.btn){
  opacity:1;
  color:var(--brand-primary);
}
header .mobile-toggle{
  border-color:var(--header-border);
  background:color-mix(in srgb,var(--header-bg) 92%,var(--header-fg) 8%);
}
header .mobile-toggle span{
  background:var(--header-fg);
}
header .btn{
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary));
  color:#061417;
}
footer{
  background:var(--footer-bg);
  color:var(--footer-fg);
  border-top:1px solid var(--footer-border);
}
footer strong,
footer h4{
  color:var(--footer-fg);
}
footer p,
footer a{
  color:var(--footer-muted);
}
footer a:hover{
  color:var(--brand-primary);
}
footer .copy{
  color:var(--footer-muted);
  border-top-color:var(--footer-border);
}
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-logo-link{
  display:inline-flex;
  align-items:center;
  margin:0 0 12px;
}
.footer-brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:320px;
  max-height:60px;
  object-fit:contain;
  object-position:left center;
}
.footer-brand p{
  margin:0;
  max-width:520px;
}
@media(max-width:900px){
  header .nav{
    background:var(--header-bg);
    border-color:var(--header-border);
  }
}
@media(max-width:600px){
  .footer-brand-logo{
    max-width:250px;
    max-height:52px;
  }
}

/* ============================================================
   MASTER PUBLIC v2.0.20 – LIGHT PROJECT PHOTO BACKGROUNDS
   Bildquelle + Overlay werden vollständig aus dem Brand Package gesteuert.
   ============================================================ */
.hero,
.scene{
  background:
    linear-gradient(var(--photo-overlay-top),var(--photo-overlay-bottom)),
    var(--scene);
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.hero{
  background-position:center right;
}
.scene.scene-1{background-position:center}
.scene.scene-2{background-position:center}
.scene.scene-3{background-position:center}
.master-cta{
  background:
    linear-gradient(var(--cta-overlay-top),var(--cta-overlay-bottom)),
    var(--bg-cta);
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}

/* Foto-Hintergründe heller wirken lassen, Lesbarkeit bleibt über Glassmorphism erhalten. */
.hero-card,
.tile,
.divider .card,
.master-cta-card,
.page-card{
  backdrop-filter:blur(11px);
}
@media(max-width:900px){
  .hero,.scene,.master-cta{background-attachment:scroll}
}

/* ============================================================
   MASTER PUBLIC v2.0.21 – FOTO-FRAMING / WENIGER ZOOM
   Die vollständigen Foto-Motive werden ohne starken Cover-Crop gezeigt.
   ============================================================ */
.hero,
.scene{
  background:
    linear-gradient(var(--photo-overlay-top),var(--photo-overlay-bottom)),
    var(--scene);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% auto;
  background-color:var(--brand-dark);
  background-attachment:fixed;
}
.hero{
  background-position:center center;
}
.scene.scene-1,
.scene.scene-2,
.scene.scene-3{
  background-position:center center;
}
.master-cta{
  background:
    linear-gradient(var(--cta-overlay-top),var(--cta-overlay-bottom)),
    var(--bg-cta);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% auto;
  background-color:var(--brand-dark);
  background-attachment:fixed;
}

/* Falls ein Abschnitt höher als das Foto wird, darf kein starkes Hochskalieren entstehen. */
@media(max-aspect-ratio:16/10){
  .hero,.scene,.master-cta{
    background-size:auto 100%;
  }
}
@media(max-width:900px){
  .hero,.scene,.master-cta{
    background-attachment:scroll;
    background-size:cover;
  }
}

/* ============================================================
   MASTER PUBLIC v2.0.23 – PHOTO GLASS LAYER
   Glass-Effekt liegt auf dem Hintergrundfoto selbst, nicht auf den Karten.
   ============================================================ */
.hero,
.scene,
.master-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.hero::before,
.scene::before,
.master-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.10),
      rgba(255,255,255,.035) 42%,
      rgba(255,255,255,.07)
    );
  -webkit-backdrop-filter:blur(3px) saturate(112%) brightness(1.04);
  backdrop-filter:blur(3px) saturate(112%) brightness(1.04);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero > *,
.scene > *,
.master-cta > *{
  position:relative;
  z-index:1;
}
@media(max-width:900px){
  .hero::before,
  .scene::before,
  .master-cta::before{
    -webkit-backdrop-filter:blur(2px) saturate(108%) brightness(1.03);
    backdrop-filter:blur(2px) saturate(108%) brightness(1.03);
  }
}

/* Kontaktformular */
.contact-form{display:grid;gap:18px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-field{display:grid;gap:7px}
.contact-field.full{grid-column:1/-1}
.contact-field label{font-weight:800;color:var(--txt)}
.contact-field input,
.contact-field select,
.contact-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid color-mix(in srgb,var(--brand-secondary) 24%,rgba(255,255,255,.16));
  border-radius:14px;
  padding:13px 14px;
  background:rgba(255,255,255,.08);
  color:var(--txt);
  font:inherit;
  outline:none;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.contact-field textarea{min-height:180px;resize:vertical}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  border-color:var(--brand-secondary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-secondary) 18%,transparent);
}
.contact-check{display:flex;gap:10px;align-items:flex-start;color:var(--mut);line-height:1.5}
.contact-check input{margin-top:4px}
.contact-message{padding:14px 16px;border-radius:14px;border:1px solid;margin-bottom:18px}
.contact-message.success{border-color:rgba(61,210,145,.35);background:rgba(61,210,145,.10)}
.contact-message.error{border-color:rgba(255,112,112,.35);background:rgba(255,112,112,.10)}
.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){.contact-form-grid{grid-template-columns:1fr}}


/* ============================================================
   MASTER HERO CI LOCK v2.2
   Canonical reference: MDH Group.
   Geometry is identical across MDH Group, Affilentra, Linkentra,
   Debentra. Only content, logos, colors and background images vary.
   ============================================================ */

.hero{
  padding:42px 0 30px !important;
}
.hero-card{
  display:grid !important;
  grid-template-columns:3fr 2fr !important;
  gap:42px !important;
  align-items:center !important;
  min-height:550px !important;
  padding:46px 50px !important;
  border-radius:28px !important;
}
.orbit{
  position:relative !important;
  width:min(100%,410px) !important;
  aspect-ratio:1 !important;
  margin:auto !important;
}
.orbit .ring{
  border:1px solid rgba(255,255,255,.42) !important;
}
.orbit .ring.i,
.orbit .ring.r2{
  inset:23% !important;
}
.orbit .core,
.orbit .sat{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(255,255,255,.90) !important;
  color:#10252b !important;
  box-shadow:0 10px 28px rgba(0,0,0,.16) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
}
.orbit .core{
  inset:34% !important;
  border-radius:50% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:7px !important;
  padding:10px !important;
}
.orbit .sat{
  width:122px !important;
  min-height:94px !important;
  border-radius:18px !important;
  padding:10px 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:#10252b !important;
}
.orbit .orbit-label,
.orbit .sat strong,
.orbit .core strong{
  color:#10252b !important;
  font-weight:800 !important;
}
.orbit .orbit-role-icon{
  color:var(--brand-primary,var(--p,#12d8ba)) !important;
}
.orbit .sat{
  animation:none !important;
  margin:0 !important;
  will-change:left,top !important;
}
.hero-proof{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1px !important;
  margin-top:18px !important;
  border-radius:20px !important;
  overflow:hidden !important;
}
.hero-proof>div{
  min-height:76px !important;
  padding:18px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.hero-proof strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.2 !important;
}
.hero-proof span{
  display:block !important;
  margin-top:5px !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
@media(max-width:900px){
  .hero-card{grid-template-columns:1fr !important}
  .hero-proof{grid-template-columns:1fr 1fr !important}
}
@media(max-width:600px){
  .hero{padding:24px 0 22px !important}
  .hero-card{
    padding:24px 20px !important;
    gap:28px !important;
    min-height:auto !important;
  }
  .hero-proof{grid-template-columns:1fr !important}
}


/* MDH v2.0.28 — contact native select readability */
.contact-field select{
  color-scheme:dark;
}
.contact-field select option,
.contact-field select optgroup{
  background:#ffffff;
  color:#10252b;
}


/* MDH Group v2.0.29 — separated /landingpage/, global sticky header,
   shared background for FAQ / Kontakt / Blog / Recht */
header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
}

/* Only public subpages use the supplied common master background.
   The home page and its individual section backgrounds remain unchanged. */
.subhero{
  background:
    linear-gradient(rgba(245,249,255,.42),rgba(221,237,253,.52)),
    url("/landingpage/assets/brand/mdh-group/backgrounds/subpages-master.png")
    center center / cover no-repeat fixed!important;
}

.page{
  background:
    linear-gradient(rgba(245,249,255,.42),rgba(221,237,253,.52)),
    url("/landingpage/assets/brand/mdh-group/backgrounds/subpages-master.png")
    center center / cover no-repeat fixed!important;
}

/* Keep glass cards readable on the much lighter supplied background. */
.subhero-card,
.page-card,
.legal-nav,
.faq-item,
.contact-panel,
.notice-card,
.blog-placeholder{
  background:linear-gradient(145deg,rgba(5,28,33,.88),rgba(9,54,57,.80))!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

@media(max-width:900px){
  .subhero,
  .page{
    background-attachment:scroll!important;
  }
}


/* MDH Group Mobile Header Fix 2026-10-09
   Important is required because master-ci-v3.1.css defines .nav as flex!important. */
@media(max-width:900px){
  html,body{max-width:100%!important;overflow-x:clip!important}
  header{overflow:visible!important}
  header .in,header .ci-header-inner{position:relative!important;flex-wrap:nowrap!important}
  header .nav{display:none!important}
  header .nav.open{display:flex!important}
  header .mobile-toggle{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important}
}

