:root{
  --site-card-radius:34px;
  --site-feature-radius:46px;
  --site-card-border:1px solid rgba(255,255,255,.88);
  --site-card-shadow:0 24px 70px rgba(0,80,164,.10);
  --site-card-shadow-hover:0 30px 86px rgba(0,80,164,.15);
  --site-card-ease:cubic-bezier(.16,1,.3,1);
}

body{font-family:Arial,Helvetica,sans-serif}
h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;font-weight:900}

/* Kleine und mittlere Inhaltskarten teilen überall dieselbe Geometrie. */
.mini-card,
.market-card,
.service-card,
.job-card,
.contact-panel,
.info-card,
.service-item,
.news-card,
.contact-card,
.quick-panel,
.job,
.benefit,
.chapter,
.legal-intro,
.toc{
  border-radius:var(--site-card-radius)!important;
  border:var(--site-card-border)!important;
  box-shadow:var(--site-card-shadow)!important;
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
}

/* Große Abschluss- und Featureflächen sind eine gemeinsame zweite Größenstufe. */
.career-section,
.app-section,
.team-banner,
.board-main,
.sortiment-feature,
.prospekt-showcase,
.apply{
  border-radius:var(--site-feature-radius)!important;
  border:var(--site-card-border)!important;
  box-shadow:var(--site-card-shadow)!important;
}

.market-card,
.service-card,
.job-card,
.info-card,
.service-item,
.news-card,
.contact-card,
.quick-panel,
.job,
.benefit,
.chapter{
  transition:transform .32s var(--site-card-ease),box-shadow .32s ease,border-color .32s ease!important;
}

@media (hover:hover) and (pointer:fine){
  .market-card:hover,
  .service-card:hover,
  .job-card:hover,
  .info-card:hover,
  .service-item:hover,
  .news-card:hover,
  .contact-card:hover,
  .quick-panel:hover,
  .job:hover,
  .benefit:hover,
  .chapter:hover{
    transform:translateY(-6px)!important;
    box-shadow:var(--site-card-shadow-hover)!important;
  }
}

.job p,.benefit p,.chapter p,.chapter li,.legal-intro,.contact-panel p,.contact-card p{
  line-height:1.65;
  font-weight:650;
}

/* Kontaktkarten: klare Informationshierarchie und Aktionen am Kartenende. */
.contact-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-height:266px;
  padding:30px!important;
  overflow:hidden!important;
}

.contact-card > span:first-child{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:16px;
  background:rgba(0,80,164,.08);
  font-size:1.55rem;
  line-height:1;
}

.contact-card h3{
  margin:0 0 12px;
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1.05;
}

.contact-card p{
  margin:0;
  color:var(--muted,#687080);
  font-size:1rem;
}

.contact-card .card-actions{
  width:100%;
  margin-top:auto;
  padding-top:22px;
  gap:10px;
}

.contact-card .contact-action{
  flex:0 1 auto;
}

@media (min-width:981px){
  .contact-card .card-actions .contact-action.secondary{
    background:rgba(0,80,164,.045)!important;
  }
}

@media (max-width:980px){
  .contact-card{
    min-height:205px;
    padding:22px!important;
  }

  .contact-card > span:first-child{
    width:42px;
    height:42px;
    margin-bottom:16px;
    border-radius:14px;
    font-size:1.3rem;
  }

  .contact-card h3{
    margin-bottom:8px;
    font-size:1.35rem;
  }

  .contact-card .card-actions{
    padding-top:16px;
  }
}

/* Einheitliche Direktaktionen in Markt- und Kontaktkarten */
.card-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:16px;
  padding-top:0;
}

.mini-card:has(.card-actions),
.contact-card:has(.card-actions){
  display:flex;
  flex-direction:column;
}

.mini-card strong,
.contact-card p{
  overflow-wrap:anywhere;
}

.contact-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:8px 14px!important;
  border:1px solid rgba(0,80,164,.16)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--blue, #0050a4)!important;
  text-decoration:none!important;
  font-size:.74rem!important;
  font-weight:850!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  box-shadow:0 8px 20px rgba(0,80,164,.08), inset 0 1px 0 rgba(255,255,255,.9)!important;
  transition:transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease!important;
}

.contact-action.secondary{
  background:transparent!important;
  color:var(--blue, #0050a4)!important;
  border-color:rgba(0,80,164,.12)!important;
}

@media (hover:hover) and (pointer:fine){
  .contact-action:hover{
    transform:translateY(-2px)!important;
    background:var(--blue, #0050a4)!important;
    border-color:var(--blue, #0050a4)!important;
    color:#fff!important;
    box-shadow:0 12px 24px rgba(0,80,164,.18)!important;
  }
  .contact-action.secondary:hover{
    background:rgba(0,80,164,.07)!important;
    color:var(--blue, #0050a4)!important;
    box-shadow:0 8px 18px rgba(0,80,164,.08)!important;
  }
}

.contact-action:focus-visible{
  outline:3px solid rgba(255,205,0,.85);
  outline-offset:3px;
}

/* Mobile-Navigation fuer eigenstaendige Inhaltsseiten. */
.mobile-bottom-nav{display:none}

.mobile-bottom-nav-svg{display:none}

@media (max-width:980px){
  body.standalone-page{padding-bottom:88px}

  .standalone-page .menu-toggle,
  .standalone-page .mobile-glass-menu{display:none!important}

  .mobile-bottom-nav{
    position:fixed;
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    z-index:35000;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:4px;
    padding:7px;
    border:1px solid rgba(255,255,255,.94);
    border-radius:24px;
    background:rgba(249,251,255,.84);
    box-shadow:0 18px 52px rgba(0,55,115,.22),inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter:blur(26px) saturate(1.35);
    -webkit-backdrop-filter:blur(26px) saturate(1.35);
  }

  .mobile-bottom-nav a{
    min-height:52px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:17px;
    color:#788293;
    font-size:.6rem;
    font-weight:850;
    text-decoration:none!important;
  }

  .mobile-bottom-nav a span{font-size:1.05rem;line-height:1}
  .mobile-bottom-nav a.active{color:var(--blue);background:rgba(0,80,164,.08)}
  .mobile-bottom-nav a.mobile-bottom-prospekt{color:#111;background:var(--yellow);box-shadow:0 8px 20px rgba(255,205,0,.25)}

  .standalone-page .mobile-bottom-nav-svg{
    left:10px;
    right:10px;
    bottom:max(8px,env(safe-area-inset-bottom));
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:5px;
    padding:7px;
    border-radius:26px;
    background:rgba(249,251,255,.79);
    border:1px solid rgba(255,255,255,.94);
    box-shadow:0 20px 58px rgba(0,55,115,.22),inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter:blur(30px) saturate(1.4);
    -webkit-backdrop-filter:blur(30px) saturate(1.4);
    transition:none!important;
  }

  .standalone-page .mobile-bottom-nav-svg a{
    min-height:57px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:6px 2px;
    border-radius:18px;
    color:#788293;
    background:transparent;
    font-size:inherit;
    font-weight:inherit;
    touch-action:manipulation;
    transition:none!important;
    position:relative;
    z-index:2;
    cursor:pointer;
  }

  .standalone-page .mobile-bottom-nav-svg a small{font-size:.62rem;line-height:1;font-weight:850}
  .standalone-page .mobile-nav-icon{width:23px;height:23px;display:grid;place-items:center}
  .standalone-page .mobile-nav-icon,
  .standalone-page .mobile-nav-icon svg,
  .standalone-page .mobile-bottom-nav-svg small{pointer-events:none}
  .standalone-page .mobile-nav-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .standalone-page .mobile-bottom-nav-svg a.active{color:var(--blue);background:rgba(0,80,164,.075)}
  .standalone-page .mobile-bottom-nav-svg a::before,.standalone-page .mobile-bottom-nav-svg a::after{content:none!important}
  .standalone-page .mobile-bottom-nav-svg a:nth-child(1){order:1}
  .standalone-page .mobile-bottom-nav-svg a:nth-child(2){order:2}
  .standalone-page .mobile-bottom-nav-svg a:nth-child(4){order:3}
  .standalone-page .mobile-bottom-nav-svg a:nth-child(3){order:4}
  .standalone-page .mobile-bottom-nav-svg a:nth-child(5){order:5}
  .standalone-page .mobile-bottom-nav-svg .mobile-prospekt-link{
    color:#111;
    background:linear-gradient(145deg,#ffe95c,#ffd316);
    box-shadow:0 10px 25px rgba(255,205,0,.29),inset 0 1px 0 rgba(255,255,255,.62);
    transform:translateY(-7px);
    min-height:63px;
    border-radius:21px;
  }
}

@media (min-width:981px){.standalone-page .mobile-bottom-nav-svg{display:none!important}}

@media (min-width:981px){
  .standalone-page .nav{
    min-height:86px;
    padding:8px 14px;
  }

  .standalone-page .brand{
    width:154px;
    min-width:154px;
    height:44px;
  }

  .standalone-page .site-logo{width:154px}
}

@media (max-width:980px){
  /* News-Slider: dieselbe kompakte Mobile-Komposition auf allen Seiten. */
  #highlights .news-slider-shell{
    padding:12px 0 10px!important;
    border-radius:28px!important;
    overflow:visible!important;
  }

  #highlights .news-slider-top,
  #highlights .news-slider-controls{
    display:none!important;
  }

  #highlights .news-slider-window{
    overflow:visible!important;
    padding:0!important;
  }

  #highlights .news-slider-track{
    gap:16px!important;
    padding:6px 14vw 12px 14px!important;
    margin-left:-18px!important;
    margin-right:-18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:14px!important;
    scrollbar-width:none!important;
  }

  #highlights .news-slider-track::-webkit-scrollbar{display:none!important}

  #highlights .news-slide-card{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    border-radius:28px!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }

  #highlights .news-slide-image,
  #highlights .news-slide-card.featured .news-slide-image{
    height:184px!important;
    min-height:0!important;
  }

  #highlights .news-slide-content{padding:20px!important}
  #highlights .news-slide-content h3{font-size:1.55rem!important;line-height:1.04!important}
  #highlights .news-slide-content p{font-size:.92rem!important;line-height:1.48!important}
  #highlights .news-slide-more{font-size:.84rem!important}

  #highlights .news-progress{display:none!important}
}

@media (max-width:980px){
  html body #highlights .news-slider-shell{padding:12px 0 10px!important;border-radius:28px!important;overflow:visible!important}
  html body #highlights .news-slider-window{overflow:visible!important;padding:0!important}
  html body #highlights .news-slider-track{gap:16px!important;padding:6px 14vw 12px 14px!important;margin-left:-18px!important;margin-right:-18px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:14px!important;scrollbar-width:none!important}
  html body #highlights .news-slide-card{width:100%!important;min-height:0!important;height:auto!important;border-radius:28px!important;overflow:hidden!important;scroll-snap-align:start!important;scroll-snap-stop:always!important}
  html body #highlights .news-slide-image,
  html body #highlights .news-slide-card.featured .news-slide-image{height:184px!important;min-height:0!important}
  html body #highlights .news-slide-content{padding:20px!important}
  html body #highlights .news-progress{display:none!important}
}

@media (max-width:640px){
  .card-actions{margin-top:14px}
  .contact-action{font-size:.7rem;padding:7px 11px}
}

/* Abteilungen: kontrolliertes Bento-Raster mit sauberem Abschluss */
.hero h1 .gradient{
  box-sizing:content-box;
  overflow:visible;
  padding-top:.14em;
  margin-top:-.08em;
}

#abteilungen .section-title{
  max-width:100%;
  font-size:clamp(3.4rem, 6.4vw, 6.8rem)!important;
  line-height:.92!important;
}

@media (min-width:1181px){
  #abteilungen .section-head{
    margin-bottom:46px;
  }

  #abteilungen .department-gallery{
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    grid-template-rows:repeat(2, 230px) 210px!important;
    grid-auto-rows:210px!important;
    gap:18px!important;
  }

  #abteilungen .dept-gallery-card{
    min-height:0!important;
    border-radius:32px!important;
  }

  #abteilungen .dept-gallery-card.large{
    grid-column:span 2!important;
    grid-row:span 2!important;
  }

  #abteilungen .dept-gallery-card.wide{
    grid-column:1 / -1!important;
    grid-row:auto!important;
  }

  #abteilungen .dept-gallery-card.wide img{
    object-position:center 52%;
  }

  #abteilungen .dept-label{
    padding:24px!important;
  }

  #abteilungen .dept-gallery-card:not(.large):not(.wide) .dept-label h3{
    font-size:clamp(1.35rem, 2vw, 2.05rem)!important;
    line-height:1!important;
  }
}

@media (min-width:641px) and (max-width:1180px){
  #abteilungen .section-title{
    font-size:clamp(3rem, 9vw, 5rem)!important;
  }

  #abteilungen .section-head{
    margin-bottom:34px;
  }

  #abteilungen .department-gallery{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:300px!important;
    gap:16px!important;
    overflow:visible!important;
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  #abteilungen .dept-gallery-card,
  #abteilungen .dept-gallery-card.large,
  #abteilungen .dept-gallery-card.wide{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:0!important;
    width:auto!important;
    border-radius:28px!important;
  }

  #abteilungen .dept-label{
    padding:22px!important;
  }

  #abteilungen .dept-label h3{
    font-size:clamp(1.55rem, 3.5vw, 2.35rem)!important;
    line-height:1!important;
  }

  #abteilungen .dept-label p{
    display:none;
  }
}

@media (max-width:640px){
  #abteilungen .section-title{
    font-size:clamp(2.5rem, 12vw, 4rem)!important;
  }

  #abteilungen .department-gallery{
    grid-auto-rows:330px!important;
  }

  #abteilungen .dept-gallery-card,
  #abteilungen .dept-gallery-card.large,
  #abteilungen .dept-gallery-card.wide{
    min-height:330px!important;
    border-radius:26px!important;
  }

  #abteilungen .dept-label{
    padding:22px!important;
  }

  #abteilungen .dept-label h3{
    font-size:clamp(1.75rem, 8vw, 2.45rem)!important;
    line-height:1!important;
  }

  #abteilungen .dept-label p{
    display:none;
  }
}

.site-footer{border-radius:42px!important}

/* Main-Seite: hervorgehobene Inhaltskarten bleiben hell wie im restlichen Auftritt. */
.main-page .market-card.featured{
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(0,112,255,.12),transparent 32%),
    radial-gradient(circle at 8% 100%,rgba(255,221,0,.15),transparent 28%),
    rgba(255,255,255,.74)!important;
}
.main-page .market-card.featured .market-watermark{color:var(--blue)!important;opacity:.055!important}
.main-page .market-card.featured .market-content p{color:var(--muted)!important}
.main-page .market-card.featured .market-link{color:#fff!important;background:var(--blue)!important}

.main-page .app-section{
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 92% 6%,rgba(0,112,255,.15),transparent 32%),
    radial-gradient(circle at 5% 95%,rgba(255,221,0,.17),transparent 30%),
    rgba(255,255,255,.76)!important;
  backdrop-filter:blur(28px) saturate(1.22);
  -webkit-backdrop-filter:blur(28px) saturate(1.22);
}
.main-page .app-section .app-bg-icon{color:var(--blue)!important;opacity:.045!important}
.main-page .app-copy h2 span{color:var(--blue)!important}
.main-page .app-copy p{color:var(--muted)!important;font-weight:650}
.main-page .phone{
  background:rgba(0,80,164,.15)!important;
  border-color:rgba(0,80,164,.26)!important;
  box-shadow:0 28px 78px rgba(0,57,122,.22),inset 0 1px 0 rgba(255,255,255,.58)!important;
}
.main-page .phone-card{color:var(--ink)!important;background:rgba(0,80,164,.075)!important}
.main-page .phone-card.yellow{color:var(--ink)!important;background:rgba(255,221,0,.32)!important}

.main-page .prospekt-market-entry{
  color:var(--ink)!important;
  border-radius:var(--site-feature-radius)!important;
  border:var(--site-card-border)!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(0,112,255,.13),transparent 30%),
    radial-gradient(circle at 8% 100%,rgba(255,221,0,.16),transparent 28%),
    rgba(255,255,255,.76)!important;
  box-shadow:var(--site-card-shadow)!important;
  backdrop-filter:blur(28px) saturate(1.22);
  -webkit-backdrop-filter:blur(28px) saturate(1.22);
}
.main-page .prospekt-market-entry h2 span{color:var(--blue)!important}
.main-page .prospekt-market-entry p{color:var(--muted)!important}
.main-page .prospekt-market-entry .prospekt-kicker{color:var(--blue)!important;background:rgba(0,80,164,.07)!important;border-color:rgba(0,80,164,.10)!important}

@media (max-width:640px){
  :root{--site-card-radius:28px;--site-feature-radius:34px}
  .mini-card,.market-card,.service-card,.job-card,.contact-panel,.info-card,.service-item,
  .news-card,.contact-card,.quick-panel,.job,.benefit,.chapter,.legal-intro,.toc{
    border-radius:var(--site-card-radius)!important;
  }
  .career-section,.app-section,.team-banner,.board-main,.sortiment-feature,
  .prospekt-showcase,.apply{border-radius:var(--site-feature-radius)!important}
  .site-footer{border-radius:30px!important}
}

@media (prefers-reduced-motion:reduce){
  .market-card,.service-card,.job-card,.info-card,.service-item,.news-card,
  .contact-card,.quick-panel,.job,.benefit,.chapter{transition:none!important}
}

/* Main-Header: dunkle Stein-/Betontextur wie in der gelieferten Vorlage. */
.main-page .cinema::before{
  background-color:#27282a!important;
  background-image:
    linear-gradient(115deg,rgba(0,0,0,.72),rgba(24,26,28,.34) 48%,rgba(0,0,0,.62)),
    radial-gradient(ellipse at 72% 18%,rgba(255,255,255,.18),transparent 40%),
    radial-gradient(ellipse at 20% 82%,rgba(0,0,0,.72),transparent 54%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.055' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.58'/%3E%3C/svg%3E")!important;
  background-size:cover,cover,cover,360px 360px!important;
  background-position:center!important;
  filter:none!important;
}

.main-page .cinema::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.08) 48%,rgba(0,0,0,.52));
}

@media (max-width:980px){
  .standalone-page .site-footer .footer-brand h2{font-size:clamp(2.4rem,12vw,4rem)!important;line-height:.84!important}
  .standalone-page .site-footer .footer-brand p{font-size:1rem!important;line-height:1.65!important;font-weight:800!important}
  .standalone-page .site-footer .footer-markets a{font-size:.84rem!important;line-height:1!important;font-weight:950!important}
  .standalone-page .site-footer .footer-bottom,
  .standalone-page .site-footer .footer-legal a{font-size:1rem!important;line-height:1!important;font-weight:850!important}
}
