.elementor-66 .elementor-element.elementor-element-d60faad{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-66 .elementor-element.elementor-element-eeb7df5{--display:flex;}.elementor-66 .elementor-element.elementor-element-71549c9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-66 .elementor-element.elementor-element-39802bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-af43f3f .elementor-cta__content{min-height:0px;text-align:center;}.elementor-66 .elementor-element.elementor-element-af43f3f .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-af43f3f .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-af43f3f .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-75b5277{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-7b70f69 .elementor-cta__content{text-align:center;}.elementor-66 .elementor-element.elementor-element-7b70f69 .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-7b70f69 .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-7b70f69 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-0fe4451{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-124c75a .elementor-cta__content{text-align:center;}.elementor-66 .elementor-element.elementor-element-124c75a .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-124c75a .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-124c75a .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-5862449{--display:flex;}.elementor-66 .elementor-element.elementor-element-4a42689{--spacer-size:50px;}.elementor-66 .elementor-element.elementor-element-3a38ce7{--display:flex;}.elementor-66 .elementor-element.elementor-element-b15823e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;}.elementor-66 .elementor-element.elementor-element-120ebe6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-213ca39 .elementor-cta__content{text-align:center;}.elementor-66 .elementor-element.elementor-element-213ca39 .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-213ca39 .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-213ca39 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-98ff54a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-61cf405 .elementor-cta__content{text-align:center;}.elementor-66 .elementor-element.elementor-element-61cf405 .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-61cf405 .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-61cf405 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-6226020{--display:flex;}.elementor-66 .elementor-element.elementor-element-fd67cef{--spacer-size:50px;}.elementor-66 .elementor-element.elementor-element-db63b1b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-66 .elementor-element.elementor-element-91942a2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-66 .elementor-element.elementor-element-3ea1e74{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-f8cd814 .elementor-cta__content{min-height:100px;text-align:center;}.elementor-66 .elementor-element.elementor-element-f8cd814 .elementor-cta__bg-wrapper{min-width:0px;min-height:330px;}.elementor-66 .elementor-element.elementor-element-f8cd814 .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-f8cd814 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-89296eb{--display:flex;}.elementor-66 .elementor-element.elementor-element-180b92b{--spacer-size:50px;}.elementor-66 .elementor-element.elementor-element-4885361{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-66 .elementor-element.elementor-element-5d73d00{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-66 .elementor-element.elementor-element-6dbefd9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-acccd50 .elementor-cta__content{text-align:center;}.elementor-66 .elementor-element.elementor-element-acccd50 .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-acccd50 .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-acccd50 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-3b7d441{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-2edf635 .elementor-cta__content{text-align:center;}.elementor-66 .elementor-element.elementor-element-2edf635 .elementor-cta__bg-wrapper{min-height:330px;}.elementor-66 .elementor-element.elementor-element-2edf635 .elementor-cta .elementor-cta__bg, .elementor-66 .elementor-element.elementor-element-2edf635 .elementor-cta .elementor-cta__bg-overlay{transition-duration:1500ms;}.elementor-66 .elementor-element.elementor-element-149f01e{--display:flex;}.elementor-66 .elementor-element.elementor-element-ca42359{--spacer-size:215px;}:root{--page-title-display:none;}html{height:100vh;margin:0;overflow:hidden;}body{height:100vh;overflow:auto;scroll-snap-type:y mandatory;}.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:always;}@media(min-width:768px){.elementor-66 .elementor-element.elementor-element-39802bd{--width:50%;}.elementor-66 .elementor-element.elementor-element-75b5277{--width:50%;}.elementor-66 .elementor-element.elementor-element-0fe4451{--width:50%;}.elementor-66 .elementor-element.elementor-element-120ebe6{--width:50%;}.elementor-66 .elementor-element.elementor-element-98ff54a{--width:50%;}.elementor-66 .elementor-element.elementor-element-3ea1e74{--width:50%;}.elementor-66 .elementor-element.elementor-element-6dbefd9{--width:50%;}.elementor-66 .elementor-element.elementor-element-3b7d441{--width:50%;}}@media(max-width:1024px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}@media(max-width:767px){.elementor-section:not(.elementor-inner-section), .elementor-location-header, .elementor-location-footer, .page-header, .site-header, .elementor-add-section, .e-con:not(.e-child){scroll-snap-align:start;scroll-snap-stop:normal;}}/* Start custom CSS *//* =========================
   G E N O – Karten-Style
   (IT, Vermietung, Beratung, 3D/Designböden)
   ========================= */

/* --- 1) Kachel-Rahmen + Hover --- */
#it-section .card, #vermietung-section .card, #beratung-section .card, #innovation-section .card,
#it-section .elementor-cta.card, #vermietung-section .elementor-cta.card,
#beratung-section .elementor-cta.card, #innovation-section .elementor-cta.card{
  position: relative;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15,23,42,.04);
  transition: transform .2s ease, box-shadow .2s ease;
}
#it-section .card:hover, #vermietung-section .card:hover, #beratung-section .card:hover, #innovation-section .card:hover,
#it-section .elementor-cta.card:hover, #vermietung-section .elementor-cta.card:hover,
#beratung-section .elementor-cta.card:hover, #innovation-section .elementor-cta.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(2,6,23,.12);
}

/* --- 2) Bild-Kacheln: einheitliche Höhe --- */
#it-section .card img, #vermietung-section .card img, #beratung-section .card img, #innovation-section .card img{
  width:100%; height:280px; object-fit:cover; display:block;
}
@media (max-width:1024px){
  #it-section .card img, #vermietung-section .card img, #beratung-section .card img, #innovation-section .card img{ height:220px; }
}
@media (max-width:767px){
  #it-section .card img, #vermietung-section .card img, #beratung-section .card img, #innovation-section .card img{ height:180px; }
}

/* --- 3) CTA-Widgets: alle Layer übernehmen die Rundung --- */
#it-section .elementor-cta.card .elementor-cta__bg,
#it-section .elementor-cta.card .elementor-cta__bg-overlay,
#it-section .elementor-cta.card .elementor-cta__content,
#it-section .elementor-cta.card .elementor-widget-container,
#vermietung-section .elementor-cta.card .elementor-cta__bg,
#vermietung-section .elementor-cta.card .elementor-cta__bg-overlay,
#vermietung-section .elementor-cta.card .elementor-cta__content,
#vermietung-section .elementor-cta.card .elementor-widget-container,
#beratung-section .elementor-cta.card .elementor-cta__bg,
#beratung-section .elementor-cta.card .elementor-cta__bg-overlay,
#beratung-section .elementor-cta.card .elementor-cta__content,
#beratung-section .elementor-cta.card .elementor-widget-container,
#innovation-section .elementor-cta.card .elementor-cta__bg,
#innovation-section .elementor-cta.card .elementor-cta__bg-overlay,
#innovation-section .elementor-cta.card .elementor-cta__content,
#innovation-section .elementor-cta.card .elementor-widget-container{
  border-radius: inherit !important;
  overflow: hidden;
}

/* ======================================================================
   H E R O  (Startseite)
   – ein Block, keine Doppeldefinitionen
   – Full-Bleed, intensiver blau-weißer Verlauf, keine Streifen
   – Headings responsiv, Handy/Quer fix
   ====================================================================== */

/* Hero – Typo & Abstände (globale Basis) */
#hero-section { padding-top:96px; padding-bottom:96px; }
#hero-section .elementor-heading-title{ 
  font-size:56px; line-height:1.1; letter-spacing:-0.01em; margin:0 0 14px;
}
#hero-section .subline{
  font-size:26px; line-height:1.45; color:#475569; margin:0 0 48px; max-width:960px;
}
/* angenehme Zeilenverteilung bei mehrzeiligen Headlines */
#hero-section .elementor-heading-title, 
#hero-section .subline{ text-wrap:balance; }

/* Responsive (Tablet / Mobile) */
@media (max-width:1024px){
  #hero-section{ padding-top:72px; padding-bottom:72px; }
  #hero-section .elementor-heading-title{ font-size:42px; }
  #hero-section .subline{ font-size:22px; margin-bottom:40px; }
}
@media (max-width:767px){
  #hero-section{ padding-top:56px; padding-bottom:56px; }
  #hero-section .elementor-heading-title{ font-size:32px; }
  #hero-section .subline{ font-size:18px; margin-bottom:32px; }
}

/* --- Full-Bleed Hintergrund: intensiver Blauverlauf, ohne Streifen --- */
#hero-section{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  /* intensiveres Blau (sichtbarer als vorher) */
  background:
    linear-gradient(180deg, #E7F0FF 0%, #F2F7FF 52%, #FFFFFF 100%) !important;
}

/* weiche blaue Lichtflecken – über volle Fensterbreite */
#hero-section::before{
  content:"";
  position:absolute;
  inset-block:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;                 /* Full-Bleed */
  pointer-events:none;
  z-index:-1;
  /* etwas stärkere Intensität (Alpha erhöht) */
  background:
    radial-gradient(900px 480px at 12% 18%, rgba(99,146,255,.26) 0%, rgba(99,146,255,0) 62%),
    radial-gradient(680px 360px at 85% 10%, rgba(167,139,250,.18) 0%, rgba(167,139,250,0) 66%),
    radial-gradient(560px 300px at 85% 85%, rgba(56,189,248,.16) 0%, rgba(56,189,248,0) 62%);
}

/* kein Punktraster / keine Streifen */
#hero-section::after{
  content:"";
  position:absolute;
  inset-block:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  pointer-events:none;
  z-index:-1;
  background:none !important;
  opacity:0 !important;
}

/* --- Nur auf Startseite unter den Header „hochziehen“ --- */
.elementor-location-header{
  background: transparent !important;
  position: relative; 
  z-index: 10; 
  box-shadow: none !important;
}
#hero-section{
  z-index:0;
  margin-top: -88px;                 /* = Headerhöhe Desktop */
  padding-top: calc(88px + 96px);    /* 96px = normales Hero-Top-Padding */
}
@media (max-width:1024px){
  #hero-section{ margin-top:-72px; padding-top:calc(72px + 72px); }
}
@media (max-width:767px){
  #hero-section{ margin-top:-64px; padding-top:calc(64px + 56px); }
}
.elementor-sticky--effects.elementor-location-header{
  background: transparent !important; box-shadow: none !important;
}

/* ===================== Hero – nur der Textbereich ===================== */
/* Klasse am Text-Wrapper: hero-text */
.hero-text{
  max-width: 1200px;
  margin-inline: auto;
  padding: clamp(14px, 6vw, 56px) 16px;
}
/* 1. Heading im Block (Kicker) */
.hero-text .elementor-widget-heading:first-of-type .elementor-heading-title{
  font-weight:700; letter-spacing:.02em; line-height:1.25; color:#0f172a;
  font-size: clamp(12px, 3.6vw, 16px) !important;
  margin: 0 0 .35rem 0;
}
/* alle weiteren Headings = große Headline (greift auch bei aufgeteilten Zeilen) */
.hero-text .elementor-widget-heading:not(:first-of-type) .elementor-heading-title{
  font-weight:800; line-height:1.18; color:#0f172a;
  font-size: clamp(22px, 8vw, 48px) !important;
  text-wrap: balance; overflow-wrap:anywhere; word-break:normal;
  margin:.25rem 0;
}
@media (max-width:1024px){
  .hero-text .elementor-widget-heading:not(:first-of-type) .elementor-heading-title{
    font-size: clamp(22px, 6.4vw, 40px) !important;
  }
}
@media (max-width:767px){
  .hero-text{ padding: clamp(12px, 8vw, 28px) 16px; }
  .hero-text .elementor-widget-heading:not(:first-of-type) .elementor-heading-title{
    font-size: clamp(20px, 8.2vw, 34px) !important;
  }
}
/* sehr niedrige Viewports (Handy quer) */
@media (max-height:420px) and (orientation:landscape){
  .hero-text{ padding-block:10px; }
  .hero-text .elementor-widget-heading:not(:first-of-type) .elementor-heading-title{
    font-size: clamp(18px, 4.2vw, 24px) !important;
  }
}







/* ===========================================
   Smooth Scroll + Anker-Offset unter Sticky-Header
   Ort: Elementor → Website-Einstellungen → Benutzerdefiniertes CSS
   =========================================== */

/* Headerhöhen zentral pflegen */
:root{
  --geno-header-desktop: 88px;  /* ≈ Headerhöhe Desktop */
  --geno-header-tablet:  72px;  /* ≈ Headerhöhe Tablet  */
  --geno-header-mobile:  64px;  /* ≈ Headerhöhe Mobile  */
}

/* 1) Sanftes Scrollen für Anker / In-Page-Links */
html { scroll-behavior: smooth; }

/* Barrierefreiheit: wer Bewegungen reduziert, bekommt normales Scrollen */
@media (prefers-reduced-motion: reduce){
  html { scroll-behavior: auto; }
}

/* 2) Anker-Ziele bekommen oberen Abstand = Headerhöhe
      (gilt für jedes Element mit id sowie Elementor-Anchor-Widget) */
:where([id], .elementor-menu-anchor){
  scroll-margin-top: var(--geno-header-desktop);
}

/* Tablet-Anpassung */
@media (max-width: 1024px){
  :where([id], .elementor-menu-anchor){
    scroll-margin-top: var(--geno-header-tablet);
  }
}

/* Mobile-Anpassung */
@media (max-width: 767px){
  :where([id], .elementor-menu-anchor){
    scroll-margin-top: var(--geno-header-mobile);
  }
}

/* 3) Optional: horizontales Ruckeln verhindern, falls mal etwas nach außen schiebt */
body { overflow-x: hidden; }

/* 4) Fallback für sehr alte Browser ohne scroll-margin-top
      (wirkt nur, wenn das Ziel tatsächlich angesprungen wird :target) */
@supports not (scroll-margin-top: 1px){
  :target::before{
    content:"";
    display:block;
    height: var(--geno-header-desktop);
    margin-top: calc(-1 * var(--geno-header-desktop));
  }
  @media (max-width: 1024px){
    :target::before{
      height: var(--geno-header-tablet);
      margin-top: calc(-1 * var(--geno-header-tablet));
    }
  }
  @media (max-width: 767px){
    :target::before{
      height: var(--geno-header-mobile);
      margin-top: calc(-1 * var(--geno-header-mobile));
    }
  }
}/* End custom CSS */