/* Leotron page-specific styles — consolidated production basis V0.1 */
/* =========================================================
   Program & Project Management subpage V0.1
   Derived from frozen homepage design V0.3
   ========================================================= */

.nav-link.active { color: var(--burgundy); font-weight: 650; }

.dropdown a.current, .mobile-subnav a.current { color: var(--burgundy); font-weight: 650; background: var(--neutral); }

.subhero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(105deg, #fff 0%, #fff 61%, #f7f7f8 61%, #f0f0f2 100%);
  border-bottom: 1px solid var(--line);
}

.subhero .hero-grid { inset: 0 0 0 66%; }

.subhero-lion {
  position: absolute;
  right: 1vw;
  bottom: -4rem;
  width: min(38vw, 540px);
  opacity: .05;
}

.subhero-inner { position: relative; padding-block: 58px 64px; }

.subhero-copy { max-width: 900px; }

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin-bottom: 34px;
  color: var(--muted);
  font-size: .82rem;
}

.breadcrumbs a:hover { color: var(--burgundy); }

.breadcrumbs strong { color: var(--ink); font-weight: 600; }

.subhero h1 {
  margin: 0;
  color: var(--charcoal);
  font-size: clamp(3rem, 5.2vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.05em;
  font-weight: 650;
}

.subhero-claim {
  max-width: 900px;
  margin: 20px 0 0;
  color: var(--burgundy);
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  line-height: 1.25;
  font-weight: 600;
}

.subhero-lead {
  max-width: 850px;
  margin: 22px 0 0;
  color: #4f5159;
  font-size: 1.05rem;
  line-height: 1.7;
}

.subhero-meta { margin: 18px 0 0; color: var(--muted); font-size: .92rem; font-weight: 500; }

.intro-section { padding-top: 84px; padding-bottom: 84px; }

.intro-split { margin-bottom: 0; align-items: start; }

.intro-copy p { margin: 0 0 14px; color: var(--muted); font-size: 1.02rem; }

.capability-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.capability-card {
  position: relative;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--line);
  min-height: 350px;
}

.capability-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--burgundy);
}

.capability-card h3 { margin: 0 0 14px; font-size: 1.25rem; line-height: 1.18; color: var(--charcoal); }

.capability-card p { margin: 0 0 12px; color: #555860; }

.capability-card .keywords { margin-bottom: 18px; }

.program-lifecycle { grid-template-columns: repeat(7, 1fr); }

.program-lifecycle::before { left: 2.7%; right: 3.5%; }

.program-statement .statement-inner { grid-template-columns: 1.2fr .8fr; align-items: center; }

.statement-list { display: grid; gap: 10px; }

.statement-list p { margin: 0 !important; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.84) !important; font-size: .94rem !important; }

.environment-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

.environment-card {
  position: relative;
  min-height: 220px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  transition: .2s ease;
}

.environment-card:hover, .environment-card:focus-visible { transform: translateY(-3px); border-color: #c9c9cf; box-shadow: var(--shadow-soft); outline: none; }

.environment-card > span { color: var(--burgundy); font-size: .76rem; font-weight: 700; letter-spacing: .12em; }

.environment-card h3 { margin: 34px 0 10px; color: var(--charcoal); font-size: 1.14rem; line-height: 1.18; }

.environment-card p { margin: 0; color: var(--muted); font-size: .9rem; }

.environment-card b { position: absolute; right: 20px; bottom: 18px; color: var(--burgundy); font-size: 1.2rem; }

.mandates-section { padding-top: 82px; padding-bottom: 82px; }

.mandates-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: end; }

.mandates-grid h2 { margin: 0; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.08; letter-spacing: -.03em; }

.mandate-list { margin: 0; color: var(--muted); font-size: 1.06rem; line-height: 1.8; }

@media (max-width: 1100px) {
  .capability-grid { grid-template-columns: 1fr 1fr; }
  .environment-grid { grid-template-columns: 1fr 1fr; }
  .program-lifecycle { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 860px) {
  .subhero { background: linear-gradient(180deg, #fff 0%, #fff 78%, #f4f4f5 100%); }
  .subhero .hero-grid { inset: 58% 0 0 0; mask-image: linear-gradient(180deg, transparent, #000); }
  .subhero-lion { width: 64vw; right: -16vw; bottom: -2rem; opacity: .04; }
  .subhero-inner { padding-block: 42px 48px; }
  .breadcrumbs { margin-bottom: 24px; }
  .subhero h1 { font-size: clamp(2.7rem, 10vw, 4.6rem); }
  .subhero-claim { font-size: 1.4rem; }
  .intro-section { padding-top: 62px; padding-bottom: 62px; }
  .program-statement .statement-inner { grid-template-columns: 1fr; }
  .mandates-grid { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 560px) {
  .subhero-inner { padding-top: 34px; padding-bottom: 40px; }
  .breadcrumbs { font-size: .76rem; gap: .35rem; }
  .subhero h1 { font-size: 2.55rem; line-height: 1.02; }
  .subhero-claim { font-size: 1.22rem; }
  .subhero-lead { font-size: .96rem; line-height: 1.58; }
  .subhero-meta { font-size: .8rem; }
  .capability-grid, .environment-grid { grid-template-columns: 1fr; }
  .capability-card { min-height: 0; padding: 20px; }
  .environment-card { min-height: 0; padding: 20px 20px 48px; }
  .environment-card h3 { margin-top: 18px; }
  .program-lifecycle { display: block; }
  .mandates-section { padding-top: 56px; padding-bottom: 56px; }
}

/* =========================================================
   Program & Project Management subpage V0.2
   Design-Freigabekandidat · 16.10.2026
   Fine-tuning only: hero, cards, lifecycle, environments,
   mandates and mobile density. No structural redesign.
   ========================================================= */

/* Hero: slightly more compact while retaining the V0.1 hierarchy */

.subhero-inner {
  padding-block: 48px 52px;
}

.breadcrumbs {
  margin-bottom: 28px;
}

.subhero h1 {
  font-size: clamp(2.9rem, 5vw, 5.15rem);
}

.subhero-claim {
  margin-top: 18px;
}

.subhero-lead {
  margin-top: 20px;
}

.subhero-meta {
  margin-top: 16px;
}

/* Capability grid: keep 3×2 desktop, reduce artificial vertical mass */

.capability-grid {
  align-items: stretch;
}

.capability-card {
  min-height: 320px;
  padding: 23px;
}

.capability-card .card-index {
  margin-bottom: 16px;
}

.capability-card h3 {
  margin-bottom: 12px;
}

.capability-card .keywords {
  margin-bottom: 14px;
}

.capability-card > p:last-child {
  line-height: 1.52;
}

/* Lifecycle: preserve all seven phases, improve line and labels */

.program-lifecycle::before {
  height: 2px;
  background: linear-gradient(90deg, var(--burgundy), #a5a6ac);
}

.program-lifecycle .lifecycle-item strong {
  font-size: .98rem;
  font-weight: 650;
}

.program-lifecycle .lifecycle-item small {
  color: #50535a;
}

/* Project environments: same link-card system, slightly tighter */

.environment-card {
  min-height: 205px;
  padding: 20px;
}

.environment-card h3 {
  margin-top: 28px;
}

.environment-card b {
  right: 18px;
  bottom: 16px;
}

/* Mandates: convert dense role sentence into understated chips */

.mandates-section {
  padding-top: 70px;
  padding-bottom: 70px;
}

.mandates-grid {
  grid-template-columns: .8fr 1.2fr;
  gap: 52px;
  align-items: center;
}

.mandate-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-content: center;
}

.mandate-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: .55rem .75rem;
  border: 1px solid #d2d2d7;
  background: #fff;
  color: #565960;
  font-size: .88rem;
  font-weight: 550;
  line-height: 1.25;
}

@media (max-width: 1100px) {
  .capability-card {
    min-height: 285px;
  }
}

@media (max-width: 860px) {
  .subhero-inner {
    padding-block: 36px 40px;
  }
  .breadcrumbs {
    margin-bottom: 20px;
  }
  .intro-section {
    padding-top: 54px;
    padding-bottom: 54px;
  }
  .capability-card {
    min-height: 0;
    padding: 21px;
  }
  .mandates-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .mandates-grid {
    gap: 18px;
  }
}

@media (max-width: 560px) {
  .subhero-inner {
    padding-top: 28px;
    padding-bottom: 32px;
  }
  .breadcrumbs {
    margin-bottom: 16px;
  }
  .subhero h1 {
    font-size: 2.38rem;
  }
  .subhero-claim {
    margin-top: 15px;
    font-size: 1.16rem;
  }
  .subhero-lead {
    margin-top: 16px;
  }
  .subhero-meta {
    margin-top: 13px;
  }
  .intro-section {
    padding-top: 46px;
    padding-bottom: 46px;
  }
  .capability-grid {
    gap: 12px;
  }
  .capability-card {
    padding: 18px;
  }
  .capability-card .card-index {
    margin-bottom: 12px;
  }
  .capability-card .keywords {
    margin-bottom: 11px;
  }
  .program-lifecycle {
    margin-top: 28px;
  }
  .program-lifecycle .lifecycle-item {
    padding-bottom: 20px;
  }
  .environment-grid {
    gap: 12px;
  }
  .environment-card {
    min-height: 0;
    padding: 17px 17px 43px;
  }
  .environment-card h3 {
    margin-top: 15px;
  }
  .mandates-section {
    padding-top: 44px;
    padding-bottom: 44px;
  }
  .mandate-tags {
    gap: 8px;
  }
  .mandate-tags span {
    min-height: 34px;
    padding: .48rem .65rem;
    font-size: .82rem;
  }
}

/* Manufacturing & Operations page V0.1 */

.manufacturing-lifecycle { grid-template-columns: repeat(6, 1fr); }

.manufacturing-lifecycle::before { left: 3.2%; right: 4.1%; }

.manufacturing-statement-inner { grid-template-columns: .9fr 1.1fr; align-items: center; }

.statement-copy-only p { margin: 0; color: rgba(255,255,255,.82); font-size: 1.05rem; line-height: 1.7; }

.manufacturing-situation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.situation-card { background: #fff; border: 1px solid var(--line); padding: 24px; min-height: 150px; }

.situation-card span { display: block; color: var(--burgundy); font-size: .74rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 18px; }

.situation-card p { margin: 0; color: #454850; line-height: 1.55; font-weight: 500; }

.manufacturing-related-grid { grid-template-columns: repeat(3, 1fr); }

.related-section { padding-top: 86px; padding-bottom: 86px; }

@media (max-width: 1100px) {
  .manufacturing-lifecycle { grid-template-columns: repeat(3, 1fr); row-gap: 36px; }
  .manufacturing-lifecycle::before { display: none; }
  .manufacturing-situation-grid { grid-template-columns: 1fr 1fr; }
  .manufacturing-related-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  .manufacturing-statement-inner { grid-template-columns: 1fr; }
  .manufacturing-situation-grid, .manufacturing-related-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .manufacturing-lifecycle { display: block; }
  .manufacturing-lifecycle .lifecycle-item { padding-bottom: 22px; }
  .situation-card { min-height: 0; padding: 20px; }
  .related-section { padding-top: 56px; padding-bottom: 56px; }
}

/* Manufacturing & Operations page V0.2 – design fine tuning */

@media (min-width: 1101px) {
  .manufacturing-situation-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
  }
  .manufacturing-situation-grid .situation-card { grid-column: span 2; }
  .manufacturing-situation-grid .situation-card:nth-child(4) { grid-column: 2 / span 2; }
  .manufacturing-situation-grid .situation-card:nth-child(5) { grid-column: 4 / span 2; }
}

.manufacturing-page .related-section {
  padding-top: 72px;
  padding-bottom: 72px;
}

.manufacturing-page .manufacturing-related-grid .environment-card {
  min-height: 0;
  padding: 18px 18px 42px;
}

.manufacturing-page .manufacturing-related-grid .environment-card h3 {
  margin-top: 14px;
  margin-bottom: 8px;
}

.manufacturing-page .manufacturing-related-grid .environment-card p {
  font-size: .93rem;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .manufacturing-situation-grid .situation-card:nth-child(4),
  .manufacturing-situation-grid .situation-card:nth-child(5) { grid-column: auto; }
}

@media (max-width: 560px) {
  .manufacturing-page .section { padding-top: 48px; padding-bottom: 48px; }
  .manufacturing-page .intro-section { padding-top: 48px; padding-bottom: 48px; }
  .manufacturing-page .statement-section { padding-top: 50px; padding-bottom: 50px; }
  .manufacturing-page .related-section { padding-top: 46px; padding-bottom: 46px; }
  .manufacturing-page .situation-card { padding: 17px 18px; }
  .manufacturing-page .situation-card span { margin-bottom: 12px; }
  .manufacturing-page .manufacturing-related-grid .environment-card { padding: 16px 16px 38px; }
  .manufacturing-page .manufacturing-lifecycle .lifecycle-item { padding-bottom: 18px; }
}

/* =========================================================
   ERP, MES & Manufacturing Systems page V0.2
   Derived from frozen subpage design system · 16.10.2026
   ========================================================= */

.erp-page .subhero-copy { max-width: 980px; }

.erp-page .subhero h1 { max-width: 940px; font-size: clamp(2.8rem, 4.8vw, 4.95rem); }

.erp-page .subhero-lead { max-width: 910px; }

.erp-page .erp-capability-grid .capability-card { min-height: 335px; }

.erp-page .erp-ai-card {
  background: linear-gradient(180deg, rgba(69,0,26,.035), #fff 28%);
  border-color: #cfbec5;
}

.erp-page .erp-ai-card::before { width: 4px; }

.erp-lifecycle { grid-template-columns: repeat(6, 1fr); }

.erp-lifecycle::before { left: 3.2%; right: 4.1%; height: 2px; background: linear-gradient(90deg, var(--burgundy), #a5a6ac); }

.erp-lifecycle .lifecycle-item strong { font-size: .96rem; font-weight: 650; }

.erp-lifecycle .lifecycle-item small { color: #50535a; }

.erp-statement-inner { grid-template-columns: .9fr 1.1fr; align-items: center; }

.erp-situation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.erp-systems-section { padding-top: 72px; padding-bottom: 72px; border-top: 1px solid var(--line); }

.erp-system-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

.erp-system-card { position: relative; min-height: 190px; padding: 22px; border: 1px solid var(--line); background: var(--neutral); }

.erp-system-card::before { content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:var(--burgundy); }

.erp-system-card span { display:block; color:var(--burgundy); font-size:.73rem; font-weight:700; letter-spacing:.12em; line-height:1.35; }

.erp-system-card h3 { margin: 34px 0 0; color:var(--charcoal); font-size:1.05rem; line-height:1.45; font-weight:600; }

.erp-related-grid { grid-template-columns: repeat(3, 1fr); }

.erp-page .related-section { padding-top: 72px; padding-bottom: 72px; }

.erp-page .erp-related-grid .environment-card { min-height: 0; padding: 18px 18px 42px; }

.erp-page .erp-related-grid .environment-card h3 { margin-top: 14px; margin-bottom: 8px; }

.erp-page .erp-related-grid .environment-card p { font-size: .93rem; line-height: 1.5; }

@media (max-width: 1100px) {
  .erp-page .erp-capability-grid .capability-card { min-height: 300px; }
  .erp-lifecycle { grid-template-columns: repeat(3, 1fr); row-gap: 36px; }
  .erp-lifecycle::before { display:none; }
  .erp-situation-grid { grid-template-columns: 1fr 1fr; }
  .erp-system-grid { grid-template-columns: 1fr 1fr; }
  .erp-related-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  .erp-statement-inner { grid-template-columns:1fr; }
  .erp-situation-grid, .erp-system-grid, .erp-related-grid { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .erp-page .subhero h1 { font-size: 2.25rem; }
  .erp-page .section { padding-top: 48px; padding-bottom: 48px; }
  .erp-page .intro-section { padding-top: 48px; padding-bottom: 48px; }
  .erp-page .statement-section { padding-top: 50px; padding-bottom: 50px; }
  .erp-page .erp-capability-grid .capability-card { min-height:0; padding:17px 18px; }
  .erp-page .erp-capability-grid .capability-card .keywords { margin-bottom: 11px; }
  .erp-lifecycle { display:block; }
  .erp-lifecycle .lifecycle-item { padding-bottom:18px; }
  .erp-page .situation-card { padding:17px 18px; }
  .erp-page .situation-card span { margin-bottom:12px; }
  .erp-systems-section { padding-top:46px; padding-bottom:46px; }
  .erp-system-card { min-height:0; padding:18px; }
  .erp-system-card h3 { margin-top:16px; font-size:.98rem; }
  .erp-page .related-section { padding-top:46px; padding-bottom:46px; }
  .erp-page .erp-related-grid .environment-card { padding:16px 16px 38px; }
}

/* =========================================================
   ERP/MES V0.2 design fine-tuning
   - AI-enabled field subtly featured
   - mobile system environments condensed
   - mobile vertical density reduced without content cuts
   ========================================================= */

.erp-page .erp-ai-card {
  background: linear-gradient(180deg, rgba(69,0,26,.052), #fff 30%);
  border-color: #c8b2bb;
  box-shadow: inset 0 3px 0 rgba(69,0,26,.16);
}

.erp-page .erp-ai-card::before {
  transform: scaleY(1);
  opacity: .5;
}

.erp-page .erp-ai-card .keywords { margin-bottom: 11px; }

.erp-page .erp-ai-card p { margin-bottom: 10px; }

.erp-page .erp-ai-card p:last-child { margin-bottom: 0; }

@media (max-width: 560px) {
  .erp-page .subhero-inner { padding-top: 30px; padding-bottom: 34px; }
  .erp-page .section { padding-top: 42px; padding-bottom: 42px; }
  .erp-page .intro-section { padding-top: 42px; padding-bottom: 42px; }
  .erp-page .statement-section { padding-top: 46px; padding-bottom: 46px; }
  .erp-page .section-heading,
  .erp-page .compact-heading { margin-bottom: 30px; }

  .erp-page .erp-capability-grid .capability-card { padding: 15px 16px; }
  .erp-page .erp-capability-grid .capability-card .card-index { margin-bottom: 14px; }
  .erp-page .erp-capability-grid .capability-card h3 { margin-bottom: 11px; }
  .erp-page .erp-capability-grid .capability-card p { line-height: 1.5; }
  .erp-page .erp-ai-card { box-shadow: inset 0 2px 0 rgba(69,0,26,.16); }

  .erp-lifecycle .lifecycle-item { padding-bottom: 14px; }
  .erp-page .situation-card { padding: 15px 16px; }
  .erp-page .situation-card span { margin-bottom: 10px; }

  .erp-systems-section { padding-top: 40px; padding-bottom: 40px; }
  .erp-system-grid { gap: 10px; }
  .erp-system-card {
    min-height: 0;
    padding: 13px 15px 13px 18px;
    display: grid;
    grid-template-columns: minmax(92px, .72fr) minmax(0, 1.65fr);
    align-items: start;
    gap: 12px;
    background: #fafafa;
  }
  .erp-system-card::before {
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
  }
  .erp-system-card span {
    font-size: .67rem;
    letter-spacing: .09em;
    line-height: 1.32;
  }
  .erp-system-card h3 {
    margin: 0;
    font-size: .93rem;
    line-height: 1.38;
  }

  .erp-page .related-section { padding-top: 40px; padding-bottom: 40px; }
  .erp-page .erp-related-grid { gap: 10px; }
  .erp-page .erp-related-grid .environment-card { padding: 14px 15px 34px; }
  .erp-page .erp-related-grid .environment-card h3 { margin-top: 11px; margin-bottom: 6px; }
  .erp-page .erp-related-grid .environment-card p { line-height: 1.45; }
}

/* V0.2 final density & containment pass */

@media (max-width: 560px) {
  .erp-page .section { padding-top: 40px; padding-bottom: 40px; }
  .erp-page .intro-section { padding-top: 38px; padding-bottom: 38px; }
  .erp-page .statement-section { padding-top: 44px; padding-bottom: 44px; }
  .erp-page .section-heading,
  .erp-page .compact-heading { margin-bottom: 26px; }
  .erp-page .intro-copy p { margin-bottom: 10px; font-size: .98rem; line-height: 1.5; }

  .erp-page .erp-capability-grid .capability-card { padding: 14px 15px; }
  .erp-page .erp-capability-grid .capability-card .card-index { margin-bottom: 12px; }
  .erp-page .erp-capability-grid .capability-card h3 { margin-bottom: 9px; }
  .erp-page .erp-capability-grid .capability-card p { margin-bottom: 9px; }
  .erp-page .erp-capability-grid .capability-card .keywords { margin-bottom: 9px; }
  .erp-page .erp-ai-card p { margin-bottom: 8px; }

  .erp-lifecycle .lifecycle-item { padding-bottom: 12px; }
  .erp-page .situation-card { padding: 14px 15px; }
  .erp-page .situation-card span { margin-bottom: 8px; }
  .erp-page #transformationen .section-heading h2 { font-size: 1.78rem; hyphens: manual; }

  .erp-system-card span { overflow-wrap: anywhere; }
  .erp-page .related-section { padding-top: 38px; padding-bottom: 38px; }
  .erp-page .erp-related-grid .environment-card { padding: 13px 15px 32px; }
  .erp-page .erp-related-grid .environment-card h3 { margin-top: 9px; margin-bottom: 5px; }

  .erp-page .cta-section { padding-top: 46px; padding-bottom: 46px; }
}

/* V0.2 final mobile compression target (~8% vs. V0.1) */

@media (max-width: 560px) {
  .erp-page .section { padding-top: 39px; padding-bottom: 39px; }
  .erp-page .intro-section { padding-top: 36px; padding-bottom: 36px; }
  .erp-page .statement-section { padding-top: 42px; padding-bottom: 42px; }
  .erp-page .erp-capability-grid .capability-card { padding-top: 13px; padding-bottom: 13px; }
  .erp-page .situation-card { padding-top: 13px; padding-bottom: 13px; }
  .erp-systems-section { padding-top: 38px; padding-bottom: 38px; }
  .erp-page .related-section { padding-top: 36px; padding-bottom: 36px; }
  .erp-page .cta-section { padding-top: 42px; padding-bottom: 42px; }
}
