/* ===== CAMPUS SERVICE - Shared Site Styles =====
   Extracted from two inline <style> blocks that were previously duplicated
   identically across 29 HTML pages. This file is now the single source of
   truth for shared layout/design CSS. Edit it once here; every page that
   links to it updates automatically.
   (Note: the tiny .medien-card link-reset rule on index.html was left in
   place, since it only appears on that one page.) */

/* FAQ-Seite */
  .faq-section { padding:48px 0 80px; }
  .faq-container { max-width:860px; margin:0 auto; padding:0 24px; }
  .faq-intro { font-size:17px; line-height:1.7; color:var(--grey-600); margin-bottom:48px; text-align:center; }
  .faq-group { margin-bottom:48px; }
  .faq-group-title { font-size:14px; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:8px; }
  .faq-group-line { width:48px; height:3px; background:var(--red); margin-bottom:24px; border-radius:2px; }
  .faq-item { border-bottom:1px solid var(--grey-200); background:var(--white); border-radius:10px; margin-bottom:8px; box-shadow:0 1px 3px rgba(15,27,45,.04); overflow:hidden; transition:box-shadow .2s; }
  .faq-item:hover { box-shadow:0 4px 12px rgba(15,27,45,.06); }
  .faq-question { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; cursor:pointer; font-size:16px; font-weight:600; color:var(--dark-blue); line-height:1.4; user-select:none; }
  .faq-question:hover { background:rgba(178,34,52,.03); }
  .faq-icon { flex-shrink:0; width:28px; height:28px; border-radius:50%; background:rgba(178,34,52,.1); display:flex; align-items:center; justify-content:center; transition:transform .25s, background .2s; color:var(--red); }
  .faq-icon svg { width:14px; height:14px; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; fill:none; }
  .faq-item.open .faq-icon { transform:rotate(45deg); background:var(--red); color:var(--white); }
  .faq-answer { max-height:0; overflow:hidden; transition:max-height .35s ease; padding:0 24px; }
  .faq-item.open .faq-answer { max-height:3000px; padding:0 24px 20px; }
  .faq-answer p { margin-bottom:12px; line-height:1.7; color:#374151; font-size:15px; }
  .faq-answer ul, .faq-answer ol { margin:8px 0 14px 20px; padding:0; }
  .faq-answer li { margin-bottom:8px; line-height:1.7; color:#374151; font-size:15px; }
  .faq-answer strong { color:var(--dark-blue); }

  /* Back-to-top Button */
  .back-to-top { position:fixed; bottom:24px; right:24px; width:48px; height:48px; border-radius:50%; background:var(--red); color:var(--white); border:none; cursor:pointer; box-shadow:0 4px 16px rgba(178,34,52,.35); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s, transform .25s, visibility .25s, background .2s; z-index:9999; }
  .back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }
  .back-to-top:hover { background:var(--red-hover); }
  .back-to-top svg { width:22px; height:22px; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; fill:none; }
  @media (max-width:640px){ .back-to-top { bottom:16px; right:16px; width:44px; height:44px; } }

  /* Termin-Buchungs-Modal */
  .termin-modal-overlay { position:fixed; inset:0; background:rgba(15,27,45,.75); z-index:10000; display:none; align-items:center; justify-content:center; padding:20px; }
  .termin-modal-overlay.show { display:flex; }
  .termin-modal { background:var(--white); border-radius:18px; max-width:520px; width:100%; max-height:90vh; overflow-y:auto; padding:36px; position:relative; box-shadow:0 20px 60px rgba(0,0,0,.3); }
  .termin-modal h3 { font-size:24px; font-weight:800; color:var(--dark-blue); margin-bottom:6px; }
  .termin-modal .tm-sub { color:var(--grey-600); font-size:14px; margin-bottom:24px; }
  .termin-modal .tm-close { position:absolute; top:18px; right:18px; width:34px; height:34px; border:none; background:var(--light-grey); border-radius:50%; font-size:20px; cursor:pointer; color:var(--grey-600); line-height:1; }
  .termin-modal .tm-close:hover { background:#e5e7eb; }
  .termin-modal label { display:block; font-size:13px; font-weight:600; color:var(--dark-blue); margin-bottom:6px; margin-top:14px; }
  .termin-modal input, .termin-modal select, .termin-modal textarea { width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--grey-200); font-family:var(--font); font-size:14px; outline:none; transition:border-color .2s; }
  .termin-modal input:focus, .termin-modal select:focus, .termin-modal textarea:focus { border-color:var(--red); }
  .termin-modal textarea { min-height:80px; resize:vertical; }
  .termin-modal .tm-submit { width:100%; padding:15px; border-radius:10px; background:var(--red); color:var(--white); font-size:16px; font-weight:700; border:none; cursor:pointer; margin-top:22px; transition:background .2s; }
  .termin-modal .tm-submit:hover { background:var(--red-hover); }

  /* Accessibility & Cookie-Banner */
  .skip-link { position:absolute; top:-100px; left:0; background:var(--red); color:#fff; padding:12px 20px; z-index:9999; font-weight:600; text-decoration:none; border-radius:0 0 8px 0; }
  .skip-link:focus { top:0; }
  .cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:9998; background:var(--dark-blue); color:#fff; padding:24px 32px; box-shadow:0 -4px 20px rgba(0,0,0,0.2); transform:translateY(100%); transition:transform .4s ease; }
  .cookie-banner.show { transform:translateY(0); }
  .cookie-banner-inner { max-width:1200px; margin:0 auto; display:flex; gap:24px; align-items:center; flex-wrap:wrap; justify-content:space-between; }
  .cookie-banner-text { flex:1; min-width:280px; font-size:14px; line-height:1.5; }
  .cookie-banner-text a { color:#fff; text-decoration:underline; }
  .cookie-banner-actions { display:flex; gap:12px; flex-wrap:wrap; }
  .cookie-btn { padding:10px 24px; border-radius:8px; font-weight:600; font-size:14px; cursor:pointer; border:none; transition:all .2s; }
  .cookie-btn-accept { background:var(--red); color:#fff; }
  .cookie-btn-accept:hover { background:#9a1d2d; }
  .cookie-btn-reject { background:transparent; color:#fff; border:1px solid #fff; }
  .cookie-btn-reject:hover { background:rgba(255,255,255,0.1); }
  @media(max-width:600px) { .cookie-banner { padding:20px; } .cookie-banner-inner { flex-direction:column; align-items:stretch; } .cookie-banner-actions { justify-content:center; } }

  :root {
    --red: #B22234;
    --red-hover: #8F1B29;
    --dark-blue: #1E3A5F;
    --blue-mid: #254A73;
    --white: #FFFFFF;
    --light-grey: #F4F5F7;
    --grey-100: #EDEEF0;
    --grey-200: #E0E1E5;
    --grey-300: #C8CAD0;
    --grey-400: #9BA0AB;
    --grey-600: #5F6470;
    --grey-700: #3A3F4B;
    --font: 'Figtree', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --radius: 14px;
    --radius-sm: 10px;
  }
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { font-family: var(--font); color: var(--dark-blue); background: var(--white); overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
  /* Sharpen heavy display weights - tighter spacing renders crisper at 800/900 */
  h1, h2, h3, .section-title, .stat-item .number, .about-stat .as-num,
  .hero h1, .page-hero h1, .about-hero-title, .dooh-hero-text h1, .sub-hero h1,
  .p-stat .num, .leistung-num, .slide-quote, .history-card .hc-year, .quality-badge .qb-year { letter-spacing:-0.015em; -webkit-font-smoothing:auto; -moz-osx-font-smoothing:auto; }
  img { max-width: 100%; display: block; }
  a { text-decoration: none; color: inherit; }
  button { font-family: var(--font); cursor: pointer; border: none; }
  .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
  .section-label { font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--red); margin-bottom: 14px; }
  .section-title { font-size: clamp(26px, 3.5vw, 42px); font-weight: 800; line-height: 1.18; margin-bottom: 18px; }
  .section-desc { font-size: 17px; line-height: 1.7; color: var(--grey-600); max-width: 580px; }
  .mx-auto { margin-left: auto; margin-right: auto; }

  @keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:none; } }
  .anim { opacity:0; animation: fadeUp .7s cubic-bezier(.22,1,.36,1) forwards; }
  .page-view.active .anim { opacity:0; animation: fadeUp .7s cubic-bezier(.22,1,.36,1) .05s forwards; }
  @media (prefers-reduced-motion: reduce) { .anim { opacity:1 !important; animation:none !important; } }
  .d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.35s}

  /* DOOH PAGE */
  .dooh-hero { padding:120px 0 80px; background:linear-gradient(135deg,#0a0f1a 0%,#1e3a5f 50%,#0f1b2d 100%); position:relative; overflow:hidden; }
  .dooh-hero::before { content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; background:radial-gradient(circle,rgba(178,34,52,.15),transparent 70%); border-radius:50%; }
  .dooh-hero .section-label { color:var(--red); }
  .dooh-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; position:relative; z-index:2; }
  .dooh-hero-text h1, .dooh-hero-text h2 { font-size:clamp(28px,4vw,44px); font-weight:900; color:var(--white); line-height:1.15; margin-bottom:16px; }
  .dooh-hero-text h1 span, .dooh-hero-text h2 span { color:var(--red); }
  .dooh-hero-text p { font-size:17px; color:rgba(255,255,255,.7); line-height:1.7; margin-bottom:28px; }
  .dooh-hero-text { text-align:center; }
  .dooh-hero-visual { background:rgba(255,255,255,.95); border:1px solid rgba(255,255,255,.2); border-radius:20px; padding:32px; }
  .dooh-keyfacts { padding:80px 0; background:var(--white); }
  .dooh-keyfacts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px; }
  .dooh-kf-card { background:var(--light-grey); border-radius:var(--radius); padding:28px 24px; text-align:center; transition:transform .25s,box-shadow .25s; }
  .dooh-kf-card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(15,27,45,.08); }
  .dooh-kf-card .kf-icon { width:52px; height:52px; border-radius:14px; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; }
  .dooh-kf-card .kf-icon svg { width:24px; height:24px; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; fill:none; }
  .dooh-kf-card h4 { font-size:16px; font-weight:700; color:var(--dark-blue); margin-bottom:6px; }
  .dooh-kf-card p { font-size:13px; color:var(--grey-600); line-height:1.6; }
  .dooh-vorteile { padding:80px 0; background:var(--light-grey); }
  .dooh-vorteile-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:48px; }
  .dooh-vorteil-list { display:flex; flex-direction:column; gap:20px; }
  .dooh-vorteil-item { display:flex; gap:16px; align-items:flex-start; }
  .dooh-vorteil-item .vi-icon { min-width:40px; height:40px; border-radius:10px; background:rgba(178,34,52,.1); display:flex; align-items:center; justify-content:center; }
  .dooh-vorteil-item .vi-icon svg { width:20px; height:20px; stroke:var(--red); fill:none; stroke-width:1.8; }
  .dooh-vorteil-item h4 { font-size:15px; font-weight:700; color:var(--dark-blue); margin-bottom:2px; }
  .dooh-vorteil-item p { font-size:13px; color:var(--grey-600); line-height:1.6; }
  .dooh-illustration { background:var(--white); border-radius:20px; padding:36px; border:1px solid var(--grey-200); }
  .dooh-buchung { padding:80px 0; background:var(--white); }
  .dooh-buchung-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:48px; }
  .dooh-buchung-card { border-radius:var(--radius); padding:36px; position:relative; overflow:hidden; }
  .dooh-buchung-card h3 { font-size:20px; font-weight:800; margin-bottom:12px; }
  .dooh-buchung-card p { font-size:14px; line-height:1.7; margin-bottom:16px; }
  .dooh-buchung-card ul { list-style:none; padding:0; }
  .dooh-buchung-card ul li { font-size:13px; padding:6px 0; padding-left:20px; position:relative; color:var(--grey-600); }
  .dooh-buchung-card ul li::before { content:'✓'; position:absolute; left:0; color:var(--red); font-weight:700; }
  .dooh-card-programmatic { background:linear-gradient(135deg,var(--dark-blue),#2a5a8f); color:var(--white); }
  .dooh-card-programmatic p, .dooh-card-programmatic ul li { color:rgba(255,255,255,.75); }
  .dooh-card-programmatic ul li::before { color:#4ADE80; }
  .dooh-card-klassisch { background:var(--light-grey); border:1px solid var(--grey-200); }
  .dooh-card-klassisch h3 { color:var(--dark-blue); }
  .dooh-loop { padding:80px 0; background:var(--light-grey); }
  .dooh-loop-visual { background:var(--white); border-radius:20px; padding:32px; border:1px solid var(--grey-200); margin-top:40px; }
  .dooh-loop-bar { display:flex; border-radius:10px; overflow:hidden; height:48px; margin-bottom:20px; }
  .dooh-loop-seg { display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:var(--white); letter-spacing:.3px; }
  .dooh-specs { padding:80px 0; background:var(--white); }
  .dooh-specs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
  .dooh-spec-card { background:var(--light-grey); border-radius:var(--radius); padding:28px; }
  .dooh-spec-card h4 { font-size:15px; font-weight:700; color:var(--dark-blue); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
  .dooh-spec-card h4 svg { width:18px; height:18px; stroke:var(--red); fill:none; stroke-width:1.8; }
  .dooh-spec-card table { width:100%; font-size:13px; }
  .dooh-spec-card table td { padding:5px 0; color:var(--grey-600); border-bottom:1px solid var(--grey-200); }
  .dooh-spec-card table td:first-child { font-weight:600; color:var(--dark-blue); width:40%; }
  .dooh-ssp { padding:60px 0; background:var(--dark-blue); }
  .dooh-ssp-logos { display:flex; justify-content:center; gap:40px; flex-wrap:wrap; margin-top:28px; }
  .dooh-ssp-logo { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:16px 28px; font-size:14px; font-weight:700; color:var(--white); letter-spacing:1px; }
  @media(max-width:768px) {
    .dooh-hero-grid, .dooh-vorteile-grid, .dooh-buchung-grid { grid-template-columns:1fr; }
    .dooh-keyfacts-grid { grid-template-columns:repeat(2,1fr); }
    .dooh-specs-grid { grid-template-columns:1fr; }
  }

  /* SUBPAGE SHARED STYLES */
  .sub-hero { padding:120px 0 60px; position:relative; overflow:hidden; }
  .sub-hero-dark { background:linear-gradient(135deg,#0a0f1a 0%,#1e3a5f 50%,#0f1b2d 100%); }
  .sub-hero-light { background:var(--light-grey); }
  .sub-hero .section-label { color:var(--red); }
  .sub-hero h1, .sub-hero h2 { font-size:clamp(26px,3.5vw,40px); font-weight:900; line-height:1.15; margin-bottom:14px; }
  .sub-hero h1 span, .sub-hero h2 span { color:var(--red); }
  .sub-hero-dark h1, .sub-hero-dark h2, .sub-hero-dark p { color:var(--white); }
  .sub-hero-dark p { color:rgba(255,255,255,.7); }
  .sub-hero-light h1, .sub-hero-light h2 { color:var(--dark-blue); }
  .sub-hero p.sub-intro { font-size:17px; line-height:1.7; max-width:680px; }
  .sub-section { padding:70px 0; }
  .sub-section-alt { background:var(--light-grey); }
  .sub-section-dark { background:var(--dark-blue); }
  .sub-formats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:28px; margin-top:40px; }
  .sub-format-card { background:var(--white); border-radius:var(--radius); border:1px solid var(--grey-200); overflow:hidden; transition:transform .25s,box-shadow .25s; }
  .sub-format-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(15,27,45,.08); }
  .sub-format-visual { height:260px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
  .sub-format-visual img { width:100%; height:100%; object-fit:contain; background:var(--light-grey); cursor:pointer; transition:transform .4s ease; display:block; }
  .sub-format-visual img:hover { transform:scale(1.05); }
  .img-overlay { display:none; position:fixed; top:0; left:0; width:100vw; height:100vh; background:rgba(0,0,0,.92); z-index:10000; cursor:pointer; }
  .img-overlay.active { display:block; }
  .img-overlay .close-btn { position:absolute; top:15px; right:25px; color:white; font-size:42px; font-weight:300; cursor:pointer; z-index:10001; line-height:1; }
  #overlayImg { position:absolute; top:3%; left:3%; width:94%; height:94%; object-fit:contain; }
  .sub-format-body { padding:24px; }
  .sub-format-body h3 { font-size:18px; font-weight:800; color:var(--dark-blue); margin-bottom:8px; }
  .sub-format-body p { font-size:13px; color:var(--grey-600); line-height:1.6; margin-bottom:12px; }
  .sub-format-tag { display:inline-block; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; }
  .sub-usecases { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
  .sub-usecase { font-size:11px; font-weight:600; padding:4px 10px; border-radius:20px; background:rgba(178,34,52,.08); color:var(--red); }
  .sub-row { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:40px; }
  .sub-row-reverse { direction:rtl; }
  .sub-row-reverse > * { direction:ltr; }
  .sub-row h3 { font-size:22px; font-weight:800; color:var(--dark-blue); margin-bottom:12px; }
  .sub-row p { font-size:14px; color:var(--grey-600); line-height:1.7; }
  .sub-row ul { list-style:none; padding:0; margin-top:12px; }
  .sub-row ul li { font-size:13px; padding:6px 0 6px 20px; position:relative; color:var(--grey-600); }
  .sub-row ul li::before { content:'✓'; position:absolute; left:0; color:var(--red); font-weight:700; }
  .sub-illus { background:var(--light-grey); border-radius:16px; padding:32px; display:flex; align-items:center; justify-content:center; min-height:340px; }
  .sub-illus svg { width:100%; height:auto; max-width:460px; }
  .sub-illus-dark { background:var(--dark-blue); }
  .sub-cta-bar { padding:48px 0; background:var(--dark-blue); text-align:center; }
  .sub-cta-bar .section-title { color:var(--white); font-size:24px; margin-bottom:16px; }
  .sub-cta-bar p { color:rgba(255,255,255,.6); margin-bottom:24px; }
  @media(max-width:768px) {
    .sub-row, .sub-row-reverse { grid-template-columns:1fr; }
    .sub-row-reverse { direction:ltr; }
  }

  /* SIDEBAR */
  .side-bar { position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:99; display:flex; flex-direction:column; gap:3px; }
  .side-bar a { display:flex; align-items:center; gap:0; padding:14px 6px; background:var(--white); color:var(--dark-blue); border-radius:8px 0 0 8px; box-shadow:-2px 0 8px rgba(15,27,45,.12); border:1px solid var(--grey-200); border-right:none; transition:all .2s; text-decoration:none; writing-mode:vertical-rl; text-orientation:mixed; font-size:11px; font-weight:700; letter-spacing:.5px; white-space:nowrap; }
  .side-bar a svg { width:14px; height:14px; stroke:var(--red); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; margin-bottom:6px; }
  .side-bar a:hover { background:var(--red); color:var(--white); padding-left:8px; border-color:var(--red); }
  .side-bar a:hover svg { stroke:var(--white); }

  @media(max-width:768px) {
    .side-bar a { font-size:10px; padding:10px 5px; }
    .side-bar a svg { width:12px; height:12px; margin-bottom:4px; }
  }

  /* NAV */
  nav { position:fixed; top:0; left:0; right:0; z-index:100; background:#ffffff; backdrop-filter:blur(14px); border-bottom:1px solid var(--grey-200); transition:box-shadow .3s; }
  nav.scrolled { box-shadow:0 2px 24px rgba(15,27,45,.06); }
  .nav-inner { max-width:1200px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; height:68px; }
  .nav-logo { display:inline-flex; align-items:center; gap:11px; color:var(--red); }
  .nav-logo svg.cs-mark { width:30px; height:30px; flex:0 0 30px; aspect-ratio:1/1; display:block; overflow:visible; }
  .nav-logo .cs-text { font-weight:900; font-size:21px; letter-spacing:1.5px; color:currentColor; line-height:1; white-space:nowrap; }
  .nav-logo .cs-logo-img { height:clamp(34px, calc(2.4vw + 22px), 46.2px); width:auto; display:block; }
  .footer-brand .logo .cs-logo-img { height:clamp(36px, calc(2.6vw + 24px), 48.4px); width:auto; display:block; }
  .nav-links { display:flex; gap:0; align-items:center; }
  .nav-links > a, .nav-dropdown > .nav-dropdown-trigger { font-size:14px; font-weight:600; color:var(--dark-blue); transition:color .2s; padding:22px 14px; display:inline-flex; align-items:center; gap:5px; cursor:pointer; background:none; border:none; font-family:var(--font); }
  .nav-links > a:hover, .nav-dropdown:hover > .nav-dropdown-trigger { color:var(--red); }
  /* Nav Contact Button with Dropdown */
  .nav-contact-wrap { position:relative; margin-left:10px; }
  .nav-contact-btn { display:inline-flex; align-items:center; gap:8px; background:var(--red); color:var(--white); padding:10px 20px; border-radius:8px; font-size:13px; font-weight:700; border:none; cursor:pointer; font-family:var(--font); transition:background .2s; }
  .nav-contact-btn:hover { background:var(--red-hover); }
  .nav-contact-icons { display:inline-flex; gap:3px; }
  .nav-contact-icons svg { width:14px; height:14px; stroke:var(--white); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:.85; }
  .nc-arrow { width:10px; height:10px; stroke:var(--white); fill:none; transition:transform .2s; }
  .nav-contact-wrap:hover .nc-arrow { transform:rotate(180deg); }
  .nav-contact-dropdown { position:absolute; top:calc(100% + 10px); right:0; background:var(--white); border-radius:12px; box-shadow:0 8px 32px rgba(15,27,45,.15); padding:8px; min-width:250px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:all .2s; z-index:200; }
  .nav-contact-wrap:hover .nav-contact-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
  .ncd-item { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:8px; text-decoration:none; transition:background .15s; }
  .ncd-item:hover { background:var(--light-grey); }
  .ncd-item svg { width:20px; height:20px; flex-shrink:0; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .ncd-item div { display:flex; flex-direction:column; }
  .ncd-item strong { font-size:13px; font-weight:700; color:var(--dark-blue); }
  .ncd-item span { font-size:11px; color:var(--grey-400); }
  .ncd-tel svg { stroke:var(--red); }
  .ncd-mail svg { stroke:#3B82F6; }
  .ncd-wa svg { stroke:#25D366; }
  .ncd-cal svg { stroke:#A855F7; }
  .nav-mobile { display:none; background:none; border:none; cursor:pointer; }

  /* DROPDOWN */
  .nav-dropdown { position:relative; }
  .nav-dropdown-trigger svg.dd-arrow { width:10px; height:10px; transition:transform .25s; flex-shrink:0; }
  .nav-dropdown:hover .dd-arrow { transform:rotate(180deg); }

  /* Mega Dropdown Panel */
  .mega-dropdown { position:absolute; top:100%; left:50%; transform:translateX(-50%); background:var(--white); border-radius:0 0 var(--radius) var(--radius); box-shadow:0 12px 48px rgba(15,27,45,.12),0 2px 8px rgba(15,27,45,.06); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s,visibility .22s,transform .22s; transform:translateX(-50%) translateY(4px); border-top:2px solid var(--red); z-index:200; }
  .nav-dropdown:hover .mega-dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }

  /* Medien Mega Dropdown */
  .mega-medien { width:820px; padding:32px 36px 28px; left:0; transform:translateX(0); }
  .nav-dropdown:hover .mega-medien { transform:translateX(0) translateY(0); }
  .mega-medien-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0 40px; }
  .mega-col-label { font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--red); margin-bottom:16px; padding-bottom:8px; border-bottom:1px solid var(--grey-200); }
  .mega-group { margin-bottom:22px; }
  .mega-group-title { font-size:14px; font-weight:700; color:var(--dark-blue); margin-bottom:4px; }
  .mega-group-title a { color:var(--dark-blue); text-decoration:none; transition:color .15s; }
  .mega-group-title a:hover { color:var(--red); }
  .mega-group-desc { font-size:12px; color:var(--grey-400); line-height:1.4; }
  .mega-group-items { display:flex; flex-direction:column; gap:2px; }
  .mega-group-items a { font-size:13px; font-weight:400; color:var(--grey-600); padding:3px 0; transition:color .15s; }
  .mega-group-items a:hover { color:var(--red); }

  /* Leistungen Dropdown */
  .mega-leistungen { width:420px; padding:24px 28px; }
  .mega-list { display:flex; flex-direction:column; gap:4px; }
  .mega-list a { font-size:14px; font-weight:500; color:var(--dark-blue); padding:8px 12px; border-radius:8px; transition:background .15s,color .15s; display:flex; align-items:center; gap:10px; }
  .mega-list a:hover { background:var(--light-grey); color:var(--red); }
  .mega-list a .ml-icon { width:32px; height:32px; border-radius:8px; background:var(--light-grey); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .mega-list a:hover .ml-icon { background:rgba(178,34,52,.08); }
  .mega-list a .ml-icon svg { width:16px; height:16px; stroke:var(--dark-blue); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .mega-list a:hover .ml-icon svg { stroke:var(--red); }
  .mega-list a .ml-text { display:flex; flex-direction:column; }
  .mega-list a .ml-text span { font-size:12px; font-weight:400; color:var(--grey-400); }

  /* Über uns Dropdown */
  .mega-ueber { width:280px; padding:20px 24px; }
  .mega-simple-list { display:flex; flex-direction:column; gap:2px; }
  .mega-simple-list a { font-size:14px; font-weight:500; color:var(--dark-blue); padding:9px 12px; border-radius:8px; transition:background .15s,color .15s; }
  .mega-simple-list a:hover { background:var(--light-grey); color:var(--red); }

  /* HERO */
  .hero { position:relative; width:100%; min-height:92vh; display:flex; align-items:flex-end; padding-top:68px; overflow:hidden; }
  .hero-bg { position:absolute; inset:0; z-index:1; background:url('../img/2ea1d51a51e8acb5.jpg') center center / cover no-repeat; }
  .hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(15,27,45,0.05) 0%, rgba(15,27,45,0.18) 40%, rgba(15,27,45,0.62) 100%); }
  .hero-content { position:relative; z-index:2; width:100%; padding:0 0 72px; text-align:center; }
  .hero h1 { font-size:clamp(34px,5vw,58px); font-weight:900; color:var(--white); line-height:1.1; margin-bottom:16px; text-shadow:0 2px 30px rgba(0,0,0,.25); }
  .hero h1 span { color:var(--white); }
  .hero-sub { font-size:clamp(16px,2vw,20px); color:rgba(255,255,255,.88); margin-bottom:36px; font-weight:400; text-shadow:0 1px 10px rgba(0,0,0,.2); }
  .btn-video { display:inline-flex; align-items:center; gap:12px; background:var(--red); color:var(--white); padding:16px 36px; border-radius:12px; font-size:16px; font-weight:700; transition:all .25s; box-shadow:0 4px 20px rgba(178,34,52,.35); }
  .btn-video:hover { background:var(--red-hover); transform:translateY(-2px); box-shadow:0 8px 30px rgba(178,34,52,.4); }
  .btn-video .play-icon { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; }
  .btn-video .play-icon svg { margin-left:2px; }

  /* VIDEO MODAL */
  .modal-overlay { display:none; position:fixed; inset:0; z-index:200; background:rgba(15,27,45,.85); backdrop-filter:blur(8px); align-items:center; justify-content:center; }
  .modal-overlay.active { display:flex; }
  .modal-box { background:var(--dark-blue); border-radius:20px; padding:20px; width:90%; max-width:800px; position:relative; box-shadow:0 24px 80px rgba(0,0,0,.4); }
  .modal-close { position:absolute; top:-16px; right:-16px; width:40px; height:40px; border-radius:50%; background:var(--white); display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700; color:var(--dark-blue); cursor:pointer; border:none; box-shadow:0 4px 12px rgba(0,0,0,.15); }
  .modal-placeholder { width:100%; aspect-ratio:16/9; background:var(--blue-mid); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; }
  .modal-placeholder svg { opacity:.3; }
  .modal-placeholder p { color:var(--grey-400); font-size:14px; }

  /* STATS */
  .stats-bar { background:var(--white); padding:56px 0; border-bottom:1px solid var(--grey-200); }
  .stats-bar .label { text-align:center; font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--grey-400); margin-bottom:36px; }
  .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; max-width:1100px; margin:0 auto; }
  .stat-item .number { font-size:clamp(32px,4vw,52px); font-weight:900; color:var(--red); line-height:1; letter-spacing:-0.02em; font-feature-settings:"tnum" 1, "lnum" 1; }
  .stat-item .text { font-size:14px; font-weight:600; color:var(--grey-600); margin-top:8px; }

  /* MEDIEN */
  .medien { background:#213f66; padding:100px 0; position:relative; overflow:hidden; }
  .medien::before { content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; background:radial-gradient(circle, rgba(178,34,52,.08) 0%, transparent 70%); border-radius:50%; }
  .medien .section-title { color:var(--white); }
  .medien .section-desc { color:var(--grey-400); }
  .medien-header { text-align:center; margin-bottom:56px; }
  .medien-grid { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
  .medien-grid .medien-card { flex:0 1 calc(25% - 12px); min-width:240px; max-width:280px; box-sizing:border-box; }
  .medien-card { background:rgba(255,255,255,.95); border:none; border-radius:var(--radius); padding:30px 20px 26px; text-align:center; transition:all .4s cubic-bezier(.22,1,.36,1); cursor:pointer; position:relative; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.1); }
  .medien-card::before { content:''; position:absolute; inset:0; border-radius:var(--radius); background:var(--red); opacity:0; transition:opacity .4s; z-index:0; }
  .medien-card::after { content:''; position:absolute; bottom:-40px; left:50%; transform:translateX(-50%); width:120px; height:120px; background:radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 70%); border-radius:50%; opacity:0; transition:all .4s; }
  .medien-card:hover { background:rgba(255,255,255,1); transform:translateY(-4px); box-shadow:0 12px 32px rgba(178,34,52,.25); }
  .medien-card:hover::before { opacity:1; }
  .medien-card:hover::after { opacity:1; bottom:-20px; }
  .medien-card:hover .icon { border-color:var(--white); transform:scale(1.08); background:rgba(255,255,255,.95); box-shadow:0 4px 12px rgba(0,0,0,.15); }
  .medien-card:hover .icon svg { stroke:var(--red); }
  .medien-card:hover h4 { color:var(--white); }
  .medien-card:hover p { color:rgba(255,255,255,.85); }
  .medien-card:hover .card-badge { background:rgba(255,255,255,.2); color:var(--white); }
  .medien-card .icon { width:56px; height:56px; margin:0 auto 16px; background:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; border:none; transition:all .4s; position:relative; z-index:1; box-shadow:0 4px 12px rgba(178,34,52,.25); }
  .medien-card .icon svg { stroke:var(--white); width:22px; height:22px; transition:stroke .3s; }
  .medien-card h4 { font-size:14px; font-weight:700; color:var(--dark-blue); margin-bottom:4px; position:relative; z-index:1; }
  .medien-card p { font-size:12px; color:#5a6a7a; line-height:1.4; position:relative; z-index:1; }
  .medien-card .card-badge { position:absolute; top:10px; right:10px; font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:3px 8px; border-radius:100px; z-index:1; }
  .badge-campus { background:rgba(30,58,95,.1); color:var(--dark-blue); }
  .badge-digital { background:rgba(178,34,52,.1); color:var(--red); }
  .badge-live { background:rgba(210,150,0,.12); color:#a07800; }
  .medien-subheader { flex:1 1 100%; text-align:center; padding:16px 0 4px; }
  .medien-subheader span { font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,.85); }

  /* SOLUTIONS */
  .solutions { padding:100px 0; background:var(--light-grey); }
  .solutions-header { text-align:center; margin-bottom:56px; }
  .solutions-header .section-desc { margin:0 auto; }
  .solutions-tabs { display:flex; justify-content:center; gap:8px; margin-bottom:48px; flex-wrap:wrap; }
  .tab-btn { padding:10px 22px; border-radius:100px; font-size:14px; font-weight:600; background:var(--white); color:var(--grey-600); border:1px solid var(--grey-200); transition:all .25s; cursor:pointer; }
  .tab-btn:hover { background:var(--red); color:var(--white); border-color:var(--red); }
  .solution-content { grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  .sol-panel { display:none; }
  #soltab0:checked ~ .solutions-tabs label[for="soltab0"],
  #soltab1:checked ~ .solutions-tabs label[for="soltab1"],
  #soltab2:checked ~ .solutions-tabs label[for="soltab2"] { background:var(--red); color:var(--white); border-color:var(--red); }
  #soltab0:checked ~ .sol-panel-0,
  #soltab1:checked ~ .sol-panel-1,
  #soltab2:checked ~ .sol-panel-2 { display:grid; }
  .solution-text h3 { font-size:28px; font-weight:800; margin-bottom:16px; }
  .solution-text p { font-size:16px; line-height:1.75; color:var(--grey-600); margin-bottom:28px; }
  .solution-features { display:flex; flex-direction:column; gap:14px; }
  .feature-item { display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--grey-700); line-height:1.5; }
  .feature-check { width:24px; height:24px; min-width:24px; border-radius:8px; background:rgba(178,34,52,.1); display:flex; align-items:center; justify-content:center; margin-top:1px; }
  .feature-check svg { stroke:var(--red); width:14px; height:14px; }
  .solution-visual { background:var(--white); border-radius:20px; padding:40px; border:1px solid var(--grey-200); }
  .solution-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .sol-card { background:var(--light-grey); border-radius:12px; padding:22px 18px; text-align:center; transition:all .3s; border:1px solid transparent; }
  .sol-card:hover { border-color:var(--red); background:var(--white); }
  .sol-card .sol-icon { font-size:28px; margin-bottom:10px; display:block; }
  .sol-card .sol-title { font-size:14px; font-weight:700; color:var(--dark-blue); }
  .sol-card .sol-sub { font-size:12px; color:var(--grey-400); margin-top:4px; }

  /* REFERENZEN */
  .referenzen { padding:80px 0; background:var(--white); }
  .ref-header { text-align:center; margin-bottom:48px; }
  .ref-logos { display:flex; align-items:center; justify-content:center; gap:40px; flex-wrap:wrap; padding:0 20px; }
  .ref-logo { font-size:18px; font-weight:800; color:var(--grey-300); letter-spacing:1px; transition:color .3s; white-space:nowrap; }
  .ref-logo:hover { color:var(--grey-600); }

  /* BEST CASES */
  .bestcases { padding:100px 0; background:var(--light-grey); }
  .bestcases-header { text-align:center; margin-bottom:56px; }
  .cases-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .case-card { background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--grey-200); transition:all .3s; }
  .case-card:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(15,27,45,.08); border-color:transparent; }
  .case-img { height:180px; position:relative; overflow:hidden; background-size:cover; background-position:center; }
  .case-img .case-tag { position:absolute; top:12px; left:12px; background:var(--red); color:var(--white); padding:4px 12px; border-radius:100px; font-size:11px; font-weight:700; letter-spacing:.5px; }
  .case-body { padding:22px 20px; }
  .case-body h4 { font-size:16px; font-weight:800; margin-bottom:8px; color:var(--dark-blue); }
  .case-body p { font-size:13px; line-height:1.6; color:var(--grey-600); margin-bottom:14px; }
  .case-link { font-size:13px; font-weight:700; color:var(--red); display:inline-flex; align-items:center; gap:6px; transition:gap .2s; }
  .case-link:hover { gap:10px; }

  /* TESTIMONIALS */
  .testimonials { padding:100px 0; background:var(--white); }
  .testi-header { text-align:center; margin-bottom:56px; }
  .testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .testi-card { background:var(--light-grey); border-radius:var(--radius); padding:32px 28px; border:1px solid var(--grey-200); transition:all .3s; }
  .testi-card:hover { border-color:var(--red); background:var(--white); box-shadow:0 8px 30px rgba(15,27,45,.06); }
  .testi-quote { font-size:32px; font-weight:900; color:var(--red); line-height:1; margin-bottom:14px; }
  .testi-text { font-size:15px; line-height:1.7; color:var(--grey-700); margin-bottom:24px; font-style:italic; }
  .testi-stars { color:var(--red); font-size:14px; letter-spacing:2px; margin-bottom:16px; }
  .testi-author { display:flex; align-items:center; gap:14px; }
  .testi-avatar { width:44px; height:44px; border-radius:50%; background:var(--grey-200); display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; color:var(--grey-400); }
  .testi-info .name { font-size:14px; font-weight:700; color:var(--dark-blue); }
  .testi-info .role { font-size:12px; color:var(--grey-400); }

  /* CONTACT */
  .contact { background:var(--dark-blue); padding:100px 0; position:relative; overflow:hidden; }
  .contact::before { content:''; position:absolute; bottom:-150px; left:50%; transform:translateX(-50%); width:600px; height:600px; background:radial-gradient(circle, rgba(178,34,52,.1) 0%, transparent 70%); border-radius:50%; }
  .contact-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:48px; position:relative; z-index:2; max-width:900px; margin-left:auto; margin-right:auto; }
  .contact-tile { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:28px 20px; text-align:center; text-decoration:none; transition:all .25s; cursor:pointer; }
  .contact-tile:hover { background:rgba(255,255,255,.1); transform:translateY(-3px); border-color:rgba(255,255,255,.2); }
  .contact-tile .ct-icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
  .contact-tile .ct-icon svg { width:22px; height:22px; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .contact-tile h4 { font-size:14px; font-weight:700; color:var(--white); margin-bottom:4px; }
  .contact-tile p { font-size:12px; color:var(--grey-400); line-height:1.5; }
  .ct-tel { background:rgba(178,34,52,.15); border-color:rgba(178,34,52,.3); }
  .ct-tel:hover { background:rgba(178,34,52,.25); border-color:rgba(178,34,52,.5); }
  .ct-tel .ct-icon { background:var(--red); }
  .ct-tel .ct-icon svg { stroke:var(--white); }
  .ct-mail { background:rgba(59,130,246,.15); border-color:rgba(59,130,246,.3); }
  .ct-mail:hover { background:rgba(59,130,246,.25); border-color:rgba(59,130,246,.5); }
  .ct-mail .ct-icon { background:#3B82F6; }
  .ct-mail .ct-icon svg { stroke:var(--white); }
  .ct-wa { background:rgba(37,211,102,.12); border-color:rgba(37,211,102,.3); }
  .ct-wa:hover { background:rgba(37,211,102,.22); border-color:rgba(37,211,102,.5); }
  .ct-wa .ct-icon { background:#25D366; }
  .ct-wa .ct-icon svg { stroke:var(--white); }
  .ct-termin { background:rgba(168,85,247,.15); border-color:rgba(168,85,247,.3); }
  .ct-termin:hover { background:rgba(168,85,247,.25); border-color:rgba(168,85,247,.5); }
  .ct-termin .ct-icon { background:#A855F7; }
  .ct-termin .ct-icon svg { stroke:var(--white); }
  @media(max-width:768px) { .contact-tiles { grid-template-columns:repeat(2,1fr); } }
  .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; position:relative; z-index:2; }
  .contact-left .section-title { color:var(--white); }
  .contact-left .section-desc { color:var(--grey-400); margin-bottom:40px; }
  .process-steps { display:flex; flex-direction:column; gap:24px; }
  .process-step { display:flex; align-items:flex-start; gap:16px; }
  .step-num { width:40px; height:40px; min-width:40px; border-radius:12px; background:rgba(178,34,52,.15); display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:900; color:var(--red); }
  .step-text h4 { font-size:16px; font-weight:700; color:var(--white); margin-bottom:4px; }
  .step-text p { font-size:14px; color:var(--grey-400); line-height:1.5; }
  .contact-form { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:36px; backdrop-filter:blur(10px); }
  .contact-form h3 { font-size:22px; font-weight:800; color:var(--white); margin-bottom:24px; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
  .form-group { margin-bottom:12px; }
  .contact-form input, .contact-form textarea, .contact-form select { width:100%; padding:14px 16px; border-radius:var(--radius-sm); border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:var(--white); font-family:var(--font); font-size:14px; transition:border-color .2s; outline:none; }
  .contact-form input::placeholder, .contact-form textarea::placeholder { color:var(--grey-400); }
  .contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color:var(--red); }
  .contact-form textarea { min-height:100px; resize:vertical; }
  .contact-form select option { background:var(--dark-blue); color:var(--white); }
  .btn-submit { width:100%; padding:16px; border-radius:var(--radius-sm); background:var(--red); color:var(--white); font-size:16px; font-weight:700; transition:background .2s; margin-top:8px; }
  .btn-submit:hover { background:var(--red-hover); }

  /* FOOTER */
  footer { background:var(--dark-blue); border-top:1px solid rgba(255,255,255,.06); padding:56px 0 28px; }
  .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
  .footer-brand .logo { display:inline-flex; align-items:center; gap:11px; color:var(--white); margin-bottom:14px; }
  .footer-brand .logo svg.cs-mark { width:30px; height:30px; flex:0 0 30px; aspect-ratio:1/1; display:block; overflow:visible; }
  .footer-brand .logo .cs-text { font-weight:900; font-size:20px; letter-spacing:1.5px; color:currentColor; line-height:1; white-space:nowrap; }
  .footer-brand p { font-size:13px; line-height:1.7; color:var(--grey-400); max-width:280px; }
  .footer-social { display:flex; gap:12px; margin-top:20px; }
  .footer-social a { width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; transition:background .2s; }
  .footer-social a:hover { background:rgba(178,34,52,.2); }
  .footer-social a svg { width:16px; height:16px; stroke:var(--grey-400); fill:none; }
  .footer-col h5 { font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:18px; }
  .footer-col a { display:block; font-size:13px; color:var(--grey-400); margin-bottom:10px; transition:color .2s; }
  .footer-col a:hover { color:var(--red); }
  .footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding-top:20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; color:var(--grey-400); }
  .footer-bottom a { color:var(--grey-400); margin-left:20px; transition:color .2s; }
  .footer-bottom a:hover { color:var(--red); }

  /* === PARTNER PAGE STYLES === */

  /* NAV */

  /* PAGE HERO */
  .page-hero{padding:140px 0 80px;background:var(--light-grey);position:relative;overflow:hidden}
  .page-hero h1, .page-hero h2{scroll-margin-top:90px}
  #unternehmen, #team, #karriere { scroll-margin-top: 90px; }
  .page-hero::before{content:'';position:absolute;top:-100px;right:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(178,34,52,.06) 0%,transparent 70%);border-radius:50%}
  .page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .page-hero h1, .page-hero h2{font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1.12;margin-bottom:20px}
  .page-hero h1 span, .page-hero h2 span{color:var(--red)}
  .page-hero-desc{font-size:18px;line-height:1.75;color:var(--grey-600);margin-bottom:32px}
  .hero-badges{display:flex;gap:12px;flex-wrap:wrap}
  .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--grey-200);padding:10px 18px;border-radius:100px;font-size:13px;font-weight:600;color:var(--dark-blue)}
  .hero-badge svg{width:16px;height:16px;stroke:var(--red);fill:none;stroke-width:2.5}
  .page-hero-visual{background:var(--white);border-radius:20px;padding:36px;border:1px solid var(--grey-200);box-shadow:0 8px 40px rgba(30,58,95,.06)}
  .partner-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .p-stat{background:var(--light-grey);border-radius:14px;padding:24px 20px;text-align:center;border:1px solid transparent;transition:all .3s}
  .p-stat:hover{border-color:var(--red);background:var(--white)}
  .p-stat .num{font-size:32px;font-weight:900;color:var(--red);line-height:1}
  .p-stat .lbl{font-size:13px;color:var(--grey-600);margin-top:6px;line-height:1.3}

  /* VORTEILE */
  .vorteile{padding:100px 0;background:var(--white)}
  .vorteile-header{text-align:center;margin-bottom:64px}
  .vorteile-header .section-desc{margin:0 auto}
  .vorteile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .vorteil-card{background:var(--light-grey);border-radius:var(--radius);padding:36px 28px;border:1px solid transparent;transition:all .35s;position:relative;overflow:hidden}
  .vorteil-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:var(--red);border-radius:0 4px 4px 0;transition:height .4s cubic-bezier(.22,1,.36,1)}
  .vorteil-card:hover{background:var(--white);border-color:var(--grey-200);box-shadow:0 8px 36px rgba(30,58,95,.06)}
  .vorteil-card:hover::before{height:100%}
  .vorteil-icon{width:48px;height:48px;background:rgba(178,34,52,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .vorteil-icon svg{stroke:var(--red);width:22px;height:22px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .vorteil-card h3{font-size:18px;font-weight:800;margin-bottom:10px}
  .vorteil-card p{font-size:15px;line-height:1.65;color:var(--grey-600)}

  /* MEDIENMANAGER */
  .medienmanager{padding:100px 0;background:var(--light-grey)}
  .mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .mm-features{display:flex;flex-direction:column;gap:20px;margin-top:32px}
  .mm-feature{display:flex;align-items:flex-start;gap:14px}
  .mm-check{width:28px;height:28px;min-width:28px;border-radius:8px;background:rgba(178,34,52,.1);display:flex;align-items:center;justify-content:center}
  .mm-check svg{stroke:var(--red);width:14px;height:14px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
  .mm-feature-text h4{font-size:16px;font-weight:700;margin-bottom:4px}
  .mm-feature-text p{font-size:14px;color:var(--grey-600);line-height:1.5}
  .mm-visual{background:var(--white);border-radius:20px;padding:40px;border:1px solid var(--grey-200)}
  .mm-screen{background:var(--dark-blue);border-radius:12px;padding:24px;min-height:320px;position:relative;overflow:hidden}
  .mm-screen-bar{display:flex;gap:6px;margin-bottom:20px}
  .mm-screen-bar span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.15)}
  .mm-screen-bar span:first-child{background:var(--red)}
  .mm-screen-row{display:flex;gap:12px;margin-bottom:12px}
  .mm-screen-block{height:14px;border-radius:4px;background:rgba(255,255,255,.08)}
  .mm-screen-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px;margin-bottom:10px}
  .mm-screen-card-title{height:10px;width:60%;border-radius:3px;background:rgba(255,255,255,.15);margin-bottom:8px}
  .mm-screen-card-bar{height:6px;border-radius:3px;background:var(--red);opacity:.6}
  .mm-screen-label{font-size:11px;color:rgba(255,255,255,.3);text-align:center;margin-top:16px;letter-spacing:1px}
  .mm-screen-shot{border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.12)}
  .mm-screen-shot img{display:block;width:100%;height:auto}

  /* LEISTUNGEN */
  .leistungen{padding:100px 0;background:var(--white)}
  .leistungen-header{text-align:center;margin-bottom:64px}
  .leistungen-header .section-desc{margin:0 auto}
  .leistungen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .leistung-card{display:flex;align-items:flex-start;gap:20px;background:var(--light-grey);border-radius:var(--radius);padding:28px 24px;border:1px solid transparent;transition:all .3s}
  .leistung-card:hover{border-color:var(--grey-200);background:var(--white);box-shadow:0 6px 24px rgba(30,58,95,.05)}
  .leistung-num{font-size:28px;font-weight:900;color:var(--red);line-height:1;min-width:36px}
  .leistung-card h4{font-size:16px;font-weight:700;margin-bottom:6px}
  .leistung-card p{font-size:14px;color:var(--grey-600);line-height:1.6}

  /* SELBSTVERSTÄNDNIS */
  .selbstv{padding:90px 0;background:var(--white)}
  .selbstv-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1100px;margin:0 auto}
  .selbstv-text h2{font-size:clamp(26px,2.8vw,36px);font-weight:900;line-height:1.2;margin-bottom:20px;color:var(--dark-blue)}
  .selbstv-text h2 span{color:var(--red)}
  .selbstv-text p{font-size:16px;line-height:1.8;color:var(--grey-600);margin-bottom:18px}
  .selbstv-pullout{background:linear-gradient(135deg,var(--red),var(--red-hover));border-radius:18px;padding:36px 32px;color:var(--white);box-shadow:0 12px 40px rgba(178,34,52,.18)}
  .selbstv-pullout .pq{font-size:20px;font-weight:800;line-height:1.4;margin-bottom:16px}
  .selbstv-pullout .pi{font-size:14px;line-height:1.7;color:rgba(255,255,255,.92)}
  .selbstv-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
  .selbstv-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:16px;text-align:center}
  .selbstv-stat .n{font-size:24px;font-weight:900;color:var(--white);line-height:1}
  .selbstv-stat .l{font-size:12px;color:rgba(255,255,255,.85);margin-top:4px;line-height:1.3}
  @media(max-width:768px){.selbstv-grid{grid-template-columns:1fr;gap:36px}}

  /* TESTIMONIAL SLIDER */
  .partner-testi{padding:100px 0;background:var(--dark-blue);position:relative;overflow:hidden}
  .partner-testi::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(178,34,52,.08) 0%,transparent 70%);border-radius:50%}
  .testi-slider-header{margin-bottom:48px;position:relative;z-index:2}
  .slider-wrapper{position:relative;z-index:2;max-width:760px;margin:0 auto;overflow:hidden}
  .slider-track{display:flex;transition:transform .5s cubic-bezier(.22,1,.36,1)}
  .slide{min-width:100%;padding:0 8px}
  .slide-inner{text-align:center}
  .slide-quote{font-size:56px;font-weight:900;color:var(--red);line-height:1;margin-bottom:4px}
  .slide-inner blockquote{font-size:18px;line-height:1.75;color:rgba(255,255,255,.88);font-style:italic;margin-bottom:32px;min-height:120px;display:flex;align-items:center;justify-content:center}
  .slide-author{display:flex;align-items:center;gap:14px;justify-content:center}
  .slide-avatar{width:48px;height:48px;border-radius:50%;background:rgba(178,34,52,.2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--red);letter-spacing:.5px}
  .slide-name{font-size:15px;font-weight:700;color:var(--white);text-align:left}
  .slide-role{font-size:13px;color:var(--grey-400);text-align:left;margin-top:2px}
  .slider-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:40px}
  .slider-btn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s}
  .slider-btn:hover{background:var(--red);border-color:var(--red)}
  .slider-dots{display:flex;gap:8px}
  .slider-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.15);border:none;cursor:pointer;transition:all .3s;padding:0}
  .slider-dot.active{background:var(--red);transform:scale(1.2)}

  /* ANSPRECHPARTNERIN */
  .contact-person{padding:80px 0;background:var(--white);border-bottom:1px solid var(--grey-200)}
  .cp-box{max-width:680px;margin:0 auto;display:flex;align-items:center;gap:36px;background:var(--light-grey);border-radius:20px;padding:40px;border:1px solid var(--grey-200)}
  .cp-photo{width:180px;height:180px;min-width:180px;border-radius:8px;overflow:hidden;border:4px solid var(--red);box-shadow:0 6px 24px rgba(178,34,52,.18)}
  .cp-photo img{width:100%;height:100%;object-fit:cover}
  .cp-info h3{font-size:22px;font-weight:800;margin-bottom:4px}
  .cp-info .cp-role{font-size:14px;color:var(--red);font-weight:600;margin-bottom:12px}
  .cp-info .cp-desc{font-size:15px;color:var(--grey-600);line-height:1.6;margin-bottom:16px}
  .cp-contact-links{display:flex;gap:12px;flex-wrap:wrap}
  .cp-link{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;transition:all .25s}
  .cp-link-primary{background:var(--red);color:var(--white)}
  .cp-link-primary:hover{background:var(--red-hover)}
  .cp-link-secondary{background:var(--white);color:var(--dark-blue);border:1px solid var(--grey-200)}
  .cp-link-secondary:hover{border-color:var(--red);color:var(--red)}
  .cp-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  @media(max-width:640px){.cp-box{flex-direction:column;text-align:center}.cp-contact-links{justify-content:center}}

  /* PARTNER LOGOS */
  .partner-logos{padding:80px 0;background:var(--light-grey)}
  .partner-logos-header{text-align:center;margin-bottom:48px}
  /* PARTNER LOGO MARQUEE */
  .logo-marquee{position:relative;overflow:hidden;width:100%;padding:8px 0;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
  .logo-marquee:hover .logo-track{animation-play-state:paused}
  .logo-track{display:flex;gap:0;width:max-content;animation:logoScroll 60s linear infinite}
  .logo-tile{flex:0 0 auto;width:200px;height:110px;background:var(--white);border:1px solid var(--grey-200);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:18px;transition:all .3s;box-shadow:0 1px 3px rgba(15,27,45,.04)}
  .logo-tile:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 24px rgba(178,34,52,.12)}
  .logo-tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(60%);opacity:.78;transition:all .3s}
  .logo-tile:hover img{filter:grayscale(0);opacity:1}
  .logo-tile .logo-text{font-size:13px;font-weight:700;color:var(--grey-600);text-align:center;line-height:1.3;letter-spacing:.2px}
  .logo-tile:hover .logo-text{color:var(--dark-blue)}
  @keyframes logoScroll{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 16px))}}
  @media(max-width:768px){.logo-tile{width:160px;height:90px}.logo-track{gap:0;animation-duration:50s}@keyframes logoScroll{0%{transform:translateX(0)}100%{transform:translateX(calc(-50% - 10px))}}}

  /* OLD LOGO GRID (kept for reference but unused) */
  .logos-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
  .logo-item{background:var(--white);border:1px solid var(--grey-200);border-radius:12px;padding:16px 24px;min-width:160px;text-align:center;font-size:13px;font-weight:700;color:var(--grey-600);transition:all .3s}
  .logo-item:hover{border-color:var(--red);color:var(--dark-blue)}

  /* PROCESS / CTA */
  .partner-cta{padding:100px 0;background:var(--white)}
  .cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
  .process-title{font-size:28px;font-weight:800;margin-bottom:12px}
  .process-desc{font-size:16px;color:var(--grey-600);line-height:1.7;margin-bottom:36px}
  .process-steps{display:flex;flex-direction:column;gap:0}
  .p-step{display:flex;gap:20px;position:relative;padding-bottom:32px}
  .p-step:last-child{padding-bottom:0}
  .p-step-line{position:absolute;left:23px;top:48px;width:2px;bottom:0;background:var(--grey-200)}
  .p-step:last-child .p-step-line{display:none}
  .p-step-num{width:48px;height:48px;min-width:48px;border-radius:50%;background:var(--red);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;position:relative;z-index:2}
  .p-step-content h4{font-size:17px;font-weight:700;margin-bottom:4px;padding-top:2px}
  .p-step-content p{font-size:14px;color:var(--grey-600);line-height:1.6}

  .cta-form{background:var(--light-grey);border-radius:20px;padding:40px;border:1px solid var(--grey-200)}
  .cta-form h3{font-size:22px;font-weight:800;margin-bottom:8px}
  .cta-form .form-sub{font-size:14px;color:var(--grey-600);margin-bottom:24px;line-height:1.5}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
  .form-group{margin-bottom:12px}
  .cta-form input,.cta-form textarea,.cta-form select{width:100%;padding:14px 16px;border-radius:10px;border:1px solid var(--grey-200);background:var(--white);color:var(--dark-blue);font-family:var(--font);font-size:14px;transition:border-color .2s;outline:none}
  .cta-form input::placeholder,.cta-form textarea::placeholder{color:var(--grey-400)}
  .cta-form input:focus,.cta-form textarea:focus,.cta-form select:focus{border-color:var(--red)}
  .cta-form textarea{min-height:100px;resize:vertical}
  .btn-submit{width:100%;padding:16px;border-radius:10px;background:var(--red);color:var(--white);font-size:16px;font-weight:700;transition:background .2s;margin-top:8px}
  .btn-submit:hover{background:var(--red-hover)}

  /* FOOTER */

  @media(max-width:1024px){
    .page-hero-grid,.mm-grid,.cta-grid,.solution-content{grid-template-columns:1fr}
    .vorteile-grid{grid-template-columns:repeat(2,1fr)}
    .leistungen-grid{grid-template-columns:1fr}
  }
  @media(max-width:768px){
    .vorteile-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .partner-stat-grid{grid-template-columns:1fr 1fr}
  }

  /* DUAL CTA */
  .dual-cta { padding:72px 0; background:var(--light-grey); }
  .dual-cta-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  .cta-block { border-radius:var(--radius); padding:44px 36px; text-align:center; position:relative; overflow:hidden; }
  .cta-block-icon { width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
  .cta-block-icon svg { width:28px; height:28px; }
  .cta-block h3 { font-size:22px; font-weight:800; margin-bottom:10px; }
  .cta-block p { font-size:15px; line-height:1.7; margin-bottom:24px; max-width:360px; margin-left:auto; margin-right:auto; }
  .cta-block-buttons { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
  .cta-btn { padding:12px 28px; border-radius:10px; font-size:14px; font-weight:700; transition:all .25s; display:inline-flex; align-items:center; gap:8px; }
  .cta-btn-primary { background:var(--red); color:var(--white); box-shadow:0 4px 16px rgba(178,34,52,.25); }
  .cta-btn-primary:hover { background:var(--red-hover); transform:translateY(-2px); box-shadow:0 6px 24px rgba(178,34,52,.35); }
  .cta-btn-white { background:var(--white); color:var(--dark-blue); box-shadow:0 4px 16px rgba(15,27,45,.12); }
  .cta-btn-white:hover { background:var(--dark-blue); color:var(--white); transform:translateY(-2px); }
  .cta-mediadaten { background:var(--white); border:1px solid var(--grey-200); }
  .cta-mediadaten .cta-block-icon { background:rgba(178,34,52,.08); }
  .cta-mediadaten .cta-block-icon svg { stroke:var(--red); }
  .cta-mediadaten h3 { color:var(--dark-blue); }
  .cta-mediadaten p { color:var(--grey-600); }
  .cta-termin { background:linear-gradient(135deg,var(--dark-blue),#2a5a8f); }
  .cta-termin .cta-block-icon { background:rgba(255,255,255,.12); }
  .cta-termin .cta-block-icon svg { stroke:var(--white); }
  .cta-termin h3 { color:var(--white); }
  .cta-termin p { color:rgba(255,255,255,.7); }
  @media(max-width:768px) { .dual-cta-grid { grid-template-columns:1fr; } }

  /* ÜBER UNS PAGE */
  .about-hero { padding:120px 0 80px; background:linear-gradient(135deg,var(--dark-blue) 0%,#2a5a8f 100%); position:relative; overflow:hidden; }
  .about-hero::before { content:''; position:absolute; top:-40%; right:-10%; width:600px; height:600px; background:radial-gradient(circle,rgba(178,34,52,.12) 0%,transparent 70%); border-radius:50%; }
  .about-hero .section-label { color:rgba(255,255,255,.6); }
  .about-hero-title { font-size:clamp(32px,4.5vw,52px); font-weight:900; color:var(--white); line-height:1.12; margin-bottom:20px; }
  .about-hero-title span { color:var(--red); }
  .about-hero-sub { font-size:18px; color:rgba(255,255,255,.7); line-height:1.7; max-width:620px; }

  .about-history { padding:80px 0; background:var(--white); }
  .history-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .history-text h2 { font-size:clamp(24px,3vw,36px); font-weight:800; line-height:1.2; margin-bottom:24px; color:var(--dark-blue); }
  .history-text h2 span { color:var(--red); }
  .history-text p { font-size:16px; line-height:1.8; color:var(--grey-600); margin-bottom:16px; }
  .history-visual { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .history-card { background:var(--light-grey); border-radius:var(--radius); padding:28px 24px; text-align:center; transition:transform .25s,box-shadow .25s; }
  .history-card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(15,27,45,.08); }
  .history-card .hc-year { font-size:32px; font-weight:900; color:var(--red); margin-bottom:6px; }
  .history-card .hc-name { font-size:14px; font-weight:700; color:var(--dark-blue); margin-bottom:4px; }
  .history-card .hc-desc { font-size:12px; color:var(--grey-400); line-height:1.5; }
  .history-card.merged { grid-column:1/-1; background:linear-gradient(135deg,var(--dark-blue),#2a5a8f); color:var(--white); }
  .history-card.merged .hc-name { color:var(--white); }
  .history-card.merged .hc-desc { color:rgba(255,255,255,.6); }

  .about-stats { padding:64px 0; background:var(--dark-blue); }
  .about-stats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:32px; text-align:center; }
  .about-stat .as-num { font-size:clamp(28px,3vw,40px); font-weight:900; color:var(--red); letter-spacing:-0.02em; font-feature-settings:"tnum" 1, "lnum" 1; }
  .about-stat .as-label { font-size:13px; color:rgba(255,255,255,.6); margin-top:4px; }

  .about-team { padding:80px 0; background:var(--white); }
  .about-team .section-title { text-align:center; }
  .about-team .section-label { text-align:center; }
  .about-team .section-desc { text-align:center; }
  .team-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:24px; margin-top:48px; }
  .team-card { text-align:center; }
  .team-avatar { width:100%; aspect-ratio:1/1; border-radius:var(--radius); background:var(--light-grey); margin-bottom:16px; overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; }
  .team-avatar .ta-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--grey-100),var(--grey-200)); }
  .team-avatar .ta-placeholder svg { width:48px; height:48px; stroke:var(--grey-300); fill:none; stroke-width:1.5; stroke-linecap:round; }
  .team-avatar .ta-initials { position:absolute; bottom:12px; right:12px; background:var(--red); color:var(--white); font-size:13px; font-weight:700; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .team-avatar img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
  .team-card h4 { font-size:16px; font-weight:700; color:var(--dark-blue); margin-bottom:2px; }
  .team-card h4.team-name-img { line-height:0; }
  .team-card h4.team-name-img img { height:18px; width:auto; display:inline-block; }
  .team-card .team-role { font-size:13px; color:var(--grey-400); margin-bottom:8px; }
  .team-card .team-phone { font-size:12px; color:var(--grey-600); margin-bottom:4px; }
  .team-card .team-phone a { color:var(--grey-600); transition:color .2s; }
  .team-card .team-phone a:hover { color:var(--red); }
  .team-card .team-phone svg { width:12px; height:12px; stroke:var(--red); fill:none; stroke-width:2; vertical-align:-1px; margin-right:3px; }
  .team-card .team-social { display:flex; justify-content:center; gap:8px; }
  .team-card .team-social a { width:32px; height:32px; border-radius:50%; background:var(--light-grey); display:flex; align-items:center; justify-content:center; transition:background .2s; }
  .team-card .team-social a:hover { background:var(--red); }
  .team-card .team-social a svg { width:14px; height:14px; stroke:var(--grey-600); fill:none; stroke-width:2; stroke-linecap:round; }
  .team-card .team-social a:hover svg { stroke:var(--white); }

  .about-values { padding:80px 0; background:var(--light-grey); }
  .values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px; }
  .value-card { background:var(--white); border-radius:var(--radius); padding:36px 28px; transition:transform .25s,box-shadow .25s; }
  .value-card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(15,27,45,.08); }
  .value-card .vc-icon { width:52px; height:52px; border-radius:12px; background:rgba(178,34,52,.08); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
  .value-card .vc-icon svg { width:24px; height:24px; stroke:var(--red); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .value-card h4 { font-size:18px; font-weight:700; margin-bottom:8px; }
  .value-card p { font-size:14px; color:var(--grey-600); line-height:1.7; }

  .about-quality { padding:80px 0; background:var(--white); }
  .quality-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
  .quality-badge { width:160px; height:160px; border-radius:50%; background:linear-gradient(135deg,var(--red),#8F1B29); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--white); }
  .quality-badge .qb-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; opacity:.7; }
  .quality-badge .qb-year { font-size:42px; font-weight:900; line-height:1; }
  .quality-badge .qb-sub { font-size:9px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; opacity:.7; }

  @media(max-width:1024px) {
    .history-grid { grid-template-columns:1fr; gap:40px; }
    .about-stats-grid { grid-template-columns:repeat(3,1fr); }
    .team-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .quality-grid { grid-template-columns:1fr; }
  }
  @media(max-width:768px) {
    .history-visual { grid-template-columns:1fr; }
    .about-stats-grid { grid-template-columns:repeat(2,1fr); }
    .team-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .values-grid { grid-template-columns:1fr; }
  }

  /* PAGE SWITCHING */
  .page-view { display:none }
  .page-view.active { display:block }

  /* RESPONSIVE */
  @media(max-width:1024px) {
    .medien-grid .medien-card { flex:0 1 calc(33.333% - 11px); }
    .cases-grid { grid-template-columns:repeat(2,1fr); }
    .testi-grid { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .solution-content { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
  }
  @media(max-width:768px) {
    .nav-links { display:none; }
    .nav-mobile { display:block; }
    .mega-dropdown { display:none; }
    .stats-grid { grid-template-columns:repeat(2,1fr); gap:28px; }
    .medien-grid { grid-template-columns:repeat(2,1fr); }
    .cases-grid { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .hero { min-height:80vh; }
  }

  /* LOGO SLIDER */
  .logo-slider-section { padding:60px 0; background:var(--white); overflow:hidden; }
  .logo-slider-section .section-label { text-align:center; margin-bottom:8px; }
  .logo-slider-section .section-title { text-align:center; margin-bottom:40px; }
  .logo-track-wrap { overflow:hidden; position:relative; margin-bottom:16px; }
  .logo-track-wrap::before, .logo-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
  .logo-track-wrap::before { left:0; background:linear-gradient(90deg,var(--white),transparent); }
  .logo-track-wrap::after { right:0; background:linear-gradient(270deg,var(--white),transparent); }
  .logo-track { display:flex; gap:0; width:max-content; animation:scrollLogos 40s linear infinite; }
  .logo-track img { height:55px; margin:0; object-fit:contain; opacity:.75; transition:opacity .3s; }
  .logo-track img:hover { opacity:1; }
  .logo-track-r { animation-direction:reverse !important; }
  @keyframes scrollLogos { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* Mobile navigation / responsive fixes */
@media(max-width:1100px){.side-bar{display:none!important}}
.mobile-menu{position:fixed;inset:0;z-index:1000;background:#fff;transform:translateX(100%);transition:transform .28s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:74px 22px 48px;visibility:hidden}
.mobile-menu.open{transform:translateX(0);visibility:visible}
.mobile-menu-inner{display:flex;flex-direction:column;max-width:560px;margin:0 auto}
.mobile-menu-inner a{padding:13px 6px;font-size:17px;font-weight:600;color:var(--dark-blue,#1E3A5F);text-decoration:none;border-bottom:1px solid #EDEEF0}
.mm-group{margin-top:20px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--red,#B22234);font-weight:800}
.mm-cta{margin-top:24px;background:var(--red,#B22234);color:#fff!important;text-align:center;border-radius:999px;border-bottom:0!important}
.mm-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;background:var(--light-grey,#F4F5F7);border-radius:50%;font-size:26px;line-height:1;color:var(--dark-blue,#1E3A5F);cursor:pointer}
@media(min-width:769px){.mobile-menu,.mm-close{display:none!important}}
body.mm-open{overflow:hidden}
