:root{--ink:#171a1d;--muted:#61666b;--accent:#91abc0;--dark:#14191e;--line:#d9dde0}.header{background:#14191ef5;color:white;border:0;height:90px}.header nav a:hover{color:#adc3d4}.languages button{color:#adb3b7}.languages button[aria-pressed=true]{color:white}.contact-nav{border-color:#8b959d}.brand{letter-spacing:1.6px}.hero{height:700px;min-height:0}.hero-content{padding-top:180px}.hero h1{font-size:clamp(48px,5.5vw,83px);font-weight:500;line-height:1.06}.hero .outline{font-weight:400}.hero-description{font-size:16px}.hero .button{background:transparent;color:white;border:1px solid #ffffff8c;border-radius:30px;padding:11px 23px}.hero .button:hover{background:#ffffff20}.hero-bottom{font-size:11px}.section{padding-top:76px;padding-bottom:76px}h2{font-size:50px;font-weight:600;text-transform:none;letter-spacing:-.02em;line-height:1.1}.eyebrow{font-size:12px;letter-spacing:1.8px}.visual-credits{max-width:none;background:#14191e;color:white;padding:65px 5% 35px;text-align:center}.visual-credits>.eyebrow{display:block;color:#aeb8c0;margin-bottom:10px}.visual-credits>h2{margin-bottom:35px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1400px;margin:auto}.reference-card{text-align:left}.reference-photo{aspect-ratio:1/1;background-image:url('references.png');background-size:300% 100%;background-repeat:no-repeat}.photo-one{background-position:left center}.photo-two{background-position:center}.photo-three{background-position:right center}.reference-caption{padding:19px 0 10px}.reference-caption>span{font-size:11px;letter-spacing:1.4px;color:#b7c4cc}.reference-caption h3{font:500 31px var(--display);margin:7px 0}.image-note{font-size:11px;color:#9ea7ae;margin:28px 0 0}.services>.eyebrow,.services>h2{text-align:center;justify-content:center}.services{border:0}.service-grid{margin-top:40px;gap:50px}.service-grid h3{font-size:35px;margin:0 0 16px;text-transform:none}.service-grid article{padding-top:22px;position:relative}.service-grid .small-index{position:absolute;right:0;top:25px;color:#7b8c98}.service-grid p{font-size:16px;line-height:1.85}.equipment{background:#f2f4f5}.equipment h2{font-size:48px}.equipment .section-number{display:none}.equipment .eyebrow{margin-bottom:20px}.quiet-rates{max-width:1000px}.quiet-rates>.eyebrow{justify-content:center;margin-bottom:12px}.quiet-rates h2{text-align:center;margin-bottom:35px}.price-list{margin:0 0 25px;border-top:1px solid #9ea7ad}.price-list>div{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.price-list dt{font-size:17px}.price-list dd{display:flex;gap:17px;align-items:baseline;margin:0;white-space:nowrap}.price-list strong{font-size:22px;font-weight:500}.price-list dd>span{font-size:12px;color:var(--muted)}.price-list .project-rate{font-size:15px;color:var(--muted)}.pricing-detail{font-size:14px;line-height:1.8;color:var(--muted);max-width:720px;margin:0 auto 12px}.tax-note{font-size:12px;color:var(--muted);max-width:720px;margin:auto}.simple-contact{max-width:none;background:#eff2f4;text-align:center;padding:70px 6%}.simple-contact .eyebrow{justify-content:center;margin-bottom:13px}.simple-contact h2{font-size:55px;margin-bottom:20px}.simple-contact>p{color:var(--muted);font-size:16px}.simple-contact .contact-placeholder{max-width:520px;margin:28px auto;border-top:0;border-bottom:1px solid #c6cfd5;padding:0 0 25px}.simple-contact .location{font-size:13px;margin-bottom:0}footer{border:0}footer .brand span{font-size:10px}
@media(max-width:1000px){.hero{height:650px}.hero-content{padding-top:185px}.reference-grid{gap:15px}.reference-caption h3{font-size:27px}.service-grid{gap:28px}.service-grid h3{font-size:29px}.price-list dt{font-size:16px}}
@media(max-width:680px){.header{height:112px}.hero{height:600px}.hero-content{padding-top:250px}.hero h1{font-size:43px;line-height:1.08}.hero-description{font-size:14px}.hero .eyebrow{font-size:9px}.hero-bottom{font-size:9px}.section{padding-top:50px;padding-bottom:50px}h2{font-size:40px}.reference-grid{grid-template-columns:1fr;gap:25px}.reference-photo{aspect-ratio:1/1}.reference-card{max-width:440px;width:100%;margin:auto}.reference-caption{padding-top:12px}.reference-caption h3{font-size:30px}.visual-credits{padding:45px 6% 25px}.visual-credits h2{margin-bottom:25px}.image-note{font-size:11px}.service-grid{margin-top:22px;gap:28px}.service-grid h3{font-size:33px}.service-grid p{font-size:16px}.equipment h2{font-size:40px}.price-list>div{padding:18px 0;gap:15px}.price-list dt{font-size:15px;max-width:55%}.price-list dd{display:block;text-align:right}.price-list dd>span{display:block;font-size:11px}.price-list strong{font-size:21px}.price-list .project-rate{font-size:13px;white-space:normal}.simple-contact h2{font-size:43px}.simple-contact>p{font-size:15px}}

/* Refined visual draft: spacing replaces decorative rules. */
.service-grid article,.kit>div,.kit>div:first-child,.price-list,.price-list>div,.simple-contact .contact-placeholder,.hero-bottom,.contact-nav,.text-link{border:0}
.hero h1{font-size:clamp(46px,5.6vw,84px);letter-spacing:.01em;margin-bottom:20px}
.hero-content{padding-top:245px}.hero-description{font-size:clamp(14px,1.3vw,19px);margin:0 0 30px;max-width:none}
.service-grid article{padding-top:0}.kit>div{padding:18px 0}.price-list>div{padding:17px 0}.price-list{margin-bottom:32px}
.reference-photo{position:relative;isolation:isolate;overflow:hidden;background:none;aspect-ratio:1/1}
.reference-scene{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.reference-card a:hover .reference-scene{transform:scale(1.025)}
.reference-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,#07101688);pointer-events:none;z-index:1}
.photo-one .reference-scene{object-position:48% center}.photo-two .reference-scene{object-position:center 63%}
.show-logo{position:absolute;z-index:2;left:50%;bottom:9%;transform:translateX(-50%);width:57%;height:auto;max-height:26%;object-fit:contain;filter:drop-shadow(0 2px 8px #0004)}
.servus-logo{filter:drop-shadow(0 2px 8px #0004);width:47%}
.erlebnis-logo{width:65%}.logo-crop{position:absolute;z-index:2;left:0;bottom:10%;width:80%;aspect-ratio:1047/169;overflow:visible}
.logo-crop img{display:block;position:static;width:100%;max-width:none;height:auto}
.reference-caption h3{font-size:28px}.visual-credits{padding-bottom:48px}
@media(max-width:680px){.hero-content{padding-top:240px}.hero h1{font-size:43px;max-width:340px}.hero-description{max-width:280px;font-size:15px}.reference-caption h3{font-size:28px}}

.contact-details{display:flex;flex-direction:column;align-items:center;gap:10px;margin:28px auto 12px}.contact-email{font-size:clamp(16px,2vw,23px);overflow-wrap:anywhere;max-width:100%}.contact-details address{font-style:normal;font-size:14px;color:var(--muted);margin-top:8px}.social-links{display:flex;justify-content:center;gap:8px;margin:14px 0 20px}.social-links a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%}.social-links a:hover{background:#dce3e8}.social-links img{width:22px;height:22px;opacity:.8}.legal-links{display:flex;gap:22px;font-size:13px}.legal-page{max-width:800px;margin:auto;padding:64px 24px 90px}.legal-page h1{font:500 52px var(--display);margin:24px 0}.legal-page h2{font:500 27px var(--display);margin:34px 0 12px}.legal-page p,.legal-page li{font-size:16px;line-height:1.8}.legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.draft-note{background:#f0f3f5;padding:18px 22px;color:#424a50;border-radius:4px}.legal-page address{font-style:normal}.legal-page nav{display:flex;gap:24px;margin-top:40px}

/* Clients & partners strip */
.client-strip{
  background:#f7f8f9;
  color:#171a1d;
  padding:46px 7% 50px;
  overflow:hidden;
  border-top:1px solid #e2e6e9
}
.client-strip-head{
  max-width:1238px;
  margin:0 auto 18px;
  text-align:center
}
.client-strip-head h2{
  font-size:clamp(36px,3.5vw,48px);
  margin:0
}

.client-scroller-wrap{
  width:min(100%,520px);
  margin:0 auto;
  overflow:hidden
}
.client-scroller{
  display:flex;
  align-items:center;
  gap:26px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:4px 0 8px;
  cursor:grab;
  touch-action:auto;
  -webkit-overflow-scrolling:touch
}
.client-scroller::-webkit-scrollbar{display:none}
.client-scroller.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
  user-select:none
}

/*
  Desktop: every logo gets a fixed visual box based on its actual shape.
  Because the boxes match the visible artwork closely, the 26px flex gap
  becomes a genuinely consistent visible gap between logos.
*/
.client-logo{
  flex:0 0 auto;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:inherit
}
.client-logo img{
  display:block;
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none
}

.client-logo[data-brand="orf"]{width:108px}
.client-logo[data-brand="servustv"]{width:112px}
.client-logo[data-brand="zdf"]{width:84px}
.client-logo[data-brand="prosieben"]{width:62px}
.client-logo[data-brand="sat1"]{width:92px}
.client-logo[data-brand="kabeleins"]{width:52px}
.client-logo[data-brand="3sat"]{width:82px}
.client-logo[data-brand="orf3"]{width:54px}

@media(max-width:900px){
  .client-scroller-wrap{width:min(100%,500px)}
  .client-scroller{gap:22px}
}

/*
  Mobile uses a completely separate set of fixed values.
  The first three are sized to fit together comfortably in the initial view.
  SAT.1, 3sat and ORF III are intentionally reduced because their artwork
  otherwise appears optically larger than the horizontal broadcaster logos.
*/
@media(max-width:640px){
  .client-strip{padding:38px 5% 40px}
  .client-strip-head{margin-bottom:10px}
  .client-strip-head h2{font-size:36px}
  .client-scroller-wrap{width:100%}
  .client-scroller{gap:14px;padding:2px 0 6px}

  .client-logo{height:54px}

  .client-logo[data-brand="orf"]{width:82px}
  .client-logo[data-brand="servustv"]{width:82px}
  .client-logo[data-brand="zdf"]{width:62px}
  .client-logo[data-brand="prosieben"]{width:48px}
  .client-logo[data-brand="sat1"]{width:62px}
  .client-logo[data-brand="kabeleins"]{width:42px}
  .client-logo[data-brand="3sat"]{width:55px}
  .client-logo[data-brand="orf3"]{width:39px}
}

/* Desktop grid alignment:
   Services and Equipment now share the exact same 3-column geometry. */
@media(min-width:1001px){
  .services{
    max-width:none;
    padding-left:max(7%,calc((100vw - 1238px)/2));
    padding-right:max(7%,calc((100vw - 1238px)/2))
  }

  .service-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:50px
  }

  .equipment{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:50px;
    padding-left:max(7%,calc((100vw - 1238px)/2));
    padding-right:max(7%,calc((100vw - 1238px)/2))
  }

  .equipment>div:first-child{
    grid-column:1
  }

  .equipment .kit{
    grid-column:2 / 4;
    width:100%
  }

  .equipment .kit>div{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:50px
  }
}

/* Header: navigation grouped on the right beside language + contact */
.header{justify-content:flex-start}
.header>.brand{margin-right:auto}
.header-end{margin-left:auto;display:flex;align-items:center;gap:25px}
.header-end nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:500}
.header-end nav a:hover{color:#adc3d4}

/* Contact form */
.contact-form-section{
  background:#14191e;
  color:#fff;
  padding:72px max(7%,calc((100vw - 1238px)/2));
}
.contact-form-inner{
  max-width:1238px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);
  gap:78px;
  align-items:start
}
.contact-form-copy{padding-top:34px}
.contact-form-copy .eyebrow{color:#aeb8c0;margin-bottom:18px}
.contact-form-copy h2{
  color:#fff;
  font-size:clamp(56px,6vw,82px);
  max-width:520px;
  margin-bottom:24px
}
.contact-lead{
  color:#c3cbd1;
  max-width:470px;
  font-size:16px;
  line-height:1.8;
  margin-bottom:32px
}
.contact-direct{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.contact-direct a{font-size:18px;width:max-content;border-bottom:1px solid #ffffff55}
.contact-social{justify-content:flex-start;margin:15px 0 18px}
.contact-social a:hover{background:#ffffff12}
.contact-social img{filter:brightness(0) invert(1);opacity:.82}
.contact-location{font-size:12px;color:#aeb8c0;margin:0}

.contact-form-card{
  background:#fff;
  color:#171a1d;
  padding:38px 40px 40px;
  border-radius:18px
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.form-field{margin-bottom:20px}
.form-field label{
  display:block;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  margin-bottom:7px;
  color:#444c52
}
.form-field input,.form-field textarea{
  width:100%;
  border:1px solid #aeb6bc;
  background:#fff;
  color:#171a1d;
  border-radius:0;
  padding:12px 13px;
  font:400 15px var(--body);
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease
}
.form-field input{height:46px}
.form-field textarea{resize:vertical;min-height:142px;line-height:1.6}
.form-field input:focus,.form-field textarea:focus{
  border-color:#171a1d;
  box-shadow:0 0 0 2px #171a1d12
}
.form-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important
}
.form-privacy{
  font-size:11px;
  line-height:1.65;
  color:#70777c;
  margin:2px 0 18px
}
.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.form-status{font-size:13px;min-height:1.5em;margin:0 0 10px}
.form-status.is-success{color:#376e42}
.form-status.is-error{color:#9d2f2f}
.form-submit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-width:180px;
  border:1px solid #171a1d;
  background:#171a1d;
  color:#fff;
  padding:12px 16px;
  font:600 13px var(--body);
  cursor:pointer;
  transition:background .18s ease,color .18s ease
}
.form-submit:hover{background:#fff;color:#171a1d}

@media(max-width:1000px){
  .header-end{gap:18px}
  .header-end nav{gap:18px}
  .contact-form-inner{grid-template-columns:1fr 1.15fr;gap:40px}
}
@media(max-width:680px){
  .header{height:auto;min-height:112px;align-content:center}
  .header>.brand{margin-right:auto}
  .header-end{
    width:100%;
    margin:12px 0 0;
    display:flex;
    justify-content:space-between;
    gap:12px
  }
  .header-end nav{
    flex:1 1 auto;
    width:auto;
    margin:0;
    gap:14px;
    justify-content:flex-start
  }
  .header-end nav a{font-size:11px}
  .header-end .languages{flex:0 0 auto}
  .header-end .contact-nav{display:none}

  .contact-form-section{padding:50px 6%}
  .contact-form-inner{grid-template-columns:1fr;gap:28px}
  .contact-form-copy{padding-top:0}
  .contact-form-copy h2{font-size:54px}
  .contact-form-card{padding:26px 22px 28px;border-radius:14px}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-direct a{font-size:16px}
}

/* Dedicated contact page */
.contact-page{
  min-height:100vh;
  background:#14191e;
  color:#fff
}
.contact-page .header{
  background:#14191e;
  color:#fff;
  border-bottom:1px solid #313940
}
.contact-page .brand,
.contact-page .header a,
.contact-page .languages button[aria-pressed=true]{
  color:#fff
}
.contact-page .languages button{color:#8f989f}
.contact-page .contact-nav{border-bottom-color:#fff}
.contact-page-main{
  min-height:calc(100vh - 104px);
  padding:72px max(7%,calc((100vw - 1238px)/2));
  display:flex;
  align-items:center
}
.contact-page-main .contact-form-inner{width:100%}
.contact-page .contact-form-copy h1{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(62px,7vw,98px);
  line-height:.98;
  letter-spacing:-.02em;
  margin:0 0 24px;
  color:#fff
}
.contact-page-back{
  display:inline-block;
  margin-bottom:28px;
  font-size:13px;
  color:#c3cbd1;
  border-bottom:1px solid #ffffff55;
  padding-bottom:3px
}
.contact-page .contact-form-card{
  box-shadow:0 18px 60px rgba(0,0,0,.18)
}
@media(max-width:680px){
  .contact-page-main{
    min-height:auto;
    padding:42px 6% 50px
  }
  .contact-page .contact-form-copy h1{font-size:56px}
}

/* Make the landing-page email visibly interactive */
#kontakt a[href^="mailto:"]{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
  transition:opacity .18s ease
}
#kontakt a[href^="mailto:"]:hover{opacity:.68}


@media(max-width:680px){
  .header-end .contact-nav{
    display:inline-block;
    flex:0 0 auto;
    font-size:11px;
    padding-bottom:2px;
    white-space:nowrap
  }

  .header-end{
    align-items:center;
    gap:10px
  }

  .header-end nav{
    gap:12px
  }

  .header-end .languages{
    margin-left:auto
  }
}

/* Landing-page contact: same dark tone as hero / highlights */
.simple-contact{
  background:var(--dark);
  color:#fff
}
.simple-contact .eyebrow{
  color:#aeb8c0
}
.simple-contact h2{
  color:#fff
}
.simple-contact>p{
  color:#c3cbd1
}
.simple-contact .contact-details a{
  color:#fff
}
.simple-contact .contact-details address{
  color:#aeb8c0
}
.simple-contact .location{
  color:#aeb8c0
}
.simple-contact .social-links a{
  color:#fff
}
.simple-contact .social-links a:hover{
  background:#ffffff12
}
.simple-contact .social-links img{
  filter:brightness(0) invert(1);
  opacity:.86
}
.simple-contact a[href^="mailto:"]{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
  text-decoration-color:#ffffff80
}

/* Text-based IMDb button, matching the circular social controls */
.social-links .imdb-link{
  border:1px solid #ffffff4d;
  text-decoration:none
}
.social-links .imdb-link span{
  font-size:10px;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1;
  color:#fff
}
.social-links .imdb-link:hover{
  border-color:#ffffff99;
  background:#ffffff12
}

/* IMDb social control: same exact outer size as the other social buttons */
.social-links .imdb-link{
  width:44px;
  height:44px;
  box-sizing:border-box;
  flex:0 0 44px
}

/* Footer uses the same dark tone as hero, highlights and contact */
footer{
  background:var(--dark);
  color:#fff;
  border-top:1px solid #313940
}
footer .brand,
footer .brand span,
footer a{
  color:#fff
}
footer .brand span{
  opacity:.72
}
footer .legal-links a{
  color:#c3cbd1
}
footer>a:last-child{
  color:#c3cbd1
}
footer a:hover{
  color:#fff
}

/* IMDb: same 44px click target as the other socials, but a smaller visual mark */
.social-links .imdb-link{
  width:44px;
  height:44px;
  flex:0 0 44px;
  box-sizing:border-box;
  border:0;
  background:transparent
}
.social-links .imdb-link span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:14px;
  border:1px solid #ffffff8a;
  border-radius:2px;
  font-size:8px;
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1;
  color:#fff;
  box-sizing:border-box
}
.social-links .imdb-link:hover{
  border:0;
  background:#ffffff12
}

/* Final IMDb social treatment: same outer size as all other social buttons */
.social-links .imdb-link{
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:0;
  background:transparent
}
.social-links .imdb-link span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:14px;
  padding:0;
  box-sizing:border-box;
  border:0;
  border-radius:2px;
  background:#f5c518;
  color:#111;
  font-size:8px;
  font-weight:900;
  letter-spacing:-.05em;
  line-height:1
}
.social-links .imdb-link:hover{
  background:#ffffff12
}

/* Keep the landing-page footer fully dark for the dark/light section rhythm */
footer{
  background:var(--dark)!important;
  color:#fff!important;
  border-top:1px solid #313940
}
footer .brand,
footer .brand span,
footer a{
  color:#fff!important
}
footer .brand span,
footer .legal-links a,
footer>a:last-child{
  opacity:.72
}
footer a:hover{
  opacity:1
}

/* ---------- final section/background cleanup ---------- */

/* Use the nuanced off-white as the site's standard light section tone. */
.services{
  background:#f2f4f5;
}

/* Footer must span the complete viewport edge-to-edge. */
footer{
  width:100%;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box;
  background:var(--dark)!important;
  color:#fff!important;
}

/* ---------- mobile header cleanup ---------- */
@media(max-width:680px){
  .header{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    height:auto;
    min-height:112px;
  }

  .header>.brand{
    flex:0 0 auto;
    margin-right:auto;
  }

  .header-end{
    width:100%;
    margin:12px 0 0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
  }

  .header-end nav{
    flex:0 0 auto;
    width:auto;
    margin:0 0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
  }

  .header-end nav a{
    font-size:11px;
    white-space:nowrap;
  }

  .header-end .languages{
    flex:0 0 auto;
    margin-left:0;
    display:flex;
    align-items:center;
    white-space:nowrap;
  }

  .header-end .contact-nav{
    display:inline-block;
    flex:0 0 auto;
    font-size:11px;
    white-space:nowrap;
    padding-bottom:2px;
  }
}

@media(max-width:430px){
  .header-end{
    gap:8px;
  }
  .header-end nav{
    gap:9px;
  }
  .header-end nav a,
  .header-end .contact-nav,
  .header-end .languages{
    font-size:10px;
  }
}

/* Use the exact same nuanced light tone as Equipment */
.services,
.client-strip{
  background:#f3f5f2;
}

/* Full-width dark footer, but content aligns exactly with the header columns */
footer{
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  box-sizing:border-box;
  background:var(--dark)!important;
  color:#fff!important;
  border-top:1px solid #313940;
}

.footer-inner{
  width:100%;
  padding:35px 4.8%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:30px;
  box-sizing:border-box;
}

.footer-inner>.brand{
  justify-self:start;
}

.footer-inner>.legal-links{
  justify-self:center;
}

.footer-inner>.footer-top{
  justify-self:end;
  font-size:12px;
}

footer .brand,
footer .brand span,
footer a{
  color:#fff!important;
}

footer .brand span,
footer .legal-links a,
.footer-top{
  opacity:.72;
}

footer a:hover{
  opacity:1;
}

/* Footer follows the same horizontal inset as the mobile header */
@media(max-width:680px){
  .footer-inner{
    padding:25px 6%;
    grid-template-columns:1fr auto;
    gap:22px;
  }

  .footer-inner>.brand{
    grid-column:1;
    grid-row:1;
  }

  .footer-inner>.footer-top{
    grid-column:2;
    grid-row:1;
    justify-self:end;
  }

  .footer-inner>.legal-links{
    grid-column:1 / -1;
    grid-row:2;
    justify-self:center;
  }
}

/* Mobile header: preserve the exact desktop order and right alignment:
   Leistungen · Highlights · Equipment · DE / EN · Kontakt */
@media(max-width:680px){
  .header{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
  }

  .header>.brand{
    align-self:flex-start;
    margin:0;
  }

  .header-end{
    width:100%;
    margin-top:18px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
  }

  .header-end nav{
    order:1;
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    margin:0;
  }

  .header-end .languages{
    order:2;
    flex:0 0 auto;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    white-space:nowrap;
  }

  .header-end .contact-nav{
    order:3;
    display:inline-block;
    flex:0 0 auto;
    margin:0;
    white-space:nowrap;
  }

  .header-end nav a,
  .header-end .languages,
  .header-end .contact-nav{
    font-size:11px;
  }
}

@media(max-width:430px){
  .header-end{
    gap:8px;
  }
  .header-end nav{
    gap:9px;
  }
  .header-end nav a,
  .header-end .languages,
  .header-end .contact-nav{
    font-size:10px;
  }
}

/* Final header order on all breakpoints:
   Leistungen · Highlights · Equipment · Kontakt · DE / EN */
.header-end nav{order:1}
.header-end .contact-nav{order:2}
.header-end .languages{order:3}

@media(max-width:680px){
  .header-end nav{order:1}
  .header-end .contact-nav{order:2}
  .header-end .languages{order:3}
}

/* Link to the complete equipment page */
.equipment-more{
  grid-column:1 / -1;
  display:flex;
  justify-content:flex-end;
  margin-top:26px;
}
.equipment-more a{
  font-size:13px;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:4px;
  transition:opacity .18s ease;
}
.equipment-more a:hover{opacity:.62}

/* Standalone equipment page */
.equipment-page{
  background:#f3f5f2;
  color:#171a1d;
}
.equipment-list-page{
  min-height:calc(100vh - 104px);
}
.equipment-list-hero{
  padding:72px max(7%,calc((100vw - 1238px)/2)) 54px;
  background:var(--dark);
  color:#fff;
}
.equipment-list-hero .eyebrow{color:#aeb8c0}
.equipment-list-hero h1{
  color:#fff;
  font-size:clamp(56px,6.5vw,88px);
  margin:0 0 22px;
  max-width:900px;
}
.equipment-list-hero>p:last-child{
  max-width:650px;
  color:#c3cbd1;
  line-height:1.75;
}
.equipment-back{
  display:inline-block;
  margin-bottom:34px;
  font-size:13px;
  color:#c3cbd1;
  border-bottom:1px solid #ffffff55;
  padding-bottom:3px;
}
.equipment-full-grid{
  max-width:1238px;
  margin:0 auto;
  padding:70px 0 82px;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:70px;
  row-gap:58px;
}
.equipment-group h2{
  font-size:30px;
  margin:0 0 20px;
}
.equipment-list-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  padding:12px 0;
  border-top:1px solid #cfd5d8;
  font-size:14px;
}
.equipment-list-row:last-child{
  border-bottom:1px solid #cfd5d8;
}
.equipment-list-row span:last-child{
  color:#6f777d;
  text-align:right;
}
.equipment-group-legacy{
  grid-column:1 / -1;
}
.equipment-note{
  max-width:680px;
  color:#6f777d;
  line-height:1.7;
  margin:-4px 0 22px;
}

@media(max-width:1000px){
  .equipment-full-grid{
    padding-left:7%;
    padding-right:7%;
    column-gap:40px;
  }
}

@media(max-width:680px){
  .equipment-more{
    justify-content:flex-start;
    margin-top:20px;
  }
  .equipment-list-hero{
    padding:50px 6% 42px;
  }
  .equipment-list-hero h1{
    font-size:52px;
  }
  .equipment-full-grid{
    grid-template-columns:1fr;
    padding:48px 6% 62px;
    row-gap:44px;
  }
  .equipment-group-legacy{
    grid-column:auto;
  }
  .equipment-list-row{
    grid-template-columns:1fr auto;
    gap:16px;
  }
}

/* Version 2 Alpha: white-section rhythm cleanup */
.services{
  padding-top:64px;
  padding-bottom:64px;
}

.equipment{
  padding-top:58px;
  padding-bottom:54px;
  row-gap:0;
}

.equipment-more{
  margin-top:8px;
  align-self:end;
}

.client-strip{
  padding-top:44px;
  padding-bottom:44px;
}

/* Complete equipment page: one clean vertical list instead of two columns */
.equipment-full-grid.equipment-single-list{
  max-width:900px;
  margin:0 auto;
  padding:58px 0 72px;
  display:block;
}

.equipment-single-list .equipment-group{
  margin:0 0 42px;
}

.equipment-single-list .equipment-group:last-child{
  margin-bottom:0;
}

.equipment-single-list .equipment-group h2{
  margin-bottom:14px;
}

.equipment-single-list .equipment-list-row{
  grid-template-columns:minmax(0,1fr) auto;
}

@media(max-width:1000px){
  .equipment-full-grid.equipment-single-list{
    padding-left:7%;
    padding-right:7%;
  }
}

@media(max-width:680px){
  .services{
    padding-top:48px;
    padding-bottom:48px;
  }

  .equipment{
    padding-top:46px;
    padding-bottom:44px;
  }

  .equipment-more{
    margin-top:14px;
  }

  .client-strip{
    padding-top:38px;
    padding-bottom:38px;
  }

  .equipment-full-grid.equipment-single-list{
    padding:46px 6% 58px;
  }

  .equipment-single-list .equipment-group{
    margin-bottom:36px;
  }
}



@media(max-width:680px){
  .schauplatz-logo{
    width:90%;
    max-height:20%;
  }
}

/* Am Schauplatz: left-aligned banner, fully visible, no vertical clipping */
.schauplatz-logo{
  left:-2%;
  right:auto;
  bottom:7%;
  transform:none;
  width:78%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left bottom;
}

@media(max-width:680px){
  .schauplatz-logo{
    left:-2%;
    bottom:7%;
    width:82%;
    height:auto;
    max-height:none;
  }
}



/* Highlight images now contain their logos directly.
   Remove the old dark readability overlay so original image colors show. */
.reference-photo::after{
  display:none !important;
  content:none !important;
}
.reference-scene{
  opacity:1 !important;
  filter:none !important;
}


/* Equipment CTA: align with the equipment value column */
.equipment-more{
  grid-column:2;
  justify-content:flex-start;
  margin-top:14px;
  padding-left:0;
}

.equipment-more a{
  margin-left:0;
}

@media(max-width:680px){
  .equipment-more{
    grid-column:1 / -1;
    justify-content:flex-start;
    margin-top:16px;
  }
}

/* Hero image: exact approved source photo, tighter desktop crop */
.hero>img{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:65% center;
  transform:scale(1.09);
  transform-origin:63% 50%;
}

/* Keep the established mobile framing without the extra desktop zoom. */
@media(max-width:680px){
  .hero>img{
    transform:none;
    object-position:38% center;
  }
}



/* Highlights: four-column desktop grid with clean responsive fallback */
.reference-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.reference-caption a{
  color:inherit;
  text-decoration:none;
}
.reference-caption a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.reference-image-link{
  display:block;
}

@media(max-width:1100px){
  .reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 18px;
  }
}

@media(max-width:680px){
  .reference-grid{
    grid-template-columns:1fr;
    gap:25px;
  }
}


/* Highlights: keep three cards per desktop row */
.reference-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:1100px){
  .reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .reference-grid{
    grid-template-columns:1fr;
  }
}
