.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#2B2626;--e-global-color-accent:#1F1B1A;--e-global-color-ac09132:#63584A;--e-global-color-8f54303:#BDB1A5;--e-global-color-5423b8e:#FAFAFA;--e-global-color-869bef2:#FFFFFF;--e-global-color-351a779:#E3D9CF;--e-global-color-a27ee43:#D0C6BB;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1120px;}.e-con{--container-max-width:1120px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header .header-inner{width:1280px;max-width:100%;}.site-header{padding-inline-end:25px;padding-inline-start:25px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:768px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== Anti-Schwimm (Overflow) ===== */

html, body { max-width: 100%; overflow-x: hidden; } /* konservativer als clip */

.e-con, .e-con-inner,
.elementor-section, .elementor-container,
.elementor-column, .elementor-widget, .elementor-widget-wrap{
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0; /* verhindert Flex-/Gap-Überlauf in Safari */
}

.elementor img, .elementor-video, .elementor iframe, .elementor-responsive-embed{
  max-width: 100%;
  height: auto;
  display: block;
}

.elementor .elementor-heading-title,
.elementor .elementor-widget-text-editor,
.elementor .elementor-button,
.elementor a{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ===== Mobile Fix Pack – NUR Startseite (body.page-id-504) ===== */

/* Typo & Spacing */
@media (max-width: 520px){
  body.page-id-504 .elementor-widget-heading .elementor-heading-title{
    line-height: 1.15;
    letter-spacing: .01em;
    font-size: clamp(1.25rem, 5.2vw, 1.6rem);
  }
  body.page-id-504 .elementor-widget-heading h1.elementor-heading-title{
    font-size: clamp(1.6rem, 7.2vw, 2.15rem);
  }
  body.page-id-504 .elementor-widget-text-editor,
  body.page-id-504 .elementor-widget-text-editor p{
    font-size: clamp(1rem, 3.8vw, 1.075rem);
    line-height: 1.5;
    margin-bottom: .75rem;
  }
  body.page-id-504 .elementor-section,
  body.page-id-504 .elementor-container{
    scroll-margin-top: 72px;
  }
}

/* CTA-Buttons */
@media (max-width: 480px){
  body.page-id-504 .elementor-widget-button,
  body.page-id-504 .elementor-button-wrapper{ display: inline-flex; }
  body.page-id-504 .elementor-widget-button + .elementor-widget-button{ margin-left: .5rem; }
  body.page-id-504 .elementor-widget-button .elementor-button{
    flex: 1 1 auto; min-height: 44px; padding: .8rem 1rem;
    text-align: center; white-space: normal;
  }
  body.page-id-504 .elementor-widget-button{ flex: 1 1 48%; min-width: 48%; }
}

/* Icon-List (Pills) */
@media (max-width: 520px){
  body.page-id-504 .elementor-widget-icon-list .elementor-icon-list-items{ row-gap: .5rem; }
  body.page-id-504 .elementor-widget-icon-list .elementor-icon-list-item{
    padding: .6rem .8rem; border-radius: 16px; min-height: 44px;
  }
  body.page-id-504 .elementor-widget-icon-list .elementor-icon-list-text{ line-height: 1.35; }
}

/* Bilder */
@media (max-width: 520px){
  body.page-id-504 .elementor-widget-image img{
    width: 100%; height: auto; border-radius: 18px; object-fit: cover;
  }
  body.page-id-504 .elementor-section .elementor-background-overlay,
  body.page-id-504 .elementor-section .elementor-background-slideshow{
    border-radius: inherit;
  }
  body.page-id-504 .hero img,
  body.page-id-504 .hero .elementor-widget-image img{
    object-position: center 20%;
  }
}

/* Zitate/Headings */
@media (max-width: 480px){
  body.page-id-504 .elementor-blockquote,
  body.page-id-504 .elementor-testimonial__content,
  body.page-id-504 .elementor-quote{
    margin: .75rem 0 1rem;
    font-size: clamp(1.05rem, 4vw, 1.2rem);
    line-height: 1.4;
  }
  body.page-id-504 .elementor-heading-title{ overflow-wrap: anywhere; hyphens: auto; }
}

/* Formulare */
@media (max-width: 520px){
  body.page-id-504 .elementor-form .elementor-field-group{ margin-bottom: .6rem; }
  body.page-id-504 .elementor-form .elementor-field,
  body.page-id-504 .elementor-form .elementor-select-wrapper select{
    width: 100%; min-height: 46px; font-size: 16px; line-height: 1.2;
  }
  body.page-id-504 .elementor-form .elementor-button{
    width:100%; min-height:46px; padding:.9rem 1rem;
  }
}

/* Dunkler CTA stapeln */
@media (max-width: 420px){
  body.page-id-504 .elementor-widget-button{ min-width: 100%; }
}

/* Fokus sichtbar */
@media (max-width: 520px){
  body.page-id-504 :where(a, button, [role="button"], .elementor-button):focus-visible{
    outline: 2px solid rgba(0,0,0,.6); outline-offset: 2px;
  }
}


/* ===== Visual Add-ons (Sunray, Paper, Glow) ===== */

/* Intensitäten zentral steuerbar (bei Bedarf anpassen) */
:root{
  --sunray-strength: .65;   /* 0–1  | Hero-Strahlen */
  --paper-opacity:  .32;    /* 0–1  | Körnung hell */
  --paper-opacity-m:.22;    /*      | Mobile */
  --glow-opacity:   .70;    /* 0–1  | Glow Grund */
  --glow-opacity-m: .55;    /*      | Mobile */
}

/* 1) Sunray-Overlay für die Hero-Card (Klasse: hero-card) */
.hero-card{ position: relative; overflow: hidden; }
.hero-card::before{
  content:""; position:absolute; inset:-6%; pointer-events:none; z-index:0;
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 55%),
    conic-gradient(from -22deg at 9% 9%,
      rgba(255,255,255,.22) 0 7deg, transparent 7deg 13deg,
      rgba(255,255,255,.22) 13deg 20deg, transparent 20deg 28deg,
      rgba(255,255,255,.22) 28deg 34deg, transparent 34deg 360deg);
  mix-blend-mode: overlay; /* auf hellem Grund gut sichtbar */
  opacity: var(--sunray-strength);
}
@media (max-width:480px){
  .hero-card::before{ opacity: calc(var(--sunray-strength) - .15); }
}

/* 2) Paper-Grain (Klasse: paper; optional paper--strong) */
.paper{ position: relative; }
.paper::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit;
  /* SVG-Noise als Data-URI – keine zusätzlichen Requests */
  background-size: 160px 160px;
  mix-blend-mode: multiply;
  opacity: var(--paper-opacity);
}
.paper.paper--strong::after{ opacity: calc(var(--paper-opacity) + .12); }
@media (max-width:480px){
  .paper::after{ opacity: var(--paper-opacity-m); background-size: 140px 140px; }
}

/* 3) Glow-Blobs (Klasse: has-glow; Zusätze: glow--light | glow--dark | glow--boost) */
.has-glow{ position: relative; }
.has-glow::before{
  content:""; position:absolute; inset:-10% -5% auto -5%; height:58%;
  pointer-events:none; z-index:0;
  background:
    radial-gradient(40% 35% at 20% 30%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(40% 35% at 80% 20%, rgba(0,0,0,.08), transparent 60%);
  filter: blur(20px);
  opacity: var(--glow-opacity);
}
.has-glow.glow--light::before{ mix-blend-mode: overlay; } /* helle Sektionen */
.has-glow.glow--dark::before{  mix-blend-mode: screen;  } /* dunkle Sektionen */
.has-glow.glow--boost::before{
  opacity: calc(var(--glow-opacity) + .12);
  filter: blur(22px);
}
@media (max-width:480px){
  .has-glow::before{ opacity: var(--glow-opacity-m); filter: blur(18px); }
}

/* Sicherheitsnetz */
@media (prefers-reduced-motion: reduce){
  .hero-card::before, .has-glow::before{ transition: none; }
}


/* Hero Sunray – weich + Mask ohne @supports (lint-freundlich) */
.hero-card::before{
  /* dein weicher Glow */
  mix-blend-mode: soft-light;
  opacity: 0.48;
  background:
    radial-gradient(110% 85% at 6% 8%,
      rgba(255,255,255,.28) 0%,
      rgba(255,255,255,0) 55%),
    conic-gradient(from -22deg at 9% 9%,
      rgba(255,255,255,.14) 0 7deg, transparent 7deg 13deg,
      rgba(255,255,255,.14) 13deg 20deg, transparent 20deg 28deg,
      rgba(255,255,255,.14) 28deg 34deg, transparent 34deg 360deg);
  filter: blur(1px);

  /* sanfte „Eck-Maske“ – Browser ohne Support ignorieren diese Zeilen einfach */
  -webkit-mask-image: radial-gradient(60% 55% at 0% 0%,
    rgba(0,0,0,0) 0% 14%, rgba(0,0,0,.7) 26%, #000 38%);
          mask-image: radial-gradient(60% 55% at 0% 0%,
  rgba(0,0,0,0) 0% 14%, rgba(0,0,0,.7) 26%, black 38%);
}


/* Basis */
.section-deco{ position:relative; isolation:isolate; }
.section-deco::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; }

/* 1) bg-pearl-strong – sichtbarere „Perl-Schraffur“ diagonal */
.bg-pearl-strong::before{
  background:
    /* sanfter Lichtzug */
    linear-gradient(120deg, rgba(255,255,255,.42) 0 38%, rgba(255,255,255,0) 60%),
    /* dezente Schatten-Fahne */
    radial-gradient(85% 65% at 105% 10%, rgba(0,0,0,.10), transparent 60%);
  mix-blend-mode: normal;   /* auf hellem Grund sichtbarer als soft-light */
  opacity:.92; filter: blur(.3px);
}

/* 2) bg-bands – edle Top/Bottom-Bänder (klar sichtbar) */
.bg-bands::before{
  background:
    linear-gradient(to bottom, rgba(255,255,255,.35) 0, rgba(255,255,255,0) 28%),
    linear-gradient(to top,    rgba(0,0,0,.10)       0, rgba(0,0,0,0)       35%);
  opacity:.85;
}

/* 3) bg-linen – feine Leinen-Struktur (on light) */
.bg-linen::before{
  background-size: 180px 180px;
  mix-blend-mode: multiply;        /* auf hell gut sichtbar */
  opacity:.10;                     /* fein; für mehr Sichtbarkeit auf .14 gehen */
}
.bg-linen-strong::before{ opacity:.14; }

/* 4) Arches – große, sanfte Bögen (sichtbarer auf hellem Grund) */
.bg-arches::before{
  background:
    /* helle Bogenlichtung links oben */
    conic-gradient(from -28deg at 14% 18%,
      rgba(255,255,255,.35) 0 18deg, transparent 18deg 360deg),
    /* sehr leichte Schattenbogen rechts oben */
    conic-gradient(from 210deg at 86% 22%,
      rgba(0,0,0,.08) 0 12deg, transparent 12deg 360deg),
    /* extra Schimmer diagonal */
    radial-gradient(78% 60% at 85% -6%, rgba(255,255,255,.28), transparent 60%);
  mix-blend-mode: overlay;         /* auf hell sichtbar(er) als soft-light */
  opacity: .88;
  filter: blur(.6px);
}
@media (max-width:480px){
  .bg-arches::before{ opacity: .72; filter: blur(1px); }
}

/* 5) Pinstripe – feine, elegante Linien (on light) */
.bg-pinstripe::before{
  background: repeating-linear-gradient(
    to bottom,
    rgba(0,0,0,.05) 0 1px,          /* Linie */
    transparent 1px 8px             /* Abstand */
  );
  mix-blend-mode: multiply;         /* auf hell gut sichtbar */
  opacity: .90;
}
@media (max-width:480px){
  .bg-pinstripe::before{ opacity:.85; }
}

/* 6) Divider-Crest – edler Top/Bottom-Übergang (klarer auf hell) */
.bg-divider::before{
  inset:auto 0 0 0; height: 96px;
  background:
    radial-gradient(60% 80% at 50% 0%,   rgba(255,255,255,.55), transparent 70%),
    radial-gradient(60% 80% at 50% 100%, rgba(0,0,0,.14),        transparent 70%);
  mix-blend-mode: overlay;
  opacity:.70;
}
.bg-divider::after{
  inset:0 0 auto 0; height: 96px;
  background:
    radial-gradient(60% 80% at 50% 100%, rgba(255,255,255,.45), transparent 70%),
    radial-gradient(60% 80% at 50% 0%,   rgba(0,0,0,.10),       transparent 70%);
  mix-blend-mode: overlay;
  opacity:.65;
}
@media (max-width:480px){
  .bg-divider::before, .bg-divider::after{ height:72px; opacity:.55; }
}


/* Mobile sanfter */
@media (max-width:480px){
  .bg-vignette::before, .bg-pearl::before, .bg-arches::before{ opacity:.6; filter: blur(1px); }
  .bg-frame{ border-radius:18px; } .bg-frame::after{ border-radius:18px; box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(0,0,0,.06),
    0 10px 28px rgba(0,0,0,.07); }
}


/* Hinweis: Animationen bewusst keine; respects prefers-reduced-motion implizit. */

:root{ --mx:30%; --my:25%; }

/* Effekt nur auf Sektionen mit .bg-luxe.bg-luxe--aurora */
.bg-luxe.bg-luxe--aurora{ position: relative; isolation:isolate; }
.bg-luxe.bg-luxe--aurora::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(45vw 40vh at var(--mx) var(--my), rgba(255,255,255,.22), transparent 60%),
    conic-gradient(from 210deg at 70% 20%, rgba(255,255,255,.08), rgba(0,0,0,0) 40%, rgba(0,0,0,.06) 60%, rgba(255,255,255,0) 100%);
  mix-blend-mode: soft-light; opacity:.9; transition: opacity .2s ease;
}

/* Fallback bei reduzierter Bewegung: statisch */
@media (prefers-reduced-motion: reduce){
  .bg-luxe.bg-luxe--aurora::before{
    background:
      radial-gradient(45vw 40vh at 30% 25%, rgba(255,255,255,.28), transparent 60%),
      conic-gradient(from 210deg at 70% 20%, rgba(255,255,255,.08), rgba(0,0,0,0) 40%, rgba(0,0,0,.06) 60%, rgba(255,255,255,0) 100%);
  }
}

/* Optional: leicht schwächer, wenn Sektion sehr hell ist */
.bg-luxe.bg-luxe--aurora.is-soft::before{ opacity:.7; }

/* -------------------------------------------------------------
   Global CSS – JUDITH COACHING (v5 layered & scoped)
   Zweck: Effekte behalten, Startseiten-Regeln isolieren,
          Unternehmensseite wieder frei gestaltbar machen
   ------------------------------------------------------------- */

/* ===== Layer-Order (wichtig) ===== */
@layer reset, global, homepage, components, utilities, page;

/* ===== Reset/Schutz (leicht) ===== */
@layer reset {
  html, body { max-width: 100%; overflow-x: hidden; }
  .e-con, .e-con-inner,
  .elementor-section, .elementor-container,
  .elementor-column, .elementor-widget, .elementor-widget-wrap{
    max-width: 100%; box-sizing: border-box; min-width: 0;
  }
  .elementor img, .elementor-video, .elementor iframe, .elementor-responsive-embed{
    max-width: 100%; height: auto; display: block;
  }
  .elementor :where(.elementor-heading-title,
                    .elementor-widget-text-editor,
                    .elementor-button, a){
    overflow-wrap: anywhere; word-break: break-word;
  }
}

/* ===== Global (seitenübergreifend gültig) ===== */
@layer global {
  /* Body-Offset für fixierten Header */
  body { padding-top: 100px; }

  /* Fixierter Blur-Header */
  .frosted-header{
    position: fixed; top: 0; left: 0; width: 100%;
    z-index: 9999;
    background: rgba(255,255,255,.2);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(0,0,0,.05);
    box-shadow: 0 4px 20px rgba(0,0,0,.05);
    overflow: hidden;
  }
  .frosted-header * { position: relative; z-index: 1; }
  .elementor-section:not(.frosted-header){ transform: translateZ(0); }

  /* Visual Add-ons (Sunray, Paper, Glow) – KLASSENBASIERT */
  :root{
    --sunray-strength:.65; --paper-opacity:.32; --paper-opacity-m:.22;
    --glow-opacity:.70; --glow-opacity-m:.55;
  }
  .hero-card{ position:relative; overflow:hidden; }
  .hero-card::before{
    content:""; position:absolute; inset:-6%; pointer-events:none; z-index:0;
    mix-blend-mode: soft-light; opacity:.48; filter: blur(1px);
    background:
      radial-gradient(110% 85% at 6% 8%, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 55%),
      conic-gradient(from -22deg at 9% 9%,
        rgba(255,255,255,.14) 0 7deg, transparent 7deg 13deg,
        rgba(255,255,255,.14) 13deg 20deg, transparent 20deg 28deg,
        rgba(255,255,255,.14) 28deg 34deg, transparent 34deg 360deg);
    -webkit-mask-image: radial-gradient(60% 55% at 0% 0%,
      rgba(0,0,0,0) 0% 14%, rgba(0,0,0,.7) 26%, #000 38%);
            mask-image: radial-gradient(60% 55% at 0% 0%,
      rgba(0,0,0,0) 0% 14%, rgba(0,0,0,.7) 26%, black 38%);
  }
  @media (max-width:480px){ .hero-card::before{ opacity:.33; } }

  .paper{ position:relative; }
  .paper::after{
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none; border-radius:inherit;
    background-size:160px 160px; mix-blend-mode:multiply; opacity:var(--paper-opacity);
  }
  .paper.paper--strong::after{ opacity: calc(var(--paper-opacity) + .12); }
  @media (max-width:480px){ .paper::after{ opacity:var(--paper-opacity-m); background-size:140px 140px; } }

  .has-glow{ position:relative; }
  .has-glow::before{
    content:""; position:absolute; inset:-10% -5% auto -5%; height:58%;
    pointer-events:none; z-index:0; filter: blur(20px); opacity:var(--glow-opacity);
    background:
      radial-gradient(40% 35% at 20% 30%, rgba(255,255,255,.55), transparent 60%),
      radial-gradient(40% 35% at 80% 20%, rgba(0,0,0,.08), transparent 60%);
  }
  .has-glow.glow--light::before{ mix-blend-mode: overlay; }
  .has-glow.glow--dark::before{  mix-blend-mode: screen;  }
  .has-glow.glow--boost::before{ opacity: calc(var(--glow-opacity) + .12); filter: blur(22px); }
  @media (max-width:480px){ .has-glow::before{ opacity:var(--glow-opacity-m); filter: blur(18px); } }

  @media (prefers-reduced-motion: reduce){ .hero-card::before, .has-glow::before{ transition:none; } }

  /* Deko-Hintergründe – KLASSENBASIERT (keine IDs) */
  .section-deco{ position:relative; isolation:isolate; }
  .section-deco::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; }

  .bg-pearl-strong::before{
    background:
      linear-gradient(120deg, rgba(255,255,255,.42) 0 38%, rgba(255,255,255,0) 60%),
      radial-gradient(85% 65% at 105% 10%, rgba(0,0,0,.10), transparent 60%);
    opacity:.92; filter: blur(.3px);
  }
  .bg-bands::before{
    background:
      linear-gradient(to bottom, rgba(255,255,255,.35) 0, rgba(255,255,255,0) 28%),
      linear-gradient(to top,    rgba(0,0,0,.10) 0, rgba(0,0,0,0) 35%);
    opacity:.85;
  }
  .bg-linen::before{
    background-size:180px 180px; mix-blend-mode:multiply; opacity:.10;
  }
  .bg-linen-strong::before{ opacity:.14; }
  .bg-arches::before{
    background:
      conic-gradient(from -28deg at 14% 18%, rgba(255,255,255,.35) 0 18deg, transparent 18deg 360deg),
      conic-gradient(from 210deg at 86% 22%, rgba(0,0,0,.08) 0 12deg, transparent 12deg 360deg),
      radial-gradient(78% 60% at 85% -6%, rgba(255,255,255,.28), transparent 60%);
    mix-blend-mode: overlay; opacity:.88; filter: blur(.6px);
  }
  @media (max-width:480px){ .bg-arches::before{ opacity:.72; filter: blur(1px); } }
  .bg-pinstripe::before{
    background: repeating-linear-gradient(to bottom, rgba(0,0,0,.05) 0 1px, transparent 1px 8px);
    mix-blend-mode:multiply; opacity:.90;
  }
  @media (max-width:480px){ .bg-pinstripe::before{ opacity:.85; } }
  .bg-divider::before{
    inset:auto 0 0 0; height:96px;
    background: radial-gradient(60% 80% at 50% 0%, rgba(255,255,255,.55), transparent 70%),
                radial-gradient(60% 80% at 50% 100%, rgba(0,0,0,.14), transparent 70%);
    mix-blend-mode: overlay; opacity:.70;
  }
  .bg-divider::after{
    inset:0 0 auto 0; height:96px;
    background: radial-gradient(60% 80% at 50% 100%, rgba(255,255,255,.45), transparent 70%),
                radial-gradient(60% 80% at 50% 0%,   rgba(0,0,0,.10),       transparent 70%);
    mix-blend-mode: overlay; opacity:.65;
  }
  @media (max-width:480px){
    .bg-divider::before, .bg-divider::after{ height:72px; opacity:.55; }
    .bg-vignette::before, .bg-pearl::before, .bg-arches::before{ opacity:.6; filter: blur(1px); }
    .bg-frame{ border-radius:18px; }
    .bg-frame::after{ border-radius:18px; box-shadow:
      inset 0 1px 0 rgba(255,255,255,.55),
      inset 0 -1px 0 rgba(0,0,0,.06),
      0 10px 28px rgba(0,0,0,.07); }
  }
}

/* ===== Startseite: streng isoliert auf body.page-id-504 ===== */
@layer homepage {
  /* Mobile Fix Pack NUR Startseite */
  @media (max-width: 520px){
    body.page-id-504 .elementor-widget-heading .elementor-heading-title{
      line-height:1.15; letter-spacing:.01em;
      font-size: clamp(1.25rem, 5.2vw, 1.6rem);
    }
    body.page-id-504 .elementor-widget-heading h1.elementor-heading-title{
      font-size: clamp(1.6rem, 7.2vw, 2.15rem);
    }
    body.page-id-504 .elementor-widget-text-editor,
    body.page-id-504 .elementor-widget-text-editor p{
      font-size: clamp(1rem, 3.8vw, 1.075rem); line-height:1.5; margin-bottom:.75rem;
    }
    body.page-id-504 .elementor-section,
    body.page-id-504 .elementor-container{ scroll-margin-top: 72px; }
  }
  @media (max-width: 480px){
    body.page-id-504 .elementor-widget-button,
    body.page-id-504 .elementor-button-wrapper{ display:inline-flex; }
    body.page-id-504 .elementor-widget-button + .elementor-widget-button{ margin-left:.5rem; }
    body.page-id-504 .elementor-widget-button .elementor-button{
      flex:1 1 auto; min-height:44px; padding:.8rem 1rem; text-align:center; white-space:normal;
    }
    body.page-id-504 .elementor-widget-button{ flex:1 1 48%; min-width:48%; }
  }
  @media (max-width:520px){
    body.page-id-504 .elementor-widget-icon-list .elementor-icon-list-items{ row-gap:.5rem; }
    body.page-id-504 .elementor-widget-icon-list .elementor-icon-list-item{
      padding:.6rem .8rem; border-radius:16px; min-height:44px;
    }
    body.page-id-504 .elementor-widget-icon-list .elementor-icon-list-text{ line-height:1.35; }
  }
  @media (max-width:520px){
    body.page-id-504 .elementor-widget-image img{ width:100%; height:auto; border-radius:18px; object-fit:cover; }
    body.page-id-504 .elementor-section .elementor-background-overlay,
    body.page-id-504 .elementor-section .elementor-background-slideshow{ border-radius:inherit; }
    body.page-id-504 .hero img,
    body.page-id-504 .hero .elementor-widget-image img{ object-position:center 20%; }
  }
  @media (max-width:480px){
    body.page-id-504 .elementor-blockquote,
    body.page-id-504 .elementor-testimonial__content,
    body.page-id-504 .elementor-quote{
      margin:.75rem 0 1rem; font-size: clamp(1.05rem, 4vw, 1.2rem); line-height:1.4;
    }
    body.page-id-504 .elementor-heading-title{ overflow-wrap:anywhere; hyphens:auto; }
  }
  @media (max-width:520px){
    body.page-id-504 .elementor-form .elementor-field-group{ margin-bottom:.6rem; }
    body.page-id-504 .elementor-form .elementor-field,
    body.page-id-504 .elementor-form .elementor-select-wrapper select{
      width:100%; min-height:46px; font-size:16px; line-height:1.2;
    }
    body.page-id-504 .elementor-form .elementor-button{ width:100%; min-height:46px; padding:.9rem 1rem; }
  }
  @media (max-width:420px){ body.page-id-504 .elementor-widget-button{ min-width:100%; } }
  @media (max-width:520px){
    body.page-id-504 :where(a, button, [role="button"], .elementor-button):focus-visible{
      outline:2px solid rgba(0,0,0,.6); outline-offset:2px;
    }
  }

  /* Aurora-Overlay – HOMEPAGE */
  :root{ --mx:30%; --my:25%; }
  .bg-luxe.bg-luxe--aurora{ position:relative; isolation:isolate; }
  .bg-luxe.bg-luxe--aurora::before{
    content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
    background:
      radial-gradient(45vw 40vh at var(--mx) var(--my), rgba(255,255,255,.22), transparent 60%),
      conic-gradient(from 210deg at 70% 20%, rgba(255,255,255,.08), rgba(0,0,0,0) 40%, rgba(0,0,0,.06) 60%, rgba(255,255,255,0) 100%);
    mix-blend-mode: soft-light; opacity:.9; transition: opacity .2s ease;
  }
  @media (prefers-reduced-motion: reduce){
    .bg-luxe.bg-luxe--aurora::before{
      background:
        radial-gradient(45vw 40vh at 30% 25%, rgba(255,255,255,.28), transparent 60%),
        conic-gradient(from 210deg at 70% 20%, rgba(255,255,255,.08), rgba(0,0,0,0) 40%, rgba(0,0,0,.06) 60%, rgba(255,255,255,0) 100%);
    }
  }
  .bg-luxe.bg-luxe--aurora.is-soft::before{ opacity:.7; }
}

/* ===== Utilities (kleine Helfer) ===== */
@layer utilities {
  .hero-card .draw-underline::after{
    --du-thickness: .06em; --du-offset: .26em;
    box-shadow: 0 2px 6px rgba(0,0,0,.12); opacity:.9;
    -webkit-mask-image: linear-gradient(90deg, transparent 0 4%, #000 12% 88%, transparent 96% 100%);
            mask-image: linear-gradient(90deg, transparent 0 4%, #000 12% 88%, transparent 96% 100%);
  }
  @media (prefers-reduced-motion: reduce){ .hero-card .draw-underline::after{ transition:none; } }
}

@layer page {
  /* 1) Design-Variablen für die Seite (bequem editierbar) */
  body.page-id-828 {
    --font-head: "Libertinus Serif", ui-serif, Georgia, serif;
    --font-head-w: 600;
    --font-body: "Libertinus Serif", ui-serif, Georgia, serif;
    --font-body-w: 300;

    --text: #1F1B1A;
    --muted: #4E4747;
    --accent: #E3D9CF;
  }

  /* 2) Typo wieder Elementor-overridebar machen (ohne IDs zu bekämpfen) */
  body.page-id-828 .elementor :where(h1,h2,h3,h4,h5,h6){
    font-family: var(--font-head); font-weight: var(--font-head-w);
    line-height: 1.15; letter-spacing: normal;
    color: var(--text);
  }
  body.page-id-828 .elementor :where(p,li,blockquote){
    font-family: var(--font-body); font-weight: var(--font-body-w);
    line-height: 1.55; color: var(--muted);
  }

  /* 3) Saubere Grundabstände für diese Seite */
  body.page-id-828 .elementor-section{ scroll-margin-top: 84px; }
  @media (max-width:520px){
    body.page-id-828 .elementor-section{ scroll-margin-top: 72px; }
  }

  /* 4) Sanfte Seite-Optik wie Startseite, aber fein dosiert */
  body.page-id-828 .bg-frame::after{
    content:""; position:absolute; inset:0; border-radius:18px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.55),
      inset 0 -1px 0 rgba(0,0,0,.06),
      0 10px 28px rgba(0,0,0,.07);
    pointer-events:none;
  }

  /* 5) Buttons kompakt und zugänglich */
  body.page-id-828 .elementor-button{
    min-height:44px; padding:.8rem 1.1rem; line-height:1.1;
  }
  body.page-id-828 :where(a,button,[role="button"],.elementor-button):focus-visible{
    outline:2px solid rgba(0,0,0,.55); outline-offset:2px;
  }
}/* End custom CSS */