/* NEXUS Corporate Refinement 1.0
   Ruhigere, filigranere B2B-Unternehmenswirkung.
   Produktvisualisierungen bleiben unangetastet; verfeinert werden Typografie,
   Abstände, redaktionelle Labels, Kartenrahmung und Bedienelemente. */

:root{
  --nx-space-section:clamp(60px,7vw,92px);
  --nx-radius-xs:6px;
  --nx-radius-sm:8px;
  --nx-radius-md:12px;
  --nx-radius-lg:16px;
  --nx-shadow-soft:0 8px 24px rgba(13,26,43,.07);
  --nx-shadow-hover:0 12px 30px rgba(13,26,43,.10);
  --nx-border-soft:#DDE5EE;
}

/* ---------- Grundton: etwas feiner und weniger werblich ---------- */
body{
  font-size:16px;
  line-height:1.62;
}
body main h1{
  font-weight:650!important;
  letter-spacing:-.018em!important;
  margin-bottom:18px!important;
}
body main h2{
  font-weight:620!important;
  letter-spacing:-.014em!important;
}
body main h3{
  font-weight:620;
  letter-spacing:-.01em;
}
body main p{line-height:1.68}

/* Hero-Texte kompakter; echte Produktgrafiken werden nicht verändert. */
.hero-lead,
.by-hero-lead,.co-hero-lead,
[class*="hero-lead"]{
  font-size:clamp(.96rem,1.05vw,1.07rem)!important;
  line-height:1.65!important;
}

/* ---------- Kleine Abschnittskennzeichnungen als feine Corporate-Labels ---------- */
.eyebrow,
[class$="-eyebrow"],
[class*="-eyebrow-"]{
  display:inline-flex!important;
  align-items:center;
  width:auto;
  max-width:100%;
  padding:5px 9px!important;
  margin-bottom:14px!important;
  border:1px solid rgba(10,108,240,.20)!important;
  border-radius:var(--nx-radius-xs)!important;
  background:#F6F9FD!important;
  color:#0A5FCF!important;
  font-size:.70rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.075em!important;
  text-transform:uppercase;
}
/* Labels im dunklen Hero bleiben dezent und hell. */
main>section:first-child .eyebrow,
main>section:first-child [class$="-eyebrow"],
main>section:first-child [class*="-eyebrow-"]{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(138,190,255,.24)!important;
  color:#CFE3FF!important;
}

/* ---------- Hero weniger monumental ---------- */
.hero-grid,
.by-hero-grid,.cl-grid,.cw-hero-grid,.cg-grid,.ds-grid,.dz-grid,.gs-grid,.hp-grid,
.kd-grid,.ct-grid,.ls-hero-grid,.pt-grid,.rc-hero-grid,.si-grid,.tv-grid,.zs-hero-grid{
  padding-top:18px!important;
  padding-bottom:48px!important;
  min-height:0!important;
  gap:clamp(24px,3.2vw,46px)!important;
}
.co-hero-inner{padding-top:30px!important;padding-bottom:72px!important}
.im-grid{padding-top:28px!important;padding-bottom:64px!important}
.hero-meta{margin-top:28px!important;font-size:.82rem!important}
.button-row{margin-top:26px!important}

/* Hero-/Info-Strips schmaler. */
.hero-bottom-strip .container,
.by-hero-strip .container,.cw-hero-strip .container,.ls-hero-bottom .container,
.cl-strip .container,.cg-strip .container,.ds-strip .container,.dz-strip .container,
.gs-strip .container,.hp-strip .container,.im-strip .container,.kd-strip .container,
.ct-strip .container,.pt-strip .container,.rc-strip .container,.si-strip .container,
.tv-strip .container,.zs-strip .container{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.hero-bottom-strip span,
.by-hero-strip span,.cw-hero-strip span,.ls-hero-bottom span,
.cl-strip span,.cg-strip span,.ds-strip span,.dz-strip span,.gs-strip span,
.hp-strip span,.im-strip span,.kd-strip span,.ct-strip span,.pt-strip span,
.rc-strip span,.si-strip span,.tv-strip span,.zs-strip span{
  font-size:.84rem!important;
}

/* ---------- Abschnittsabstände: mehr Editorial, weniger Landingpage ---------- */
.section,.cl-section,.cg-section,.ds-section,.dz-section,.gs-section,.hp-section,
.im-section,.kd-section,.ct-section,.pt-section,.si-section,.tv-section,
.clx,.hpx-terms,.hpx-is,.ptx,.rcx-arrive,.cwx-benefit,
.zs-system,.zs-journey,.zs-impact,.zs-final{
  padding-top:var(--nx-space-section)!important;
  padding-bottom:var(--nx-space-section)!important;
}
.zs-status,.ct-end{padding-top:clamp(54px,6vw,76px)!important;padding-bottom:clamp(54px,6vw,76px)!important}
.section-split{margin-bottom:38px!important;gap:6%!important}
.intro-copy p,.section-split>p{font-size:.97rem!important;line-height:1.7!important}

/* ---------- Bedienelemente: kompakter und präziser ---------- */
.btn{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:7px!important;
  gap:8px!important;
  font-size:.90rem!important;
  font-weight:630!important;
  box-shadow:none!important;
}
.header-cta{border-radius:7px!important;padding:9px 15px!important;font-size:.88rem!important}
.text-link,.card-link{font-size:.90rem!important;font-weight:630!important}
.text-link{margin-top:28px!important}

/* Formulare und kleine UI-Flächen weniger rund. */
main input,main select,main textarea{border-radius:8px!important}
.dropdown{border-radius:8px!important;box-shadow:0 14px 34px rgba(5,12,24,.18)!important}
.dropdown a{border-radius:5px!important}

/* ---------- Gemeinsame Startseiten-Komponenten ---------- */
.principle{
  border-radius:12px!important;
  padding:24px 23px 26px!important;
  box-shadow:none!important;
}
.principle-icon{width:42px!important;height:42px!important;border-radius:10px!important;margin-bottom:18px!important}
.world-card{border-radius:12px!important;box-shadow:none!important}
.world-card:hover{transform:translateY(-1px)!important;box-shadow:var(--nx-shadow-hover)!important}
.journey-panel{border-radius:14px!important;padding:26px!important}
.trust-shell{border-radius:16px!important;padding:clamp(34px,4.8vw,58px)!important}
.contact-card{border-radius:14px!important;padding:clamp(24px,3vw,34px)!important;box-shadow:var(--nx-shadow-soft)!important}

/* ---------- Inhaltliche Karten: weniger "App-Card", mehr Dokument-/Corporate-Look ---------- */
.co-principles>article,
.hp-value-grid>article,.pt-value-grid>article,.rc-modules>article,
.dz-rights>article,.si-cards>article,.si-chain>article,.ls-module-list>article,
.gs-benefits>article,.ds-proof>article,.ds-cards>article,.cg-three>article,.cl-three>article,
.cwx-cards>article,.cw-boundary-stack>article,.pt-band-list>article,.trust-stack>article,
.kd-question-list>article,.kd-benefit-grid>article,.rcx-cards>article,.rc-arch-row>article,
.si-steps>article,.tv-values-grid>article,.hpx-col>article,
.principle,.world-card,.by-feature,.im-card,.kd-prod,.zs-trip-card,.tvx-panel{
  border-radius:10px!important;
  box-shadow:none!important;
}

/* Card-Titel bewusst klein und sachlich. */
main article h3,
.principle h3,.world-card h3,.contact-card h3{
  font-size:clamp(.94rem,1.08vw,1.08rem)!important;
  line-height:1.3!important;
  font-weight:650!important;
  letter-spacing:-.005em!important;
}
main article p{font-size:.94rem;line-height:1.65}

/* Hover nur noch als feines Feedback, nicht als schwebende Landingpage-Karte. */
.co-principles>article:hover,
.hp-value-grid>article:hover,.pt-value-grid>article:hover,.rc-modules>article:hover,
.dz-rights>article:hover,.si-cards>article:hover,.ls-module-list>article:hover,
.gs-benefits>article:hover,.ds-cards>article:hover,.cg-three>article:hover,.cl-three>article:hover,
.cwx-cards>article:hover,.pt-band-list>article:hover,.trust-stack>article:hover,
.kd-question-list>article:hover,.rcx-cards>article:hover,.tv-values-grid>article:hover,
.principle:hover,.by-feature:hover,.im-card:hover,.kd-prod:hover,.zs-trip-card:hover,.tvx-panel:hover{
  transform:translateY(-1px)!important;
  box-shadow:var(--nx-shadow-hover)!important;
}

/* Große Kontakt-/Abschlusskarten ebenfalls zurückhaltender. */
.cg-end-card,.cl-end-card,.cw-final-card,.hp-final-card,.pt-final-card,.rc-final-card,
.zs-final-card,.kd-cta-card,.dz-card,.ct-form-card,.co-contact-panel,.ls-contact-panel,
.si-lab-box,.tv-panel,.tv-contact{
  border-radius:14px!important;
  box-shadow:var(--nx-shadow-soft)!important;
}

/* Modale/Dialogs bleiben funktional, aber visueller Radius zurückhaltender. */
.preview-dialog,dialog{border-radius:12px!important}

@media(max-width:900px){
  .hero-grid,.by-hero-grid,.cl-grid,.cw-hero-grid,.cg-grid,.ds-grid,.dz-grid,.gs-grid,.hp-grid,
  .kd-grid,.ct-grid,.ls-hero-grid,.pt-grid,.rc-hero-grid,.si-grid,.tv-grid,.zs-hero-grid{
    padding-bottom:40px!important;
  }
  .section,.cl-section,.cg-section,.ds-section,.dz-section,.gs-section,.hp-section,
  .im-section,.kd-section,.ct-section,.pt-section,.si-section,.tv-section,
  .clx,.hpx-terms,.hpx-is,.ptx,.rcx-arrive,.cwx-benefit,
  .zs-system,.zs-journey,.zs-impact,.zs-final{
    padding-top:clamp(48px,8vw,68px)!important;
    padding-bottom:clamp(48px,8vw,68px)!important;
  }
}

@media(max-width:600px){
  body{font-size:15.5px}
  .eyebrow,[class$="-eyebrow"],[class*="-eyebrow-"]{
    font-size:.66rem!important;
    padding:4px 7px!important;
    letter-spacing:.065em!important;
  }
  .btn{min-height:42px!important;padding:0 15px!important}
  .principle{padding:20px!important}
  .journey-panel{padding:20px!important}
}
