/* Konnect Plus — Apple-grade redesign (site2.css v2)
   Restrained palette, big tight type, generous whitespace, refined device mockups.
   Reuses all existing markup classes so site.js keeps working. */
:root{
  --accent:#F2BB82; --accent2:#E5A85E; --accent-soft:rgba(242,187,130,.15);
  --navy:#364A6F; --navy-d:#243449; --navy-dd:#1a2740; --navy-l:#46587c;
  --ink:#243449; --black:#233149; --bg:#ffffff; --bg2:#f2f5fa; --line:#dde3ed;
  --txt:#243449; --muted:#5c6b85; --muted-d:#7b89a2;
  --maxw:1080px;
  --f:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;font-family:var(--f);color:var(--txt);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;font-size:17px;letter-spacing:-.01em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
h1,h2,h3,h4,h5{margin:0;color:var(--ink);font-weight:600;letter-spacing:-.03em;line-height:1.06}
.grad{color:var(--accent);-webkit-text-fill-color:var(--accent);background:none}
.plus,.me{color:var(--accent)}
.dim{color:var(--muted-d)}
.center{text-align:center}

/* ---------- buttons (Apple pill / text-link) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--f);font-weight:500;font-size:16px;letter-spacing:-.01em;
  padding:12px 26px;border-radius:980px;cursor:pointer;border:1px solid transparent;transition:.25s;white-space:nowrap}
.btn-accent{background:var(--accent);color:#3a2510;font-weight:600}
.btn-accent:hover{background:var(--accent2);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.section.dark .btn-ghost,.hero .btn-ghost,.phero .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.phero .btn-ghost:hover,.hero .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn.wide{width:100%}

/* ---------- nav (thin frosted) ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:52px;transition:background .35s,border-color .35s,backdrop-filter .35s;
  background:transparent;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(20,30,50,.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom-color:rgba(255,255,255,.09)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 26px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.nav-logo img{height:25px;width:auto;opacity:.96}
.nav-links{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}
.nav-links>li>a{color:rgba(255,255,255,.8);font-size:13px;font-weight:400;letter-spacing:-.01em;transition:.15s}
.nav-links>li>a:hover{color:#fff}
.nav-cta{background:var(--accent);color:#3a2510!important;padding:6px 15px;border-radius:980px;font-size:13px;font-weight:600}
.nav-cta:hover{background:var(--accent2)}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-burger span{width:22px;height:1.5px;background:#fff;border-radius:2px}

/* ---------- hero ---------- */
.hero{position:relative;text-align:center;color:#fff;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(17,26,44,.92) 0%,rgba(20,31,51,.72) 40%,rgba(26,39,62,.66) 100%),url(/static/hero.jpg) center 30%/cover no-repeat #182338}
.hero #mesh{display:none}
.hero::after{content:"";position:absolute;left:50%;bottom:-30%;transform:translateX(-50%);width:900px;height:600px;
  background:radial-gradient(closest-side,rgba(242,187,130,.22),transparent 70%);filter:blur(20px);pointer-events:none;animation:glowPulse 8s ease-in-out infinite}
.hero-inner{position:relative;z-index:2;max-width:900px;padding:104px 24px 80px}
.hero-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;letter-spacing:0;color:var(--accent);
  background:rgba(242,187,130,.12);border:1px solid rgba(242,187,130,.34);padding:6px 15px;border-radius:980px;margin-bottom:24px}
.hero h1{font-size:clamp(38px,5.4vw,68px);font-weight:600;letter-spacing:-.03em;line-height:1.05;color:#fff}
.hero h1 .grad{color:#F2BB82;-webkit-text-fill-color:#F2BB82}
.hero-sub{font-size:clamp(18px,2vw,23px);font-weight:400;color:#a1a1a6;max-width:600px;margin:22px auto 0;line-height:1.5;letter-spacing:-.01em}
.hero-sub strong{color:#fff;font-weight:500}
.hero-cta{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:34px;flex-wrap:wrap}
.hero-cta .btn-ghost{border:0;color:var(--accent);padding:12px 6px}
.hero-cta .btn-ghost:hover{color:var(--accent2);text-decoration:underline}
.hero-stats{display:flex;gap:52px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.hero-stats>div b{display:block;font-size:38px;font-weight:600;letter-spacing:-.03em;color:#fff}
.hero-stats>div span{display:block;margin-top:6px;font-size:12px;color:#aab6c9;line-height:1.4}
.hero-fade{display:none}
/* hero product showcase (browser mockup + floating app + glow) */
.hero-showcase{position:relative;max-width:900px;margin:60px auto 0;z-index:2}
.hero-showcase::before{content:"";position:absolute;left:50%;top:6%;transform:translateX(-50%);width:780px;height:460px;max-width:110%;background:radial-gradient(closest-side,rgba(242,187,130,.30),transparent 70%);filter:blur(36px);z-index:-1;pointer-events:none}
.hero-showcase .pmock{box-shadow:0 50px 120px rgba(0,0,0,.5);border-color:rgba(255,255,255,.14)}
.hs-float{position:absolute;right:-22px;bottom:-26px;width:26%;max-width:212px;border-radius:15px;box-shadow:0 34px 74px rgba(0,0,0,.55);z-index:3}
@media(max-width:760px){.hero-showcase{margin-top:42px}.hs-float{display:none}}

/* ---------- section rhythm ---------- */
.section{padding:130px 0;position:relative}
.section.dark{background:var(--black);color:#fff}
.section.dark h1,.section.dark h2,.section.dark h3,.section.dark h4{color:#fff}
#konnect-plus{background:var(--bg2)}
#konnect-me{background:var(--bg)}
.kicker{font-size:15px;font-weight:600;letter-spacing:0;color:var(--accent);margin:0 0 12px;text-transform:none}
.kicker.center{text-align:center}
.section h2{font-size:clamp(34px,4.6vw,54px);font-weight:600;letter-spacing:-.03em;line-height:1.07}
.section-sub{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:640px;margin:18px 0 0;line-height:1.5;font-weight:400}
.section.dark .section-sub{color:#a1a1a6}
.section-sub.center,.section h2.center,.kicker.center{margin-left:auto;margin-right:auto;text-align:center}

/* ---------- products overview ---------- */
.cards3{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.pcard{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:var(--bg2);border:0;border-radius:28px;padding:46px 46px 42px;min-height:300px;transition:transform .45s cubic-bezier(.16,.7,.3,1),box-shadow .45s;overflow:hidden;color:var(--ink)}
.pcard:hover{transform:translateY(-5px);box-shadow:0 30px 66px rgba(36,52,79,.13)}
.pcard.feature{grid-column:1/-1;min-height:300px;background:linear-gradient(140deg,#31476c,#1d2b46);color:#fff}
.pcard.feature h3{color:#fff}
.pcard.feature p{color:rgba(255,255,255,.74);max-width:600px}
.pcard-tag{font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.pcard h3{font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.04;display:flex;align-items:center;gap:2px}
.pcard p{color:var(--muted);font-size:16px;line-height:1.5;margin:14px 0 0;max-width:440px}
.pcard-link{color:var(--accent);font-weight:500;font-size:16px;margin-top:24px;transition:.3s}
.pcard:hover .pcard-link{color:var(--accent2)}
.pcard-ic{position:absolute;top:38px;right:40px;width:46px;height:46px;margin:0;background:none;box-shadow:none;border-radius:0;display:block;opacity:.85}
.pcard-ic svg{width:46px;height:46px;fill:none;stroke:var(--accent);stroke-width:1.4}
.pcard.feature .pcard-ic svg{stroke:rgba(255,255,255,.45)}
.pcard-glow{position:absolute;right:-90px;top:-90px;width:380px;height:380px;background:radial-gradient(closest-side,rgba(242,187,130,.20),transparent 70%);pointer-events:none}

/* ---------- split product layout ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split-txt h2{margin:6px 0 0;font-size:clamp(32px,4vw,46px)}
.lead{font-size:20px;color:var(--muted);line-height:1.55;margin:22px 0 0;font-weight:400}
.section.dark .lead{color:#a1a1a6}
.feats{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:15px}
.feats li{position:relative;padding-left:28px;font-size:16px;color:var(--muted);line-height:1.45}
.section.dark .feats li{color:#c7c7cc}
.feats li b{color:var(--ink);font-weight:600}
.section.dark .feats li b{color:#fff}
.feats li::before{content:"";position:absolute;left:0;top:8px;width:15px;height:15px;border-radius:50%;
  background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;background:var(--accent)}
.btnrow{display:flex;gap:18px;margin-top:34px;flex-wrap:wrap;align-items:center}
.btnrow.center{justify-content:center}
.dlrow{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin:52px auto 0;max-width:1000px}
.chips span{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:13px 16px}
.chips span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto;transition:transform .3s}
.chips span:hover::before{transform:scale(1.4)}
.section.dark .chips span{color:#c7c7cc;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}

/* ---------- MacBook mockup (Konnect+) ---------- */
.laptop{position:relative;width:min(100%,720px);margin:0 auto}
.laptop::before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#23283a;z-index:6;box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.laptop::after{content:"";position:absolute;left:9%;right:9%;bottom:-24px;height:26px;border-radius:50%;background:rgba(0,0,0,.30);filter:blur(15px);z-index:-1}
.laptop-screen{position:relative;aspect-ratio:16/10;background:#0d1626;border:13px solid #1a2233;border-radius:20px;overflow:hidden;
  box-shadow:0 0 0 2px #3a3e47,0 0 0 3.5px #1f2330,0 34px 62px -14px rgba(0,0,0,.5)}
.laptop-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0a1220}
.laptop-base{position:relative;height:16px;width:122%;left:-11%;margin-top:-1px;
  background:linear-gradient(180deg,#f1f3f6 0%,#d7dbe2 38%,#b3b9c4 55%,#9aa0ac 70%,#e0e4ea 100%);
  border-radius:3px 3px 13px 13px;box-shadow:0 22px 30px -6px rgba(0,0,0,.3)}
.laptop-base::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:8px;
  background:linear-gradient(#8b909d,#bfc4cd);border-radius:0 0 12px 12px}
.laptop-base::after{content:"";position:absolute;left:3%;right:3%;top:1.5px;height:1px;background:rgba(255,255,255,.55)}

/* ---------- TV mockup (KonnectTV) ---------- */
.tvwrap{margin:56px auto 0;max-width:1080px}
.tv{position:relative}
.tv::after{content:"";position:absolute;left:15%;right:15%;bottom:-4px;height:30px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(19px);z-index:-1}
.tv-screen{position:relative;aspect-ratio:16/9;background:#0d1626;border:0;border-radius:9px;overflow:hidden;
  box-shadow:inset 0 0 0 5px #131b2a,0 0 0 1.5px #2a2d34,0 50px 92px -22px rgba(0,0,0,.72)}
.tv-screen iframe{position:absolute;top:0;left:0;width:1920px;height:1080px;transform-origin:0 0;border:0;background:#0d1626}
/* Samsung-style two feet */
.tv-stand{position:relative;height:30px;margin:0 auto}
.tv-stand::before,.tv-stand::after{content:"";position:absolute;bottom:2px;width:8px;height:26px;
  background:linear-gradient(90deg,#15181f,#3a414f 45%,#15181f);border-radius:2px 2px 3px 3px;box-shadow:0 8px 12px rgba(0,0,0,.4)}
.tv-stand::before{left:16%;transform:skewX(-17deg)}
.tv-stand::after{right:16%;transform:skewX(17deg)}

/* ---------- Vollbild-Demos ----------
   Echtes Vollbild (Desktop) und das eigene Overlay (Telefon/iOS) sehen identisch aus. */
.laptop-screen:fullscreen,.tv-screen:fullscreen,
.laptop-screen:-webkit-full-screen,.tv-screen:-webkit-full-screen{
  width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:#0a1220}
.demo-fs{position:fixed !important;inset:0 !important;z-index:9998 !important;
  width:100vw !important;height:100vh !important;height:100dvh !important;margin:0 !important;
  aspect-ratio:auto !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
  background:#0a1220 !important}
/* nur die Access-Demo bekommt die echte Breite; die TV-Demo bleibt 1920x1080 und wird skaliert */
.laptop-screen.demo-fs iframe{width:100% !important;height:100% !important;transform:none !important}
body.demo-fs-open{overflow:hidden}
/* Vorfahren dürfen kein transform/filter haben, sonst wird aus position:fixed eine Falle */
.demo-fs-host{transform:none !important;filter:none !important;perspective:none !important;
  will-change:auto !important;contain:none !important;-webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;opacity:1 !important}
.demo-fs-close{position:fixed;z-index:10001;top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  background:rgba(12,20,36,.72);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:50%;
  cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.demo-fs-close:active{background:rgba(12,20,36,.9)}
/* Dreh-Aufforderung: die Demos sind Breitbild — am Telefon nur im Querformat sinnvoll */
.demo-rotate{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center;
  background:#0a1220;color:#fff}
.demo-rotate svg{width:66px;height:66px;color:var(--accent);
  animation:demoRot 2.8s cubic-bezier(.65,.05,.36,1) infinite}
@keyframes demoRot{0%,30%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}100%{transform:rotate(0)}}
.demo-rotate b{font-size:17px;font-weight:600;margin-top:6px}
.demo-rotate span{font-size:13.5px;color:#a9b8cc;max-width:280px;line-height:1.45}
@media (orientation:landscape){.demo-rotate{display:none}}

/* ---------- demo cover / meta ---------- */
.demo-cover{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;
  background:radial-gradient(130% 130% at 50% 25%,#2c3c5b,#131f36);color:#fff;padding:26px}
.demo-cover-logo{width:118px;filter:brightness(0) invert(1);opacity:.9;margin-bottom:2px}
.demo-cover p{margin:0;color:#a1a1a6;font-size:15px}.demo-cover p b{color:#fff;font-size:18px;font-weight:600}
.demo-cover small{color:#6e6e73;font-size:12px}
.demo-cover{transition:opacity .45s ease,visibility .45s ease}
.demo-cover.hide{opacity:0;visibility:hidden;pointer-events:none}

/* ---------- Splash-Cover: identisch zum Startbildschirm des echten Systems ---------- */
.demo-cover.splash{padding:0;gap:0;background:#0a0f1e;justify-content:center}
.splash-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.splash-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.21) 0%,rgba(0,0,0,.52) 100%)}
/* Logo + Balken exakt mittig — genau dort, wo sie auch im echten Startbildschirm sitzen,
   damit beim Übergang nichts springt. Die Bedienelemente liegen absolut darunter. */
.splash-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 26px}
.splash-logo{width:20%;min-width:132px;max-width:280px;display:block;
  filter:drop-shadow(0 3px 14px rgba(0,0,0,.45))}
.splash-bar{width:9%;min-width:104px;max-width:190px;height:3px;margin-top:3.2%;border-radius:2px;
  background:rgba(255,255,255,.26);overflow:hidden}
.splash-bar i{display:block;height:100%;width:42%;border-radius:2px;background:var(--accent)}
.splash-actions{position:absolute;left:0;right:0;bottom:11%;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 26px;
  transition:opacity .3s ease}
.splash-actions .btn{padding:10px 21px;font-size:14px}   /* kompakter als die Seiten-Buttons */
.splash-actions small{color:rgba(255,255,255,.72);font-size:12.5px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.splash-actions small b{color:#fff;font-weight:600}
.splash-actions small b::after{content:" — "}
/* Access-Demo: kein Splash im Zielsystem, daher Logo höher und mehr Luft zum Button */
#kplusCover .splash-inner{top:-9%}   /* % der Cover-Höhe, nicht der Elementhöhe */
#kplusCover .splash-actions{bottom:8%}
/* Ladezustand: Bedienelemente weg, nur der Fortschrittsbalken läuft — wie beim echten TV-Start */
.demo-cover.splash.loading .splash-actions{opacity:0;pointer-events:none}
.demo-cover.splash.loading .splash-bar i{width:35%;animation:splashload 1.5s cubic-bezier(.65,.05,.36,1) infinite}
@keyframes splashload{0%{transform:translateX(-115%)}55%{transform:translateX(160%)}100%{transform:translateX(160%)}}
@media (prefers-reduced-motion:reduce){.demo-cover.splash.loading .splash-bar i{animation:none;width:60%}}
@media (max-width:640px){
  .splash-logo{width:31%;min-width:96px}
  .splash-bar{width:15%;min-width:66px;height:2px;margin-top:4%}
  .splash-actions{bottom:7%;gap:0;padding:0 14px}
  .splash-actions .btn{padding:9px 17px;font-size:13px}
  .splash-actions small{display:none}   /* Hinweistext steht unter dem TV, im Bild wäre er zu eng */
}
.demo-meta{margin-top:18px;font-size:13px;color:var(--muted-d);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.demo-meta.center{justify-content:center}
.section.dark .demo-meta{color:#86868b}
.live-dot{width:8px;height:8px;border-radius:50%;background:#30d158;box-shadow:0 0 0 4px rgba(48,209,88,.16);display:inline-block}
.demo-meta code{background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:6px;font-size:12.5px;font-family:ui-monospace,monospace}
.copybtn,.linklike{background:none;border:0;color:var(--accent);cursor:pointer;font-size:14px}

/* ---------- Konnect Me window ---------- */
.kmwin{background:#1b2740;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(20,30,50,.3);max-width:420px;margin:0 auto}
.kmwin-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;background:#141d30;border-bottom:1px solid rgba(255,255,255,.06)}
.kmwin-bar span{width:11px;height:11px;border-radius:50%;background:#2c313c}
.kmwin-bar b{margin-left:auto;color:#86868b;font-size:12px;font-weight:500}
.kmwin-body{padding:30px 28px;color:#fff}
.kmwin-logo{width:120px;margin:0 auto 20px}
.kmwin-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6e6e73;margin:16px 0 6px}
.kmwin-id{font-size:30px;font-weight:600;letter-spacing:.04em;color:var(--accent)}
.kmwin-input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:12px 14px;min-height:46px;display:flex;align-items:center}
.kmwin-caret{width:2px;height:18px;background:var(--accent);margin-left:2px;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}
.kmwin-btn{margin-top:18px;background:var(--accent);color:#3a2510;text-align:center;padding:13px;border-radius:11px;font-weight:500}
.kmwin-status{margin-top:15px;font-size:12.5px;color:#86868b;display:flex;align-items:center;gap:7px}
.about-img{border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.14);width:100%;object-fit:cover}

/* ---------- Konnect Me plans ---------- */
.kmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:50px}
.kmp-card,.kmp-grid>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:30px;position:relative}
.kmp-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--accent);color:#3a2510;font-size:11px;font-weight:600;padding:4px 14px;border-radius:980px;letter-spacing:.02em;text-transform:uppercase}
.kmp-name{font-size:19px;font-weight:600;color:#fff}
.kmp-price{display:flex;align-items:baseline;gap:3px;margin:14px 0 2px}
.kmp-cur{color:var(--accent);font-size:19px;font-weight:600}
.kmp-num{font-size:44px;font-weight:600;color:#fff;line-height:1;letter-spacing:-.03em}
.kmp-per{color:#86868b;font-size:13px}
.kmp-note{color:#86868b;font-size:13px;margin:4px 0 18px}
.kmp-feats{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:10px}
.kmp-feats li{font-size:14px;color:#c7c7cc;padding-left:22px;position:relative}
.kmp-feats li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.kmp-calc{margin:12px 0 18px}
.kmp-clabel{font-size:12.5px;color:#a1a1a6;margin-bottom:7px;display:flex;justify-content:space-between}
.kmp-range{width:100%;accent-color:var(--accent)}

/* ---------- references ---------- */
.refs{padding:70px 0;background:var(--bg);border-top:1px solid var(--line)}
.refs-row{display:flex;flex-wrap:wrap;justify-content:center;gap:52px;margin-top:26px}
.refs-row span{font-size:19px;font-weight:600;letter-spacing:.01em;color:#a1a1a6;transition:.2s}
.refs-row span:hover{color:var(--ink)}

/* ---------- integration ---------- */
.kdiff{padding:130px 0;background:var(--bg2);text-align:center}
.kdiff .kdiff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;text-align:left}
.kdiff-card{background:#fff;border:0;border-radius:24px;padding:36px}
.kdiff-ic{width:48px;height:48px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;margin-bottom:20px}
.kdiff-ic svg{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.7}
.kdiff-card h3{font-size:22px;font-weight:600}
.kdiff-card p{color:var(--muted);font-size:16px;line-height:1.5;margin:12px 0 0}

/* ---------- configurator ---------- */
#preise .ptabs{display:inline-flex;gap:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:980px;padding:5px;margin:44px 0 34px}
.ptab{background:none;border:0;color:#a1a1a6;font-family:var(--f);font-weight:500;font-size:15px;padding:10px 26px;border-radius:980px;cursor:pointer;transition:.2s}
.ptab.active{background:var(--accent);color:#3a2510}
.pconf{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:26px;padding:38px}
.pconf-controls{display:flex;flex-direction:column;gap:28px}
.ctl label{display:flex;justify-content:space-between;color:#e6e6eb;font-size:15px;font-weight:500;margin-bottom:14px}
.ctl output{color:var(--accent);font-weight:600;font-size:18px}
.ctl input[type=range]{width:100%;accent-color:var(--accent)}
.checks{display:flex;flex-direction:column;gap:11px}
.checks label{display:flex;align-items:center;gap:11px;justify-content:flex-start;color:#c7c7cc;font-size:15px}
.checks input{accent-color:var(--accent);width:17px;height:17px}
.segs{display:inline-flex;gap:6px}
.segs button{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#c7c7cc;border-radius:10px;padding:9px 17px;cursor:pointer;font-weight:600;font-size:15px}
.segs button.active{background:var(--accent);color:#3a2510;border-color:transparent}
.isoLabel{display:flex;align-items:center;gap:11px}
.pconf-summary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:28px}
.pconf-summary h4{font-size:13px;color:#a1a1a6;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.prow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#c7c7cc;font-size:15px}
.prow b{color:#fff;font-weight:600}
.prow.total{border-bottom:0;margin-top:6px;font-size:18px}
.prow.total b{color:var(--accent);font-weight:600;font-size:26px}
.alert-ok{background:rgba(48,209,88,.12);border:1px solid rgba(48,209,88,.4);color:#4cd471;padding:15px 18px;border-radius:14px;margin:20px 0}

/* ---------- forms ---------- */
.cform{max-width:680px;margin:40px 0 0}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{display:flex;flex-direction:column;margin-bottom:18px}
.fld label{font-size:14px;color:#a1a1a6;margin-bottom:8px}
.section:not(.dark) .fld label{color:var(--muted)}
.fld input,.fld textarea,.fld select{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:14px 16px;color:#fff;font-family:var(--f);font-size:16px;outline:none;transition:.15s}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--accent)}
.fld select option{color:#111}
.section:not(.dark) .fld input,.section:not(.dark) .fld textarea,.section:not(.dark) .fld select{background:#fff;border:1px solid var(--line);color:var(--ink)}
.section:not(.dark) .fld input:hover,.section:not(.dark) .fld textarea:hover,.section:not(.dark) .fld select:hover{border-color:#c6d2e4}
.section:not(.dark) .fld input:focus,.section:not(.dark) .fld textarea:focus,.section:not(.dark) .fld select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,187,130,.18)}
.section:not(.dark) .fld input:focus,.section:not(.dark) .fld textarea:focus,.section:not(.dark) .fld select:focus{border-color:var(--accent);background:#fff}
.hp{position:absolute;left:-9999px}

/* ---------- footer ---------- */
.footer{background:#1a2740;color:#9aa7bd;padding:70px 0 0;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px}
.footer-logo{height:30px;opacity:.92;margin-bottom:16px}
.footer p{font-size:13px;line-height:1.6;color:#6e6e73}
.footer h5{color:#f5f5f7;font-size:13px;margin:0 0 15px;font-weight:600;letter-spacing:0}
.footer-grid a{display:block;color:#86868b;font-size:14px;padding:6px 0;transition:.15s}
.footer-grid a:hover{color:#fff}
.footer-bar{text-align:center;color:#6e6e73;font-size:12px;padding:30px 0;margin-top:56px;border-top:1px solid rgba(255,255,255,.08)}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:26px;max-width:520px;width:100%;padding:38px;position:relative;max-height:90vh;overflow:auto}
.modal-box h3{font-size:26px;font-weight:600}
.modal-box .fld label{color:var(--muted)}
.modal-box .fld input,.modal-box .fld textarea{background:#fff;border-color:var(--line);color:var(--ink)}
.modal-box .fld input:focus,.modal-box .fld textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,187,130,.18)}
.modal-x{position:absolute;top:18px;right:20px;background:none;border:0;font-size:26px;color:var(--muted);cursor:pointer;line-height:1}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(42px) scale(.98);filter:blur(8px);transition:opacity 1s cubic-bezier(.16,.7,.3,1),transform 1s cubic-bezier(.16,.7,.3,1),filter 1s cubic-bezier(.16,.7,.3,1)}
.reveal.in,.reveal.visible{opacity:1;transform:none;filter:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}
/* directional reveal for feature-row media (slides in from its own side, by row parity) */
.frow-media.reveal{opacity:0;transform:translateX(56px) scale(.98);filter:blur(6px);transition:opacity 1s cubic-bezier(.16,.7,.3,1),transform 1s cubic-bezier(.16,.7,.3,1),filter 1s cubic-bezier(.16,.7,.3,1)}
.frow:nth-child(even) .frow-media.reveal{transform:translateX(-56px) scale(.98)}
.frow-media.reveal.in,.frow:nth-child(even) .frow-media.reveal.in{opacity:1;transform:none;filter:none}
/* feature bullets appear staggered when the text block reveals */
.frow-feats li{opacity:0;transform:translateY(12px);transition:opacity .55s cubic-bezier(.16,.7,.3,1),transform .55s cubic-bezier(.16,.7,.3,1)}
.frow-txt.reveal.in .frow-feats li{opacity:1;transform:none}
.frow-txt.reveal.in .frow-feats li:nth-child(1){transition-delay:.16s}
.frow-txt.reveal.in .frow-feats li:nth-child(2){transition-delay:.28s}
.frow-txt.reveal.in .frow-feats li:nth-child(3){transition-delay:.40s}
/* gentle lift on the framed screenshots */
.frow-media .pmock,.frow-app{transition:transform .5s cubic-bezier(.16,.7,.3,1),box-shadow .5s}
.frow:hover .frow-media .pmock,.frow:hover .frow-app{transform:translateY(-8px)}
/* respect reduced-motion */
@media(prefers-reduced-motion:reduce){.reveal,.frow-media.reveal,.frow-feats li{transition:none!important;opacity:1!important;transform:none!important;filter:none!important}}

/* ---------- animations ---------- */
@keyframes glowPulse{0%,100%{opacity:.72;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.09)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.hero-badge{animation:fadeDown .8s .1s both}
#kplusStart,#tvStart{animation:btnPulse 2.6s ease-in-out infinite}
@keyframes btnPulse{0%,100%{box-shadow:0 0 0 0 rgba(242,187,130,.55)}70%,100%{box-shadow:0 0 0 16px rgba(242,187,130,0)}}
.pcard-link{transition:transform .3s cubic-bezier(.16,.7,.3,1)}
.pcard:hover .pcard-link{transform:translateX(4px)}
.pcard.feature .pcard-media::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 42%,rgba(242,187,130,.12) 50%,transparent 58%);transform:translateX(-100%);animation:sheen 6.5s ease-in-out infinite}
@keyframes sheen{0%,55%{transform:translateX(-100%)}78%,100%{transform:translateX(100%)}}
.refs-row span,.chips span,.kdiff-card,.btn,.pcard,.fld input,.fld textarea,.fld select{transition:all .3s cubic-bezier(.16,.7,.3,1)}
.kdiff-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(0,0,0,.07)}
.chips span:hover{border-color:var(--accent);color:var(--accent2);transform:translateY(-2px);box-shadow:0 8px 20px rgba(242,187,130,.18);background:var(--accent-soft)}
.section.dark .chips span:hover{color:var(--accent);background:rgba(242,187,130,.1)}
/* motion intentionally always on (client requested) */

/* ---------- responsive ---------- */
@media(max-width:980px){
  .nav-burger{display:flex}
  .nav-links{position:fixed;top:52px;right:0;width:min(300px,82vw);height:calc(100vh - 52px);flex-direction:column;align-items:flex-start;gap:6px;background:#1a2740;padding:24px;transform:translateX(110%);transition:.3s;overflow:auto}
  .nav-links.open{transform:none}
  .cards3{grid-template-columns:1fr}.pcard.feature{grid-row:auto}
  .split{grid-template-columns:1fr;gap:44px}
  .pconf{grid-template-columns:1fr}
  .kdiff .kdiff-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .frow{grid-template-columns:1fr}
  .hero-stats{gap:36px}
}
@media(max-width:560px){
  .wrap{padding:0 22px}.section{padding:88px 0}
  .footer-grid{grid-template-columns:1fr}
}

/* ================= multi-page: product sub-page hero + resources ================= */
/* Unified hero: identical background + size as the home .hero on every page */
.phero{position:relative;text-align:center;color:#fff;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(17,26,44,.92) 0%,rgba(20,31,51,.72) 40%,rgba(26,39,62,.66) 100%),url(/static/hero.jpg) center 30%/cover no-repeat #182338}
.phero>.wrap{position:relative;z-index:2;padding:104px 24px 80px}
.phero::after{content:"";position:absolute;left:50%;bottom:-30%;transform:translateX(-50%);width:900px;height:600px;background:radial-gradient(closest-side,rgba(242,187,130,.20),transparent 70%);filter:blur(20px);animation:glowPulse 8s ease-in-out infinite;pointer-events:none;z-index:1}
.phero .kicker{color:var(--accent);text-align:center}
.phero h1{font-size:clamp(44px,6.5vw,80px);font-weight:600;letter-spacing:-.035em;color:#fff}
.phero-sub{font-size:clamp(18px,1.8vw,22px);color:#a1a1a6;max-width:640px;margin:20px auto 0;line-height:1.5}
.phero .btnrow{justify-content:center;margin-top:36px}
.resgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:22px;margin-top:56px}
.rescard{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:32px 30px 30px;display:flex;flex-direction:column;overflow:hidden;transition:all .35s cubic-bezier(.16,.7,.3,1)}
.rescard::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,.7,.3,1)}
.rescard:hover::before{transform:scaleX(1)}
.section.dark .rescard{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.09)}
.rescard:hover{transform:translateY(-6px);box-shadow:0 26px 58px rgba(0,0,0,.13);border-color:rgba(242,187,130,.55)}
.rescard-ic{width:54px;height:54px;border-radius:16px;background:var(--accent-soft);display:grid;place-items:center;margin-bottom:22px;transition:.35s cubic-bezier(.16,.7,.3,1)}
.rescard-ic svg{width:26px;height:26px;fill:none;stroke:var(--accent2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.rescard:hover .rescard-ic{background:var(--accent);transform:translateY(-3px) rotate(-3deg)}
.rescard:hover .rescard-ic svg{stroke:#3a2510}
.rescard h3{font-size:20px;font-weight:600;letter-spacing:-.02em}
.rescard p{color:var(--muted);font-size:14.5px;line-height:1.55;margin:9px 0 24px;flex:1}
.section.dark .rescard p{color:#a1a1a6}
.rescard .btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px}
.rescard .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rescard.soon .btn{background:#e6e6eb;color:#86868b;box-shadow:none;cursor:default}
.section.dark .rescard.soon .btn{background:rgba(255,255,255,.1);color:#86868b}
/* product intro cards on home */
.introgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:64px}

/* ---------- Apple-style stacked product tiles ---------- */
.prodstack{display:block}
#produkte{padding-bottom:16px}
.prodstack .ptile:first-child{padding-top:76px}
.ptile{padding:104px 0 92px;text-align:center;overflow:hidden}
.ptile:nth-child(even){background:var(--bg2)}
.ptile-tag{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.ptile h2{font-size:clamp(40px,5.6vw,68px);font-weight:600;letter-spacing:-.035em;line-height:1.02;color:var(--ink)}
.ptile h2 .plus,.ptile h2 .me{color:var(--accent)}
.ptile-sub{font-size:clamp(18px,1.7vw,23px);color:var(--muted);max-width:660px;margin:18px auto 0;line-height:1.45;font-weight:400}
.ptile-cta{display:flex;gap:12px 26px;justify-content:center;align-items:center;margin-top:30px;flex-wrap:wrap}
.tlink{color:var(--accent2);font-weight:500;font-size:17px;transition:.2s}
.tlink:hover{color:var(--accent)}
/* product name as LOGO image */
.ptile-logo{height:clamp(38px,4.6vw,58px);width:auto;max-width:80%;margin:2px auto 0;display:block}
.ptile-sub{margin-top:20px}
.ptile-soonlabel{color:var(--muted-d);font-weight:500;font-size:16px;display:inline-block}
/* unified browser-window frame for ALL product visuals → one consistent system */
.ptile-media{margin:56px auto 0;max-width:1000px;padding:0 32px}
.pmock{border-radius:16px;overflow:hidden;box-shadow:0 40px 90px rgba(36,52,79,.18);border:1px solid var(--line);background:#fff}
.pmock-bar{height:40px;background:var(--bg2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 16px}
.pmock-bar i{width:11px;height:11px;border-radius:50%;background:#cdd4e0;display:block}
.pmock-body{aspect-ratio:16/10;overflow:hidden;background:#0d1626}
.pmock-body>img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.pmock-body.contain{background:linear-gradient(160deg,#eef2f8,#dbe3ef)}
.pmock-body.contain>img{object-fit:contain;padding:34px}
.pmock-body.soon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(140deg,#31476c,#1d2b46);position:relative}
.pmock-body.soon::after{content:"";position:absolute;right:-90px;top:-90px;width:360px;height:360px;background:radial-gradient(closest-side,rgba(242,187,130,.18),transparent 70%)}
.pmock-body.soon>img{width:auto;height:clamp(32px,3.6vw,48px);object-fit:contain;position:relative;z-index:1}
.pmock-body.soon span{color:rgba(255,255,255,.62);font-size:14px;letter-spacing:.03em;position:relative;z-index:1}
@media(max-width:700px){.ptile{padding:70px 0 60px}.ptile-media{margin-top:38px;padding:0 20px}.pmock-bar{height:30px}}
/* dropdown product logos */
.nav-dd-menu a .dd-logo{height:19px;width:auto;display:block;margin-bottom:4px}
/* product-page hero name as LOGO */
.phero-logo{max-height:clamp(48px,7.2vw,92px);max-width:92%;width:auto;height:auto;object-fit:contain;margin:0 auto;display:block}

/* ===== Apple-style VARIED product layout: flagship feature + checkerboard grid ===== */
.pfeature{max-width:1200px;margin:48px auto 0;padding:0 24px}
.pfeature-in{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(160deg,#31476c,#17233b);color:#fff;text-align:center;padding:76px 40px 0}
.pfeature-in::before{content:"";position:absolute;right:-8%;top:-34%;width:640px;height:640px;background:radial-gradient(closest-side,rgba(242,187,130,.16),transparent 70%);pointer-events:none}
.pfeature-media{position:relative;margin:48px auto 0;max-width:900px}
.pfeature-media img{width:100%;display:block;border-radius:14px 14px 0 0;box-shadow:0 -8px 50px rgba(0,0,0,.28)}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1200px;margin:16px auto 0;padding:0 24px}
.pcell{position:relative;overflow:hidden;border-radius:28px;background:var(--bg2);color:var(--ink);display:flex;flex-direction:column;text-align:center;min-height:560px}
.pcell.dark{background:linear-gradient(160deg,#31476c,#17233b);color:#fff}
.pcell-txt{padding:54px 38px 0}
.pcell-media{margin-top:auto;padding:32px 38px 0}
.pcell-media img{width:100%;display:block;border-radius:12px 12px 0 0;box-shadow:0 -6px 36px rgba(36,52,79,.18)}
.pcell.soon{align-items:center;justify-content:center;padding:56px 38px}
.pcell.soon .pcell-txt{padding:0}
.pcell-logo-big{height:clamp(30px,3.4vw,46px);margin:0 auto 4px;display:block}
/* shared text sizing */
.pfeature .ptile-tag,.pcell .ptile-tag{margin-bottom:12px}
.pcell.dark .ptile-tag,.pfeature .ptile-tag{color:var(--accent)}
.pfeature .ptile-logo,.pcell .ptile-logo{height:clamp(28px,2.9vw,40px);max-width:78%;margin:0 auto}
.pfeature .ptile-sub,.pcell .ptile-sub{font-size:16px;max-width:430px;margin:16px auto 0;line-height:1.45}
.pcell.dark .ptile-sub,.pfeature .ptile-sub{color:rgba(255,255,255,.74)}
.pfeature .ptile-cta,.pcell .ptile-cta{margin-top:24px;justify-content:center}
.pcell.dark .tlink,.pfeature .tlink{color:var(--accent)}
@media(max-width:820px){.pgrid{grid-template-columns:1fr}.pcell{min-height:0}.pfeature-in{padding-top:56px}}

/* ===== professional alternating feature rows (zig-zag) ===== */
.frows .frow{display:block;grid-template-columns:none;gap:0}  /* beat the contact-form .frow (name clash) */
.frow{position:relative}
.frows > .frow:nth-child(even){background:var(--bg2)}   /* home rows only - was striping form rows too */
.frow-in{max-width:1180px;margin:0 auto;padding:108px 40px;display:grid;grid-template-columns:1fr 1.06fr;gap:76px;align-items:center}
.frow:nth-child(even) .frow-media{order:-1}
.frow-txt{max-width:500px}
.frow-cat{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
.frow-logo{height:clamp(30px,3vw,44px);width:auto;display:block;margin:0 0 20px}
.frow-lead{font-size:19px;color:var(--muted);line-height:1.5;margin:0 0 24px}
.frow-feats{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:12px}
.frow-feats li{position:relative;padding-left:30px;font-size:16px;color:var(--ink);font-weight:500;line-height:1.4}
.frow-feats li::before{content:"";position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:var(--accent-soft)}
.frow-feats li::after{content:"";position:absolute;left:6px;top:5px;width:6px;height:3px;border-left:2px solid var(--accent2);border-bottom:2px solid var(--accent2);transform:rotate(-45deg)}
.frow-cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.frow-media .pmock{transition:transform .5s cubic-bezier(.16,.7,.3,1)}
.frow:hover .frow-media .pmock{transform:translateY(-6px)}
.frow-soon{border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#31476c,#17233b);aspect-ratio:16/10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;box-shadow:0 30px 70px rgba(36,52,79,.2);position:relative}
.frow-soon::after{content:"";position:absolute;right:-70px;top:-70px;width:320px;height:320px;background:radial-gradient(closest-side,rgba(242,187,130,.18),transparent 70%)}
.frow-soon img{height:clamp(30px,3vw,44px);position:relative;z-index:1}
.frow-soon span{color:rgba(255,255,255,.6);font-size:13.5px;letter-spacing:.03em;position:relative;z-index:1}
.frow-app{display:block;width:100%;max-width:440px;margin:0 auto;border-radius:18px;box-shadow:0 34px 74px rgba(36,52,79,.22)}
/* two-image composition: dashboard + floating phone */
.frow-combo{position:relative;padding-bottom:26px}
.combo-phone{position:absolute;right:-14px;bottom:-30px;width:29%;max-width:170px;z-index:3;display:block;transition:transform .5s cubic-bezier(.16,.7,.3,1)}
.frow:hover .combo-phone{transform:translateY(-8px)}
@media(max-width:860px){.combo-phone{width:32%;right:0;bottom:-14px;max-width:148px}}
@media(max-width:560px){.combo-phone{display:none}}
@media(max-width:860px){.frow-in{grid-template-columns:1fr;gap:40px;padding:70px 24px}.frow .frow-media,.frow:nth-child(even) .frow-media{order:-1}.frow-txt{max-width:none}}
@media(max-width:980px){.introgrid{grid-template-columns:1fr}.resgrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:560px){.resgrid{grid-template-columns:1fr}}

/* demo meta bar (under the TV) */
.tvmeta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.tvmeta-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--line);border-radius:980px;padding:8px 16px;font-size:13.5px;font-weight:500;color:var(--ink)}
.tvmeta-fs{display:inline-flex;align-items:center;gap:7px;background:var(--accent-soft);border:1px solid rgba(242,187,130,.55);color:var(--accent2);border-radius:980px;padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit}
.tvmeta-fs svg{stroke:currentColor}
.tvmeta-fs:hover{background:var(--accent);color:#3a2510;border-color:transparent}
.tvmeta-note{display:inline-flex;align-items:center;font-size:12.5px;color:var(--muted)}
.section.dark .tvmeta-badge{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#c7c7cc}
.section.dark .tvmeta-note{color:#86868b}
.ic{font-style:normal;display:inline-block}

/* ---- Preise/Prices ausgeblendet (per request) ---- */



/* nav: active state + Products dropdown */
.nav-links>li>a.on{color:#fff}
.nav-links>li>a.on::after{content:"";display:block;height:2px;border-radius:2px;background:var(--accent);margin-top:3px}
.nav-dd{position:relative}
.nav-dd-t{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.nav-dd-c{opacity:.65;transition:transform .2s}
.nav-dd:hover .nav-dd-c{transform:rotate(180deg)}
.nav-dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:236px;background:#17233b;border:1px solid rgba(240,192,128,.22);border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.5);padding:8px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;z-index:1500}
.nav-dd-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-dd:hover .nav-dd-menu,.nav-dd.open .nav-dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(9px)}
.nav-dd-menu a{display:flex;flex-direction:column;gap:1px;padding:10px 13px;border-radius:9px;text-decoration:none;transition:.12s}
.nav-dd-menu a:hover{background:rgba(229,168,94,.14)}
.nav-dd-menu a b{font-size:14.5px;font-weight:700;color:#fff}
.nav-dd-menu a:hover b{color:#F4CB92}
.nav-dd-menu a span{font-size:12px;color:#9fb0c8;font-weight:400}
@media(max-width:980px){
  .nav-dd-menu{position:static;transform:none;opacity:1;visibility:visible;background:transparent;border:0;box-shadow:none;padding:2px 0 6px 12px;min-width:0}
  .nav-dd-menu::before{display:none}
  .nav-dd-menu a{padding:7px 0}.nav-dd-menu a span{display:none}
  .nav-dd-c{display:none}
  .nav-links>li>a.on::after{display:none}
}

/* page CTA band */
.ctaband{background:var(--bg2);border-top:1px solid var(--line);text-align:center;padding:96px 0}
.ctaband h2{font-size:clamp(30px,4vw,46px);font-weight:600;letter-spacing:-.03em}
.ctaband p{color:var(--muted);font-size:18px;max-width:560px;margin:16px auto 30px}
/* contact page details */
.cgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.cinfo{display:flex;flex-direction:column;gap:22px}
.cinfo-item{display:flex;gap:15px;align-items:flex-start}
.cinfo-ic{flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:var(--accent-soft);display:grid;place-items:center}
.cinfo-ic svg{width:21px;height:21px;fill:none;stroke:var(--accent);stroke-width:1.8}
.cinfo-item h4{font-size:16px;font-weight:600;margin:0 0 3px}
.cinfo-item p,.cinfo-item a{color:var(--muted);font-size:15.5px;line-height:1.5;text-decoration:none}
.cinfo-item a:hover{color:var(--accent2)}
@media(max-width:900px){.cgrid{grid-template-columns:1fr;gap:36px}}

/* ===== mobile refinements ===== */
@media(max-width:640px){
  .hero,.phero{min-height:auto}
  .hero-inner,.phero>.wrap{padding:116px 22px 70px}
  .phero h1{font-size:clamp(34px,9vw,52px)}
  .phero-logo{max-height:clamp(40px,9vw,64px)}
  .phero-sub{font-size:16px}
  .hero h1{font-size:clamp(29px,8.4vw,40px);line-height:1.08}
  .hero-sub{font-size:16px;margin-top:15px}
  .hero-cta{margin-top:26px;gap:10px}
  .hero-stats{gap:24px 30px;margin-top:34px}
  .hero-stats>div b{font-size:30px}
  .hero-stats>div span{font-size:11.5px}
  .frow-in{padding:56px 22px!important}
  .frow-lead{font-size:17px}
  .section{padding:70px 0}
  .kdiff{padding:70px 0}
  .ctaband{padding:60px 0}
  .section h2,.ctaband h2,.kdiff h2{font-size:clamp(27px,7.4vw,38px)}
}

.laptop-screen:fullscreen{aspect-ratio:auto;width:100vw;height:100vh;border:0;border-radius:0}
.laptop-screen:-webkit-full-screen{aspect-ratio:auto;width:100vw;height:100vh;border:0;border-radius:0}

/* ============ PRODUCT PAGES — premium redesign (v2) ============ */
.prohero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(1100px 560px at 80% 8%,rgba(242,187,130,.16),transparent 58%),
  linear-gradient(165deg,#1e3156 0%,#152340 52%,#0d1727 100%);
  padding:152px 0 92px}
.prohero .wrap{position:relative;z-index:2}
.prohero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.prohero .kicker{color:var(--accent);margin-bottom:14px}
.prohero-logo{max-height:clamp(38px,4.4vw,56px);max-width:80%;width:auto;height:auto;object-fit:contain;display:block;margin:0 0 22px}
.prohero h1{font-size:clamp(29px,3.3vw,43px);font-weight:600;line-height:1.1;letter-spacing:-.03em;color:#fff}
.prohero h1 .grad{color:var(--accent);-webkit-text-fill-color:var(--accent)}
.prohero-sub{font-size:clamp(16px,1.25vw,18.5px);color:#a9b8ce;margin:20px 0 0;line-height:1.56;max-width:560px}
.prohero .btnrow{margin-top:30px;justify-content:flex-start}
.prohero-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px;max-width:600px}
.prohero-chips span{font-size:12.5px;font-weight:500;color:#c7d3e6;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);border-radius:980px;padding:7px 14px}
.prohero-visual{position:relative}
.pframe{position:relative;border-radius:15px;overflow:hidden;background:#0d1626;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 42px 92px rgba(4,10,22,.6)}
.pframe-bar{display:flex;align-items:center;gap:7px;padding:11px 15px;background:rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.08)}
.pframe-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22);flex:0 0 auto}
.pframe img{display:block;width:100%;height:auto}
.prohero-visual::after{content:"";position:absolute;inset:auto -6% -14% 8%;height:60px;
  background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent 72%);filter:blur(6px);z-index:-1}

/* features */
.pfeat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.pfcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 28px 28px;
  transition:transform .35s cubic-bezier(.16,.7,.3,1),box-shadow .35s,border-color .35s}
.pfcard:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(36,52,73,.13);border-color:rgba(242,187,130,.55)}
.pfcard-ic{width:52px;height:52px;border-radius:15px;background:var(--accent-soft);display:grid;place-items:center;margin-bottom:20px;transition:.35s}
.pfcard:hover .pfcard-ic{background:var(--accent)}
.pfcard-ic svg{width:25px;height:25px;fill:none;stroke:var(--accent2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.pfcard:hover .pfcard-ic svg{stroke:#3a2510}
.pfcard h3{font-size:18.5px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.pfcard p{color:var(--muted);font-size:14.5px;line-height:1.55;margin:9px 0 0}

@media(max-width:1040px) and (min-width:861px){ .pfeat{grid-template-columns:repeat(2,1fr)} }
@media(max-width:860px){
  .prohero{padding:118px 0 66px}
  .prohero-grid{grid-template-columns:1fr;gap:38px}
  .prohero-logo{margin-inline:auto}
  .prohero .kicker,.prohero h1,.prohero-sub{text-align:center}
  .prohero-sub{margin-inline:auto}
  .prohero .btnrow,.prohero-chips{justify-content:center}
  .pfeat{grid-template-columns:1fr}
}

.prohero .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.prohero .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* configurator: quote-only, no prices */
#preise .prow b{display:none}
#preise .prow.total{display:none}
#preise .checks i{display:none}

/* descriptive feature grid (replaces bare chips) */
.dfeat-head{text-align:center;margin-top:70px}
.dfeat-head .kicker{display:block;margin-bottom:6px}
.dfeat-head h3{font-size:clamp(23px,2.3vw,31px);font-weight:600;color:var(--ink);letter-spacing:-.02em}
.dfeat{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:46px 0 0}
.dfrow{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:transform .3s cubic-bezier(.16,.7,.3,1),box-shadow .3s,border-color .3s}
.dfrow:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(36,52,73,.10);border-color:rgba(242,187,130,.55)}
.dfico{flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:var(--accent-soft);display:grid;place-items:center}
.dfico svg{width:23px;height:23px;fill:none;stroke:var(--accent2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dftxt h4{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.2}
.dftxt p{font-size:13.5px;color:var(--muted);margin:5px 0 0;line-height:1.46}
@media(max-width:760px){.dfeat{grid-template-columns:1fr}.dfeat-head{margin-top:54px}}

/* presentation choice popup */
.preso-box .dim{margin:6px 0 22px}
.preso-opts{display:flex;flex-direction:column;gap:14px}
.preso-opt{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:.2s cubic-bezier(.16,.7,.3,1);background:var(--bg2)}
.preso-opt:hover{border-color:var(--accent);background:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(36,52,73,.10)}
.preso-ic{flex:0 0 auto;width:48px;height:48px;border-radius:13px;background:var(--accent-soft);display:grid;place-items:center}
.preso-ic svg{width:24px;height:24px;fill:none;stroke:var(--accent2);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.preso-ic-ai svg{fill:var(--accent2);stroke:none}
.preso-tx{flex:1;display:flex;flex-direction:column;gap:3px}
.preso-tx b{font-size:16px;font-weight:600;color:var(--ink)}
.preso-tx small{font-size:13px;color:var(--muted);line-height:1.4}
.preso-arr{flex:0 0 auto;color:var(--muted-d)}
.preso-arr svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.preso-badge{display:none;font-size:11px;font-weight:700;color:var(--accent2);background:var(--accent-soft);padding:3px 10px;border-radius:20px;white-space:nowrap}
.preso-soon{opacity:.6;cursor:not-allowed}
.preso-soon:hover{border-color:var(--line);background:var(--bg2);transform:none;box-shadow:none}
.preso-soon .preso-badge{display:inline-block}
.preso-soon .preso-arr{display:none}

/* ================= customer account ================= */
.acc-sec{padding-top:150px}
.acc-wrap{max-width:720px}
.acc-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px 40px;box-shadow:0 18px 46px rgba(27,41,66,.07)}
.acc-card-sm{max-width:520px;margin:0 auto}
.acc-title{font-size:clamp(28px,3.4vw,40px);font-weight:600;letter-spacing:-.03em;color:var(--ink);margin:6px 0 0}
.acc-sub{color:var(--muted);font-size:15.5px;line-height:1.55;margin:14px 0 0}
.acc-h2{font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:54px 0 0}
.acc-h3{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.acc-form{margin-top:24px;display:flex;flex-direction:column;gap:16px}
.acc-form .fld label{display:block;font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:7px}
.acc-form .fld input{width:100%;box-sizing:border-box;background:var(--bg2);border:1px solid var(--line);border-radius:11px;
  padding:13px 15px;font:15px var(--f);color:var(--ink);transition:.18s}
.acc-form .fld input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(242,187,130,.18)}
.acc-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.acc-form .btn{margin-top:6px}
.btn.wide{width:100%}
.acc-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--muted);line-height:1.45;cursor:pointer}
.acc-check input{margin-top:2px;accent-color:var(--accent2);width:16px;height:16px;flex:0 0 auto}
.acc-alt{margin:20px 0 0;font-size:14.5px;color:var(--muted);text-align:center}
.acc-alt a{color:var(--accent2);font-weight:600}
.alert-ok,.alert-err{border-radius:12px;padding:13px 16px;font-size:14.5px;font-weight:500;margin-top:18px}
.alert-ok{background:rgba(62,193,143,.12);border:1px solid rgba(62,193,143,.4);color:#1e6b4e}
.alert-err{background:rgba(200,64,64,.08);border:1px solid rgba(200,64,64,.32);color:#a33}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.acc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:8px}
.acc-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:54px}
.acc-files{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.acc-file{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:.25s}
.acc-file:hover{border-color:rgba(242,187,130,.6);box-shadow:0 14px 32px rgba(27,41,66,.09);transform:translateY(-2px)}
.acc-file-hot{border-color:rgba(242,187,130,.75);background:linear-gradient(180deg,#fffaf3,#fff)}
.acc-file-ic{flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:var(--accent-soft);display:grid;place-items:center}
.acc-file-ic svg{width:23px;height:23px;fill:none;stroke:var(--accent2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.acc-file-tx{flex:1;min-width:0}
.acc-file-prod{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent2)}
.acc-file-tx h4{font-size:16px;font-weight:600;color:var(--ink);margin:3px 0 3px;letter-spacing:-.01em}
.acc-file-tx p{font-size:13px;color:var(--muted);line-height:1.45;margin:0}
.acc-file .btn{flex:0 0 auto;padding:10px 18px;font-size:14px}
.acc-log{margin-top:22px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.acc-log-row{display:flex;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.acc-log-row:last-child{border-bottom:0}
.acc-log-row b{color:var(--ink);font-weight:600;white-space:nowrap}
.nav-acc{display:inline-flex;align-items:center;gap:7px}
.nav-acc svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
  .acc-sec{padding-top:118px}
  .acc-card{padding:28px 24px;border-radius:18px}
  .acc-form .frow,.acc-two,.acc-files{grid-template-columns:1fr}
  .acc-file{flex-wrap:wrap}.acc-file .btn{width:100%}
}

.nav.nav-solid{background:rgba(20,30,50,.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom-color:rgba(255,255,255,.09)}


/* editable value next to each pricing slider */
.ctl-num{width:108px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:9px;
  color:var(--accent);font:600 17px/1 var(--f);padding:7px 10px;text-align:right;-moz-appearance:textfield}
.ctl-num::-webkit-outer-spin-button,.ctl-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ctl-num:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.12)}
@media(max-width:560px){.ctl-num{width:96px;font-size:16px}}

/* ==================== Apple-style full-screen mobile menu ==================== */
@media(max-width:980px){
  body.nav-locked{overflow:hidden}

  /* bar stays on top of the overlay, solid while open */
  .nav{z-index:1200}
  .nav.menu-open{background:#0d1728;border-bottom-color:transparent}
  .nav.menu-open .nav-logo img{opacity:1}

  /* burger -> X */
  .nav-logo{position:relative;z-index:2}
  .nav-burger{width:30px;height:24px;padding:0;justify-content:center;align-items:center;gap:5px;position:relative;z-index:2}
  .nav-burger span{flex:0 0 auto;height:2px;width:23px}
  .nav-links{z-index:1}
  .nav-burger span{transition:transform .34s cubic-bezier(.16,.7,.3,1),opacity .2s}
  .nav.menu-open .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav.menu-open .nav-burger span:nth-child(2){opacity:0;transform:scaleX(.4)}
  .nav.menu-open .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  /* the overlay itself: covers the whole page */
  .nav-links{
    position:fixed;left:0;right:0;top:0;bottom:0;width:100%;max-width:none;height:100dvh;
    background:#0d1728;padding:76px 24px calc(40px + env(safe-area-inset-bottom));
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    transform:none;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .3s ease,visibility .3s;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav-links.open{opacity:1;visibility:visible;pointer-events:auto}

  /* rows */
  .nav-links>li{width:100%;border-bottom:1px solid rgba(255,255,255,.09);
    opacity:0;transform:translateY(12px)}
  .nav-links.open>li{opacity:1;transform:none;
    transition:opacity .45s ease,transform .45s cubic-bezier(.16,.7,.3,1)}
  .nav-links.open>li:nth-child(1){transition-delay:.05s}
  .nav-links.open>li:nth-child(2){transition-delay:.09s}
  .nav-links.open>li:nth-child(3){transition-delay:.13s}
  .nav-links.open>li:nth-child(4){transition-delay:.17s}
  .nav-links.open>li:nth-child(5){transition-delay:.21s}
  .nav-links.open>li:nth-child(6){transition-delay:.25s}
  .nav-links.open>li:nth-child(7){transition-delay:.29s}
  .nav-links.open>li:nth-child(8){transition-delay:.33s}

  .nav-links>li>a{display:flex;align-items:center;justify-content:space-between;gap:12px;
    width:100%;padding:18px 2px;font-size:21px;font-weight:500;letter-spacing:-.02em;color:#fff}
  .nav-links>li>a::after{content:"";width:8px;height:8px;flex:0 0 auto;
    border-right:1.8px solid rgba(255,255,255,.42);border-bottom:1.8px solid rgba(255,255,255,.42);
    transform:rotate(-45deg)}
  .nav-links>li>a.on{color:var(--accent)}
  .nav-links>li>a:active{opacity:.55}

  /* account row: icon + label, no chevron duplication */
  .nav-links .nav-acc{gap:12px;justify-content:flex-start;font-size:21px}
  .nav-links .nav-acc svg{width:20px;height:20px;flex:0 0 auto;stroke:var(--accent)}
  .nav-links .nav-acc::after{margin-inline-start:auto}

  /* language row */
  .nav-links>li:nth-last-child(2){border-bottom:0}
  .nav-links .klang{display:block;width:100%;position:static}
  .nav-links .klang-btn{width:100%;justify-content:space-between;background:transparent;border:0;
    padding:18px 2px;font:500 21px/1.2 var(--f);color:#fff;letter-spacing:-.02em}
  .nav-links .klang-btn .klang-cur{flex:1;text-align:left;margin-left:2px}
  .nav-links .klang-menu{position:static !important;width:100% !important;right:auto !important;top:auto !important;
    background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:16px;
    box-shadow:none;margin:2px 0 16px;padding:10px}
  .nav-links .klang.open .klang-menu{animation:none}
  .nav-links .klang-list{max-height:44vh}
  .nav-links .klang-item{font-size:16.5px;padding:12px 13px;border-radius:11px}
  .nav-links .klang-search{font-size:16px;padding:12px 13px;border-radius:11px}

  /* CTA */
  .nav-links>li:last-child{border-bottom:0;margin-top:22px}
  .nav-links .nav-cta{display:block;width:100%;text-align:center;justify-content:center;
    background:var(--accent);color:#3a2510 !important;border-radius:980px;
    padding:16px 20px;font-size:17.5px;font-weight:600}
  .nav-links .nav-cta::after{display:none}
}


/* real app screenshot inside the light demo column */
.split-demo .pframe{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 26px 60px rgba(27,41,66,.16);background:#18191e}
.split-demo .pframe img{display:block;width:100%;height:auto}

/* ---- account pages: two-column shell + polished fields ---- */
.acc-shell{max-width:1010px;display:grid;grid-template-columns:.82fr 1.18fr;gap:30px;align-items:start}
.acc-aside{background:linear-gradient(165deg,#22375c 0%,#12203a 100%);color:#fff;border-radius:22px;padding:38px 32px;position:sticky;top:78px}
.acc-aside-logo{height:26px;width:auto;display:block;margin-bottom:26px}
.acc-aside h2{font-size:26px;font-weight:600;letter-spacing:-.02em;color:#fff;line-height:1.18}
.acc-benefits{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:13px}
.acc-aside-note{margin:26px 0 0;font-size:12.5px;color:#8ea0bd}
.acc-shell .acc-card{padding:34px 34px 30px}
.acc-form .fld input{background:#fff;border:1px solid var(--line)}
.acc-form .fld input:hover{border-color:#c6d2e4}
.acc-form .fld input.bad{border-color:#c9524f;background:#fff7f7}
.fld-err{display:block;margin-top:6px;font-size:12.5px;color:#b0413e;font-weight:500}
@media(max-width:900px){
  .acc-shell{grid-template-columns:1fr;max-width:560px}
  .acc-aside{display:none}
  .acc-shell .acc-card{padding:26px 22px}
}

/* account form: beat the global .section:not(.dark) input rule and the
   home-page .frow:nth-child(even) striping that leaked into the form */
.acc-card .acc-form .fld input{background:#fff;border:1px solid var(--line);color:var(--ink)}
.acc-card .acc-form .fld input:hover{border-color:#c6d2e4}
.acc-card .acc-form .fld input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(242,187,130,.18)}
.acc-card .acc-form .fld input.bad{border-color:#c9524f;background:#fff7f7}
.acc-form .frow,.acc-card .frow{background:transparent}

/* benefit ticks: same check mark the rest of the site uses */
.acc-benefits li{position:relative;padding-left:30px;font-size:14.5px;color:#c3d0e4;line-height:1.5}
.acc-benefits li::before{content:"";position:absolute;left:0;top:4px;width:17px;height:17px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---- contact: two balanced cards (matches the account pages) ---- */
#kontakt{padding-top:92px;padding-bottom:96px}
#kontakt .cgrid{grid-template-columns:.86fr 1.14fr;gap:26px;align-items:stretch;max-width:1010px;margin:0 auto}
#kontakt .cinfo{background:linear-gradient(165deg,#22375c 0%,#12203a 100%);border-radius:22px;padding:36px 30px;gap:24px;justify-content:space-around}
#kontakt .cinfo-item h4{color:#fff}
#kontakt .cinfo-item p,#kontakt .cinfo-item a{color:#c3d0e4}
#kontakt .cinfo-item a:hover{color:var(--accent)}
#kontakt .cinfo-ic{flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:rgba(242,187,130,.14)}
#kontakt .cinfo-ic svg{stroke:var(--accent)}
#kontakt .cform{max-width:none;margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:32px 32px 28px;box-shadow:0 18px 46px rgba(27,41,66,.07);display:flex;flex-direction:column;gap:18px}
#kontakt .cform .btn{align-self:flex-start;margin-top:4px}
@media(max-width:900px){
  #kontakt{padding-top:66px;padding-bottom:70px}
  #kontakt .cgrid{grid-template-columns:1fr;gap:18px;max-width:560px}
  #kontakt .cinfo,#kontakt .cform{padding:26px 22px}
}

/* account menu + settings page */
.nav-accdd .nav-dd-menu{left:auto;right:0;transform:translateY(10px);min-width:250px}
.nav-accdd:hover .nav-dd-menu,.nav-accdd.open .nav-dd-menu{transform:translateY(9px)}
.acc-set{max-width:1010px}
.acc-hint{color:var(--muted);font-size:13.5px;margin:4px 0 0}
.acc-settings-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin-top:44px}
.acc-settings-cta h3{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.acc-settings-cta p{color:var(--muted);font-size:14px;margin:4px 0 0}
.acc-form .fld input:disabled{background:var(--bg2);color:var(--muted);cursor:not-allowed}
@media(max-width:980px){
  .nav-accdd .nav-dd-menu{left:auto;right:auto;transform:none;min-width:0}
  .nav-accdd .nav-dd-menu a{padding:9px 0}
  .nav-accdd .nav-dd-menu a span{display:none}
}
@media(max-width:760px){.acc-settings-cta{flex-direction:column;align-items:flex-start}.acc-settings-cta .btn{width:100%;text-align:center}}

/* card headings must not inherit the big section-h2 size */
.acc-card h2.acc-h3,.acc-set h2.acc-h3{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.acc-sec h2.acc-h2{font-size:clamp(22px,2.4vw,30px)}

/* ---- customer portal: stats, product boxes, licence table ---- */
.acc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.acc-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.acc-stat b{display:block;font-size:30px;font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1}
.acc-stat span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.prodbox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 24px 20px;margin-top:18px}
.prodbox-head{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.prodbox-logo{height:26px;width:auto}
.prodbox-meta h3{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.prodbox-meta span{font-size:13px;color:var(--muted)}
.prodbox-files{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.pfile{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;
  text-decoration:none;transition:.22s;background:#fff}
.pfile:hover{border-color:rgba(242,187,130,.65);box-shadow:0 12px 26px rgba(27,41,66,.08);transform:translateY(-2px)}
.pfile-iso{background:linear-gradient(180deg,#fffaf3,#fff);border-color:rgba(242,187,130,.6)}
.pfile-ic{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:var(--accent-soft);display:grid;place-items:center}
.pfile-ic svg{width:19px;height:19px;fill:none;stroke:var(--accent2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pfile-tx{flex:1;min-width:0}
.pfile-tx b{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.pfile-tx small{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px}
.pfile-badge{flex:0 0 auto;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;background:var(--bg2);color:var(--muted)}
.pfile-badge.ok{background:rgba(62,193,143,.15);color:#1e6b4e}
.lictable{margin-top:18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.lic-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.5fr .9fr .9fr .8fr;gap:12px;padding:14px 18px;
  border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);align-items:center}
.lic-row:last-child{border-bottom:0}
.lic-head{background:var(--bg2);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.lickey{background:var(--bg2);padding:3px 9px;border-radius:7px;font-size:12.5px;font-family:ui-monospace,monospace}
.lic-copy{background:none;border:0;color:var(--accent2);cursor:pointer;font-size:14px;padding:2px 4px}
.lic-badge{font-style:normal;font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:20px}
.lic-active{background:rgba(62,193,143,.15);color:#1e6b4e}
.lic-suspended{background:rgba(200,64,64,.12);color:#a33}
.lic-expired{background:var(--bg2);color:var(--muted)}
.acc-empty{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;margin-top:34px;text-align:center}
.acc-empty h2{font-size:21px;font-weight:600;color:var(--ink)}
.acc-empty p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:10px auto 18px;max-width:560px}
@media(max-width:900px){
  .acc-stats{grid-template-columns:repeat(2,1fr)}
  .prodbox-files{grid-template-columns:1fr}
  .lic-head{display:none}
  .lic-row{grid-template-columns:1fr;gap:6px;padding:16px 18px}
  .lic-row span::before{content:attr(data-l) ": ";font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
}

/* ---- image lightbox ---- */
.zoomable{cursor:zoom-in}
body.imgbox-lock{overflow:hidden}
.imgbox{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;
  padding:clamp(14px,4vw,48px);background:rgba(9,16,28,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;transition:opacity .2s ease}
.imgbox.on{opacity:1}
.imgbox[hidden]{display:none}
.imgbox img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:12px;
  box-shadow:0 40px 100px rgba(0,0,0,.6);transform:scale(.97);transition:transform .22s cubic-bezier(.16,.7,.3,1)}
.imgbox.on img{transform:none}
.imgbox-x{position:absolute;top:clamp(12px,2.4vw,26px);right:clamp(12px,2.4vw,26px);width:44px;height:44px;
  display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:.18s}
.imgbox-x:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}

.imgbox{overflow:auto}
.imgbox img{cursor:zoom-in}
.imgbox.zoom{align-items:flex-start;justify-content:flex-start}
.imgbox.zoom img{max-width:none;max-height:none;width:min(1600px,230vw);cursor:zoom-out;transform:none}

/* ---- account type chooser + partner block + client logo ---- */
.acctype{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}
.acctype-opt{position:relative;display:block;padding:15px 16px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:#fff;transition:.18s}
.acctype-opt:hover{border-color:#c6d2e4}
.acctype-opt.on{border-color:var(--accent);background:#fffaf3;box-shadow:0 0 0 3px rgba(242,187,130,.16)}
.acctype-opt input{position:absolute;opacity:0;pointer-events:none}
.acctype-opt b{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.acctype-opt small{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:3px}
.partner-box{border:1px dashed var(--line);border-radius:16px;padding:18px 18px 6px;background:#fbfcfe;margin-top:4px}
.partner-box[hidden]{display:none}
.partner-box h3{font-size:16px;font-weight:600;color:var(--ink);margin:0}
.partner-box .acc-hint{margin:4px 0 10px}
.acc-form input[type=file]{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;font:14px var(--f);color:var(--muted)}
.acc-form textarea{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font:15px var(--f);color:var(--ink);resize:vertical}
.acc-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,187,130,.18)}
.clogo{flex:0 0 auto;width:44px;height:44px;border-radius:13px;background:linear-gradient(160deg,#22375c,#12203a);color:#f2bb82;
  display:grid;place-items:center;font-weight:700;font-size:15px;letter-spacing:.02em}
@media(max-width:640px){.acctype{grid-template-columns:1fr}}

/* ---- Access demo on phones: still image instead of a cramped iframe ---- */
.demo-still{display:none}
@media(max-width:900px){
  /* vor dem Start: Standbild der Konsole als Vorschau */
  #demo .laptop:not(.demo-live) .laptop-screen #kplusFrame{display:none}
  #demo .laptop:not(.demo-live) .laptop-screen .demo-still{display:block;position:absolute;inset:0;
    width:100%;height:100%;object-fit:cover;object-position:left top;cursor:zoom-in}
  #demo .laptop{max-width:520px;margin-inline:auto}
  #demo .laptop-screen{aspect-ratio:16/10}
  /* nach dem Start läuft die Konsole in der Attrappe — Laptop-Form bleibt */
  #demo .laptop.demo-live .demo-still{display:none}
  #kplusFullscreen{width:100%;justify-content:center;margin-left:0!important;margin-top:10px}
  #demo .demo-meta{justify-content:center;text-align:center}
}

/* logos must never be squashed — always fit inside the box, keep the aspect */
.nav-logo img,.footer-logo,.acc-aside-logo,.prodbox-logo,.prohero-logo,.phero-logo{
  width:auto;object-fit:contain;max-width:100%}

/* ---- one consistent logo scale across the whole site ----
   the brand mark must read the same size everywhere; the splash logo used a
   percentage of its container, so it differed per page (35px vs 24px). ---- */
.nav-logo img{height:26px}
.footer-logo{height:26px}
.acc-aside-logo{height:26px}
.splash-logo{width:auto;height:auto;min-width:0;max-height:26px;max-width:64%}
/* product wordmarks: same cap height on every product page */
.prohero-logo{max-height:52px;max-width:100%}
.frow-logo{max-height:40px;height:auto;width:auto;max-width:80%}
@media(max-width:900px){
  .prohero-logo{max-height:40px;max-width:100%}
  .frow-logo{max-height:32px}
}
@media(max-width:560px){
  .splash-logo{max-height:22px}
  .prohero-logo{max-height:34px;max-width:100%}
  .frow-logo{max-height:28px}
}

/* ================= pricing configurator — redesign ================= */
.pconf{gap:24px;padding:26px;border-radius:22px;align-items:start}
.pconf-controls{gap:16px}

/* every control is its own tile: label + value on one line, slider below */
.ctl{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);
  border-radius:16px;padding:17px 18px 15px}
.ctl label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;
  color:#dfe6f2;font-size:14.5px;font-weight:500;line-height:1.35}
.ctl-num{flex:0 0 auto;width:106px;padding:8px 11px;border-radius:10px;text-align:right;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);
  color:#fff;font:700 16px/1 var(--f)}
.ctl-num:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.16);
  box-shadow:0 0 0 3px rgba(242,187,130,.20)}

/* slider: thicker track, real touch target, gold fill (site.js sets --fill) */
.ctl input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;margin:0;
  border-radius:99px;outline:none;cursor:pointer;
  background:linear-gradient(90deg,var(--accent) var(--fill,0%),rgba(255,255,255,.17) var(--fill,0%))}
.ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:var(--accent);border:3px solid #17233b;box-shadow:0 2px 9px rgba(0,0,0,.45);cursor:pointer}
.ctl input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);
  border:3px solid #17233b;box-shadow:0 2px 9px rgba(0,0,0,.45);cursor:pointer}

/* add-on checkboxes */
.ctl .checks{display:flex;flex-direction:column;gap:11px;margin-top:2px}
.ctl .checks label{display:flex;align-items:center;gap:11px;margin:0;color:#c9d3e3;font-size:14.5px;font-weight:400}
.ctl .checks input[type=checkbox],.isoLabel input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;
  accent-color:var(--accent);cursor:pointer}
.isoLabel{display:flex!important;align-items:center;gap:11px;color:#c9d3e3;font-size:14px;font-weight:400;line-height:1.4}

/* summary panel */
.pconf-summary{background:linear-gradient(168deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:24px 24px 22px;position:sticky;top:80px}
.pconf-summary h4{margin:0 0 6px}
.prow{padding:12px 0;font-size:14.5px;gap:14px;align-items:flex-start}
.prow span{line-height:1.4}
.pconf-summary .btn{margin-top:16px}

@media(max-width:900px){
  .pconf{padding:18px;border-radius:18px;gap:16px}
  .pconf-summary{position:static;padding:20px}
  .ctl{padding:15px 15px 13px}
  .ctl label{font-size:14px;gap:10px;margin-bottom:13px}
  .ctl-num{width:96px;font-size:15.5px;padding:8px 10px}
  .prow{font-size:14px;padding:11px 0}
}
@media(max-width:400px){
  .ctl-num{width:86px;font-size:15px}
  .ctl label{font-size:13.5px}
}

/* ---- configurator pass 2 ---- */
.ctl-num{width:92px;padding:7px 10px;font-size:15.5px}
.ctl label{gap:12px}

/* prices are hidden -> render the summary as a spec list, not a price table */
#preise .pconf-summary h4{font-size:12.5px;letter-spacing:.08em;margin-bottom:10px}
#preise .prow{display:flex;align-items:flex-start;gap:11px;padding:11px 0;color:#cfd8e6}
#preise .prow::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;
  background:var(--accent);margin-top:7px;box-shadow:0 0 0 3px rgba(242,187,130,.15)}
#preise .prow:first-of-type{color:#fff;font-weight:500}
#preise .prow:last-of-type{border-bottom:none}

@media(max-width:900px){
  .ctl-num{width:88px;font-size:15px;padding:7px 9px}
  .ctl label{gap:10px;font-size:13.8px}
}
@media(max-width:400px){.ctl-num{width:80px;font-size:14.5px}.ctl label{font-size:13.2px}}

/* ---- configurator pass 3: spec list, left aligned, no table rules ---- */
#preise .prow{justify-content:flex-start;border-bottom:none;padding:9px 0;font-size:14.5px}
#preise .pconf-summary h4{margin-bottom:6px}
#preise .pconf-summary .btn{margin-top:20px}
@media(max-width:900px){#preise .prow{font-size:14px;padding:8px 0}}

/* ---- configurator pass 4: option rows + custom checkboxes ---- */
.ctl .checks label,.ctl .isoLabel,.isoLabel{justify-content:flex-start!important;text-align:left}
.ctl .checks label{padding:2px 0}
.ctl input[type=checkbox],.isoLabel input[type=checkbox],.pconf input[type=checkbox]{
  -webkit-appearance:none;appearance:none;width:20px;height:20px;flex:0 0 auto;border-radius:6px;
  border:1.5px solid rgba(255,255,255,.32);background:rgba(255,255,255,.06);
  display:grid;place-content:center;cursor:pointer;transition:background .15s,border-color .15s}
.ctl input[type=checkbox]:hover,.pconf input[type=checkbox]:hover{border-color:rgba(242,187,130,.65)}
.ctl input[type=checkbox]:checked,.isoLabel input[type=checkbox]:checked,.pconf input[type=checkbox]:checked{
  background:var(--accent);border-color:var(--accent)}
.ctl input[type=checkbox]:checked::after,.isoLabel input[type=checkbox]:checked::after,
.pconf input[type=checkbox]:checked::after{content:"";width:10px;height:6px;border:2.2px solid #17233b;
  border-top:0;border-right:0;transform:rotate(-45deg) translateY(-1px)}
.ctl input[type=checkbox]:focus-visible,.pconf input[type=checkbox]:focus-visible{
  outline:none;box-shadow:0 0 0 3px rgba(242,187,130,.25)}
.pconf .isoLabel{background:rgba(242,187,130,.07);border-color:rgba(242,187,130,.22)}

/* ---- configurator pass 5: ISO row tint on the tile, not the label ---- */
.pconf .isoLabel{background:none;border:0;padding:0;margin:0}
.pconf .ctl:has(.isoLabel){background:rgba(242,187,130,.075);border-color:rgba(242,187,130,.24);padding:15px 18px}

/* ---- configurator pass 6: RTL slider fill direction ---- */
[dir=rtl] .ctl input[type=range],html[dir=rtl] .ctl input[type=range]{
  background:linear-gradient(270deg,var(--accent) var(--fill,0%),rgba(255,255,255,.17) var(--fill,0%))}
@media(max-width:900px){.ctl .checks{gap:9px}}

/* ---- anchor targets must clear the fixed nav ---- */
section[id],div[id].section,#preise,#demo,#kontakt,#downloads,#features{scroll-margin-top:82px}
@media(max-width:900px){section[id],div[id].section,#preise,#demo,#kontakt,#downloads,#features{scroll-margin-top:68px}}

/* ---- resource cards: full-width centred buttons (were clipped by overflow:hidden) ---- */
.rescard{padding:30px 26px 28px}
.rescard .btn{align-self:stretch;width:100%;max-width:100%;display:inline-flex;justify-content:center;
  text-align:center;white-space:normal;line-height:1.25;padding:13px 16px;gap:9px;min-width:0}
.rescard .btn svg{flex:0 0 auto}
.rescard h3{line-height:1.25}
@media(max-width:900px){
  .resgrid{gap:18px;margin-top:38px}
  .rescard{padding:26px 22px 24px}
  .rescard .btn{font-size:15.5px;padding:13px 14px}
}

/* ---- presentation modal on small screens: badge was colliding with the title ---- */
.preso-tx{min-width:0}
.preso-badge{align-self:center}
@media(max-width:600px){
  .preso-box{padding:26px 20px 22px}
  .preso-box h2,.preso-box h3{font-size:25px;line-height:1.2}
  .preso-box .dim{margin:6px 0 18px;font-size:15px}
  .preso-opts{gap:12px}
  .preso-opt{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;
    column-gap:13px;row-gap:8px;padding:15px 16px}
  .preso-ic{width:42px;height:42px;border-radius:12px}
  .preso-ic svg{width:21px;height:21px}
  .preso-tx b{font-size:15.5px;line-height:1.3}
  .preso-tx small{font-size:12.8px;line-height:1.45}
  .preso-badge{grid-column:2;grid-row:2;justify-self:start;align-self:start;margin:0}
  .preso-arr{display:none}
}

/* ---- resource cards, cleaner pass ---- */
.resgrid{grid-template-columns:repeat(auto-fit,minmax(246px,1fr));gap:20px;align-items:stretch}
.rescard{padding:28px 24px 24px}
.rescard-ic{width:48px;height:48px;border-radius:14px;margin-bottom:18px}
.rescard-ic svg{width:24px;height:24px}
.rescard h3{font-size:18.5px;line-height:1.3}
.rescard p{font-size:14px;line-height:1.55;margin:8px 0 16px;flex:1}
.resmeta{min-height:17px;margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--muted-d);display:flex;align-items:center;gap:8px}
.resmeta:not(:empty)::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.section.dark .resmeta{color:#8b93a2}
.rescard .btn{margin-top:auto;white-space:nowrap;font-size:15px;padding:12px 14px;letter-spacing:-.01em}
@media(max-width:900px){
  .resgrid{grid-template-columns:1fr;gap:16px}
  .rescard{padding:24px 20px 22px}
  .rescard p{margin-bottom:14px}
  .resmeta{margin-bottom:12px}
}

/* ---- resource grid: keep all four cards on one row (grid is 1016px wide) ---- */
.resgrid{grid-template-columns:repeat(auto-fit,minmax(218px,1fr))}
@media(max-width:900px){.resgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:560px){.resgrid{grid-template-columns:minmax(0,1fr)}}

/* ================= Dokumenten-Tabelle im Kundenportal ================= */
.doctable{margin-top:20px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.doc-row{display:grid;grid-template-columns:minmax(0,1fr) 104px 148px;align-items:center;gap:18px;
  padding:13px 18px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);
  transition:background .15s ease}
.doc-row:first-child{border-top:none}
a.doc-row:hover{background:var(--accent-soft)}
.doc-head{background:var(--bg2);padding:10px 18px;font-size:11px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted-d)}
.doc-head span:last-child{text-align:right}

.doc-main{display:flex;align-items:center;gap:14px;min-width:0}
.doc-chip{flex:0 0 auto;width:46px;height:34px;border-radius:7px;display:grid;place-items:center;
  font:700 10.5px/1 var(--f);font-style:normal;letter-spacing:.06em;color:#fff;background:#8a94a6}
.doc-pdf{background:#c2483c}
.doc-iso{background:#b8823a}
.doc-exe{background:#3b6ea5}
.doc-dmg{background:#4a4f57}
.doc-web{background:#2f8f79}
.doc-tx{min-width:0;display:flex;flex-direction:column;gap:2px}
.doc-tx b{font-size:15px;font-weight:600;letter-spacing:-.01em}
.doc-tx small{font-size:13px;color:var(--muted);line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.doc-size{font-size:13.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.doc-act{text-align:right}
.doc-go{font-style:normal;font-size:13.5px;font-weight:600;color:var(--accent2);white-space:nowrap}
a.doc-row:hover .doc-go{text-decoration:underline}
.doc-badge{font-style:normal;display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted-d);background:var(--bg2);border:1px solid var(--line);
  padding:4px 11px;border-radius:20px;white-space:nowrap}
.doc-pending{opacity:.7}
.doc-pending:hover{background:transparent}

@media(max-width:760px){
  .doc-head{display:none}
  .doc-row{grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"main main" "size act";gap:12px 12px;padding:15px 16px}
  .doc-main{grid-area:main}
  .doc-size{grid-area:size;align-self:center}
  .doc-act{grid-area:act}
  .doc-tx small{white-space:normal}
}

/* ================= Profilkarte im Kundenportal ================= */
.acc-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) auto;align-items:center;
  gap:26px;margin:22px 0 28px;padding:22px 26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.accp-id{display:flex;align-items:center;gap:16px;min-width:0}
.accp-av{flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:var(--accent);color:#3a2510;font:700 18px/1 var(--f);letter-spacing:.02em}
.accp-who{min-width:0;display:flex;flex-direction:column;gap:3px}
.accp-who b{font-size:17px;font-weight:600;letter-spacing:-.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accp-who span{font-size:13.5px;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;
  padding-left:26px;border-left:1px solid var(--line)}
.accp-facts>div{min-width:0}
.accp-facts dt{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-d)}
.accp-facts dd{margin:4px 0 0;font-size:14.5px;font-weight:500;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accp-edit{white-space:nowrap;padding:10px 18px;font-size:14.5px}

@media(max-width:900px){
  .acc-profile{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}
  .accp-facts{padding-left:0;border-left:none;padding-top:18px;border-top:1px solid var(--line);
    grid-template-columns:repeat(2,minmax(0,1fr))}
  .accp-edit{justify-self:stretch;text-align:center}
}
@media(max-width:359px){.accp-facts{grid-template-columns:minmax(0,1fr)}}

/* ============ Produktübersicht + Produktdetail im Kundenportal ============ */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:22px 0 44px}
.prodcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:26px 24px 22px;text-decoration:none;color:var(--ink);
  transition:transform .3s cubic-bezier(.16,.7,.3,1),box-shadow .3s,border-color .3s}
.prodcard:hover{transform:translateY(-4px);border-color:rgba(242,187,130,.6);box-shadow:0 22px 46px rgba(36,52,73,.12)}
.prodcard-logo{height:34px;width:auto;max-width:74%;object-fit:contain;object-position:left center;margin-bottom:20px}
.prodcard h3{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0}
.prodcard-tag{margin:5px 0 0;font-size:14px;color:var(--muted);line-height:1.45}
.prodcard-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;padding-top:16px;
  border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.prodcard-meta b{color:var(--ink);font-weight:600}
.prodcard-go{margin-top:16px;font-size:14.5px;font-weight:600;color:var(--accent2);
  display:inline-flex;align-items:center;gap:7px}
.prodcard-go::after{content:"→";transition:transform .25s}
.prodcard:hover .prodcard-go::after{transform:translateX(4px)}
[dir=rtl] .prodcard-logo{object-position:right center}
[dir=rtl] .prodcard-go::after{content:"←"}
[dir=rtl] .prodcard:hover .prodcard-go::after{transform:translateX(-4px)}

.acc-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;font-size:14.5px;
  font-weight:500;color:var(--muted);text-decoration:none;transition:color .2s}
.acc-back:hover{color:var(--accent2)}
[dir=rtl] .acc-back svg{transform:scaleX(-1)}
.pdet-head{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:34px}
.pdet-logo{height:44px;width:auto;max-width:210px;object-fit:contain}
.pdet-head .acc-title{margin:0}
.pdet-head .acc-sub{margin:4px 0 0}

@media(max-width:900px){
  .pgrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:34px}
  .prodcard{padding:22px 20px 20px}
  .pdet-head{gap:16px;margin-bottom:26px}
  .pdet-logo{height:36px}
}
@media(max-width:520px){.pgrid{grid-template-columns:minmax(0,1fr)}}

/* ================== Geführte Online-Präsentation ================== */
.tour-sec{padding:34px 0 60px}
.tour-wrap{max-width:1360px}
.tour-top{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap;margin-bottom:26px}
.tour-h1{font-size:clamp(30px,3.4vw,44px);font-weight:600;letter-spacing:-.03em;margin:6px 0 0;color:#fff}
.tour-sub{margin:10px 0 0;max-width:640px;color:#a9b3c4;font-size:15.5px;line-height:1.6}
.tour-exit{white-space:nowrap}

.tour-stage{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}

.tour-tv{position:relative}
.tour-screen{position:relative;width:100%;border-radius:16px;overflow:hidden;background:#04080f;
  border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 90px rgba(0,0,0,.55)}
.tour-screen iframe{width:1920px;height:1080px;border:0;transform-origin:0 0;display:block}
.tour-stand{display:block;width:170px;height:12px;margin:0 auto;border-radius:0 0 12px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05))}

.tour-spot{position:absolute;border-radius:12px;border:2px solid var(--accent);
  box-shadow:0 0 0 9999px rgba(4,8,15,.66),0 0 26px rgba(242,187,130,.45);
  pointer-events:none;transition:all .5s cubic-bezier(.16,.7,.3,1);z-index:3}

.tour-boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;background:#0b1526;color:#8c97a9;font-size:14px;z-index:4}
.tour-boot-bar{width:170px;height:4px;border-radius:4px;background:rgba(255,255,255,.16);overflow:hidden}
.tour-boot-bar i{display:block;height:100%;width:40%;border-radius:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));animation:tourbar 1.1s ease-in-out infinite}
@keyframes tourbar{0%{margin-left:-40%}100%{margin-left:100%}}

.tour-side{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
  border-radius:20px;padding:24px;position:sticky;top:80px}
.tour-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.tour-progress span{display:flex;gap:6px;flex-wrap:wrap}
.tour-progress em{font-style:normal;font-size:12.5px;color:#8c97a9;white-space:nowrap}
.tour-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);transition:.3s}
.tour-dot.done{background:rgba(242,187,130,.55)}
.tour-dot.on{background:var(--accent);transform:scale(1.45)}

.tour-step-title{font-size:21px;font-weight:600;letter-spacing:-.02em;color:#fff;margin:0 0 10px;line-height:1.3}
.tour-caption{font-size:16px;line-height:1.7;color:#8d98aa;margin:0;min-height:132px}
.tour-w{font-style:normal;transition:color .15s}
.tour-w.on{color:#fff}

.tour-ctl{display:flex;align-items:center;gap:9px;margin-top:20px;flex-wrap:wrap}
.tour-ctl .btn{flex:1 1 auto;min-width:130px}
.tour-ico{width:42px;height:42px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#cfd8e6;transition:.2s}
.tour-ico:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(242,187,130,.5)}
.tour-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tour-ico.off{opacity:.45}
.tour-ico.off::after{content:"";position:absolute;width:24px;height:2px;background:currentColor;transform:rotate(-45deg)}
.tour-ico{position:relative}

.tour-hint{margin:16px 0 0;font-size:13px;line-height:1.55;color:#79839550;color:#798395}

@media(max-width:1080px){
  .tour-stage{grid-template-columns:minmax(0,1fr)}
  .tour-side{position:static}
  .tour-caption{min-height:0}
}
@media(max-width:700px){
  .tour-sec{padding:22px 0 44px}
  .tour-top{margin-bottom:18px}
  .tour-side{padding:20px}
  .tour-ctl .btn{width:100%;flex:1 1 100%}
}
/* [hidden] muss die Anzeige-Regeln der Tour schlagen */
.tour-boot[hidden],.tour-spot[hidden]{display:none!important}
/* Die feste Kopfzeile darf den Titel der Tour nicht überdecken */
.tour-sec{padding-top:112px}
@media(max-width:700px){.tour-sec{padding-top:88px}}
/* Der Schließen-Knopf saß im Querformat auf der Uhr der Demo — an den freien
   rechten Rand auf halber Höhe versetzt. */
@media (max-height: 560px) and (orientation: landscape){
  .demo-fs-close{top:50%;transform:translateY(-50%);right:10px;width:34px;height:34px;opacity:.55}
  .demo-fs-close:active,.demo-fs-close:hover{opacity:1}
}
