/* ====================  css/style.css  ==================== */

:root{
  --bg:#070710;
  --bg-2:#0b0b15;
  --panel:#0d0d18;
  --surface:rgba(255,255,255,.035);
  --surface-2:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.08);
  --border-strong:rgba(255,255,255,.16);
  --text:#f3f3fb;
  --muted:rgba(243,243,251,.62);
  --muted-2:rgba(243,243,251,.4);

  --c1:#22d3ee;  --c2:#818cf8;  --c3:#e879f9;
  --grad:linear-gradient(110deg,var(--c1),var(--c2) 48%,var(--c3));
  --grad-135:linear-gradient(135deg,var(--c1),var(--c2) 50%,var(--c3));

  --white:#fff;
  --header-h:58px;
  --ease:cubic-bezier(.22,1,.36,1);
  --font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:auto;overflow-x:hidden}
body{
  min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--text);
  font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{border:0;background:none;color:inherit;font:inherit}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}
::selection{color:#08080f;background:var(--c1)}

/* Hintergrund-Glow + Korn */
body::before{
  content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;
  background:
    radial-gradient(60% 50% at 12% 0%,rgba(34,211,238,.10),transparent 60%),
    radial-gradient(50% 50% at 92% 8%,rgba(232,121,249,.10),transparent 60%),
    radial-gradient(70% 60% at 50% 112%,rgba(129,140,248,.10),transparent 60%);
}
.grain{
  position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.05;mix-blend-mode:screen;
}
.cursor-glow{
  position:fixed;top:0;left:0;width:440px;height:440px;border-radius:50%;
  margin:-220px 0 0 -220px;z-index:900;pointer-events:none;mix-blend-mode:screen;
  will-change:transform;
  background:radial-gradient(circle,rgba(129,140,248,.11),rgba(34,211,238,.05) 44%,transparent 68%);
}
.progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:1100;
  background:var(--grad);box-shadow:0 0 18px rgba(129,140,248,.6);
}

/* ====================  HEADER (Floating Pill)  ==================== */
.site-header{
  position:fixed;top:18px;left:50%;z-index:1000;
  width:min(1180px,calc(100vw - 36px));
  transform:translateX(-50%);pointer-events:none;
}
.nav-shell{
  height:var(--header-h);display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;gap:22px;padding:0 8px 0 18px;
  border:1px solid rgba(255,255,255,.72);border-radius:999px;
  background:rgba(255,255,255,.94);color:#121212;
  box-shadow:0 18px 60px rgba(0,0,0,.34);backdrop-filter:blur(22px);
  pointer-events:auto;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease);
}
.site-header.is-scrolled .nav-shell{
  transform:translateY(-2px) scale(.985);
  background:rgba(255,255,255,.88);
  box-shadow:0 24px 80px rgba(0,0,0,.5);
}
.nav-burger{
  display:none;width:38px;height:38px;place-items:center;
  cursor:pointer;position:relative;
}
.nav-burger span{
  position:absolute;width:18px;height:2px;border-radius:20px;background:#111;
  transition:transform .25s var(--ease),opacity .25s var(--ease);
}
.nav-burger span:first-child{transform:translateY(-4px)}
.nav-burger span:last-child{transform:translateY(4px)}
.nav-burger.is-open span:first-child{transform:rotate(45deg)}
.nav-burger.is-open span:last-child{transform:rotate(-45deg)}
.brand{
  display:inline-flex;align-items:center;gap:11px;min-width:max-content;
  font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:#111;
}
.brand .mark{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:var(--grad-135);color:#08080f;font-weight:700;font-size:.95rem;
  box-shadow:0 8px 24px rgba(129,140,248,.4);
}
.brand:hover .mark{transform:scale(1.04)}
.desktop-nav{display:flex;justify-content:center;gap:28px}
.desktop-nav a{
  position:relative;font-size:13px;font-weight:700;color:rgba(0,0,0,.62);
  transition:color .25s var(--ease);
}
.desktop-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;
  transform:scaleX(0);transform-origin:left;border-radius:99px;
  background:var(--grad);transition:transform .25s var(--ease);
}
.desktop-nav a:hover{color:#000}
.desktop-nav a:hover::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:6px;justify-self:end}
.nav-cta{
  display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 20px;
  border-radius:999px;background:#121212;color:#fff;font-size:13px;
  font-weight:800;white-space:nowrap;
  transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
}
.nav-cta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.nav-cta:hover{transform:translateY(-1px);background:#000;box-shadow:0 10px 26px rgba(0,0,0,.3)}

.mobile-menu{
  position:fixed;inset:0 0 auto 0;z-index:990;display:none;flex-direction:column;
  padding:100px 26px 30px;border-bottom:1px solid var(--border);
  background:rgba(6,6,14,.96);backdrop-filter:blur(24px);
}
.mobile-menu.is-open{display:flex}
.mobile-menu a{
  padding:18px 0;border-bottom:1px solid var(--border);color:var(--text);
  font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.03em;
}
.mobile-menu .mobile-cta{
  margin-top:18px;padding:16px 22px;border:0;border-radius:999px;
  background:var(--grad-135);color:#08080f;text-align:center;font-size:15px;letter-spacing:0;
}

/* ====================  HELPERS  ==================== */
.section-pin{position:relative;min-height:100svh;overflow:hidden;width:100vw}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;color:var(--c1);
  font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;line-height:1;
}
.eyebrow .dot{
  width:7px;height:7px;border-radius:50%;background:var(--c1);box-shadow:0 0 12px var(--c1);
}
.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-heading{max-width:820px;margin:0 auto 70px;text-align:center}
.section-heading h2{
  margin-top:16px;font-size:clamp(2.4rem,6vw,5rem);font-weight:700;
  line-height:.92;letter-spacing:-.05em;
}
.section-heading p:last-child{
  max-width:620px;margin:24px auto 0;color:var(--muted);font-size:18px;line-height:1.58;
}

.btn{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;
  justify-content:center;gap:10px;min-height:48px;padding:0 24px;overflow:hidden;
  border-radius:999px;font-family:var(--font-display);font-size:14px;font-weight:600;
  white-space:nowrap;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;transform:translateX(-105%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  transition:transform .55s var(--ease);
}
.btn:hover::before{transform:translateX(105%)}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--grad);color:#08080f;box-shadow:0 14px 40px rgba(129,140,248,.32)}
.btn-secondary{
  border:1px solid var(--border-strong);background:var(--surface);
  color:var(--text);backdrop-filter:blur(12px);
}

/* ====================  HERO  ==================== */
.hero{position:relative;width:100%;height:100svh;overflow:hidden;transform-origin:center}
.hero-bg{
  position:absolute;inset:0;z-index:0;will-change:transform;
  background-image:
    linear-gradient(158deg,rgba(12,13,20,.4),rgba(13,10,22,.5)),
    url('https://picsum.photos/seed/rk-hero/1920/1200');
  background-size:cover;background-position:center;
  transform-origin:center;
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(5,5,11,.6) 0%,rgba(5,5,11,0) 26%,
    rgba(5,5,11,0) 48%,rgba(5,5,11,.7) 76%,
    rgba(5,5,11,.96) 100%
  );
}
.hero-copy{
  position:absolute;z-index:3;
  left:max(48px,calc((100vw - 1200px)/2));
  right:max(48px,calc((100vw - 1200px)/2));
  bottom:74px;
  /* Sicherstellen dass der Block komplett im Viewport bleibt */
  max-height:calc(100svh - 140px);
  display:flex;flex-direction:column;justify-content:flex-end;
  max-width:880px;will-change:opacity;
}
.hero-copy .eyebrow{margin-bottom:18px}
.hero-title{
  font-size:clamp(42px,6.5vw,112px);font-weight:700;line-height:.92;
  letter-spacing:-.05em;color:var(--white);filter:drop-shadow(0 2px 16px rgba(0,0,0,.8));
}
.hero-title span{display:block;overflow:hidden}
.hero-title span:first-child{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{
  max-width:600px;margin-top:24px;color:rgba(255,255,255,.84);
  font-size:clamp(15px,1.25vw,19px);line-height:1.58;text-shadow:0 1px 8px rgba(0,0,0,.8);
}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-bottom-note{
  position:absolute;right:max(48px,calc((100vw - 1200px)/2));bottom:80px;z-index:4;
  display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.5);
  font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.scroll-line{width:72px;height:1px;overflow:hidden;background:rgba(255,255,255,.22)}
.scroll-line::after{
  content:"";display:block;width:40%;height:100%;background:var(--c1);
  animation:scrollLine 1.6s var(--ease) infinite;
}
@keyframes scrollLine{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}

/* ====================  MARQUEE  ==================== */
.marquee-strip{
  position:relative;padding:clamp(50px,7vw,110px) 0;overflow:hidden;
  background:#050509;border-block:1px solid var(--border);
}
.ms-inner{
  display:flex;align-items:center;width:max-content;white-space:nowrap;line-height:1;
  animation:marquee-scroll 24s linear infinite;will-change:transform;
}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ms-word{
  display:inline-block;flex-shrink:0;font-family:var(--font-display);
  font-size:clamp(48px,7vw,120px);font-weight:700;letter-spacing:-.05em;
  line-height:1;padding-right:.3em;color:var(--white);
}
.ms-word.alt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ====================  DEVICE MOCKUPS  ==================== */
.device{
  position:relative;transform-style:preserve-3d;
  filter:drop-shadow(0 50px 70px rgba(0,0,0,.78));will-change:transform,opacity;
}
.device__screen{position:relative;overflow:hidden;background:#000}
.device__screen img,.device__screen video{width:100%;height:100%;object-fit:cover;display:block}
.device__glare{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 38%);
}

/* Laptop */
.device--laptop{--w:560px;width:var(--w)}
.device--laptop .device__lid{
  position:relative;padding:1.7%;
  border:1px solid rgba(255,255,255,.14);border-radius:18px 18px 4px 4px;
  background:linear-gradient(145deg,rgba(255,255,255,.1),transparent 32%),
             linear-gradient(180deg,#23232b,#0a0a0f 82%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.device--laptop .device__screen{aspect-ratio:16/10;border-radius:10px}
.device--laptop .device__base{
  position:relative;height:clamp(10px,calc(var(--w)*.026),18px);margin:0 -5.5%;
  border-radius:3px 3px 16px 16px;
  background:linear-gradient(180deg,#30303a,#15151d 45%,#07070b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 30px rgba(0,0,0,.5);
}
.device--laptop .device__base::after{
  content:"";position:absolute;left:50%;top:0;width:16%;height:42%;
  transform:translateX(-50%);border-radius:0 0 10px 10px;background:rgba(0,0,0,.55);
}

/* Phone */
.device--phone{
  --w:290px;width:var(--w);aspect-ratio:1/2.05;padding:calc(var(--w)*.035);
  border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--w)*.155);
  background:linear-gradient(145deg,rgba(255,255,255,.12),transparent 30%),
             linear-gradient(180deg,#23232b,#08080c 80%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.device--phone .device__screen{height:100%;border-radius:calc(var(--w)*.115)}
.device__notch{
  position:absolute;left:50%;top:calc(var(--w)*.07);z-index:3;
  width:32%;height:calc(var(--w)*.065);transform:translateX(-50%);
  border-radius:999px;background:#050507;box-shadow:0 0 0 1px rgba(255,255,255,.06);
}

/* Größen-Varianten */
.device--scene{--w:min(42vw,600px)}
.device--wide{--w:min(46vw,660px);transform:rotateY(-14deg) rotateX(2deg)}
.device--scene-phone{--w:min(22vw,320px)}
.device--reveal{--w:min(20vw,290px)}

/* ====================  STORY SCENES (Leistungen)  ==================== */
.scene-story{height:100svh;background:#030308}
.story-progress{
  position:absolute;left:38px;top:50%;z-index:30;width:2px;height:260px;
  transform:translateY(-50%);background:rgba(255,255,255,.12);
}
.story-progress span{
  display:block;width:100%;height:0;
  background:linear-gradient(180deg,var(--c1),var(--c2),var(--c3));
}
.story-scene{
  position:absolute;inset:0;display:grid;
  grid-template-columns:minmax(46px,1fr) minmax(0,560px) minmax(440px,680px) minmax(46px,1fr);
  align-items:center;opacity:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 68% 50%,rgba(34,211,238,.08),transparent 25vw),
    radial-gradient(circle at 22% 80%,rgba(129,140,248,.08),transparent 22vw),
    linear-gradient(180deg,#050509,#020205);
  will-change:opacity;
}
.story-scene.is-first{opacity:1}
.scene-word{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);
  font-family:var(--font-display);font-size:clamp(90px,11vw,200px);font-weight:700;
  line-height:.8;letter-spacing:-.06em;white-space:nowrap;opacity:.68;
  will-change:transform,opacity;
}
.scene-product{
  position:relative;z-index:2;grid-column:3;display:grid;place-items:center;
  min-height:620px;will-change:transform,opacity;
}
.scene-product--detail .detail-card{
  position:relative;width:min(38vw,560px);aspect-ratio:1.25;display:grid;
  align-content:end;gap:10px;padding:38px;border:1px solid var(--border);border-radius:34px;
  background:
    radial-gradient(circle at 72% 32%,rgba(129,140,248,.4),transparent 36%),
    radial-gradient(circle at 20% 85%,rgba(34,211,238,.14),transparent 40%),
    linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025)),#0f0f18;
  box-shadow:0 46px 100px rgba(0,0,0,.54);
}
.detail-card span{
  position:absolute;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(129,140,248,.9),transparent 64%);filter:blur(16px);
}
.detail-card strong{
  font-family:var(--font-display);font-size:clamp(42px,5vw,82px);
  line-height:.88;letter-spacing:-.05em;
}
.detail-card em{color:var(--c1);font-size:28px;font-style:normal;font-weight:800}
.scene-copy{
  position:relative;z-index:5;grid-column:2;max-width:560px;align-self:center;
  margin-top:-120px;will-change:transform,opacity;
}
.scene-copy--right{
  grid-column:3;justify-self:end;width:min(520px,100%);
  padding-right:20px;margin-top:-120px;
}
.scene-number{
  display:inline-flex;align-items:center;gap:12px;color:var(--c1);
  font-size:12px;font-weight:800;letter-spacing:.18em;
}
.scene-number::after{content:"";width:52px;height:1px;background:currentColor}
.scene-tagline{
  margin-top:14px;color:rgba(243,243,251,.5);font-size:13px;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.scene-copy h2{
  margin-top:10px;font-size:clamp(52px,6vw,104px);font-weight:700;
  line-height:.86;letter-spacing:-.05em;filter:drop-shadow(0 2px 14px rgba(0,0,0,.75));
}
.scene-copy p:not(.scene-tagline){
  max-width:520px;margin-top:22px;color:var(--muted);font-size:17px;line-height:1.62;
}

/* ====================  PROBLEM → LÖSUNG (Accordion)  ==================== */
.problems{
  position:relative;padding:clamp(60px,7vw,110px) clamp(20px,3vw,48px);
  background:#050509;display:flex;flex-direction:column;gap:clamp(16px,1.8vw,28px);
}
.problems .section-heading{margin-bottom:clamp(40px,4vw,64px)}
.pb{
  position:relative;border-radius:clamp(24px,2.5vw,40px);
  overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.pb--light{background:var(--white);color:#0a0a12}
.pb--dark{background:#0a0a14;color:var(--text);border:1px solid var(--border)}
.pb-head{
  display:grid;grid-template-columns:1fr 1.2fr;
  gap:clamp(20px,3vw,48px);align-items:center;position:relative;
  padding:clamp(32px,3.5vw,56px) clamp(24px,3vw,48px);
}
.pb--img-right .pb-head-text{order:1}
.pb--img-right .pb-head-image{order:2}
.pb--img-left .pb-head{grid-template-columns:1.2fr 1fr}
.pb--img-left .pb-head-image{order:1}
.pb--img-left .pb-head-text{order:2}
.pb-number{
  position:absolute;top:clamp(20px,2.2vw,32px);left:clamp(24px,3vw,48px);
  width:clamp(36px,3.5vw,48px);height:clamp(36px,3.5vw,48px);
  display:grid;place-items:center;border-radius:50%;background:var(--grad-135);
  color:#fff;font-family:var(--font-display);font-size:clamp(15px,1.4vw,18px);
  font-weight:700;box-shadow:0 6px 18px rgba(129,140,248,.4);z-index:2;
}
.pb-head-text{padding-top:clamp(40px,4vw,60px)}
.pb-flags{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.pb-flag{
  display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;
  border-radius:99px;border:1px solid currentColor;
}
.pb-flag.problem{color:#d56cf0}
.pb-flag.loesung{color:#1aa9c4}
.pb--dark .pb-flag.loesung{color:var(--c1)}
.pb-head-text h3{
  font-size:clamp(26px,3.4vw,52px);font-weight:700;line-height:1.06;
  letter-spacing:-.025em;margin-bottom:clamp(14px,2vw,24px);
}
.pb--dark .pb-head-text h3{color:var(--white)}
.pb-head-text p{font-size:clamp(14px,1.05vw,17px);line-height:1.55;margin-bottom:12px}
.pb--light .pb-head-text p{color:rgba(10,10,18,.68)}
.pb--dark .pb-head-text p{color:var(--muted)}
.pb-head-text p:last-of-type{margin-bottom:clamp(20px,2.5vw,34px)}
.pb-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;max-width:540px;padding:clamp(14px,1.4vw,18px) clamp(28px,3vw,42px);
  border-radius:999px;background:var(--grad);color:#08080f;
  font-family:var(--font-display);font-size:clamp(14px,1.1vw,16px);
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 10px 28px rgba(129,140,248,.32);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.pb-cta:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(129,140,248,.5)}
.pb-head-image{
  width:100%;aspect-ratio:4/3;border-radius:clamp(16px,1.8vw,28px);
  overflow:hidden;background:#0a0a14;
}
.pb--dark .pb-head-image{border:1px solid var(--border)}
.pb-head-image img,.pb-head-image video{width:100%;height:100%;object-fit:cover;display:block}
.pb-body{padding:0 clamp(24px,3vw,48px) clamp(32px,3.5vw,56px)}
.pb-body[hidden]{display:none}
.pb-body::before{
  content:"";display:block;width:100%;height:1px;
  margin-bottom:clamp(28px,3vw,48px);
}
.pb--light .pb-body::before{background:rgba(10,10,18,.1)}
.pb--dark .pb-body::before{background:var(--border)}
.pb-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,32px);margin-bottom:clamp(28px,3vw,48px);
}
.pb-card{display:flex;flex-direction:column;gap:10px}
.pb-card-img{
  width:100%;aspect-ratio:4/3;border-radius:clamp(14px,1.6vw,24px);
  overflow:hidden;background:#0a0a14;margin-bottom:4px;
}
.pb--dark .pb-card-img{border:1px solid var(--border)}
.pb-card-img img,.pb-card-img video{width:100%;height:100%;object-fit:cover;display:block}
.pb-card h4{font-size:clamp(18px,1.6vw,23px);font-weight:700;letter-spacing:-.015em}
.pb--dark .pb-card h4{color:var(--white)}
.pb-card p{font-size:clamp(13px,1vw,15px);line-height:1.55}
.pb--light .pb-card p{color:rgba(10,10,18,.65)}
.pb--dark .pb-card p{color:var(--muted)}
.pb-close{
  display:flex;align-items:center;justify-content:center;margin:0 auto;
  width:clamp(44px,4vw,56px);height:clamp(44px,4vw,56px);border-radius:50%;
  background:var(--grad-135);color:#fff;cursor:pointer;
  box-shadow:0 10px 28px rgba(129,140,248,.4);transition:transform .25s var(--ease);
}
.pb-close:hover{transform:scale(1.08)}
.pb-close svg{width:50%;height:50%}

/* ====================  HORIZONTAL (Projekte)  ==================== */
.horizontal{
  position:relative;height:100svh;overflow:hidden;
  background:radial-gradient(circle at 50% 50%,rgba(129,140,248,.12),transparent 36%),#030308;
}
.horiz-row{
  position:absolute;left:0;right:0;z-index:2;overflow:hidden;
  pointer-events:none;height:clamp(72px,8.5vw,160px);
}
.horiz-row--top{top:50%;transform:translateY(calc(-100% - 8px))}
.horiz-row--bottom{top:50%;transform:translateY(8px)}
.horiz-row-inner{
  display:flex;align-items:center;width:max-content;height:100%;
  white-space:nowrap;will-change:transform;line-height:1;
}
.horiz-tl-word{
  display:inline-block;flex-shrink:0;font-family:var(--font-display);
  font-size:clamp(64px,8vw,150px);font-weight:700;letter-spacing:-.06em;
  line-height:1;padding-right:.3em;
}
.horiz-row--top .horiz-tl-word{color:var(--white)}
.horiz-row--bottom .horiz-tl-word{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.horiz-slider-wrap{
  position:absolute;top:50%;left:0;right:0;z-index:3;
  height:min(46vw,615px);margin-top:calc(min(46vw,615px)/-2);
  overflow:visible;pointer-events:none;
}
.horiz-slider{display:flex;width:300vw;height:100%;will-change:transform}
.horiz-slide{
  flex-shrink:0;width:100vw;height:100%;
  display:flex;align-items:center;justify-content:center;
}
.horiz-phone{--w:min(22vw,300px);filter:drop-shadow(0 50px 80px rgba(0,0,0,.85))}
.horiz-phone--tilt-left{transform:rotate(-10deg)}
.horiz-phone--straight{transform:rotate(0) scale(1.06)}
.horiz-phone--tilt-right{transform:rotate(10deg)}

/* ====================  GLOW REVEAL (USP)  ==================== */
.glow-reveal{display:grid;place-items:center;background:#020205}
.glow-flood{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 42% 55%,rgba(129,140,248,.55),transparent 32vw),
    radial-gradient(circle at 68% 40%,rgba(34,211,238,.3),transparent 26vw),
    linear-gradient(180deg,transparent,rgba(129,140,248,.14));
  opacity:.16;will-change:opacity;
}
.glow-card{
  position:relative;z-index:2;width:min(980px,calc(100vw - 96px));min-height:620px;
  overflow:hidden;border:1px solid var(--border-strong);border-radius:42px;
  background:
    radial-gradient(circle at 62% 50%,rgba(129,140,248,.4),transparent 36%),
    radial-gradient(circle at 18% 88%,rgba(34,211,238,.16),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.025)),#0a0a14;
  box-shadow:0 48px 120px rgba(0,0,0,.72),0 0 100px rgba(129,140,248,.26);
  will-change:transform,opacity;
}
.glow-card__inner{
  min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;
  align-items:center;gap:24px;padding:56px;
}
.glow-card__device{display:grid;place-items:center}
.glow-card__copy h2{
  margin-top:18px;font-size:clamp(56px,6.5vw,112px);font-weight:700;
  line-height:.84;letter-spacing:-.05em;
}
.glow-card__copy p:last-child{
  max-width:460px;margin-top:26px;color:rgba(255,255,255,.66);font-size:18px;line-height:1.6;
}

/* ====================  PROZESS  ==================== */
.process{
  position:relative;
  padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1200px)/2));
  background:#06070b;
}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{
  position:relative;padding:32px 26px;border:1px solid var(--border);border-radius:24px;
  background:var(--surface);
  transition:transform .35s var(--ease),border-color .35s var(--ease);
  will-change:transform,opacity;
}
.step:hover{transform:translateY(-6px);border-color:var(--border-strong)}
.step .n{
  font-family:var(--font-display);font-size:12px;color:var(--c1);
  font-weight:700;letter-spacing:.16em;margin-bottom:18px;
}
.step h3{font-size:1.2rem;font-weight:700;margin-bottom:10px}
.step p{color:var(--muted);font-size:.96rem;line-height:1.55}

/* ====================  CAPABILITIES  ==================== */
.features{
  position:relative;
  padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1200px)/2));
  background:#030308;
}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feature-card{
  min-height:200px;padding:26px;border:1px solid var(--border);border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),#0c0d15;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  transition:transform .3s var(--ease),border-color .3s var(--ease);
  will-change:transform,opacity;
}
.feature-card:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.35)}
.feature-card span{
  color:var(--c1);font-family:var(--font-display);
  font-size:12px;font-weight:700;letter-spacing:.16em;
}
.feature-card h3{margin-top:48px;font-size:21px;font-weight:700;letter-spacing:-.02em}
.feature-card p{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.55}

/* ====================  KONTAKT  ==================== */
.contact{
  position:relative;overflow:hidden;background:#020205;
  padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1320px)/2));
}
.contact-glow{
  position:absolute;inset:auto auto -28% 50%;width:100vw;aspect-ratio:1;
  transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(129,140,248,.26),rgba(34,211,238,.1) 45%,transparent 65%);
  filter:blur(20px);
}
.contact-inner{
  position:relative;z-index:2;display:grid;
  grid-template-columns:1fr 1.05fr;gap:clamp(48px,6vw,90px);align-items:start;
}
.contact-copy h2{
  margin-top:18px;font-size:clamp(48px,5.6vw,100px);font-weight:700;
  line-height:.86;letter-spacing:-.05em;
}
.contact-lead{max-width:520px;margin-top:24px;color:var(--muted);font-size:17px;line-height:1.62}
.contact-perks{margin-top:40px;display:flex;flex-direction:column;gap:20px}
.contact-perks li{display:flex;align-items:flex-start;gap:16px}
.perk-icon{
  flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--grad-135);
  display:grid;place-items:center;box-shadow:0 6px 18px rgba(129,140,248,.32);
}
.perk-icon svg{width:19px;height:19px;color:#fff;fill:none;stroke:currentColor;stroke-width:1.6}
.contact-perks li div{display:flex;flex-direction:column;gap:3px;padding-top:2px}
.contact-perks li strong{color:var(--white);font-size:15px;font-weight:700}
.contact-perks li span{color:var(--muted);font-size:14px;line-height:1.45}
.contact-direct{
  margin-top:36px;padding-top:28px;border-top:1px solid var(--border);
  display:flex;flex-wrap:wrap;gap:14px 28px;
}
.contact-direct a{
  display:inline-flex;align-items:center;gap:9px;color:var(--text);
  font-size:15px;font-weight:600;
}
.contact-direct svg{width:17px;height:17px;color:var(--c1);fill:none;stroke:currentColor;stroke-width:1.7}
.contact-form-wrap{position:sticky;top:96px}
.contact-form{
  border:1px solid var(--border);border-radius:32px;
  background:radial-gradient(circle at 80% 8%,rgba(129,140,248,.14),transparent 50%),
             linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),#0c0d15;
  padding:clamp(28px,3.5vw,46px);box-shadow:0 32px 90px rgba(0,0,0,.44);
}
.form-title{
  font-family:var(--font-display);font-size:22px;font-weight:700;
  color:var(--white);letter-spacing:-.03em;margin-bottom:6px;
}
.form-sub{color:var(--muted);font-size:14px;margin-bottom:26px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{
  font-size:12px;font-weight:700;color:var(--muted);
  letter-spacing:.1em;text-transform:uppercase;
}
.field input,.field select,.field textarea{
  width:100%;padding:0 16px;height:52px;border-radius:14px;
  border:1px solid var(--border-strong);background:rgba(255,255,255,.05);
  color:var(--white);font-size:15px;font-family:inherit;outline:none;
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
}
.field textarea{height:auto;min-height:118px;padding:14px 16px;resize:vertical;line-height:1.5}
.field select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
  background-size:18px;padding-right:44px;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(243,243,251,.28)}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:rgba(129,140,248,.6);background:rgba(129,140,248,.06);
  box-shadow:0 0 0 3px rgba(129,140,248,.16);
}
.field-error input,.field-error select,.field-error textarea{
  border-color:rgba(232,121,249,.7);box-shadow:0 0 0 3px rgba(129,140,248,.2);
}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  padding:9px 15px;border-radius:99px;border:1px solid var(--border-strong);
  background:rgba(255,255,255,.04);color:var(--muted);font-size:13px;
  font-weight:600;cursor:pointer;transition:all .2s var(--ease);
}
.chip:hover{color:var(--text);border-color:rgba(129,140,248,.5)}
.chip.is-active{background:var(--grad);border-color:transparent;color:#08080f}
.cb-field{margin:8px 0 4px}
.cb-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;user-select:none}
.cb-label input{position:absolute;opacity:0;width:0;height:0}
.cb-box{
  flex-shrink:0;width:20px;height:20px;margin-top:1px;border-radius:6px;
  border:1.5px solid var(--border-strong);background:rgba(255,255,255,.05);
  display:grid;place-items:center;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.cb-box::after{
  content:"";width:10px;height:6px;border-left:2px solid #08080f;
  border-bottom:2px solid #08080f;transform:rotate(-45deg) translateY(-1px);
  opacity:0;transition:opacity .15s var(--ease);
}
.cb-label input:checked ~ .cb-box{background:var(--grad-135);border-color:transparent}
.cb-label input:checked ~ .cb-box::after{opacity:1}
.cb-box--error{border-color:rgba(232,121,249,.7);box-shadow:0 0 0 3px rgba(129,140,248,.2)}
.cb-text{font-size:13px;color:rgba(243,243,251,.5);line-height:1.55}
.cb-text a{color:var(--c1);text-decoration:underline;text-underline-offset:2px}
.form-submit{
  width:100%;margin-top:22px;height:56px;border-radius:999px;background:var(--grad);
  color:#08080f;font-family:var(--font-display);font-size:15px;font-weight:700;
  letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;
  justify-content:center;gap:10px;
  box-shadow:0 14px 40px rgba(129,140,248,.36);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),opacity .25s var(--ease);
}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(129,140,248,.52)}
.form-submit svg{width:18px;height:18px;transition:transform .25s var(--ease)}
.form-submit:hover svg{transform:translateX(3px)}
.form-note{
  margin-top:14px;color:rgba(243,243,251,.32);font-size:12px;
  line-height:1.6;text-align:center;
}
.form-success{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:36px 24px;text-align:center;border-radius:16px;
  background:rgba(129,140,248,.1);border:1px solid rgba(129,140,248,.28);margin-top:16px;
}
.form-success[hidden]{display:none}
.form-success svg{width:44px;height:44px;color:var(--c1)}
.form-success strong{color:var(--white);font-size:18px;font-weight:700}
.form-success span{color:var(--muted);font-size:14px;line-height:1.5}

/* ====================  FAQ  ==================== */
.faq-section{
  position:relative;
  padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1200px)/2));
  background:#06070b;
}
.faq-inner{max-width:860px;margin:0 auto}
.faq-section .section-heading{margin-bottom:64px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:26px 0;cursor:pointer;list-style:none;user-select:none;
  font-family:var(--font-display);font-size:clamp(16px,1.4vw,20px);
  font-weight:600;color:var(--text);line-height:1.3;
}
.faq-q::-webkit-details-marker{display:none}
.faq-icon{
  position:relative;flex-shrink:0;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--border-strong);display:grid;place-items:center;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .3s var(--ease);
}
.faq-icon::before,.faq-icon::after{
  content:"";position:absolute;background:var(--white);border-radius:2px;
  transition:transform .3s var(--ease),opacity .3s var(--ease);
}
.faq-icon::before{width:12px;height:1.5px}
.faq-icon::after{width:1.5px;height:12px}
.faq-item[open] .faq-icon{background:var(--grad-135);border-color:transparent;transform:rotate(45deg)}
.faq-a{padding:0 0 26px;max-width:720px}
.faq-a p{color:var(--muted);font-size:16px;line-height:1.65}

/* ====================  FOOTER  ==================== */
.footer{position:relative;z-index:5;border-top:1px solid var(--border);background:#050509}
.footer-main{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;
  padding:70px max(28px,calc((100vw - 1200px)/2)) 50px;
}
.footer-brand{max-width:340px}
.footer-brand .brand{color:var(--text)}
.footer-brand .brand .mark{color:#08080f}
.footer-brand p{margin-top:18px;color:rgba(243,243,251,.52);font-size:14px;line-height:1.65}
.footer-col{display:flex;flex-direction:column;gap:11px}
.footer-col h4{
  margin-bottom:6px;color:var(--text);font-size:13px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.footer-col a{color:rgba(243,243,251,.55);font-size:14px;transition:color .2s var(--ease)}
.footer-col a:hover{color:var(--c1)}
.footer-bottom{
  display:flex;justify-content:space-between;gap:20px;
  padding:24px max(28px,calc((100vw - 1200px)/2));
  border-top:1px solid var(--border);color:rgba(255,255,255,.35);
  font-size:13px;flex-wrap:wrap;
}

/* ====================  REVEAL UTIL  ==================== */
[data-reveal]{
  opacity:0;transform:translateY(34px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
  transition-delay:var(--d,0s);
}
[data-reveal].is-visible{opacity:1;transform:none}

/* ====================  RESPONSIVE  ==================== */
@media(max-width:1100px){
  .desktop-nav{display:none}
  .nav-shell{grid-template-columns:auto 1fr auto}
  .nav-burger{display:grid}
  .brand{justify-self:center}
  .hero-copy{left:24px;right:24px;bottom:52px}
  .story-scene{grid-template-columns:24px 1fr 24px}
  .scene-copy,.scene-copy--right,.scene-product{grid-column:2}
  .scene-product{position:absolute;inset:8% 0 16%;min-height:auto;opacity:.6}
  .device--scene,.device--wide{--w:min(84vw,500px)}
  .device--scene-phone{--w:min(52vw,280px)}
  .scene-copy,.scene-copy--right{align-self:end;justify-self:start;width:auto;margin-top:0;padding:0 0 88px}
  .scene-copy h2{font-size:clamp(48px,11vw,88px)}
  .proc-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .glow-card{width:min(720px,calc(100vw - 42px))}
  .glow-card__inner{grid-template-columns:1fr;padding:34px}
  .device--reveal{--w:min(48vw,260px)}
  .horiz-phone{--w:min(32vw,240px)}
  .contact-inner{grid-template-columns:1fr;gap:52px}
  .contact-form-wrap{position:static}
  .footer-main{grid-template-columns:1fr 1fr;gap:36px}
  .footer-brand{grid-column:1/-1;max-width:none}
}
@media(max-width:680px){
  .site-header{top:12px;width:calc(100vw - 24px)}
  .nav-shell{height:52px;padding:0 8px 0 12px}
  .nav-cta{height:36px;padding:0 14px;font-size:12px}
  .nav-cta svg{display:none}
  .hero-copy{left:20px;right:20px;bottom:44px}
  .hero-title{font-size:clamp(40px,13vw,76px);letter-spacing:-.045em}
  .hero-lead{font-size:14px;margin-top:16px}
  .hero-buttons{flex-direction:column;align-items:flex-start}
  .btn{width:100%}
  .hero-bottom-note,.story-progress{display:none}
  .scene-word{font-size:24vw}
  .pb-head{grid-template-columns:1fr!important}
  .pb--img-right .pb-head-text,.pb--img-left .pb-head-text{order:2}
  .pb--img-right .pb-head-image,.pb--img-left .pb-head-image{order:1;aspect-ratio:16/9}
  .pb-head{padding:20px 20px 24px}
  .pb-head-text{padding-top:52px}
  .pb-grid{grid-template-columns:1fr;gap:22px}
  .pb-cta{max-width:none}
  .horiz-phone{--w:min(52vw,200px)}
  .glow-card{min-height:560px;border-radius:28px}
  .glow-card__inner{min-height:560px;padding:26px}
  .proc-grid{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr 1fr;gap:10px}
  .feature-card{min-height:180px;padding:18px;border-radius:18px}
  .feature-card h3{margin-top:40px;font-size:18px}
  .feature-card p{font-size:12px}
  .field-row{grid-template-columns:1fr}
  .contact-form{padding:24px 20px;border-radius:24px}
  .footer-main{grid-template-columns:1fr;gap:30px;padding:50px 18px 36px}
  .footer-bottom{flex-direction:column;padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  [data-reveal]{opacity:1!important;transform:none!important}
  .cursor-glow{display:none}
}