/* ============================================================
   SYNOVA Lösung · Cloud (IT4MED)
   ============================================================ */
.lcl-wrap, .lcl-wrap * { box-sizing: border-box; }
.lcl-wrap {
  --bg:#0a0805; --bg-2:#14100a; --fg:#f3e6d2; --fg-mute:rgba(243,230,210,0.62); --fg-soft:rgba(243,230,210,0.82);
  --gold:#d4af7f; --gold-2:#b8966e;
  --green:#4ade80; --red:#f87171; --amber:#fbbf24; --blue:#60a5fa;
  --line:rgba(212,175,127,0.2); --line-2:rgba(243,230,210,0.08);
  --serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',sans-serif; --mono:'JetBrains Mono',monospace;
  --page-pad: clamp(1.5rem, 5vw, 5rem);
  --content-w: 1380px;
  position:relative; width:100%; background:var(--bg); color:var(--fg);
  font-family:var(--sans); overflow-x:clip; isolation:isolate; padding-bottom:6rem;
}
.lcl-spacing-compact{--sec-py:3.5rem;--sec-gap:1rem}
.lcl-spacing-comfortable{--sec-py:6rem;--sec-gap:1.25rem}
.lcl-spacing-spacious{--sec-py:9rem;--sec-gap:1.75rem}

.lcl-grain { position:absolute; inset:0; pointer-events:none; z-index:0; opacity:0.04; mix-blend-mode:overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.lcl-no-grain .lcl-grain{display:none}
.lcl-wrap > section { position:relative; z-index:1; }
.lcl-italic { font-style:italic; color:var(--gold); }
.lcl-eyebrow { display:inline-flex; align-items:center; gap:.7rem; font-family:var(--mono); font-size:.7rem; font-weight:500; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:1.75rem; }
.lcl-eyebrow::before { content:''; width:26px; height:1px; background:var(--gold); }

[data-reveal] { opacity:1; transform:none; transition:opacity .95s cubic-bezier(.2,.85,.25,1), transform .95s cubic-bezier(.2,.85,.25,1); }
.lcl-wrap.is-reveal-ready [data-reveal]:not(.is-in) { opacity:0; transform:translateY(28px); }

.lcl-progress { position:sticky; top:0; height:2px; width:100%; background:var(--line-2); z-index:100; }
.lcl-progress-fill { display:block; height:100%; width:0%; background:linear-gradient(90deg, var(--gold), var(--gold-2)); box-shadow:0 0 10px rgba(212,175,127,.55); transition:width .12s linear; }

/* Buttons */
.lcl-btn { display:inline-flex; align-items:center; gap:.7rem; padding:.95rem 1.7rem; border-radius:999px; border:1px solid transparent; font-family:var(--sans); font-size:.92rem; font-weight:500; letter-spacing:.02em; text-decoration:none; cursor:pointer; transition:background .3s, color .3s, transform .3s, box-shadow .3s; }
.lcl-btn svg { width:16px; height:16px; transition:transform .3s; }
.lcl-btn--primary { background:var(--gold); color:var(--bg); }
.lcl-btn--primary:hover { background:var(--fg); transform:translateY(-2px); box-shadow:0 14px 32px rgba(212,175,127,.4); }
.lcl-btn--primary:hover svg { transform:translateX(3px); }
.lcl-btn--lg { padding:1.15rem 2.25rem; font-size:1rem; }

/* ============ HERO mit VIDEO BG ============ */
.lcl-hero { position:relative; padding:8rem var(--page-pad) 6rem; min-height:88vh; display:flex; align-items:center; overflow:hidden; border-bottom:1px solid var(--line); }
.lcl-hero-bg { position:absolute; inset:0; z-index:0; pointer-events:none; }
.lcl-hero-video { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%, -50%); object-fit:cover; filter:saturate(0.85) brightness(0.55) contrast(1.05); }
.lcl-hero-vignette { position:absolute; inset:0; background:
  radial-gradient(ellipse at center, transparent 30%, rgba(10,8,5,0.55) 75%, rgba(10,8,5,0.85) 100%); }
.lcl-hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,8,5,.4) 0%, rgba(10,8,5,.55) 50%, rgba(10,8,5,.75) 100%); }
.lcl-hero[data-overlay="light"] .lcl-hero-overlay { background:linear-gradient(180deg, rgba(10,8,5,.15) 0%, rgba(10,8,5,.3) 50%, rgba(10,8,5,.55) 100%); }
.lcl-hero[data-overlay="strong"] .lcl-hero-overlay { background:linear-gradient(180deg, rgba(10,8,5,.6) 0%, rgba(10,8,5,.75) 50%, rgba(10,8,5,.9) 100%); }
.lcl-hero[data-overlay="none"] .lcl-hero-overlay { display:none; }
.lcl-hero--video .lcl-hero-video { animation:lcl-slowZoom 28s ease-in-out infinite alternate; }
@keyframes lcl-slowZoom { 0% { transform:translate(-50%, -50%) scale(1); } 100% { transform:translate(-50%, -50%) scale(1.08); } }
.lcl-hero-inner { position:relative; z-index:2; max-width:980px; margin:0 auto; width:100%; }

.lcl-doc { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--fg-mute); margin-bottom:2.5rem; }
.lcl-doc-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px rgba(74,222,128,.5); animation:lcl-pulse 2.4s ease-in-out infinite; }
@keyframes lcl-pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.5; transform:scale(1.3); } }

.lcl-hero-title { font-family:var(--serif); font-size:clamp(3rem, 8vw, 7rem); font-weight:400; line-height:.95; letter-spacing:-.04em; margin:0 0 2rem; color:var(--fg); text-shadow:0 4px 30px rgba(10,8,5,0.5); }
.lcl-hero-line { display:block; overflow:hidden; }
.lcl-hero-line > span { display:block; transform:translateY(0); transition:transform 1.1s cubic-bezier(.2,.85,.25,1); }
.lcl-wrap.is-reveal-ready .lcl-hero:not(.is-in) .lcl-hero-line > span { transform:translateY(110%); }
.lcl-wrap.is-reveal-ready .lcl-hero.is-in .lcl-hero-line:nth-child(1) > span { transition-delay:.2s; transform:translateY(0); }
.lcl-wrap.is-reveal-ready .lcl-hero.is-in .lcl-hero-line:nth-child(2) > span { transition-delay:.4s; transform:translateY(0); }
.lcl-hero-sub { font-size:1.15rem; line-height:1.7; color:var(--fg-soft); max-width:720px; margin:0 0 3rem; text-shadow:0 2px 12px rgba(10,8,5,0.5); }

.lcl-hero-stats { display:flex; flex-wrap:wrap; padding:1.75rem 0; border-top:1px solid rgba(212,175,127,.3); border-bottom:1px solid rgba(212,175,127,.3); margin-bottom:2.5rem; background:rgba(10,8,5,.35); backdrop-filter:blur(6px); padding-left:1.5rem; padding-right:1.5rem; border-radius:6px; }
.lcl-hero-stat { position:relative; padding:0 1.85rem; flex:1 1 auto; min-width:140px; }
.lcl-hero-stat:first-child { padding-left:0; }
.lcl-hero-stat:not(:first-child)::before { content:''; position:absolute; left:0; top:15%; bottom:15%; width:1px; background:var(--line-2); }
.lcl-hero-stat-val { display:block; font-family:var(--serif); font-size:clamp(2rem, 4vw, 3rem); font-weight:400; line-height:.95; color:var(--gold); letter-spacing:-.03em; margin-bottom:.4rem; }
.lcl-hero-stat-label { font-family:var(--mono); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--fg-mute); }
.lcl-hero-scroll { display:inline-flex; align-items:center; gap:.85rem; font-family:var(--mono); font-size:.74rem; letter-spacing:.28em; text-transform:uppercase; color:var(--fg-soft); text-decoration:none; padding:.6rem 0; border-bottom:1px solid var(--line-2); transition:color .3s, border-color .3s; }
.lcl-hero-scroll svg { width:14px; height:14px; color:var(--gold); animation:lcl-bounce 2.4s ease-in-out infinite; }
.lcl-hero-scroll:hover { color:var(--gold); border-color:var(--gold); }
@keyframes lcl-bounce { 0%,100% { transform:translateY(0); opacity:.6; } 50% { transform:translateY(4px); opacity:1; } }

/* ============ SECTION HEAD ============ */
.lcl-section-head { max-width:960px; margin-bottom:3rem; }
.lcl-section-title { font-family:var(--serif); font-size:clamp(2rem, 5vw, 3.8rem); font-weight:400; line-height:1.02; letter-spacing:-.03em; margin:0 0 1rem; color:var(--fg); }
.lcl-section-sub { font-size:1.05rem; line-height:1.65; color:var(--fg-mute); margin:1rem 0 0; max-width:680px; }

/* ============ VIDEO-SHOWCASE ============ */
.lcl-video { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; }
.lcl-video-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:4rem; align-items:center; }
.lcl-video-frame { position:relative; aspect-ratio:16/10; border-radius:14px; overflow:hidden; background:#000; transition:transform 1.1s cubic-bezier(.2,.8,.25,1); will-change:transform; }
.lcl-video-frame::before { content:''; position:absolute; inset:0; padding:1.5px; border-radius:14px; background:linear-gradient(135deg, var(--gold) 0%, transparent 35%, transparent 65%, var(--gold-2) 100%); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; z-index:3; opacity:.7; }
.lcl-video-glow { position:absolute; inset:-12%; background:radial-gradient(ellipse at center, rgba(212,175,127,.25) 0%, transparent 60%); filter:blur(20px); z-index:-1; opacity:.85; animation:lcl-glowPulse 6s ease-in-out infinite; }
@keyframes lcl-glowPulse { 0%,100% { opacity:.7; transform:scale(1); } 50% { opacity:1; transform:scale(1.08); } }
.lcl-video-el { width:100%; height:100%; object-fit:cover; display:block; }
.lcl-video-corner { position:absolute; width:32px; height:32px; pointer-events:none; z-index:2; }
.lcl-video-corner--tl { top:16px; left:16px; border-top:1.5px solid var(--gold); border-left:1.5px solid var(--gold); }
.lcl-video-corner--tr { top:16px; right:16px; border-top:1.5px solid var(--gold); border-right:1.5px solid var(--gold); }
.lcl-video-corner--bl { bottom:16px; left:16px; border-bottom:1.5px solid var(--gold); border-left:1.5px solid var(--gold); }
.lcl-video-corner--br { bottom:16px; right:16px; border-bottom:1.5px solid var(--gold); border-right:1.5px solid var(--gold); }
.lcl-video-toggle { position:absolute; bottom:1.25rem; right:1.25rem; width:54px; height:54px; border-radius:50%; background:rgba(10,8,5,.6); backdrop-filter:blur(10px); border:1px solid var(--line); color:var(--fg); cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s, transform .3s; }
.lcl-video-toggle svg { width:20px; height:20px; }
.lcl-video-toggle:hover { background:var(--gold); color:var(--bg); border-color:var(--gold); transform:scale(1.05); }
.lcl-icon-pause { display:none; }
.is-playing .lcl-icon-play { display:none; }
.is-playing .lcl-icon-pause { display:block; }
.lcl-video-caption { position:absolute; bottom:1.4rem; left:1.4rem; z-index:5; font-family:var(--mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--fg); background:rgba(10,8,5,.65); backdrop-filter:blur(8px); padding:.4rem .8rem; border:1px solid var(--line); border-radius:4px; }

.lcl-video-points { list-style:none; margin:0; padding:0; display:grid; gap:1.5rem; }
.lcl-video-point { display:grid; grid-template-columns:auto 1fr; gap:1.25rem; align-items:start; padding-bottom:1.5rem; border-bottom:1px solid var(--line-2); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.25,1); transition-delay:calc(.1s * var(--i)); }
.lcl-video-point:last-child { border-bottom:0; padding-bottom:0; }
.lcl-wrap.is-reveal-ready .lcl-video:not(.is-in) .lcl-video-point { opacity:0; transform:translateX(20px); }
.lcl-video-point-num { font-family:var(--serif); font-style:italic; font-size:1.6rem; color:var(--gold); line-height:1; letter-spacing:-.02em; min-width:36px; }
.lcl-video-point-label { font-family:var(--sans); font-size:1.02rem; line-height:1.55; color:var(--fg-soft); padding-top:.2rem; }

/* ============ PROVIDER (IT4MED Hero-Card) ============ */
.lcl-prov { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; border-top:1px solid var(--line); scroll-margin-top:2rem; }
.lcl-prov-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(420px, 1fr)); gap:var(--sec-gap); }
.lcl-prov-card { position:relative; padding:2.5rem 2.25rem; background:linear-gradient(165deg, rgba(212,175,127,.06), transparent); border:1px solid var(--line); border-radius:16px; transition:border-color .4s, transform .4s, background .4s; overflow:hidden; }
.lcl-prov-card::before { content:''; position:absolute; inset:0; padding:1px; background:linear-gradient(165deg, var(--gold) 0%, transparent 50%); border-radius:16px; -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; opacity:.5; }
.lcl-prov-card:hover { border-color:rgba(212,175,127,.45); transform:translateY(-5px); background:linear-gradient(165deg, rgba(212,175,127,.1), transparent); }
.lcl-prov-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.75rem; padding-bottom:1.5rem; border-bottom:1px dashed var(--line-2); }
.lcl-prov-mark { font-family:var(--serif); font-style:italic; font-size:2.4rem; color:var(--gold); line-height:1; }
.lcl-prov-tag { font-family:var(--mono); font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); padding:.4rem .85rem; border:1px solid var(--line); border-radius:999px; background:rgba(212,175,127,.05); }
.lcl-prov-name { font-family:var(--serif); font-size:clamp(1.85rem, 3.5vw, 2.6rem); font-weight:500; line-height:1.1; margin:0 0 1rem; color:var(--fg); letter-spacing:-.015em; }
.lcl-prov-loc { display:flex; align-items:center; gap:.55rem; font-family:var(--mono); font-size:.78rem; letter-spacing:.1em; color:var(--gold); margin:0 0 1.5rem; }
.lcl-prov-loc svg { width:14px; height:14px; flex-shrink:0; }
.lcl-prov-desc { font-size:.98rem; line-height:1.65; color:var(--fg-mute); margin:0 0 1.75rem; }
.lcl-prov-features { list-style:none; margin:0 0 1.75rem; padding:0; display:grid; gap:.7rem; }
.lcl-prov-features li { display:flex; align-items:flex-start; gap:.75rem; font-size:.93rem; color:var(--fg-soft); line-height:1.4; }
.lcl-prov-features svg { width:14px; height:14px; color:var(--gold); flex-shrink:0; margin-top:.2rem; }
.lcl-prov-foot { display:flex; align-items:baseline; gap:1rem; padding-top:1.25rem; border-top:1px dashed var(--line-2); }
.lcl-prov-foot-label { font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.lcl-prov-foot-val { font-family:var(--serif); font-style:italic; color:var(--fg); font-size:1.05rem; }

/* ============ MODELLE (IaaS, PaaS, SaaS, Hybrid) ============ */
.lcl-mod { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; border-top:1px solid var(--line); }
.lcl-mod-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--sec-gap); }
.lcl-mod-card { padding:2rem 1.75rem; background:linear-gradient(165deg, rgba(212,175,127,.04), transparent); border:1px solid var(--line); border-radius:14px; transition:border-color .35s, transform .4s; }
.lcl-mod-card:hover { border-color:rgba(212,175,127,.4); transform:translateY(-4px); }
.lcl-mod-num { display:inline-block; font-family:var(--mono); font-size:.85rem; font-weight:600; letter-spacing:.18em; color:var(--gold); padding:.45rem .85rem; border:1px solid var(--line); border-radius:6px; background:rgba(212,175,127,.04); margin-bottom:1.5rem; }
.lcl-mod-name { font-family:var(--serif); font-size:1.4rem; font-weight:500; margin:0 0 .85rem; color:var(--fg); letter-spacing:-.01em; line-height:1.2; }
.lcl-mod-desc { font-size:.92rem; line-height:1.6; color:var(--fg-mute); margin:0 0 1.5rem; }
.lcl-mod-for { display:inline-block; font-family:var(--mono); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--fg-mute); padding-top:1rem; border-top:1px dashed var(--line-2); width:100%; }

/* ============ BENEFITS ============ */
.lcl-ben { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; border-top:1px solid var(--line); }
.lcl-ben-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--sec-gap); }
.lcl-ben-card { padding:1.85rem 1.75rem; background:linear-gradient(165deg, rgba(212,175,127,.04), transparent); border:1px solid var(--line-2); border-radius:12px; transition:border-color .35s, transform .4s; }
.lcl-ben-card:hover { border-color:rgba(212,175,127,.4); transform:translateY(-3px); }
.lcl-ben-icon { width:46px; height:46px; display:flex; align-items:center; justify-content:center; background:rgba(212,175,127,.08); border:1px solid var(--line); border-radius:10px; color:var(--gold); margin-bottom:1.25rem; }
.lcl-ben-icon svg { width:22px; height:22px; }
.lcl-ben-title { font-family:var(--serif); font-size:1.25rem; font-weight:500; margin:0 0 .65rem; color:var(--fg); letter-spacing:-.01em; }
.lcl-ben-desc { font-size:.92rem; line-height:1.6; color:var(--fg-mute); margin:0; }

/* ============ MIGRATION ============ */
.lcl-mig { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; border-top:1px solid var(--line); }
.lcl-mig-list { list-style:none; margin:0; padding:0; max-width:920px; }
.lcl-mig-step { position:relative; display:grid; grid-template-columns:80px 1fr; gap:2rem; padding:1.5rem 0 2.5rem; }
.lcl-mig-step:last-child .lcl-mig-rail { display:none; }
.lcl-mig-rail { position:absolute; left:39px; top:3.5rem; bottom:0; width:1px; background:linear-gradient(180deg, var(--line), transparent); }
.lcl-mig-dot { position:absolute; left:32px; top:1.7rem; width:15px; height:15px; border-radius:50%; background:var(--bg); border:2px solid var(--gold); box-shadow:0 0 0 4px var(--bg), 0 0 14px rgba(212,175,127,.4); z-index:2; }
.lcl-mig-num { font-family:var(--serif); font-style:italic; font-size:1.7rem; color:var(--gold); letter-spacing:-.02em; padding-top:1rem; text-align:right; padding-right:1.5rem; }
.lcl-mig-body { padding-top:1rem; }
.lcl-mig-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:1rem; margin-bottom:.85rem; }
.lcl-mig-title { font-family:var(--serif); font-size:1.45rem; font-weight:500; line-height:1.15; margin:0; color:var(--fg); letter-spacing:-.01em; }
.lcl-mig-dur { font-family:var(--mono); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); padding:.25rem .65rem; border:1px solid var(--line); border-radius:4px; background:rgba(212,175,127,.04); }
.lcl-mig-desc { font-size:.95rem; line-height:1.65; color:var(--fg-mute); margin:0; max-width:620px; }

/* ============ COMPLIANCE ============ */
.lcl-sec { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; border-top:1px solid var(--line); }
.lcl-sec-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--sec-gap); }
.lcl-sec-card { padding:1.75rem 1.85rem; background:linear-gradient(165deg, rgba(212,175,127,.04), transparent); border:1px solid var(--line-2); border-radius:12px; transition:border-color .35s, transform .4s; }
.lcl-sec-card:hover { border-color:rgba(212,175,127,.4); transform:translateY(-3px); }
.lcl-sec-check { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.35); color:var(--green); margin-bottom:1.25rem; }
.lcl-sec-check svg { width:16px; height:16px; }
.lcl-sec-title { font-family:var(--serif); font-size:1.2rem; font-weight:500; margin:0 0 .65rem; color:var(--fg); letter-spacing:-.01em; }
.lcl-sec-desc { font-size:.9rem; line-height:1.6; color:var(--fg-mute); margin:0; }

/* ============ SLIDER ============ */
.lcl-slider { padding:var(--sec-py) var(--page-pad); max-width:var(--content-w); margin:0 auto; border-top:1px solid var(--line); }
.lcl-slider-stage { position:relative; aspect-ratio:16/9; max-height:680px; border-radius:14px; overflow:hidden; background:var(--bg-2); border:1px solid var(--line); }
.lcl-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1s ease, visibility 1s; }
.lcl-slide.is-active { opacity:1; visibility:visible; z-index:2; }
.lcl-slide-img { position:absolute; inset:-8%; background-size:cover; background-position:center; transform:scale(1.1); transition:transform 7s ease-out; filter:brightness(.92); }
.lcl-slide.is-active .lcl-slide-img { transform:scale(1); }
.lcl-slide-overlay { position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(10,8,5,.4) 70%, rgba(10,8,5,.85) 100%); }
.lcl-slide-meta { position:absolute; left:0; right:0; bottom:0; padding:2rem 2.5rem 2.5rem; z-index:3; }
.lcl-slide-caption { display:inline-block; font-family:var(--mono); font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); padding:.4rem .75rem; background:rgba(10,8,5,.55); border:1px solid var(--line); border-radius:999px; margin-bottom:1rem; backdrop-filter:blur(8px); opacity:0; transform:translateY(12px); transition:opacity 1s ease .35s, transform 1s cubic-bezier(.2,.85,.25,1) .35s; }
.lcl-slide.is-active .lcl-slide-caption { opacity:1; transform:translateY(0); }
.lcl-slide-title { font-family:var(--serif); font-size:clamp(1.5rem, 3.5vw, 2.6rem); font-weight:500; line-height:1.15; color:var(--fg); margin:0; max-width:680px; letter-spacing:-.015em; opacity:0; transform:translateY(20px); transition:opacity 1s ease .5s, transform 1s cubic-bezier(.2,.85,.25,1) .5s; }
.lcl-slide.is-active .lcl-slide-title { opacity:1; transform:translateY(0); }
.lcl-slider-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; background:rgba(10,8,5,.55); backdrop-filter:blur(10px); border:1px solid var(--line); border-radius:50%; color:var(--fg); cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s, transform .3s; }
.lcl-slider-nav svg { width:18px; height:18px; }
.lcl-slider-nav:hover { background:var(--gold); color:var(--bg); border-color:var(--gold); transform:translateY(-50%) scale(1.05); }
.lcl-slider-nav--prev { left:1.5rem; }
.lcl-slider-nav--next { right:1.5rem; }
.lcl-slider-dots { position:absolute; bottom:1.25rem; left:50%; transform:translateX(-50%); display:flex; gap:.6rem; z-index:10; }
.lcl-slider-dot { width:28px; height:3px; background:rgba(243,230,210,.25); border:0; border-radius:2px; cursor:pointer; padding:0; transition:background .3s, width .3s; }
.lcl-slider-dot:hover { background:rgba(243,230,210,.45); }
.lcl-slider-dot.is-active { background:var(--gold); width:42px; }
.lcl-slider-counter { position:absolute; top:1.25rem; right:1.5rem; z-index:10; font-family:var(--mono); font-size:.85rem; letter-spacing:.08em; color:var(--fg); background:rgba(10,8,5,.55); backdrop-filter:blur(8px); padding:.35rem .8rem; border:1px solid var(--line); border-radius:4px; }
.lcl-slider-counter-cur { color:var(--gold); }
.lcl-slider-counter-sep { margin:0 .35rem; opacity:.5; }
.lcl-slider-counter-tot { opacity:.7; }

/* ============ FAQ ============ */
.lcl-faq { padding:var(--sec-py) var(--page-pad); max-width:920px; margin:0 auto; border-top:1px solid var(--line); }
.lcl-faq-item { border-bottom:1px solid var(--line-2); }
.lcl-faq-item:first-child { border-top:1px solid var(--line-2); }
.lcl-faq-item summary { display:grid; grid-template-columns:50px 1fr 44px; gap:1rem; align-items:center; padding:1.5rem 0; cursor:pointer; list-style:none; transition:padding-left .35s cubic-bezier(.2,.8,.2,1); }
.lcl-faq-item summary::-webkit-details-marker { display:none; }
.lcl-faq-item summary:hover { padding-left:.4rem; }
.lcl-faq-num { font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; color:var(--gold); }
.lcl-faq-q { font-family:var(--serif); font-size:clamp(1.05rem, 2vw, 1.35rem); font-weight:500; line-height:1.3; color:var(--fg); letter-spacing:-.005em; }
.lcl-faq-toggle { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; color:var(--gold); transition:background .3s, transform .4s cubic-bezier(.2,.8,.2,1); }
.lcl-faq-toggle svg { width:14px; height:14px; transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.lcl-faq-item[open] .lcl-faq-toggle { background:var(--gold); color:var(--bg); border-color:var(--gold); }
.lcl-faq-item[open] .lcl-faq-toggle svg { transform:rotate(45deg); }
.lcl-faq-a { padding:0 0 1.75rem 64px; }
.lcl-faq-a p { font-size:.98rem; line-height:1.75; color:var(--fg-mute); margin:0; max-width:680px; }

/* ============ CTA ============ */
.lcl-cta { position:relative; padding:calc(var(--sec-py) + 2rem) var(--page-pad) var(--sec-py); max-width:var(--content-w); margin:4rem auto 0; text-align:center; border-top:1px solid var(--line); }
.lcl-cta-mark { width:80px; height:1px; background:var(--gold); margin:0 auto 2.5rem; box-shadow:0 0 14px rgba(212,175,127,.6); }
.lcl-cta .lcl-eyebrow { justify-content:center; }
.lcl-cta-title { font-family:var(--serif); font-size:clamp(2.2rem, 5.5vw, 4.5rem); font-weight:400; line-height:1.05; letter-spacing:-.03em; margin:0 0 1.75rem; color:var(--fg); }
.lcl-cta-sub { font-size:1.05rem; line-height:1.65; color:var(--fg-mute); max-width:600px; margin:0 auto 2.75rem; }
.lcl-cta-email { display:inline-flex; align-items:center; gap:.85rem; font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem, 3.2vw, 2.4rem); color:var(--gold); text-decoration:none; padding:.5rem 0; border-bottom:1px solid rgba(212,175,127,.4); margin-bottom:3rem; transition:color .3s, border-color .3s; }
.lcl-cta-email svg { width:20px; height:20px; transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.lcl-cta-email:hover { color:var(--fg); border-color:var(--fg); }
.lcl-cta-email:hover svg { transform:translate(4px,-4px); }
.lcl-cta-actions { display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1.5rem 2.5rem; margin-bottom:2rem; width:100%; }
.lcl-cta-phone { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.82rem; letter-spacing:.12em; color:var(--fg-mute); text-decoration:none; transition:color .3s; }
.lcl-cta-phone svg { width:14px; height:14px; color:var(--gold); }
.lcl-cta-phone:hover { color:var(--gold); }
.lcl-cta-note { font-family:var(--serif); font-style:italic; font-size:.95rem; color:rgba(243,230,210,.55); margin:0; }

/* ============ RESPONSIVE ============ */
@media (max-width:1100px) {
  .lcl-video-grid { grid-template-columns:1fr; gap:2.5rem; }
  .lcl-prov-grid, .lcl-ben-grid, .lcl-sec-grid { grid-template-columns:1fr; }
  .lcl-mod-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:720px) {
  .lcl-hero { padding:6rem 1.25rem 4rem; min-height:auto; }
  .lcl-hero-stats { padding:1.25rem .75rem; gap:1rem; flex-direction:column; }
  .lcl-hero-stat { padding:1rem 0; flex:1 1 100%; }
  .lcl-hero-stat::before { display:none !important; }
  .lcl-hero-stat + .lcl-hero-stat { border-top:1px solid var(--line-2); }
  .lcl-video, .lcl-prov, .lcl-mod, .lcl-ben, .lcl-mig, .lcl-sec, .lcl-slider, .lcl-faq, .lcl-cta { padding:3.5rem 1.25rem; }
  .lcl-prov-card { padding:1.75rem 1.5rem; }
  .lcl-mod-grid { grid-template-columns:1fr; }
  .lcl-mig-step { grid-template-columns:50px 1fr; gap:.85rem; padding:1.25rem 0 2.5rem; }
  .lcl-mig-rail { left:23px; }
  .lcl-mig-dot { left:16px; }
  .lcl-mig-num { font-size:1.2rem; padding-right:.75rem; padding-top:.85rem; }
  .lcl-slider-stage { aspect-ratio:4/3; }
  .lcl-slide-meta { padding:1.25rem 1.5rem 2rem; }
  .lcl-slider-nav { width:38px; height:38px; }
  .lcl-slider-nav--prev { left:.75rem; }
  .lcl-slider-nav--next { right:.75rem; }
  .lcl-faq-item summary { grid-template-columns:36px 1fr 36px; gap:.75rem; padding:1.25rem 0; }
  .lcl-faq-a { padding-left:48px; padding-bottom:1.5rem; }
  .lcl-cta { margin-top:2rem; padding:4rem 1.25rem; }
}

@media (prefers-reduced-motion:reduce) {
  .lcl-wrap.is-reveal-ready [data-reveal] { opacity:1 !important; transform:none !important; }
  .lcl-hero-line > span, .lcl-video-point { transform:none !important; opacity:1 !important; }
  .lcl-hero--video .lcl-hero-video { animation:none; }
  .lcl-video-glow { animation:none; }
  .lcl-slide-img { transform:scale(1) !important; }
}

/* Editor-Performance: stoppt teure GPU-Loops in der Preview-Iframe.
   Frontend bleibt 1:1 wie deployt. */
.elementor-editor-active .lcl-wrap { width:100% !important; margin-left:0 !important; }
.elementor-editor-active .lcl-grain,
.elementor-editor-active .lcl-hero-vignette,
.elementor-editor-active .lcl-video-glow { display:none !important; }
.elementor-editor-active .lcl-hero-video,
.elementor-editor-active .lcl-doc-dot,
.elementor-editor-active .lcl-hero-scroll svg,
.elementor-editor-active .lcl-slide-img { animation:none !important; }
.elementor-editor-active .lcl-slider-nav,
.elementor-editor-active .lcl-slider-counter,
.elementor-editor-active .lcl-slide-caption,
.elementor-editor-active .lcl-video-caption,
.elementor-editor-active .lcl-video-toggle,
.elementor-editor-active .lcl-hero-stats { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.elementor-editor-active .lcl-video-frame,
.elementor-editor-active .lcl-hero-video { will-change:auto !important; transition:none !important; }
