/*
Theme Name: MME Pro Elementor
Theme URI: https://mme-pro.de
Author: MME Werbeagentur
Author URI: https://mme-pro.de
Template: hello-elementor
Version: 1.3.1
Text Domain: mme-pro-elementor
*/

/* --- 1. TYPOGRAPHY & FONT DECLARATIONS --- */
@font-face {
  font-family: 'Telegraf';
  src: url('fonts/Telegraf/Telegraf-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Chivo+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

/* --- 2. GLOBAL RESET & DESIGN SYSTEM --- */
*, *::before, *::after {
  box-sizing: border-box;
}

:root {
  --iq-bg-white: #FFFFFF;
  --iq-bg-light: #F8FAFC;
  --iq-bg-alt: #F1F5F9;
  --iq-border-light: #E2E8F0;
  --iq-border-medium: #CBD5E1;
  --iq-text-dark: #0F172A;
  --iq-text-body: #475569;
  --iq-text-muted: #64748B;
  --iq-accent-green: #5bbd20;
  --iq-accent-green-dark: #499e19;
  --iq-accent-green-glow: rgba(91, 189, 32, 0.35);
}

body, html {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--iq-text-body);
  background-color: var(--iq-bg-white);
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

/* Headings: Telegraf 500 */
h1, h2, h3, h4, h5, h6,
.e-heading,
.e-heading-base,
[data-id="hero-h1-title"],
[data-id="ps-h2-widget"],
[data-id="serv-heading"],
[data-id="proc-h2"],
[data-id="ref-h2"],
[data-id="statement-quote"],
[data-id="faq-hdr"],
[data-id="cont-h2"],
[data-id="form-heading-title"],
[data-id="sol-headline-widget"] {
  font-family: 'Telegraf', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;
}

/* Monospace Technical Labels & Badges: Chivo Mono */
.iq-mono-label,
.iq-cinema-scroll-label,
[data-id="hero-eyebrow-badge"],
[data-id="hero-trust-item-1"],
[data-id="hero-trust-item-2"],
[data-id="hero-trust-item-3"],
[data-id="ps-eyebrow-widget"],
[data-id="card-1-num"], [data-id="card-2-num"], [data-id="card-3-num"], [data-id="card-4-num"],
[data-id="card-1-tag"], [data-id="card-2-tag"], [data-id="card-3-tag"], [data-id="card-4-tag"],
[data-id="sol-tag-widget"],
[data-id="sol-pill-1"], [data-id="sol-pill-2"], [data-id="sol-pill-3"],
[data-id="serv-eyebrow"],
[data-id="rc1-scope"], [data-id="rc2-scope"], [data-id="rc3-scope"], [data-id="rc4-scope"], [data-id="rc5-scope"],
[data-id="statement-author"],
[data-id="cont-eyebrow"],
[data-id="footer-copy"],
[data-id="footer-legal-links"] a {
  font-family: 'Chivo Mono', monospace !important;
}

/* --- 3. SCROLL REVEAL ANIMATIONS (VAULK SCROLL EFFECTS) --- */
.iq-scroll-reveal {
  opacity: 0 !important;
  transform: translateY(40px) scale(0.97) !important;
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform !important;
}

.iq-scroll-reveal.is-visible {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}


/* ==========================================================================
   4. HERO SECTION (CINEMA DARK WITH BLUEPRINT GRID)
   ========================================================================== */
[data-id="hero-cinema-root"],
.elementor-element-hero-cinema-root {
  position: relative !important;
  width: 100% !important;
  min-height: 94vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #06080B !important;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.028) 1px, transparent 1px) !important;
  background-size: 60px 60px !important;
  padding: 140px 24px 80px 24px !important;
  box-sizing: border-box !important;
}

[data-id="hero-bg-media"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.iq-hero-cinema-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  opacity: 0.28;
  filter: grayscale(35%) contrast(110%);
}

.iq-hero-cinema-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 50% 38%, rgba(6, 8, 11, 0.65) 0%, rgba(6, 8, 11, 0.90) 80%, #06080B 100%);
  z-index: 2;
}

[data-id="hero-inner-content"],
.elementor-element-hero-inner-content {
  position: relative !important;
  z-index: 3 !important;
  max-width: 1040px !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
}

/* Eyebrow Badge */
[data-id="hero-eyebrow-badge"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(91, 189, 32, 0.08) !important;
  border: 1px solid rgba(91, 189, 32, 0.3) !important;
  color: var(--iq-accent-green) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 5px 16px !important;
  border-radius: 999px !important;
  backdrop-filter: blur(8px) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Grand Telegraf 500 Title */
[data-id="hero-h1-title"] {
  font-family: 'Telegraf', sans-serif !important;
  font-size: clamp(54px, 7.6vw, 86px) !important;
  font-weight: 500 !important;
  line-height: 1.10 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  text-align: center !important;
}

.iq-gradient-green {
  color: var(--iq-accent-green);
  background: linear-gradient(135deg, #FFFFFF 20%, #5bbd20 70%, #499e19 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-id="hero-subheadline"] {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(16px, 1.8vw, 18px) !important;
  line-height: 1.65 !important;
  color: #94A3B8 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* Trust Badges in 1 Row */
[data-id="hero-trust-badges-box"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 940px !important;
  margin: 6px auto 0 auto !important;
}

[data-id="hero-trust-item-1"],
[data-id="hero-trust-item-2"],
[data-id="hero-trust-item-3"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  padding: 9px 18px !important;
  color: #E2E8F0 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  backdrop-filter: blur(6px) !important;
  margin: 0 !important;
  flex: 1 1 0px !important;
  text-align: center !important;
  white-space: nowrap !important;
  transition: border-color 0.25s ease, background 0.25s ease !important;
}

[data-id="hero-trust-item-1"]:hover,
[data-id="hero-trust-item-2"]:hover,
[data-id="hero-trust-item-3"]:hover {
  border-color: rgba(91, 189, 32, 0.4) !important;
  background: rgba(91, 189, 32, 0.06) !important;
}

.iq-trust-check,
[data-id="hero-trust-item-1"] span:first-child,
[data-id="hero-trust-item-2"] span:first-child,
[data-id="hero-trust-item-3"] span:first-child {
  color: var(--iq-accent-green) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-shadow: 0 0 10px var(--iq-accent-green-glow) !important;
  display: inline-block !important;
}

@media (max-width: 820px) {
  [data-id="hero-trust-badges-box"] {
    flex-direction: column !important;
    gap: 10px !important;
    max-width: 360px !important;
    width: 100% !important;
  }
  [data-id="hero-trust-item-1"],
  [data-id="hero-trust-item-2"],
  [data-id="hero-trust-item-3"] {
    width: 100% !important;
    flex: none !important;
    padding: 10px 18px !important;
    white-space: normal !important;
  }
}

/* CTA Button */
[data-id="hero-cta-actions-box"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  width: 100% !important;
  margin-top: 10px !important;
}

.iq-hero-cta-btn,
.iq-btn-primary,
.e-button,
.e-button-base,
.elementor-button,
[data-id="hero-cta-button"],
[data-id="field-btn"] {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background-color: #0E141C !important;
  color: #FFFFFF !important;
  font-family: 'Telegraf', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  padding: 14px 32px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  isolation: isolate !important;
  overflow: hidden !important;
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.28s ease, box-shadow 0.28s ease !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
}

.iq-hero-cta-btn span,
.iq-btn-primary span,
.e-button span,
.e-button-base span,
[data-id="hero-cta-button"] span,
[data-id="field-btn"] span {
  color: #FFFFFF !important;
}

.iq-hero-cta-btn::before,
.iq-btn-primary::before,
.e-button::before,
.e-button-base::before,
.elementor-button::before,
[data-id="hero-cta-button"]::before,
[data-id="field-btn"]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #499e19 0%, #367b12 100%) !important;
  clip-path: circle(0% at 100% 100%) !important;
  transition: clip-path 0.45s cubic-bezier(0.25, 1, 0.4, 1) !important;
  z-index: -1 !important;
}

.iq-hero-cta-btn:hover::before,
.iq-btn-primary:hover::before,
.e-button:hover::before,
.e-button-base:hover::before,
.elementor-button:hover::before,
[data-id="hero-cta-button"]:hover::before,
[data-id="field-btn"]:hover::before {
  clip-path: circle(160% at 100% 100%) !important;
}

.iq-hero-cta-btn:hover,
.iq-btn-primary:hover,
.e-button:hover,
.e-button-base:hover,
.elementor-button:hover,
[data-id="hero-cta-button"]:hover,
[data-id="field-btn"]:hover {
  transform: translateY(-2px) !important;
  color: #FFFFFF !important;
  border-color: #499e19 !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.5), 0 2px 12px rgba(73, 158, 25, 0.35) !important;
}

.iq-hero-cta-btn::after,
.iq-btn-primary::after,
.e-button::after,
.e-button-base::after,
.elementor-button::after,
[data-id="hero-cta-button"]::after,
[data-id="field-btn"]::after {
  content: '' !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-color: #FFFFFF !important;
  -webkit-mask: url('https://iq-immo.website-powered-by-mme.de/wp-content/uploads/2026/08/664caccbbf739987c680c1db_icon__arrow-black.svg') no-repeat center / contain !important;
  mask: url('https://iq-immo.website-powered-by-mme.de/wp-content/uploads/2026/08/664caccbbf739987c680c1db_icon__arrow-black.svg') no-repeat center / contain !important;
  transition: transform 0.25s ease !important;
}

.iq-hero-cta-btn:hover::after,
.iq-btn-primary:hover::after,
.e-button:hover::after,
.e-button-base:hover::after,
.elementor-button:hover::after,
[data-id="hero-cta-button"]:hover::after,
[data-id="field-btn"]:hover::after {
  transform: translate(2px, -2px) !important;
}

/* Mouse Scroll Indicator */
.iq-cinema-mouse-scroll {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  text-decoration: none !important;
  margin-top: 24px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.iq-cinema-mouse {
  width: 22px !important;
  height: 34px !important;
  border: 2px solid rgba(91, 189, 32, 0.6) !important;
  border-radius: 12px !important;
  display: flex !important;
  justify-content: center !important;
  padding-top: 6px !important;
  box-sizing: border-box !important;
  box-shadow: 0 0 8px rgba(91, 189, 32, 0.25) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.iq-cinema-wheel {
  width: 4px !important;
  height: 8px !important;
  background: var(--iq-accent-green) !important;
  background-color: var(--iq-accent-green) !important;
  border-radius: 3px !important;
  box-shadow: 0 0 12px var(--iq-accent-green), 0 0 6px var(--iq-accent-green) !important;
  animation: wheelScroll 1.8s cubic-bezier(0.65, 0, 0.35, 1) infinite !important;
}

@keyframes wheelScroll {
  0% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(8px); opacity: 0.8; }
  100% { transform: translateY(14px); opacity: 0; }
}

.iq-cinema-scroll-label {
  font-family: 'Chivo Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 1.8px !important;
  color: #94A3B8 !important;
  text-transform: uppercase !important;
  transition: color 0.25s ease !important;
}

.iq-cinema-arrow {
  stroke: var(--iq-accent-green) !important;
  transition: transform 0.25s ease !important;
  animation: bounceDown 1.8s ease-in-out infinite !important;
}

@keyframes bounceDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

.iq-cinema-mouse-scroll:hover .iq-cinema-mouse {
  border-color: var(--iq-accent-green) !important;
  box-shadow: 0 0 14px var(--iq-accent-green-glow) !important;
}

.iq-cinema-mouse-scroll:hover .iq-cinema-scroll-label {
  color: var(--iq-accent-green) !important;
}


/* ==========================================================================
   5. PROBLEM & SOLUTION SECTION (CLEAN WHITE ARCHITECTURAL)
   ========================================================================== */
[data-id="ps-atomic-section"],
.elementor-element-ps-atomic-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  padding: 100px 24px !important;
  background: var(--iq-bg-white) !important;
  box-sizing: border-box !important;
  border-top: 1px solid var(--iq-border-light) !important;
}

[data-id="ps-atomic-container"] {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  gap: 56px !important;
}

[data-id="ps-header-box"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  gap: 12px !important;
}

[data-id="ps-eyebrow-widget"] {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

[data-id="ps-h2-widget"] {
  font-size: clamp(32px, 4.2vw, 48px) !important;
  font-weight: 500 !important;
  color: var(--iq-text-dark) !important;
  line-height: 1.18 !important;
  text-align: center !important;
  margin: 0 !important;
}

.iq-ps-h2-grad {
  color: var(--iq-accent-green-dark) !important;
}

[data-id="ps-lead-widget"] {
  font-size: 16.5px !important;
  color: var(--iq-text-muted) !important;
  line-height: 1.65 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* 4 Problem Cards (Interactive Card Hover Lift & Border Glow) */
[data-id="ps-cards-grid-box"],
.elementor-element-ps-cards-grid-box {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
}

@media (max-width: 1024px) {
  [data-id="ps-cards-grid-box"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  [data-id="ps-cards-grid-box"] {
    grid-template-columns: 1fr !important;
  }
}

[data-id="ps-card-1"],
[data-id="ps-card-2"],
[data-id="ps-card-3"],
[data-id="ps-card-4"] {
  background: var(--iq-bg-white) !important;
  border: 1px solid var(--iq-border-light) !important;
  border-radius: 14px !important;
  padding: 32px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease !important;
  position: relative !important;
  cursor: pointer !important;
}

[data-id="ps-card-1"]:hover,
[data-id="ps-card-2"]:hover,
[data-id="ps-card-3"]:hover,
[data-id="ps-card-4"]:hover {
  transform: translateY(-8px) scale(1.02) !important;
  border-color: var(--iq-accent-green) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08), 0 0 16px rgba(91, 189, 32, 0.15) !important;
}

[data-id="card-1-top"],
[data-id="card-2-top"],
[data-id="card-3-top"],
[data-id="card-4-top"] {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--iq-border-light) !important;
}

[data-id="card-1-num"],
[data-id="card-2-num"],
[data-id="card-3-num"],
[data-id="card-4-num"] {
  font-family: 'Chivo Mono', monospace !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--iq-accent-green-dark) !important;
  margin: 0 !important;
}

[data-id="card-1-title"],
[data-id="card-2-title"],
[data-id="card-3-title"],
[data-id="card-4-title"] {
  font-family: 'Telegraf', sans-serif !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

[data-id="card-1-desc"],
[data-id="card-2-desc"],
[data-id="card-3-desc"],
[data-id="card-4-desc"] {
  font-size: 14.5px !important;
  color: var(--iq-text-body) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

[data-id="card-1-tag"],
[data-id="card-2-tag"],
[data-id="card-3-tag"],
[data-id="card-4-tag"] {
  font-family: 'Chivo Mono', monospace !important;
  font-size: 11.5px !important;
  color: var(--iq-accent-green-dark) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  margin-top: auto !important;
}

/* Solution Banner */
[data-id="ps-solution-banner-box"],
.elementor-element-ps-solution-banner-box {
  background: var(--iq-bg-light) !important;
  border: 1px solid var(--iq-border-light) !important;
  border-left: 4px solid var(--iq-accent-green) !important;
  border-radius: 16px !important;
  padding: 44px 40px !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 40px !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.35s ease !important;
}

[data-id="ps-solution-banner-box"]:hover {
  transform: translateY(-4px) !important;
}

@media (max-width: 800px) {
  [data-id="ps-solution-banner-box"] {
    flex-direction: column !important;
    padding: 30px 24px !important;
  }
}

[data-id="sol-tag-widget"] {
  font-family: 'Chivo Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

[data-id="sol-headline-widget"] {
  font-family: 'Telegraf', sans-serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  color: var(--iq-text-dark) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

[data-id="sol-body-widget"] {
  font-size: 15px !important;
  color: var(--iq-text-body) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

[data-id="sol-pills-box"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

[data-id="sol-pill-1"],
[data-id="sol-pill-2"],
[data-id="sol-pill-3"] {
  background: #FFFFFF !important;
  border: 1px solid var(--iq-border-light) !important;
  color: var(--iq-text-dark) !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}


/* ==========================================================================
   6. SERVICES SECTION (WHITE CLEAN ARCHITECTURAL)
   ========================================================================== */
[data-id="services-section"],
.elementor-element-services-section {
  padding: 100px 32px !important;
  background: var(--iq-bg-light) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  border-top: 1px solid var(--iq-border-light) !important;
}

[data-id="serv-inner"] {
  width: 100% !important;
  max-width: 1200px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 48px !important;
}

[data-id="serv-eyebrow"] {
  font-size: 11.5px !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

[data-id="serv-heading"] {
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 500 !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="serv-sub"] {
  font-size: 16px !important;
  color: var(--iq-text-muted) !important;
  margin: 0 !important;
}

[data-id="serv-grid-row-1"],
[data-id="serv-grid-row-2"] {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 28px !important;
  width: 100% !important;
}

@media (max-width: 768px) {
  [data-id="serv-grid-row-1"],
  [data-id="serv-grid-row-2"] {
    grid-template-columns: 1fr !important;
  }
}

[data-id="serv-card-1"],
[data-id="serv-card-2"],
[data-id="serv-card-3"],
[data-id="serv-card-4"] {
  padding: 32px !important;
  border-radius: 16px !important;
  border: 1px solid var(--iq-border-light) !important;
  background: var(--iq-bg-white) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.04) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

[data-id="serv-card-1"]:hover,
[data-id="serv-card-2"]:hover,
[data-id="serv-card-3"]:hover,
[data-id="serv-card-4"]:hover {
  transform: translateY(-8px) scale(1.01) !important;
  border-color: var(--iq-accent-green) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08) !important;
}

[data-id="svc1-img"], [data-id="svc2-img"], [data-id="svc3-img"], [data-id="svc4-img"] {
  overflow: hidden !important;
  border-radius: 12px !important;
}

[data-id="svc1-img"] img,
[data-id="svc2-img"] img,
[data-id="svc3-img"] img,
[data-id="svc4-img"] img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

[data-id="serv-card-1"]:hover [data-id="svc1-img"] img,
[data-id="serv-card-2"]:hover [data-id="svc2-img"] img,
[data-id="serv-card-3"]:hover [data-id="svc3-img"] img,
[data-id="serv-card-4"]:hover [data-id="svc4-img"] img {
  transform: scale(1.06) !important;
}

[data-id="card1-title"],
[data-id="card2-title"],
[data-id="card3-title"],
[data-id="card4-title"] {
  font-family: 'Telegraf', sans-serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="card1-teaser"],
[data-id="card2-teaser"],
[data-id="card3-teaser"],
[data-id="card4-teaser"] {
  font-size: 15px !important;
  color: var(--iq-text-body) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}


/* ==========================================================================
   7. METRICS SECTION (LIGHT CLEAN STATS)
   ========================================================================== */
[data-id="metrics-section"],
.elementor-element-metrics-section {
  padding: 88px 32px !important;
  background: var(--iq-bg-white) !important;
  border-top: 1px solid var(--iq-border-light) !important;
  border-bottom: 1px solid var(--iq-border-light) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

[data-id="metr-inner"] {
  width: 100% !important;
  max-width: 1200px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}

@media (max-width: 768px) {
  [data-id="metr-inner"] {
    grid-template-columns: 1fr !important;
  }
}

[data-id="metric-1"],
[data-id="metric-2"],
[data-id="metric-3"] {
  padding: 38px 32px !important;
  border-radius: 16px !important;
  background: var(--iq-bg-light) !important;
  border: 1px solid var(--iq-border-light) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

[data-id="metric-1"]:hover,
[data-id="metric-2"]:hover,
[data-id="metric-3"]:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05) !important;
}

[data-id="m1-num"],
[data-id="m2-num"],
[data-id="m3-num"] {
  font-family: 'Telegraf', sans-serif !important;
  font-weight: 500 !important;
  font-size: 58px !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: -0.04em !important;
  margin: 0 !important;
  line-height: 1 !important;
}

[data-id="m1-desc"],
[data-id="m2-desc"],
[data-id="m3-desc"] {
  font-size: 15px !important;
  color: var(--iq-text-body) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}


/* ==========================================================================
   8. REFERENCES SECTION (CLEAN CARDS)
   ========================================================================== */
[data-id="references-section"],
.elementor-element-references-section {
  padding: 100px 32px !important;
  background: var(--iq-bg-light) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

[data-id="ref-inner"] {
  width: 100% !important;
  max-width: 1200px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}

[data-id="ref-eyebrow"] {
  font-size: 11.5px !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

[data-id="ref-h2"] {
  font-size: clamp(32px, 4vw, 42px) !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="ref-row-1"],
[data-id="ref-row-2"] {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

[data-id="ref-card-1"],
[data-id="ref-card-2"],
[data-id="ref-card-3"],
[data-id="ref-card-4"],
[data-id="ref-card-5"] {
  padding: 30px 26px !important;
  border-radius: 14px !important;
  border: 1px solid var(--iq-border-light) !important;
  background: var(--iq-bg-white) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.03) !important;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
}

[data-id="ref-card-1"]:hover,
[data-id="ref-card-2"]:hover,
[data-id="ref-card-3"]:hover,
[data-id="ref-card-4"]:hover,
[data-id="ref-card-5"]:hover {
  transform: translateY(-6px) !important;
  border-color: var(--iq-accent-green) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,0.06) !important;
}

[data-id="rc1-title"], [data-id="rc2-title"], [data-id="rc3-title"], [data-id="rc4-title"], [data-id="rc5-title"] {
  font-family: 'Telegraf', sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="rc1-scope"], [data-id="rc2-scope"], [data-id="rc3-scope"], [data-id="rc4-scope"], [data-id="rc5-scope"] {
  font-size: 12px !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
}

[data-id="rc1-desc"], [data-id="rc2-desc"], [data-id="rc3-desc"], [data-id="rc4-desc"], [data-id="rc5-desc"] {
  font-size: 14.5px !important;
  color: var(--iq-text-body) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}


/* ==========================================================================
   9. STATEMENT & QUOTE SECTION
   ========================================================================== */
[data-id="statement-section"],
.elementor-element-statement-section {
  padding: 96px 32px !important;
  background: var(--iq-bg-white) !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  border-top: 1px solid var(--iq-border-light) !important;
}

[data-id="statement-box"] {
  width: 100% !important;
  max-width: 1040px !important;
  padding: 56px !important;
  border-radius: 20px !important;
  border: 1px solid var(--iq-border-light) !important;
  background: #0E141C !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08) !important;
}

[data-id="statement-quote"] {
  font-size: clamp(22px, 2.8vw, 30px) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #FFFFFF !important;
  margin: 0 0 20px 0 !important;
}

[data-id="statement-author"] {
  font-size: 13px !important;
  color: var(--iq-accent-green) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}


/* ==========================================================================
   10. CONTACT SECTION (WHITE CLEAN HYBRID)
   ========================================================================== */
[data-id="contact-section"],
.elementor-element-contact-section {
  padding: 100px 32px !important;
  background: var(--iq-bg-light) !important;
  border-top: 1px solid var(--iq-border-light) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

[data-id="cont-inner"] {
  width: 100% !important;
  max-width: 1200px !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 56px !important;
}

@media (max-width: 800px) {
  [data-id="cont-inner"] {
    flex-direction: column !important;
  }
}

[data-id="cont-left-col"] {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

[data-id="cont-eyebrow"] {
  font-size: 11.5px !important;
  color: var(--iq-accent-green-dark) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

[data-id="cont-h2"] {
  font-size: clamp(32px, 4vw, 44px) !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="cont-sub"] {
  font-size: 16px !important;
  color: var(--iq-text-muted) !important;
  margin: 0 !important;
}

[data-id="contact-details-inner"] {
  margin: 16px 0 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

[data-id="det-comp-p"] {
  font-family: 'Telegraf', sans-serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="det-addr-p"] {
  font-size: 15px !important;
  color: var(--iq-text-body) !important;
  margin: 0 !important;
}

[data-id="det-ph-p"] a, [data-id="det-ph-p"],
[data-id="det-ml-p"] a, [data-id="det-ml-p"] {
  font-family: 'Chivo Mono', monospace !important;
  font-size: 15px !important;
  color: var(--iq-accent-green-dark) !important;
  text-decoration: none !important;
  margin: 0 !important;
}

[data-id="cont-right-col"] {
  flex: 1.1 !important;
  padding: 38px !important;
  border-radius: 16px !important;
  background: var(--iq-bg-white) !important;
  border: 1px solid var(--iq-border-light) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04) !important;
}

[data-id="form-heading-title"] {
  font-size: 22px !important;
  color: var(--iq-text-dark) !important;
  margin: 0 !important;
}

[data-id="field-name"], [data-id="field-comp"], [data-id="field-email"], [data-id="field-phone"], [data-id="field-msg"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: var(--iq-text-dark) !important;
  padding: 13px 16px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  border: 1px solid var(--iq-border-medium) !important;
  background: var(--iq-bg-light) !important;
  outline: none !important;
  transition: border-color 0.25s ease, background 0.25s ease !important;
}

[data-id="field-name"]:focus, [data-id="field-comp"]:focus, [data-id="field-email"]:focus, [data-id="field-phone"]:focus, [data-id="field-msg"]:focus {
  border-color: var(--iq-accent-green) !important;
  background: #FFFFFF !important;
}


/* ==========================================================================
   11. SITE FOOTER
   ========================================================================== */
[data-id="site-footer-section"],
.elementor-element-site-footer-section {
  padding: 36px 32px !important;
  border-top: 1px solid var(--iq-border-light) !important;
  background: var(--iq-bg-white) !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

[data-id="footer-inner"] {
  width: 100% !important;
  max-width: 1200px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
}

[data-id="footer-copy"] {
  font-size: 12.5px !important;
  color: var(--iq-text-muted) !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
}

[data-id="footer-legal-links"] {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
}

[data-id="legal-link-1"] a, [data-id="legal-link-1"],
[data-id="legal-link-2"] a, [data-id="legal-link-2"] {
  font-family: 'Chivo Mono', monospace !important;
  font-size: 12px !important;
  color: var(--iq-text-body) !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

[data-id="legal-link-1"] a:hover,
[data-id="legal-link-2"] a:hover {
  color: var(--iq-accent-green-dark) !important;
}
/* ============================================================================
   IQ DESIGN SYSTEM — COMPATIBILITY LAYER                    (added 2026-08-24)
   ----------------------------------------------------------------------------
   The rules above this block hardcode the previous design (Telegraf, dark
   buttons) with !important, which outranks Elementor v4 Global Classes.
   This block re-asserts the design-system classes for elements that opt in via
   an `iq-*` class. It is deliberately narrow: it only touches `.iq-*` elements
   and never changes anything on the existing pages.

   The real fix is to retire the !important rules above once every page has been
   rebuilt on the design system — then this block can be deleted too.
   ========================================================================== */
.elementor .iq-h1 { font-family: var(--Display) !important; }

.elementor .iq-eyebrow,
.elementor .iq-lead,
.elementor .iq-stat-label,
.elementor .iq-stat-value { font-family: var(--Body) !important; }

.elementor .iq-btn {
  background-color: var(--Brand-Green) !important;
  border-color: var(--Brand-Green) !important;
  color: var(--White) !important;
}
.elementor .iq-btn:hover {
  background-color: var(--Brand-Dark) !important;
  border-color: var(--Brand-Dark) !important;
}
.elementor .iq-btn.iq-btn-ghost {
  background-color: transparent !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  color: var(--White) !important;
}
.elementor .iq-btn.iq-btn-ghost:hover {
  background-color: var(--White) !important;
  border-color: var(--White) !important;
  color: var(--Ink) !important;
}

/* --------------------------------------------------------------------------
   IQ HERO PASS — added 2026-08-24
   The block above only re-asserted colours. The theme rules at lines 52-68
   (headings) and 305-410 (buttons) also hardcode weight, tracking, radius,
   font and an injected ::after arrow, which beat the Global Classes. Scoped
   to `.iq-*` so pages 36 / 71 / 72 are untouched.
   -------------------------------------------------------------------------- */

/* -- H1: theme forces weight 500 / -0.03em on every .e-heading-base -------- */
.elementor .iq-h1 {
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.25);
}
.elementor .iq-accent-dot {
  color: var(--mme-color-lime, #b9d45f);
  font-style: normal;
}

/* -- Eyebrow dot ----------------------------------------------------------- */
.elementor .iq-dot {
  width: 7px;
  height: 7px;
  margin-top: 0.15em;
  flex: none;
  align-self: flex-start;
  border-radius: 50%;
  background: var(--mme-color-lime, #b9d45f);
  box-shadow: 0 0 0 4px rgba(185, 212, 95, 0.22);
}

/* -- Buttons: the theme ships Telegraf 15px, 8px radius, a dark fill, a
      clip-path ::before wipe and a diagonal ::after arrow on EVERY button.
      Reset all of it and restore the design-system pill.                    -- */
.elementor .iq-btn {
  font-family: var(--mme-font-body, "Rubik", sans-serif) !important;
  font-size: var(--mme-size-small, 0.875rem) !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 1.05em 1.9em !important;
  border-radius: 999px !important;
  border-width: 1px !important;
  border-style: solid !important;
  gap: 0.8em !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: auto !important;
  text-decoration: none !important;
  transition: background-color 0.35s cubic-bezier(0.2, 0.7, 0.2, 1),
              border-color 0.35s cubic-bezier(0.2, 0.7, 0.2, 1),
              color 0.35s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
/* Kill the theme's clip-path wipe and its diagonal injected arrow. */
.elementor .iq-btn::before {
  content: none !important;
  display: none !important;
}
.elementor .iq-btn::after {
  content: none !important;
  display: none !important;
}
.elementor .iq-btn:hover {
  transform: none !important;
  box-shadow: none !important;
}
.elementor .iq-btn span {
  color: inherit !important;
}

/* The reference puts an inline arrow SVG inside the primary CTA, but the
   atomic-button Twig template runs striptags() with an allow-list that has no
   <svg>, so the markup can never survive the render. Draw it as a mask on
   ::after instead — it is decorative (aria-hidden in the reference) either way. */
.elementor .iq-btn:not(.iq-btn-ghost)::after {
  content: '' !important;
  display: inline-block !important;
  width: 1.05em !important;
  height: 1.05em !important;
  flex: none !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain !important;
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
.elementor .iq-btn:not(.iq-btn-ghost):hover::after {
  transform: translateX(4px) !important;
}
@media (prefers-reduced-motion: reduce) {
  .elementor .iq-btn,
  .elementor .iq-btn::after { transition: none !important; }
}

/* -- Stat bar: columns are divided by borders, so the last one drops its rule */
.elementor .iq-statbar > .iq-stat:last-child {
  border-inline-end-width: 0 !important;
}

/* -- Hero media: poster and video are stacked layers of the same box ------- */
.elementor .iq-hero-media > video.iq-media-layer {
  z-index: 1;
}

@media (max-width: 720px) {
  .elementor .iq-statbar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .elementor .iq-statbar > .iq-stat {
    padding-bottom: 1rem !important;
    border-block-end: 1px solid rgba(255, 255, 255, 0.13) !important;
  }
  .elementor .iq-statbar > .iq-stat:nth-child(2n) {
    border-inline-end-width: 0 !important;
  }
  .elementor .iq-statbar > .iq-stat:nth-last-child(-n + 2) {
    border-block-end: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   IQ SECTION 8.1 — Herausforderung & Lösung           (added 2026-08-24)
   -------------------------------------------------------------------------- */

/* align-items has no `baseline` in Elementor's enum, so the rule rows assert it here */
.elementor .iq-rule-row { align-items: baseline !important; }

/* The reference underlines a phrase inside the H2 with a gradient that survives
   line breaks. background-size / -position are not in the 73-prop style schema. */
.elementor .iq-mark {
  background-image: linear-gradient(var(--mme-color-brand, #4ca22e), var(--mme-color-brand, #4ca22e));
  background-repeat: no-repeat;
  background-position: 0 94%;
  background-size: 100% 0.075em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* .iq-link is an e-button, so the theme's .e-button-base block hits it too. */
.elementor .iq-link {
  font-family: var(--mme-font-body, "Rubik", sans-serif) !important;
  font-size: var(--mme-size-small, 0.875rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background-color: transparent !important;
  color: var(--mme-color-white, #fff) !important;
  padding: 0.55em 0 !important;
  border-radius: 0 !important;
  border-width: 0 0 1px 0 !important;
  border-style: solid !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: auto !important;
  gap: 0.65em !important;
  transition: border-color 0.4s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
.elementor .iq-link::before { content: none !important; display: none !important; }
.elementor .iq-link:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(255, 255, 255, 1) !important;
}
.elementor .iq-link span { color: inherit !important; }
/* the reference's down-arrow, drawn as a mask (striptags eats inline <svg>) */
.elementor .iq-link::after {
  content: '' !important;
  display: inline-block !important;
  width: 1.05em !important;
  height: 1.05em !important;
  flex: none !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M12 5v14M5.5 12.5 12 19l6.5-6.5'/%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M12 5v14M5.5 12.5 12 19l6.5-6.5'/%3E%3C/svg%3E") no-repeat center / contain !important;
  transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
.elementor .iq-link:hover::after { transform: translateY(3px) !important; }

/* the card link is pinned to the bottom of the dark card, as in the reference */
.elementor .iq-card-dark > .iq-link {
  margin-top: auto !important;
  padding-top: clamp(2rem, 4vw, 3rem) !important;
}

@media (max-width: 991px) {
  .elementor .iq-col-7,
  .elementor .iq-col-5-end { grid-column: span 12 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor .iq-link,
  .elementor .iq-link::after { transition: none !important; }
}

/* Theme lines 52-68 force weight 500 / -0.03em on every .e-heading-base. */
.elementor .iq-h2,
.elementor .iq-card-title {
  font-weight: 600 !important;
  font-family: var(--mme-font-display, "Archivo", sans-serif) !important;
}
.elementor .iq-h2 { letter-spacing: -0.025em !important; }
.elementor .iq-card-title { letter-spacing: -0.022em !important; }

/* Modifier classes: global-class CSS order is not creation order, so the
   colour modifiers are asserted here rather than raced in the cascade. */
.elementor .iq-label.iq-label-accent { color: var(--mme-color-brand, #4ca22e); }
.elementor .iq-label.iq-accent { color: var(--mme-color-lime, #b9d45f); }
.elementor .iq-body.iq-lh-tight { line-height: 1.35 !important; }

/* --------------------------------------------------------------------------
   IQ HERO — single discreet link                       (added 2026-08-24)
   The deck's HERO block says "ein dezenter Link/Anker zu 'Kontakt', kein
   Button-Paar, keine Dringlichkeits-Optik". The pill pair from index.html was
   replaced with one iq-link; these rules give it a right-pointing arrow instead
   of the card link's downward one, and a little more presence on the hero.
   -------------------------------------------------------------------------- */
.elementor .iq-hero .iq-link{
  color:#fff!important;
  border-bottom-color:rgba(255,255,255,.45)!important;
  font-size:var(--mme-size-small,0.875rem)!important;
  padding-block:.7em!important;}
.elementor .iq-hero .iq-link:hover{border-bottom-color:#fff!important;}
.elementor .iq-hero .iq-link::after{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain!important;}
.elementor .iq-hero .iq-link:hover::after{transform:translateX(4px)!important;}
/* the actions row now holds a single link */
.elementor .iq-hero .iq-actions{margin-top:clamp(1.5rem,2.6vw,2.25rem)!important;}

/* --------------------------------------------------------------------------
   IQ INLINE ACCENTS — structural, not class-based        (added 2026-08-24)
   Atomic widgets strip `class` from inline tags inside html-v3 content when a
   page is SAVED FROM THE ELEMENTOR EDITOR. `<span class="iq-mark">` comes back
   as a bare `<span>`, which silently killed the H2 underlines, the lime full
   stop in the H1 and the eyebrow dot. Target the spans by position instead —
   that needs no class and survives every future save.
   -------------------------------------------------------------------------- */
.elementor .iq-h1 > span{color:var(--mme-color-lime,#b9d45f);font-style:normal;}

.elementor .iq-h2 > span,
.elementor .iq-h1-stage > span{
  background-image:linear-gradient(var(--mme-color-brand,#4ca22e),var(--mme-color-brand,#4ca22e));
  background-repeat:no-repeat;
  background-position:0 94%;
  background-size:100% .075em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;}
/* on dark ground the accent is lime, as in the reference */
.elementor .iq-section-dark .iq-h2 > span{
  background-image:linear-gradient(var(--mme-color-lime,#b9d45f),var(--mme-color-lime,#b9d45f));}

/* the eyebrow dot is the only empty span in an eyebrow */
.elementor .iq-eyebrow > span:empty{
  width:7px;height:7px;margin-top:.15em;flex:none;align-self:flex-start;
  border-radius:50%;background:var(--mme-color-lime,#b9d45f);
  box-shadow:0 0 0 4px rgba(185,212,95,.22);}
