/* ==========================================================================
   LP A · Hero-Visual (A-S1) und Referenz-Slider (A-S5)
   Nur eigene Klassen (.a-hv, .a-ref), Werte aus design.css und lp26.css.
   ========================================================================== */

/* --- A-S1 Hero-Visual ------------------------------------------------------
   Bühne = Container. Rechner und Handy sind eigene Container, ihr Inneres
   skaliert mit ihrer Breite (cqw). Unter 901 px steht das Visual unter dem
   Text, der Bogen schneidet das Handy unten an (gewollt).                    */
.hf__visual.a-hv{aspect-ratio:auto;min-height:0;max-width:560px;margin:1.75rem auto 0}
.a-hv__buehne{position:relative;container-type:inline-size;aspect-ratio:100/84}
/* Handy (bis 620 px): Visual kleiner und flacher, damit die erste Kachelreihe des Formulars bei 390×844 im ersten
   Bildschirm steht. Der Rechner bleibt ganz sichtbar, der Bogen schneidet nur das Handy an. */
@media (max-width:620px){
  .hf__visual.a-hv{max-width:330px;margin-top:1.1rem}
  .a-hv__buehne{aspect-ratio:100/68}
  /* Handy höher, damit die Anfragen ganz zu sehen sind (Florian, 28.10.2026) */
  .a-hv__handy{top:-2cqw}
}

/* Rechner */
.a-hv__pc{position:absolute;left:3cqw;top:3cqw;width:74cqw;container-type:inline-size}
.a-hv__deckel{padding:1.6cqw;border:1px solid var(--li-inv);border-radius:3.2cqw 3.2cqw 1.2cqw 1.2cqw;background:#1B2126}
.a-hv__schirm{display:flex;flex-direction:column;aspect-ratio:16/10;overflow:hidden;border-radius:1.2cqw;background:#fff;color:var(--tx)}
.a-hv__basis{position:relative;height:2.6cqw;margin:0 -4cqw;border-top:1px solid rgba(255,255,255,.14);border-radius:0 0 2.6cqw 2.6cqw;background:#2A3033}
.a-hv__basis::before{content:"";position:absolute;left:50%;top:0;width:16cqw;height:1cqw;margin-left:-8cqw;border-radius:0 0 1cqw 1cqw;background:#1B2126}
.a-hv__leiste{display:flex;align-items:center;gap:1.4cqw;height:5.6cqw;padding:0 2cqw;border-bottom:1px solid var(--li-soft);background:var(--papier-2)}
.a-hv__punkte{display:flex;gap:.8cqw}
.a-hv__punkte i{width:1.15cqw;height:1.15cqw;border-radius:50%;background:#C9CED1}
.a-hv__titel{font-size:2.1cqw;font-weight:600;white-space:nowrap}
.a-hv__hinweis{flex:none;margin-left:auto;font-size:max(12px,1.75cqw);line-height:1.2;color:var(--tx-mut);white-space:nowrap}
.a-hv__inhalt{display:flex;flex:1;flex-direction:column;gap:2cqw;min-height:0;padding:2.2cqw 2.4cqw 2.4cqw}
.a-hv__kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2cqw}
.a-hv__kachel{display:flex;flex-direction:column;gap:.5cqw;padding:1.3cqw 1.5cqw;border:1px solid var(--li);border-radius:1.2cqw}
.a-hv__kachel span{font-size:1.6cqw;line-height:1.2;color:var(--tx-mut);white-space:nowrap}
.a-hv__kachel b{font-size:3.2cqw;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.a-hv__kachel--an{border-color:transparent;background:var(--akz-soft)}
.a-hv__kachel--an span{color:var(--akz-tief)}
.a-hv__diagramm{display:flex;flex:1;flex-direction:column;gap:.8cqw;min-height:0}
.a-hv__legende{display:inline-flex;align-items:center;gap:.8cqw;font-size:1.6cqw;line-height:1.2;color:var(--tx-mut)}
.a-hv__legende::before{content:"";width:2.4cqw;height:.45cqw;border-radius:1cqw;background:var(--akz-tief)}
.a-hv__kurve{display:block;flex:1 1 0;width:100%;min-height:0;overflow:visible;
  background:repeating-linear-gradient(to bottom,var(--li-soft) 0 1px,transparent 1px 33.333%);
  transition:clip-path 1.6s var(--fed-weich)}
.a-hv__kfl{fill:var(--akz-soft)}
.a-hv__kli{fill:none;stroke:var(--akz-tief);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.a-hv__kampagnen{margin:0;padding:0;list-style:none}
.a-hv__kampagnen li{display:flex;align-items:center;gap:1.5cqw;padding:.9cqw 0;border-top:1px solid var(--li-soft);font-size:1.65cqw;line-height:1.3}
.a-hv__kname{flex:1;min-width:0;white-space:nowrap}
.a-hv__status{display:inline-flex;flex:none;align-items:center;gap:.7cqw;order:-1;width:8cqw;color:var(--tx-mut)}
.a-hv__status::before{content:"";width:1.1cqw;height:1.1cqw;border-radius:50%;background:var(--live)}

/* Handy */
.a-hv__handy{position:absolute;right:0;top:15cqw;width:35cqw;aspect-ratio:9/19;container-type:inline-size;
  border:1px solid var(--li-inv);border-radius:16% / 7.6%;background:#0B0E10}
.a-hv__hschirm{position:absolute;inset:3.6cqw;display:flex;flex-direction:column;overflow:hidden;padding:15cqw 6cqw 0;
  border-radius:12.5cqw;background:var(--papier-2);color:var(--tx)}
.a-hv__insel{position:absolute;left:50%;top:3cqw;width:28cqw;height:7.5cqw;margin-left:-14cqw;border-radius:5cqw;background:#0B0E10}
.a-hv__appkopf{margin:0;font-size:8.5cqw;font-weight:800;line-height:1.1;letter-spacing:-.02em}
.a-hv__hinweis--h{margin:2cqw 0 0;font-size:max(12px,5.2cqw);line-height:1.25;white-space:normal}
.a-hv__stapel{position:relative;flex:1;margin:5cqw 0 0;padding:0;list-style:none;transition:opacity .45s var(--fed-weich)}
.a-hv__mit{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;gap:1.6cqw;height:36cqw;padding:4.2cqw 5cqw;
  border:1px solid var(--li-soft);border-radius:6cqw;background:#fff;box-shadow:var(--sh-1);
  transform:translateY(calc(max(var(--s,0),-.14) * 39.5cqw));
  transition:transform .8s var(--fed),opacity .45s var(--fed-weich)}
.a-hv__mit.ist-weg{opacity:0}
.a-hv__mkopf{display:flex;align-items:baseline;justify-content:space-between;gap:2cqw}
.a-hv__mkopf b{font-size:6.6cqw;font-weight:700;line-height:1.2;white-space:nowrap}
.a-hv__mkopf time{font-size:5.6cqw;color:var(--tx-mut);font-variant-numeric:tabular-nums}
.a-hv__mtext{display:-webkit-box;overflow:hidden;font-size:5.8cqw;line-height:1.3;color:var(--tx-mut);-webkit-box-orient:vertical;-webkit-line-clamp:2;
  text-wrap:wrap} /* U3 R3-D3-A-01: letzte zwei Wörter per &nbsp; gebunden; ohne „pretty“ (ab 901 px geerbt) bricht „Gäste-WC ·“ sonst nach dem Trenner um */

/* Pause-Knopf (WCAG 2.2.2), Trefferfläche 44 px */
.a-hv__pause{display:none!important;position:absolute;right:0;top:0;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer}
.a-hv__pause[hidden]{display:none}
.a-hv__pause::before{content:"";position:absolute;inset:6px;border:1px solid var(--li-inv);border-radius:50%;background:rgba(255,255,255,.06);transition:background-color .25s var(--fed-kurz)}
.a-hv__pause:hover::before{background:rgba(255,255,255,.12)}
.a-hv__pause:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.a-hv__pause svg{position:relative;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a-hv__ico-play{display:none;fill:currentColor;stroke:none}
.a-hv__pause[aria-pressed="true"] .a-hv__ico-pause{display:none}
.a-hv__pause[aria-pressed="true"] .a-hv__ico-play{display:block}

/* Zustände für das Skript: ohne Skript oder bei reduzierter Bewegung steht das Endbild */
.a-hv.ohne-tr .a-hv__mit{transition:none}
.a-hv.ist-reset .a-hv__stapel{opacity:0}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
  .a-hv:not(.ist-bereit) .a-hv__mit{opacity:0;transition:none}
  .a-hv:not(.ist-gezeichnet) .a-hv__kurve{clip-path:inset(0 100% 0 0)}
}

@media not all and (max-width:900px){
  .hf__visual.a-hv{max-width:none;margin:0 0 6.5rem}
  .a-hv__buehne{aspect-ratio:100/70}
  .a-hv__pc{left:3cqw;top:4cqw;width:78cqw}
  .a-hv__handy{top:15cqw;width:26cqw}
}

/* Lesbarkeit im Mockup (Abschluss 2A-1): Der Hinweis „Beispielhafte Darstellung“ steht immer ab 12 px (Regel oben).
   Rechner ab 330 px Breite (ab 768 px Viewport) und Handy ab 110 px (ab 390 px): alle Mockup-Texte ab 10 px.
   Darunter ist das Gerät eine Miniatur (role="img", Inhalt im aria-label), Kacheln und Kampagnenzeilen bleiben
   maßstäblich klein. Akzent-Text auf --akz-soft in #2456D6 (5,2:1 statt 3,81:1).                              */
.a-hv__leiste{height:auto;min-height:5.6cqw;padding-block:.5cqw}
.a-hv__titel{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media (max-width:400px){ .a-hv__leiste{gap:.9cqw;padding-inline:1.4cqw} } /* 320 px: Titel bleibt neben dem 12-px-Hinweis ganz */
.a-hv__kachel--an span{color:var(--lp-akz-tx,#2456D6)}
@media not all and (max-width:900px){ .a-hv__handy{width:29cqw} }
@container (min-width:330px){
  .a-hv__titel{font-size:max(10px,2.1cqw)}
  .a-hv__kachel{padding:1.3cqw 1.2cqw}
  .a-hv__kachel span,.a-hv__legende{font-size:max(10px,1.6cqw)}
  .a-hv__kachel b{font-size:max(11px,3.2cqw)}
  .a-hv__kampagnen li{font-size:max(10px,1.65cqw)}
  .a-hv__status{width:max(36px,8cqw)}
}
@container (min-width:110px){
  .a-hv__appkopf{font-size:max(13px,8.5cqw)}
  .a-hv__mit{height:max(36cqw,44px);padding:3.4cqw 4.2cqw;transform:translateY(calc(max(var(--s,0),-.14) * (max(36cqw,44px) + 3.5cqw)))}
  .a-hv__mkopf b{font-size:max(10px,6.6cqw)}
  .a-hv__mkopf time{font-size:max(10px,5.6cqw)}
  .a-hv__mtext{font-size:max(10px,5.8cqw)}
}
@container (max-width:170px){
  .a-hv__mtext{-webkit-line-clamp:1}
}
/* Fix vor R1 (F3): Bei 110–131 px Handybreite (Viewport ca. 360–420 px) brauchte „Neue Anfrage“ + Uhrzeit bei 10 px
   91 px, die Mitteilung hat 78–89 px Innenbreite; die Uhrzeit ragte bis 13 px heraus, „Gebäudereinigung“ (80 px) wurde
   bei 360 px angeschnitten. Schmalere Archivo-Breite statt kleinerer Schrift (bleibt 10 px). */
@container (min-width:110px) and (max-width:131px){
  .a-hv__mkopf{gap:1.5cqw}
  .a-hv__mkopf b,.a-hv__mkopf time,.a-hv__mtext{font-stretch:80%}
}

/* --- A-S5 Referenz-Slider ---------------------------------------------------
   Handy: Spur bis an den Bildschirmrand, Folge-Slide schaut 40-50 px hervor.
   Ab 900 px: eine Slide je Ansicht, Dashboard 2/3, Inhalt 1/3, im Wechsel.  */
.a-ref__skopf{margin-bottom:clamp(2rem,3.5vw,3rem)}
/* H2 am Handy zweizeilig: „Kundenkonten passiert ist“ ist 12,85 em breit (Messung 2A-1), Teiler 13,2 mit Reserve */
#referenzen .a-ref__h2{--h2z-m:clamp(1.3rem,calc((100vw - 2 * var(--gut)) / 13.2),1.95rem)}
@media (max-width:620px){ #referenzen .a-ref__h2{font-size:var(--h2z-m)} }
.a-ref__karussell{position:relative}
.a-ref__spur{position:relative;display:flex;gap:12px;margin-inline:calc(var(--gut) * -1);padding:2px var(--gut) 4px;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;scroll-behavior:auto}
.a-ref__spur::-webkit-scrollbar{display:none}
.a-ref__slide{display:flex;flex:0 0 88%;flex-direction:column;gap:20px;min-width:0;padding:14px;
  border:1px solid var(--li);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-1);
  scroll-snap-align:start;scroll-snap-stop:always}

/* Dashboard */
.a-ref__links{display:flex;flex-direction:column;gap:12px;min-width:0}
.a-ref__dash{display:flex;flex:1;flex-direction:column;overflow:hidden;container:a-dash / inline-size;
  border:1px solid var(--li);border-radius:var(--r-card);background:#fff}
.a-ref__dkopf{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:12px 14px;border-bottom:1px solid var(--li-soft);background:var(--papier-2)}
.a-ref__dtitel{font-size:.9375rem;font-weight:700;color:var(--tx)}
.a-ref__dzeit{display:none;font-size:.8125rem;color:var(--tx-mut);font-variant-numeric:tabular-nums}
.a-ref__kacheln{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;border-bottom:1px solid var(--li-soft);background:var(--li-soft)}
.a-ref__kachel{padding:11px 12px;background:#fff}
.a-ref__kachel:last-child:nth-child(odd){grid-column:1 / -1}
.a-ref__kachel dt{font-size:.75rem;line-height:1.3;color:var(--tx-mut)}
.a-ref__kachel dd{margin:3px 0 0;font-size:min(1.125rem,7.8cqi);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap}
@container a-dash (min-width:620px){
  .a-ref__kacheln{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .a-ref__kachel{padding:14px 16px}
  .a-ref__kachel:last-child:nth-child(odd){grid-column:auto}
  .a-ref__kachel dd{font-size:min(1.375rem,3cqi)}
}
.a-ref__diagramm{display:flex;flex:1;flex-direction:column;padding:12px 14px 10px}
.a-ref__legende{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 14px;font-size:.75rem;line-height:1.3;color:var(--tx-mut)}
.a-ref__legende span{display:inline-flex;align-items:center;gap:6px}
.a-ref__l-kosten::before{content:"";width:14px;height:2px;border-radius:2px;background:var(--tx)}
.a-ref__l-anfr::before{content:"";width:8px;height:10px;border-radius:2px 2px 0 0;background:var(--akz-tief)}
.a-ref__plot{position:relative;flex:1;min-height:140px;margin:0 22px 0 38px}
.a-ref__gl{position:absolute;left:0;right:0;top:var(--y);height:0;border-top:1px solid var(--li-soft)}
.a-ref__gl b{position:absolute;top:0;font-size:.6875rem;font-weight:500;line-height:1;color:var(--tx-mut);font-variant-numeric:tabular-nums;white-space:nowrap;transform:translateY(-50%)}
.a-ref__gl b:first-child{right:calc(100% + 7px)}
.a-ref__gl b:last-child{left:calc(100% + 7px)}
.a-ref__balken{position:absolute;inset:0;display:flex;align-items:flex-end}
.a-ref__balken i{flex:1;height:var(--h);background:linear-gradient(var(--akz-tief),var(--akz-tief)) center bottom / 58% 100% no-repeat;
  transform-origin:50% 100%;transition:transform .7s var(--fed)}
.a-ref__linie{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transition:clip-path 1.3s var(--fed-weich) .15s}
.a-ref__linie polyline{fill:none;stroke:var(--tx);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.a-ref__xachse{position:relative;height:14px;margin:8px 22px 0 38px;font-size:.6875rem;line-height:14px;color:var(--tx-mut);font-variant-numeric:tabular-nums}
.a-ref__xachse span{position:absolute;top:0;left:calc((var(--x) + .5) / 30 * 100%);white-space:nowrap;transform:translateX(-50%)}
.a-ref__notiz{margin:0;padding-inline:4px;font-size:.75rem;line-height:1.5;color:var(--tx-mut)}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
  .a-ref__slide:not(.ist-gezeichnet) .a-ref__balken i{transform:scaleY(0)}
  .a-ref__slide:not(.ist-gezeichnet) .a-ref__linie{clip-path:inset(0 100% 0 0)}
}

/* Inhalt */
.a-ref__inhalt{display:flex;flex-direction:column;min-width:0;padding:2px 4px 4px}
.a-ref__kopf{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:10px}
.a-ref__bild{flex:none;width:56px;height:56px;overflow:hidden;border-radius:var(--r-btn);background:var(--papier-2)}
.a-ref__bild img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}
.a-ref__titel{min-width:0;font-size:var(--a-ref-h3,clamp(1.25rem,1.05rem + .7vw,1.625rem))}
.a-ref__zeit{margin:0 0 12px;font-size:.8125rem;color:var(--tx-mut);font-variant-numeric:tabular-nums}
.a-ref__story{margin:0 0 18px;font-size:.9375rem;line-height:1.6;color:var(--tx)}
.a-ref__bkopf{margin:0 0 10px;font-size:.8125rem;font-weight:700;color:var(--tx)}
.a-ref__liste{gap:.55rem}
.a-ref__kennzahl{display:flex;flex-direction:column;gap:5px;margin:22px 0 20px;padding-top:18px;border-top:1px solid var(--li)}
.a-ref__kwert{font-size:clamp(2.5rem,2.1rem + 1.4vw,3.25rem);font-weight:800;font-stretch:76%;line-height:1;letter-spacing:0;color:var(--tx);font-variant-numeric:tabular-nums}
.a-ref__ketikett{font-size:.9375rem;font-weight:600;line-height:1.4;color:var(--tx)}
.a-ref__kzusatz{font-size:.8125rem;line-height:1.5;color:var(--tx-mut)}
.a-ref__cta{align-self:stretch;min-height:52px;white-space:nowrap}
.a-ref__story,.a-ref__zeit,.a-ref__notiz,.a-ref__ketikett,.a-ref__kzusatz,.a-ref__liste li{text-wrap:pretty}

/* Steuerung */
.a-ref__steuerung{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(6px,(100vw - 359.5px)*999,8px) clamp(6px,(100vw - 359.5px)*999,12px);margin-top:20px}
.a-ref__zaehler{margin:0;min-width:clamp(0px,(100vw - 359.5px)*999,3rem);font-size:.9375rem;color:var(--tx-mut);font-variant-numeric:tabular-nums;white-space:nowrap}
.a-ref__zaehler b{font-weight:700;color:var(--tx)}
.a-ref__punkte{display:flex;align-items:center;margin-right:auto}
.a-ref__punkt{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-btn);background:none;cursor:pointer}
.a-ref__punkt i{display:block;width:8px;height:8px;border-radius:var(--r-pill);background:rgba(42,48,51,.3);transition:width .3s var(--fed-kurz),background-color .25s var(--fed-kurz)}
.a-ref__punkt[aria-current="true"] i{width:24px;background:var(--tx)}
.a-ref__knoepfe{display:flex;align-items:center;gap:clamp(6px,(100vw - 359.5px)*999,8px);margin-left:auto}
.a-ref__pfeil,.a-ref__auto{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--li);border-radius:50%;background:#fff;color:var(--tx);cursor:pointer;
  transition:border-color .25s var(--fed-kurz),background-color .25s var(--fed-kurz)}
.a-ref__pfeil:hover,.a-ref__auto:hover{border-color:var(--graphit)}
.a-ref__pfeil:active,.a-ref__auto:active{background:var(--papier-2)}
.a-ref__pfeil .lp-ico{width:18px;height:18px}
.a-ref__pfeil--zurueck .lp-ico{transform:rotate(180deg)}
/* unter 360 px: Pfeile 44 px (Stufe über clamp, kein eigener Bruch) */
.a-ref__pfeil{width:clamp(44px,(100vw - 359.5px)*999,48px);height:clamp(44px,(100vw - 359.5px)*999,48px)}
.a-ref__auto[hidden]{display:none}
.a-ref__auto svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a-ref__ico-play{display:none;fill:currentColor;stroke:none}
.a-ref__auto[data-zustand="aus"] .a-ref__ico-pause{display:none}
.a-ref__auto[data-zustand="aus"] .a-ref__ico-play{display:block}
.a-ref__fuss{max-width:46rem;margin:22px auto 0;font-size:.8125rem;line-height:1.55;color:var(--tx-mut);text-align:center;text-wrap:pretty}

@media not all and (max-width:900px){
  .a-ref__spur{gap:40px;margin-inline:0;padding-inline:0;scroll-padding-inline:0}
  .a-ref__slide{display:grid;flex-basis:100%;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-areas:"links inhalt";
    gap:clamp(28px,3.2vw,48px);padding:clamp(18px,1.9vw,26px)}
  .a-ref__slide--gespiegelt{grid-template-columns:minmax(280px,1fr) minmax(0,2fr);grid-template-areas:"inhalt links"}
  .a-ref__links{grid-area:links}
  .a-ref__inhalt{grid-area:inhalt;align-self:center;padding:8px 6px}
  .a-ref__dkopf{padding:14px 18px}
  .a-ref__dzeit{display:inline}
  .a-ref__zeit{display:none}
  .a-ref__diagramm{padding:16px 18px 12px}
  .a-ref__plot{min-height:190px}
  .a-ref__bild{width:72px;height:72px}
  .a-ref__cta{align-self:flex-start}
  .a-ref__steuerung{margin-top:24px}
}
@media (hover:hover) and (pointer:fine){ @media not all and (max-width:900px){
  .a-ref__spur{cursor:grab}
  .a-ref__spur.ist-ziehen{cursor:grabbing;scroll-snap-type:none;user-select:none}
} }
@media (prefers-reduced-motion:reduce){
  .a-hv__mit,.a-hv__kurve,.a-hv__stapel,.a-ref__balken i,.a-ref__linie,.a-ref__punkt i{transition:none}
}
