/* Case Studies: Times-Square-Szene mit neun Billboards (aus dem Elementor-Widget em-case-square.html) */
.emsq{
  --pink:#FD3870; --pink-d:#e02258; --soft:#ffe9f0;
  --ink:#0B0B0F; --body:#62626c; --line:#ebebef;
  --shadow:0 10px 30px rgba(11,11,15,.06);
  --shadow-h:0 16px 38px rgba(11,11,15,.09);
  --cycle:52s;
  --u:16px;                      /* 1 % der Szenenbreite, wird per JS gesetzt */
  position:relative; max-width:none;
  background:#fff; color:var(--body);
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  line-height:1.6;
}
.emsq *,.emsq *::before,.emsq *::after{box-sizing:border-box;}
.emsq h2,.emsq h3,.emsq h4{font-family:"Manrope",system-ui,sans-serif;color:var(--ink);
  margin:0;line-height:1.12;letter-spacing:-.01em;}
.emsq p{margin:0;}
.emsq__wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 22px;position:relative;z-index:1;}

/* ---------- Intro ---------- */
.emsq__intro{position:relative;z-index:3;padding:58px 0 0;}
.emsq__deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.emsq__decoword{position:absolute;right:-24px;top:14px;
  font-family:"Manrope",sans-serif;font-weight:800;font-size:clamp(4rem,13vw,11rem);
  line-height:.9;color:transparent;-webkit-text-stroke:2px #FFEDF3;
  transform:rotate(-6deg);user-select:none;white-space:nowrap;}
.emsq__decodots{position:absolute;left:-70px;top:34px;width:320px;height:320px;border-radius:50%;
  background-image:radial-gradient(#FFD3DF 1.6px,transparent 1.6px);background-size:15px 15px;
  -webkit-mask-image:radial-gradient(circle,#000 28%,transparent 70%);
  mask-image:radial-gradient(circle,#000 28%,transparent 70%);opacity:.75;}
.emsq__kicker{display:inline-flex;align-items:center;gap:9px;
  font-size:.92rem;font-weight:500;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 16px 7px 13px;
  box-shadow:var(--shadow);}
.emsq__kicker svg{width:18px;height:18px;fill:var(--pink);flex:none;}
.emsq__intro h2{font-size:clamp(1.9rem,4.1vw,3.15rem);font-weight:800;margin:20px 0 18px;max-width:26ch;}
.emsq__intro h2 em{font-style:normal;
  background:linear-gradient(92deg,#FD3870 15%,#FFA09B 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.emsq__lead{font-size:clamp(1.02rem,1.6vw,1.2rem);max-width:58ch;}
.emsq__jump{position:relative;z-index:4;margin-top:22px;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;
  background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 7px #fff,0 10px 26px rgba(253,56,112,.34);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
  animation:emsq-bob 2.6s ease-in-out infinite;}
.emsq__jump svg{width:24px;height:24px;fill:currentColor;}
.emsq__jump:hover{background:var(--pink-d);transform:translateY(3px);
  box-shadow:0 0 0 7px #fff,0 14px 32px rgba(253,56,112,.42);animation:none;}
.emsq__jump:active{transform:translateY(5px) scale(.96);}
@keyframes emsq-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.emsq__jump{animation:none;}}

/* ==========================================================================
   Tag- und Nachtzyklus
   Alle zeitabhaengigen Elemente teilen Dauer und Timing ueber .emsq__t und
   unterscheiden sich nur im animation-name. Dadurch laufen Himmel, Fenster,
   Strasse und Billboards garantiert synchron.
   ========================================================================== */
.emsq__t{animation-duration:var(--cycle);animation-iteration-count:infinite;
  animation-timing-function:ease-in-out;animation-fill-mode:both;}
@keyframes emsq-day  {0%,17%{opacity:1}31%{opacity:0}73%{opacity:0}91%,100%{opacity:1}}
@keyframes emsq-dark {0%,17%{opacity:0}31%{opacity:1}73%{opacity:1}91%,100%{opacity:0}}
@keyframes emsq-dusk {0%,15%{opacity:0}31%{opacity:1}44%{opacity:.95}58%{opacity:0}
                      70%{opacity:0}82%{opacity:.9}90%{opacity:.45}98%,100%{opacity:0}}
@keyframes emsq-night{0%,39%{opacity:0}55%{opacity:1}72%{opacity:1}86%{opacity:0}100%{opacity:0}}
[data-t="day"]  {animation-name:emsq-day;}
[data-t="dark"] {animation-name:emsq-dark;}
[data-t="dusk"] {animation-name:emsq-dusk;}
[data-t="night"]{animation-name:emsq-night;}

/* Manuelle Umschaltung: Zyklus anhalten, weich auf den Zielzustand blenden */
.emsq--fixed .emsq__t{animation:none;transition:opacity 1.1s ease,transform 1.1s ease;}
.emsq--is-day   .emsq__t[data-t="day"]{opacity:1;}
.emsq--is-day   .emsq__t[data-t="dark"],
.emsq--is-day   .emsq__t[data-t="dusk"],
.emsq--is-day   .emsq__t[data-t="night"]{opacity:0;}
.emsq--is-day   .emsq__sun{transform:none;}
.emsq--is-night .emsq__t[data-t="dark"],
.emsq--is-night .emsq__t[data-t="night"]{opacity:1;}
.emsq--is-night .emsq__t[data-t="day"],
.emsq--is-night .emsq__t[data-t="dusk"]{opacity:0;}
.emsq--is-night .emsq__moon{transform:none;}

/* Weisser Schleier oben IN der Buehne. Dadurch gibt es keine Elementkante
   im Verlauf und damit auch keinen Strich, egal zu welcher Tageszeit. */
.emsq__topfade{position:absolute;left:0;right:0;top:0;height:20%;pointer-events:none;z-index:11;
  background:linear-gradient(180deg,
    #fff 0%,#fff 22%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.78) 48%,
    rgba(255,255,255,.54) 62%,rgba(255,255,255,.30) 76%,rgba(255,255,255,.11) 88%,
    rgba(255,255,255,0) 100%);}

/* ---------- Der Platz ---------- */
.emsq__viewport{position:relative;width:100%;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;background:#fff;}
.emsq__viewport::-webkit-scrollbar{display:none;}
.emsq__stage{position:relative;overflow:hidden;background:#fff;}

/* Himmel */
.emsq__sky{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.emsq__skylayer{position:absolute;inset:0;}
.emsq__skylayer--day{background:linear-gradient(180deg,#cfe3ff 0%,#bcd9ff 12%,#dceaff 42%,#f2f7ff 68%,#fdfdff 100%);}
/* Der Abendhimmel ist bewusst der Markenverlauf */
.emsq__skylayer--dusk{background:linear-gradient(180deg,#6b4478 0%,#3d2559 8%,#2e1b47 20%,#7d2a63 38%,#FD3870 58%,#FF8E90 79%,#FFC9A6 100%);}
.emsq__skylayer--night{background:linear-gradient(180deg,#2a3358 0%,#0e1428 8%,#060a1c 20%,#0d1230 44%,#191a42 68%,#31204c 100%);}

.emsq__stars{position:absolute;inset:0 0 59% 0;}
.emsq__twinkle{position:absolute;inset:0;animation:emsq-twinkle 5s ease-in-out infinite alternate;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 22%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 28% 8%,#fff,transparent),
    radial-gradient(1.6px 1.6px at 44% 30%,#fff,transparent),
    radial-gradient(1.1px 1.1px at 61% 12%,#fff,transparent),
    radial-gradient(1.5px 1.5px at 74% 26%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 88% 9%,#fff,transparent),
    radial-gradient(1.3px 1.3px at 8% 40%,#fff,transparent),
    radial-gradient(1.1px 1.1px at 53% 44%,#fff,transparent),
    radial-gradient(1.4px 1.4px at 95% 36%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 36% 18%,#fff,transparent),
    radial-gradient(1.3px 1.3px at 68% 38%,#fff,transparent);}
@keyframes emsq-twinkle{from{opacity:.5}to{opacity:1}}

.emsq__sun{position:absolute;right:16%;top:-4.1%;width:26%;height:27%;animation-name:emsq-sunpath;
  background:radial-gradient(closest-side,rgba(255,247,226,.98),rgba(255,226,166,.5) 34%,rgba(255,205,140,0) 72%);}
@keyframes emsq-sunpath{
  0%,12%{opacity:1;transform:translateY(0)}
  27%{opacity:1;transform:translateY(48%)}
  38%{opacity:0;transform:translateY(78%)}
  74%{opacity:0;transform:translateY(78%)}
  88%{opacity:.75;transform:translateY(42%)}
  100%{opacity:1;transform:translateY(0)}}
.emsq__moon{position:absolute;left:17%;top:8%;width:calc(var(--u)*4.2);height:calc(var(--u)*4.2);
  border-radius:50%;background:radial-gradient(circle at 36% 34%,#fffdf3,#e9e7d7 62%,#d0cebe);
  box-shadow:0 0 calc(var(--u)*3.4) rgba(255,253,235,.5);animation-name:emsq-moonpath;}
@keyframes emsq-moonpath{
  0%,40%{opacity:0;transform:translateY(55%)}
  56%{opacity:1;transform:translateY(0)}
  72%{opacity:1;transform:translateY(-16%)}
  86%,100%{opacity:0;transform:translateY(-32%)}}

.emsq__clouds{position:absolute;inset:0;}
.emsq__cloud{position:absolute;border-radius:999px;background:#fff;
  filter:blur(calc(var(--u)*.9));animation:emsq-drift var(--cd,160s) linear infinite;}
.emsq__cloud--1{left:0;top:7.2%;width:26%;height:9%;opacity:.85;--cd:175s;}
.emsq__cloud--2{left:0;top:15.3%;width:18%;height:6%;opacity:.5;--cd:120s;animation-delay:-44s;}
.emsq__cloud--3{left:0;top:2.4%;width:24%;height:8%;opacity:.68;--cd:210s;animation-delay:-95s;}
@keyframes emsq-drift{from{transform:translateX(calc(var(--u)*-28))}to{transform:translateX(calc(var(--u)*104))}}

.emsq__plane{position:absolute;left:0;top:10.5%;width:calc(var(--u)*2);height:calc(var(--u)*.8);
  animation:emsq-fly 40s linear infinite;animation-delay:-7s;}
.emsq__plane svg{width:100%;height:100%;display:block;transform:scaleX(-1);}
@keyframes emsq-fly{
  0%{transform:translate(calc(var(--u)*-7),0);opacity:0}
  6%{opacity:.75}52%{opacity:.75}60%{opacity:0}
  100%{transform:translate(calc(var(--u)*106),calc(var(--u)*-2.6));opacity:0}}

/* Parallax-Ebenen.
   WICHTIG: die Ebenen liegen als volle Flaechen uebereinander. Ohne
   pointer-events:none faengt die obere Strassen-Ebene jeden Klick ab. */
.emsq__layer{position:absolute;inset:0;pointer-events:none;
  will-change:transform;transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.emsq__city{position:absolute;inset:0;}
.emsq__scene{position:absolute;left:50%;top:0;height:100%;width:var(--sw,100%);transform:translateX(-50%);}
.emsq__facades{position:absolute;inset:0;width:100%;height:100%;display:block;}
/* Fassaden-Fortsaetze fuer sehr breite Bildschirme */
.emsq__ext{position:absolute;top:31.579%;bottom:14.7%;width:calc((100% - var(--sw,100%)) / 2 + 1px);}
.emsq__ext--l{left:0;}
.emsq__ext--r{right:0;}
.emsq__extfill{position:absolute;inset:0;}
.emsq__extfill--day{background:linear-gradient(180deg,#f9fafd,#dfe3ef);border-top:9px solid #fff;}
.emsq__extfill--dark{background:linear-gradient(180deg,#1d1740,#100c28);border-top:5px solid #2b2450;}

/* ---------- Billboards ---------- */
.emsq__bb{position:absolute;display:block;padding:0;border:0;background:none;cursor:pointer;
  pointer-events:auto;left:var(--x);top:var(--y);width:var(--w);height:var(--h);
  color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.emsq__bb:focus{outline:none;}
.emsq__rig{position:absolute;left:-2.4%;top:-2.4%;width:104.8%;height:104.8%;
  border-radius:calc(var(--u)*.3);background:linear-gradient(180deg,#fdfdff,#d9dde9);
  box-shadow:0 calc(var(--u)*.55) calc(var(--u)*1.5) rgba(28,36,68,.26);}
.emsq__rig--dark{background:linear-gradient(180deg,#3a3560,#191534);
  box-shadow:0 calc(var(--u)*.55) calc(var(--u)*1.5) rgba(0,0,0,.5);}
.emsq__scr{position:absolute;inset:0;overflow:hidden;border-radius:calc(var(--u)*.16);
  background:#fff;box-shadow:inset 0 0 0 1px rgba(28,36,68,.1);}
/* Tagesschatten auf der Fassade, nachts stattdessen Lichtschein */
.emsq__spill{position:absolute;left:2%;top:100%;width:96%;height:14%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(28,36,68,.3),transparent 72%);
  filter:blur(calc(var(--u)*.35));}
.emsq__glow{position:absolute;left:-26%;top:-22%;width:152%;height:144%;pointer-events:none;
  background:radial-gradient(closest-side,var(--bbGlow,rgba(253,56,112,.5)),transparent 70%);
  filter:blur(calc(var(--u)*.8));}

/* Ruhezustand: typografische Erfolgstafel. Das Bild kommt erst bei Hover/Tap. */
.emsq__creative{position:absolute;inset:0;display:flex;}
.emsq__creative--b{flex-direction:column;justify-content:center;align-items:flex-start;
  padding:calc(var(--u)*1) calc(var(--u)*1.1);background:#fff;overflow:hidden;}
.emsq__creative--a{opacity:0;transform:scale(1.05);z-index:2;
  transition:opacity .42s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);}
.emsq__bb:hover .emsq__creative--a,
.emsq__bb:focus-visible .emsq__creative--a,
.emsq__bb.emsq-peek .emsq__creative--a{opacity:1;transform:none;}
.emsq__creative img{width:100%;height:100%;object-fit:cover;display:block;}
.emsq__shade{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,10,24,.88) 0%,rgba(8,10,24,.06) 56%,rgba(8,10,24,0) 100%);}
.emsq__dots{position:absolute;right:calc(var(--u)*-1);top:calc(var(--u)*-1);
  width:calc(var(--u)*7);height:calc(var(--u)*7);border-radius:50%;pointer-events:none;
  background-image:radial-gradient(currentColor 1.5px,transparent 1.5px);
  background-size:calc(var(--u)*.62) calc(var(--u)*.62);opacity:.2;}

/* Bildbeschriftung */
.emsq__ad{position:absolute;inset:auto 0 0 0;padding:calc(var(--u)*.7) calc(var(--u)*.95) calc(var(--u)*.85);color:#fff;}
.emsq__cat{display:block;font-size:calc(var(--u)*.5);letter-spacing:.15em;text-transform:uppercase;
  color:#ff9ebc;font-weight:700;margin-bottom:calc(var(--u)*.18);}
.emsq__brand{display:block;font-family:"Manrope",sans-serif;font-weight:800;line-height:1.02;
  font-size:calc(var(--u)*1.25);letter-spacing:-.025em;}
.emsq__claim{display:block;margin-top:calc(var(--u)*.2);font-size:calc(var(--u)*.6);line-height:1.28;
  color:rgba(255,255,255,.9);}

/* Erfolgstafel */
.emsq__kpi{display:block;font-family:"Manrope",sans-serif;font-weight:800;line-height:.9;
  font-size:calc(var(--u)*2.6);letter-spacing:-.05em;}
.emsq__kpilab{display:block;margin-top:calc(var(--u)*.4);font-size:calc(var(--u)*.58);line-height:1.3;max-width:94%;}
.emsq__sig{position:absolute;left:calc(var(--u)*1.1);bottom:calc(var(--u)*.95);display:flex;align-items:center;
  gap:calc(var(--u)*.3);font-size:calc(var(--u)*.44);letter-spacing:.11em;text-transform:uppercase;font-weight:700;}
.emsq__sig i{width:calc(var(--u)*.32);height:calc(var(--u)*.32);border-radius:50%;display:block;background:currentColor;}
.emsq__creative--b .emsq__brand{position:absolute;left:calc(var(--u)*1.1);top:calc(var(--u)*.95);
  font-size:calc(var(--u)*.66);letter-spacing:.09em;text-transform:uppercase;}

.emsq__bb--p .emsq__creative--b{background:linear-gradient(150deg,#FD3870 0%,#f0245f 62%,#d8144e 100%);color:#fff;}
.emsq__bb--p .emsq__kpi{color:#fff;}
.emsq__bb--p .emsq__kpilab{color:rgba(255,255,255,.92);}
.emsq__bb--p .emsq__creative--b .emsq__brand{color:rgba(255,255,255,.72);}
.emsq__bb--p .emsq__sig{color:rgba(255,255,255,.66);}
.emsq__bb--k .emsq__creative--b{background:linear-gradient(150deg,#16161f 0%,#0B0B0F 70%);color:#fff;}
.emsq__bb--k .emsq__kpi{color:#fff;}
.emsq__bb--k .emsq__kpilab{color:rgba(255,255,255,.66);}
.emsq__bb--k .emsq__creative--b .emsq__brand{color:var(--pink);}
.emsq__bb--k .emsq__sig{color:rgba(255,255,255,.42);}
.emsq__bb--w .emsq__creative--b{background:#fff;color:var(--ink);}
.emsq__bb--w .emsq__kpi{color:var(--pink);}
.emsq__bb--w .emsq__kpilab{color:var(--body);}
.emsq__bb--w .emsq__creative--b .emsq__brand{color:var(--ink);}
.emsq__bb--w .emsq__sig{color:#b6b6c2;}
.emsq__bb--w .emsq__creative--b::after{content:"";position:absolute;left:calc(var(--u)*1.1);bottom:0;
  width:calc(var(--u)*2.2);height:calc(var(--u)*.2);background:var(--pink);border-radius:3px 3px 0 0;}
.emsq__bb--w .emsq__dots{display:none;}

.emsq__bb--tall .emsq__kpi{font-size:calc(var(--u)*1.85);}
.emsq__bb--tall .emsq__creative--b .emsq__brand{font-size:calc(var(--u)*.6);}
.emsq__bb--wide .emsq__kpi{font-size:calc(var(--u)*2.15);}

.emsq__gloss{position:absolute;top:0;left:-60%;width:42%;height:100%;pointer-events:none;z-index:3;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-14deg);}
.emsq__bb:hover,.emsq__bb:focus-visible{transform:translateY(calc(var(--u)*-.34)) scale(1.03);z-index:6;}
.emsq__bb:hover .emsq__rig{box-shadow:0 calc(var(--u)*1.1) calc(var(--u)*2.6) rgba(28,36,68,.34);}
.emsq__bb:hover .emsq__gloss{animation:emsq-sweep .85s ease-out;}
@keyframes emsq-sweep{from{left:-60%}to{left:130%}}
.emsq__hint{position:absolute;inset:auto 0 0 0;padding:calc(var(--u)*.46) calc(var(--u)*.85);
  background:var(--pink);color:#fff;font-weight:700;font-size:calc(var(--u)*.55);z-index:4;
  transform:translateY(101%);transition:transform .3s cubic-bezier(.2,.7,.2,1);
  display:flex;align-items:center;justify-content:space-between;gap:8px;}
.emsq__bb:hover .emsq__hint,.emsq__bb:focus-visible .emsq__hint,
.emsq__bb.emsq-peek .emsq__hint{transform:translateY(0);}
@media (hover:none){.emsq__bb:hover{transform:none;}}

/* ---------- Deko-Schilder ---------- */
.emsq__sign{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);
  display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none;
  font-family:"Manrope",sans-serif;font-weight:800;}
.emsq__crown{border-radius:calc(var(--u)*.2);
  background:linear-gradient(92deg,#FD3870 15%,#FFA09B 100%);color:#fff;
  letter-spacing:.24em;text-transform:uppercase;font-size:calc(var(--u)*.74);
  box-shadow:0 calc(var(--u)*.4) calc(var(--u)*1.2) rgba(253,56,112,.4);}
.emsq__crownglow{position:absolute;left:-20%;top:-60%;width:140%;height:230%;border-radius:50%;
  pointer-events:none;background:radial-gradient(closest-side,rgba(253,56,112,.55),transparent 70%);
  filter:blur(calc(var(--u)*.8));}
/* positioniert, damit die Schrift nach dem Leuchten gezeichnet wird */
.emsq__crowntext{position:relative;}
.emsq__blade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;border-radius:calc(var(--u)*.18);
  letter-spacing:.3em;text-transform:uppercase;font-size:calc(var(--u)*.56);}
.emsq__blade--day{background:#fff;color:var(--ink);border:1px solid #dcdfea;
  box-shadow:0 calc(var(--u)*.35) calc(var(--u)*1) rgba(28,36,68,.2);}
.emsq__blade--night{background:#12102c;color:#fff;
  border:1px solid rgba(253,56,112,.5);box-shadow:0 0 calc(var(--u)*1.6) rgba(253,56,112,.42);}

/* Laufband */
.emsq__ticker{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);
  overflow:hidden;border-radius:calc(var(--u)*.1);background:var(--ink);pointer-events:none;
  display:flex;align-items:center;box-shadow:0 calc(var(--u)*.3) calc(var(--u)*.9) rgba(28,36,68,.24);}
.emsq__tick{display:flex;width:max-content;animation:emsq-crawl 34s linear infinite;
  font-family:"Manrope",sans-serif;font-weight:700;font-size:calc(var(--u)*.58);
  color:rgba(255,255,255,.62);letter-spacing:.05em;white-space:nowrap;}
.emsq__tick span{padding:0 calc(var(--u)*.9);}
.emsq__tick b{color:var(--pink);}
@keyframes emsq-crawl{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Strasse ---------- */
.emsq__street{position:absolute;left:0;right:0;bottom:0;height:14.7%;overflow:hidden;}
.emsq__streetbed{position:absolute;inset:0;}
.emsq__streetbed--day{background:linear-gradient(180deg,#e9ebf3 0%,#dcdee9 26%,#cfd2e0 100%);}
.emsq__streetbed--dark{background:linear-gradient(180deg,#141232 0%,#0c0a22 30%,#070615 100%);}
.emsq__curb{position:absolute;left:0;right:0;top:24%;height:2%;background:rgba(255,255,255,.55);}
.emsq__pool{position:absolute;bottom:0;left:var(--x);width:var(--w);height:76%;
  background:radial-gradient(closest-side,var(--c,rgba(253,56,112,.32)),transparent 70%);
  filter:blur(calc(var(--u)*.5));}
.emsq__streak{position:absolute;height:calc(var(--u)*.22);border-radius:99px;top:var(--t);
  width:calc(var(--u)*8);background:linear-gradient(90deg,transparent,var(--c,#FD3870),transparent);
  animation:emsq-drive var(--sp,7s) linear infinite;animation-delay:var(--dly,0s);}
@keyframes emsq-drive{from{transform:translateX(-14%)}to{transform:translateX(1200%)}}
.emsq__crowd{position:absolute;left:0;right:0;bottom:0;height:62%;}

/* ---------- Bedienleiste unter dem Platz ---------- */
.emsq__bar{max-width:1140px;margin:0 auto;padding:18px 22px 0;
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.emsq__stat{display:inline-flex;align-items:baseline;gap:7px;padding:9px 15px;border-radius:999px;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-size:.85rem;color:var(--body);}
.emsq__stat b{font-family:"Manrope",sans-serif;font-size:1.05rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;}
.emsq__toggle{margin-left:auto;display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  font-family:"DM Sans",sans-serif;font-size:.88rem;font-weight:700;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 17px 9px 13px;
  box-shadow:var(--shadow);transition:border-color .2s ease,color .2s ease,transform .2s ease;}
.emsq__toggle:hover{border-color:var(--pink);color:var(--pink);transform:translateY(-2px);}
.emsq__toggle svg{width:17px;height:17px;fill:var(--pink);flex:none;}
.emsq__drag{display:none;align-items:center;gap:8px;font-size:.84rem;color:var(--body);}
.emsq__drag svg{width:15px;height:15px;fill:var(--pink);animation:emsq-nudge 2.2s ease-in-out infinite;}
.emsq--pan .emsq__drag{display:inline-flex;}
@keyframes emsq-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

/* ---------- Case-Karten unter dem Platz ---------- */
.emsq__list{padding:44px 0 62px;}
.emsq__list h3{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin-bottom:8px;}
.emsq__listlead{max-width:56ch;margin-bottom:26px;}
.emsq__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.emsq__case{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:var(--shadow);text-align:left;padding:0;cursor:pointer;font:inherit;color:inherit;
  display:flex;flex-direction:column;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.emsq__case:hover{transform:translateY(-3px);border-color:#f3c9d6;box-shadow:var(--shadow-h);}
.emsq__casefig{position:relative;aspect-ratio:16/10;background:linear-gradient(150deg,#FD3870,#b8123f);overflow:hidden;}
.emsq__casefig img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.emsq__case:hover .emsq__casefig img{transform:scale(1.05);}
.emsq__casekpi{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:baseline;gap:6px;
  padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.94);
  font-family:"Manrope",sans-serif;font-weight:800;font-size:.95rem;color:var(--pink);letter-spacing:-.02em;
  box-shadow:0 6px 18px rgba(11,11,15,.16);}
.emsq__casekpi small{font-family:"DM Sans",sans-serif;font-weight:500;font-size:.72rem;color:var(--body);letter-spacing:0;}
.emsq__casebody{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}
.emsq__casecat{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--pink-d);
  background:var(--soft);border:1px solid #ffd2e0;border-radius:999px;padding:4px 10px;margin-bottom:10px;}
.emsq__case h4{font-size:1.22rem;font-weight:800;margin-bottom:7px;}
.emsq__casehl{font-size:.94rem;color:var(--body);line-height:1.5;flex:1;}
.emsq__casego{margin-top:14px;display:inline-flex;align-items:center;gap:6px;
  font-weight:700;font-size:.9rem;color:var(--pink);}
.emsq__case:hover .emsq__casego{color:var(--pink-d);}
.emsq__casefull{display:none;}
.emsq__cta{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:13px 22px;border-radius:15px;
  background:var(--pink);color:#fff;font-weight:700;text-decoration:none;font-size:.95rem;
  transition:background .2s ease,transform .2s ease;}
.emsq__cta:hover{background:var(--pink-d);transform:translateY(-2px);}

/* ---------- Case-Panel ---------- */
.emsq-panel{position:fixed;inset:0;z-index:99990;display:none;font-family:"DM Sans",system-ui,sans-serif;}
.emsq-panel.emsq-open{display:block;}
.emsq-panel__bd{position:absolute;inset:0;background:rgba(11,11,15,.46);backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity .3s ease;}
.emsq-panel.emsq-in .emsq-panel__bd{opacity:1;}
.emsq-panel__box{position:absolute;right:0;top:0;height:100%;width:min(560px,100%);
  background:#fff;color:#0B0B0F;overflow-y:auto;overscroll-behavior:contain;
  box-shadow:-24px 0 70px rgba(11,11,15,.22);
  transform:translateX(100%);transition:transform .42s cubic-bezier(.2,.75,.25,1);}
.emsq-panel.emsq-in .emsq-panel__box{transform:none;}
.emsq-panel__hero{position:relative;aspect-ratio:16/10;background:#f4f4f7;overflow:hidden;}
.emsq-panel__hero img{width:100%;height:100%;object-fit:cover;display:block;}
.emsq-panel__hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,#fff 1%,rgba(255,255,255,0) 34%);}
.emsq-panel__hero--flat{background:linear-gradient(140deg,#FD3870,#b8123f);}
.emsq-panel__x{position:absolute;top:16px;right:16px;z-index:3;width:42px;height:42px;border-radius:50%;
  border:1px solid #ebebef;background:rgba(255,255,255,.92);color:#0B0B0F;cursor:pointer;
  font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(11,11,15,.16);transition:background .2s ease,color .2s ease,transform .2s ease;}
.emsq-panel__x:hover{background:#FD3870;color:#fff;border-color:#FD3870;transform:rotate(90deg);}
.emsq-panel__body{position:relative;z-index:2;margin-top:-34px;padding:0 clamp(22px,4vw,34px) 34px;}
.emsq-panel__cat{display:inline-block;padding:5px 12px;border-radius:999px;background:#ffe9f0;
  border:1px solid #ffd2e0;color:#e02258;font-size:.73rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;}
.emsq-panel__brand{font-family:"Manrope",sans-serif;font-size:clamp(1.9rem,4.5vw,2.5rem);font-weight:800;
  line-height:1.04;margin:12px 0 8px;letter-spacing:-.03em;color:#0B0B0F;}
.emsq-panel__hl{font-family:"Manrope",sans-serif;font-size:1.02rem;font-weight:600;color:#0B0B0F;
  line-height:1.42;margin:0 0 16px;}
.emsq-panel__txt{color:#62626c;line-height:1.66;font-size:.98rem;margin:0 0 22px;}
.emsq-panel__kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 22px;padding:0;list-style:none;}
.emsq-panel__kpis li{background:#fff;border:1px solid #ebebef;border-radius:18px;padding:15px 16px;
  box-shadow:0 10px 30px rgba(11,11,15,.06);position:relative;overflow:hidden;}
.emsq-panel__kpis li::after{content:"";position:absolute;left:16px;bottom:0;width:30px;height:3px;
  background:#FD3870;border-radius:3px 3px 0 0;}
.emsq-panel__kpis strong{display:block;font-family:"Manrope",sans-serif;font-size:1.42rem;font-weight:800;
  color:#0B0B0F;letter-spacing:-.02em;line-height:1.1;}
.emsq-panel__kpis span{display:block;margin-top:3px;font-size:.8rem;color:#62626c;line-height:1.35;}
.emsq-panel__lab{font-family:"Manrope",sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#9a9aa4;margin:0 0 10px;}
.emsq-panel__tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 26px;padding:0;list-style:none;}
.emsq-panel__tags li{padding:5px 11px;border-radius:999px;background:#fafafc;border:1px solid #ebebef;
  font-size:.8rem;color:#0B0B0F;font-weight:500;}
.emsq-panel__act{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.emsq-panel__go{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:15px;
  background:#FD3870;color:#fff;font-weight:700;text-decoration:none;font-size:.95rem;
  transition:background .2s ease;}
.emsq-panel__go:hover{background:#e02258;}
.emsq-panel__nav{display:flex;gap:8px;margin-left:auto;}
.emsq-panel__nav button{width:44px;height:44px;border-radius:15px;border:1px solid #ebebef;background:#fff;
  color:#0B0B0F;cursor:pointer;font-size:17px;line-height:1;transition:border-color .2s ease,color .2s ease;}
.emsq-panel__nav button:hover{border-color:#FD3870;color:#FD3870;}

/* Schmale Geraete: die Buehne ist dort groesser, die kleinen Schriftgrade
   muessen trotzdem angehoben werden, sonst bleiben sie unlesbar. */
@media (max-width:700px){
  .emsq__creative--b .emsq__brand{font-size:calc(var(--u)*.86);}
  .emsq__kpilab{font-size:calc(var(--u)*.72);}
  .emsq__sig{font-size:calc(var(--u)*.55);}
  .emsq__cat{font-size:calc(var(--u)*.62);}
  .emsq__brand{font-size:calc(var(--u)*1.4);}
  .emsq__claim{font-size:calc(var(--u)*.72);}
  .emsq__hint{font-size:calc(var(--u)*.68);}
  .emsq__crown{font-size:calc(var(--u)*.84);}
  .emsq__blade{font-size:calc(var(--u)*.64);}
  .emsq__tick{font-size:calc(var(--u)*.66);}
}

/* Wisch-Hinweis, nur solange der Platz breiter ist als der Bildschirm.
   Liegt ueber dem Rahmen, nicht in der Buehne, damit er beim Wischen steht. */
.emsq__frame{position:relative;z-index:0;margin-top:clamp(-84px,-8vh,-50px);}
.emsq__swipe{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  display:none;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;
  background:rgba(255,255,255,.93);border:1px solid var(--line);color:var(--ink);
  box-shadow:0 6px 22px rgba(11,11,15,.18);font-size:.82rem;font-weight:700;
  pointer-events:none;z-index:12;white-space:nowrap;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:opacity .7s ease,transform .7s ease;}
.emsq--pan .emsq__swipe{display:flex;}
.emsq__swipe.emsq-off{opacity:0;transform:translateX(-50%) translateY(10px);}
.emsq__swipe svg{width:16px;height:16px;fill:var(--pink);display:block;
  animation:emsq-swl 3s ease-in-out infinite;}
.emsq__swipe .emsq__swiper svg{animation-name:emsq-swr;}
@keyframes emsq-swl{0%,100%{transform:translateX(0);opacity:.28}
  16%{transform:translateX(-5px);opacity:1}34%{transform:translateX(0);opacity:.28}}
@keyframes emsq-swr{0%,50%{transform:translateX(0);opacity:.28}
  66%{transform:translateX(5px);opacity:1}84%,100%{transform:translateX(0);opacity:.28}}
@media (prefers-reduced-motion:reduce){.emsq__swipe svg{animation:none;opacity:.8;}}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .emsq__decoword{font-size:clamp(3rem,16vw,6rem);}
  .emsq__bar{gap:8px;}
  .emsq__toggle{margin-left:0;}
  .emsq-panel__box{width:100%;top:auto;bottom:0;height:88%;border-radius:22px 22px 0 0;transform:translateY(100%);}
  .emsq-panel.emsq-in .emsq-panel__box{transform:none;}
}
@media (max-width:520px){
  .emsq__stat{font-size:.78rem;padding:8px 12px;}
  .emsq-panel__nav{margin-left:0;width:100%;}
}

/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion:reduce){
  .emsq__t{animation:none;}
  .emsq__t[data-t="dark"],.emsq__t[data-t="dusk"],.emsq__t[data-t="night"]{opacity:0;}
  .emsq__t[data-t="day"]{opacity:1;}
  .emsq__cloud,.emsq__plane,.emsq__tick,.emsq__streak,.emsq__twinkle,.emsq__drag svg{animation:none;}
  .emsq__layer{transition:none;}
  .emsq__bb:hover .emsq__gloss{animation:none;}
}

/* Warnlichter auf den Daechern */
.emsq__beacon{animation:emsq-blink 3.4s ease-in-out infinite;transform-origin:center;}
@keyframes emsq-blink{0%,44%{opacity:.25}52%{opacity:1}60%,100%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.emsq__beacon{animation:none;}}


/* ======================================================================
   Angleichung an die Home: zentriertes Intro mit Logo-Signatur,
   Kicker als Typografie, Abstand zum fixen Header
   ====================================================================== */
.emsq__intro{position:relative;padding:calc(var(--nav-h,80px) + 2vh) 0 6vh;display:flex;flex-direction:column;overflow:hidden}
.emsq__intro .emsq__wrap{position:static;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:min(62vh,86vw)}
.emsq__intro .emsq__wrap > *{position:relative;z-index:1}
.emsq__kicker{background:none;border:0;padding:0;box-shadow:none;font-family:"Manrope",sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#FD3870;gap:0;margin-bottom:12px}
.emsq__wrap h1{font-family:"Manrope",sans-serif;font-weight:800;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.03em;color:#0B0B0F;margin:0 auto 22px;max-width:20ch}
.emsq__wrap h1 em{font-style:normal;color:#FD3870}
.emsq__lead{margin-left:auto;margin-right:auto}
.emsq__jump{margin-top:26px}
.uu-logo{position:absolute;left:50%;top:calc(var(--nav-h,80px) + 2vh);width:min(62vh,86vw);aspect-ratio:1;transform:translateX(-50%);pointer-events:none;opacity:.42;z-index:0}
.uu-logo svg{width:100%;height:100%;overflow:visible}
.uul{fill:none;stroke-width:.5;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1;transform-origin:25.5px 25px;animation:uu-draw 2.2s cubic-bezier(.2,.7,.2,1) forwards,uu-wobble 16s ease-in-out 2.4s infinite,uu-pulse 3.6s ease-in-out infinite}
.uul--0{stroke:#FD3870;animation-delay:.2s,2.4s,0s}
.uul--1{stroke:#fe6c6d;animation-delay:.9s,2.4s,.8s;animation-direction:normal,reverse,normal;animation-duration:2.2s,19s,5.2s}
.uul--2{stroke:#fe6c6d;animation:uu-draw 2.2s cubic-bezier(.2,.7,.2,1) 1.6s forwards,uu-wobble 23s ease-in-out 2.4s infinite}
@keyframes uu-draw{to{stroke-dashoffset:0}}
@keyframes uu-wobble{0%,100%{transform:rotate(-3deg) scale(1)}50%{transform:rotate(3deg) scale(1.03)}}
@keyframes uu-pulse{0%,100%{stroke-opacity:.45}50%{stroke-opacity:1}}
@media (prefers-reduced-motion:reduce){.uul{animation:none;stroke-dashoffset:0}}
/* Liste und CTA zentriert */
.emsq__list{text-align:center}
.emsq__list h3{letter-spacing:-.025em}
.emsq__listlead{margin-left:auto;margin-right:auto}
.emsq__casebody{text-align:center}
.emsq__casefull{text-align:center}
.emsq__case-kpi,.emsq__case-svc{justify-content:center}
.emsq__cta{font-family:"DM Sans",sans-serif;font-weight:600;padding:14px 26px;box-shadow:0 10px 26px rgba(253,56,112,.22)}
@media (max-width:860px){.uu-logo{width:min(54vh,96vw);top:calc(var(--nav-h,80px) + 4vh);opacity:.32}.emsq__intro .emsq__wrap{min-height:min(54vh,96vw)}}
