/* Leotron Kompetenzübersicht · Qualitätsrunde V0.4 */
.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:46px 48px; }
.subhero-copy { max-width: 980px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin-bottom:26px; 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(2.9rem,5vw,5.15rem); line-height:.98; letter-spacing:-.05em; font-weight:650; }
.subhero-claim { max-width:900px; margin:18px 0 0; color:var(--burgundy); font-size:clamp(1.4rem,2.2vw,2rem); line-height:1.25; font-weight:600; }
.subhero-lead { max-width:920px; margin:18px 0 0; color:#4f5159; font-size:1.02rem; line-height:1.62; }

.competence-overview-page .section { padding-top:72px; padding-bottom:72px; }
.competence-overview-page .section-heading { margin-bottom:34px; }
.overview-cluster-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.overview-cluster-card { position:relative; min-height:238px; padding:21px; background:#fff; border:1px solid var(--line); }
.overview-cluster-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--burgundy); }
.overview-cluster-card .card-index { display:block; margin-bottom:12px; color:var(--burgundy); font-size:.74rem; font-weight:700; letter-spacing:.14em; }
.overview-cluster-card h3 { margin:0 0 10px; color:var(--charcoal); font-size:1.15rem; line-height:1.2; }
.overview-cluster-card p { margin:0 0 9px; color:#555860; font-size:.91rem; line-height:1.5; }
.overview-cluster-card .keywords { color:var(--burgundy); font-size:.83rem; font-weight:550; line-height:1.46; }

.overview-tech-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.overview-tech-card { min-height:168px; padding:19px; border:1px solid var(--line); background:#fff; }
.overview-tech-card > span { color:var(--burgundy); font-size:.68rem; font-weight:700; letter-spacing:.105em; line-height:1.35; }
.overview-tech-card h3 { margin:18px 0 8px; color:var(--charcoal); font-size:1.04rem; line-height:1.2; }
.overview-tech-card p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.52; }

.overview-standard-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.overview-standard-grid h2 { margin:0 0 15px; font-size:clamp(1.9rem,2.8vw,2.75rem); line-height:1.06; letter-spacing:-.035em; }
.overview-standard-grid p { margin:0; color:var(--muted); }
.standard-tags { display:flex; flex-wrap:wrap; gap:9px; }
.standard-tags span { padding:.56rem .72rem; border:1px solid #cfcfd4; background:#fff; color:#4f5159; font-size:.84rem; font-weight:600; }

.overview-cross { padding:52px 0 !important; background:var(--charcoal); color:#fff; }
.overview-cross .eyebrow { color:#d1a4b5; }
.overview-cross h2 { max-width:900px; margin:0; color:#fff; font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.07; letter-spacing:-.035em; }
.overview-cross-list { max-width:1050px; margin:20px 0 0; color:rgba(255,255,255,.78); font-size:.98rem; line-height:1.68; }

.overview-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.environment-card { position:relative; min-height:184px; padding:19px 19px 42px; 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:.74rem; font-weight:700; letter-spacing:.12em; }
.environment-card h3 { margin:22px 0 8px; color:var(--charcoal); font-size:1.06rem; line-height:1.18; }
.environment-card p { margin:0; color:var(--muted); font-size:.87rem; line-height:1.48; }
.environment-card b { position:absolute; right:18px; bottom:15px; color:var(--burgundy); font-size:1.15rem; }

@media(max-width:1100px){
  .overview-cluster-grid,.overview-tech-grid{grid-template-columns:1fr 1fr}
  .overview-detail-grid{grid-template-columns:1fr 1fr}
  .overview-standard-grid{gap:38px}
}
@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:40px 44px}
  .breadcrumbs{margin-bottom:22px}
  .overview-standard-grid{grid-template-columns:1fr;gap:24px}
  .competence-overview-page .section{padding-top:58px;padding-bottom:58px}
}
@media(max-width:560px){
  .subhero-inner{padding-top:32px;padding-bottom:36px}
  .breadcrumbs{font-size:.76rem}
  .subhero h1{font-size:2.45rem;line-height:1.02}
  .subhero-claim{font-size:1.18rem}
  .subhero-lead{font-size:.94rem;line-height:1.54}
  .competence-overview-page .section{padding-top:42px;padding-bottom:42px}
  .competence-overview-page .section-heading{margin-bottom:24px}
  .overview-cluster-grid,.overview-tech-grid,.overview-detail-grid{grid-template-columns:1fr;gap:10px}
  .overview-cluster-card{min-height:0;padding:16px 17px}
  .overview-cluster-card .card-index{margin-bottom:9px}
  .overview-cluster-card h3{margin-bottom:8px;font-size:1.08rem}
  .overview-cluster-card p{font-size:.88rem;line-height:1.45;margin-bottom:7px}
  .overview-cluster-card .keywords{font-size:.79rem;line-height:1.4}
  .overview-tech-card{min-height:0;padding:15px 17px}
  .overview-tech-card h3{margin:12px 0 6px}
  .overview-tech-card p{font-size:.85rem;line-height:1.45}
  .overview-cross{padding:42px 0 !important}
  .overview-cross-list{margin-top:16px;font-size:.91rem;line-height:1.58}
  .standard-tags{gap:7px}
  .standard-tags span{padding:.48rem .62rem;font-size:.8rem}
  .environment-card{min-height:0;padding:16px 16px 36px}
  .environment-card h3{margin:15px 0 6px}
}
