:root {
  --void: #02070c;
  --ink: #07131d;
  --cyan: #35d9ff;
  --cyan-hot: #8eeaff;
  --blue: #0c7fa6;
  --steel: #a9bbc4;
  --line: rgba(114, 220, 247, 0.19);
  --glass: rgba(7, 21, 31, 0.68);
  --cursor-x: 50vw;
  --cursor-y: 40vh;
  --cursor-nx: 0;
  --cursor-ny: 0;
  color-scheme: dark;
}

/* Lightweight ECue25 illustration — pure HTML/CSS, no CAD runtime or external library. */
.html-gripper {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  width: min(28vw, 360px);
  min-width: 270px;
  aspect-ratio: .67;
  transform: translate(-50%, -50%);
  perspective: 1100px;
  touch-action: pan-y;
  user-select: none;
}

.html-gripper__assembly {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transform:
    rotateX(calc(-4deg + var(--local-y, 0) * -9deg))
    rotateY(calc(-13deg + var(--local-x, 0) * 18deg))
    rotateZ(-1.5deg);
  transition: transform .16s cubic-bezier(.2,.8,.2,1);
  animation: gripper-hover 5.4s ease-in-out infinite;
  filter: drop-shadow(0 2rem 1.4rem rgba(0, 0, 0, .58)) drop-shadow(0 0 1.5rem rgba(42, 199, 235, .12));
}

.gripper-part,
.gripper-bolt {
  position: absolute;
  display: block;
  box-sizing: border-box;
}

.gripper-part--rear {
  z-index: 1;
  top: 9%;
  left: 8%;
  width: 57%;
  height: 80%;
  border: 2px solid #02070c;
  border-radius: 13% 8% 8% 12% / 7% 6% 6% 8%;
  background:
    linear-gradient(100deg, rgba(161, 220, 242, .18), transparent 8% 82%, rgba(0, 3, 8, .8)),
    linear-gradient(145deg, #234865 0%, #102b42 22%, #071927 76%, #0e2a40 100%);
  box-shadow:
    inset 3px 0 2px rgba(193, 237, 255, .28),
    inset -13px -3px 19px rgba(0, 4, 9, .58),
    -13px 10px 0 #06131f,
    -15px 11px 0 2px #02070c;
  transform: translateZ(-28px);
}

.gripper-part--body {
  z-index: 3;
  top: 5%;
  left: 13%;
  width: 56%;
  height: 82%;
  overflow: hidden;
  border: 2px solid #02070b;
  border-radius: 15% 10% 8% 12% / 8% 6% 6% 8%;
  background:
    linear-gradient(94deg, rgba(210, 245, 255, .19), transparent 5% 77%, rgba(0, 4, 9, .72)),
    linear-gradient(155deg, #2c5676 0%, #173a57 15%, #0a2134 54%, #061623 100%);
  box-shadow:
    inset 0 4px 2px rgba(201, 239, 255, .25),
    inset 7px 0 10px rgba(122, 201, 230, .08),
    inset -16px -8px 24px rgba(0, 5, 11, .54),
    6px 8px 0 #071622,
    9px 10px 0 1px #02070b;
  transform: translateZ(14px);
}

.gripper-part--body::before,
.gripper-part--body::after {
  position: absolute;
  right: -11%;
  width: 27%;
  height: 12%;
  border: 2px solid #02070b;
  border-radius: 10%;
  background: linear-gradient(135deg, #173a56, #071724 74%);
  content: "";
}
.gripper-part--body::before { top: 13%; }
.gripper-part--body::after { bottom: 10%; }

.gripper-highlight {
  position: absolute;
  top: 1.8%;
  left: 15%;
  width: 65%;
  height: 2px;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(205, 246, 255, .66), transparent);
  box-shadow: 0 0 8px rgba(90, 213, 242, .32);
}

.gripper-hole {
  position: absolute;
  z-index: 2;
  top: 9%;
  right: 12%;
  width: 18%;
  aspect-ratio: .66;
  border: 2px solid #07101a;
  border-radius: 48%;
  background: radial-gradient(ellipse at 68% 45%, #17364c 0 22%, #03080c 25% 67%, #31526a 70% 76%, #07131e 79%);
  box-shadow: inset 5px 1px 7px #000, 1px 1px 0 rgba(171, 224, 243, .28);
  transform: skewY(-3deg);
}

.gripper-part--mechanism {
  z-index: 4;
  top: 27%;
  left: 61%;
  width: 15%;
  height: 52%;
  border: 2px solid #030608;
  border-radius: 4px;
  background:
    linear-gradient(90deg, #07090b 0 36%, #1c252b 37% 62%, #030507 63%),
    #090d10;
  box-shadow: inset 0 0 9px #000, 0 0 0 3px #0b1b27;
  transform: translateZ(22px);
}

.gripper-part--mechanism i {
  position: absolute;
  left: -2px;
  width: 76%;
  height: 13%;
  border: 1px solid #401005;
  background: linear-gradient(135deg, #ff6a25, #b62508 48%, #601000);
  box-shadow: inset 1px 1px 0 rgba(255, 207, 151, .44), 0 0 9px rgba(242, 70, 22, .27);
}
.gripper-part--mechanism i:nth-child(1) { top: 2%; }
.gripper-part--mechanism i:nth-child(2) { top: 17%; left: 27%; }
.gripper-part--mechanism i:nth-child(3) { bottom: 15%; }
.gripper-part--mechanism i:nth-child(4) { bottom: 0; left: 23%; }

.gripper-part--jaw {
  z-index: 5;
  top: 31%;
  left: 67%;
  width: 8%;
  height: 43%;
  border: 2px solid #020405;
  border-radius: 3px;
  background: linear-gradient(90deg, #182127, #030507 40% 68%, #3c4b54);
  box-shadow: inset 2px 0 rgba(189, 208, 216, .17), 3px 0 #07121a;
  transform: translateZ(27px);
}

.gripper-part--plate {
  z-index: 7;
  top: 18%;
  left: 73%;
  width: 23%;
  height: 67%;
  border: 2px solid #02070b;
  border-radius: 13% 18% 16% 11% / 5% 6% 6% 5%;
  background:
    linear-gradient(91deg, rgba(189, 236, 255, .21), transparent 9% 74%, rgba(0,0,0,.68)),
    linear-gradient(150deg, #244b69, #102d45 46%, #061724);
  box-shadow:
    inset 0 3px 2px rgba(199, 240, 255, .2),
    inset -8px -6px 16px rgba(0, 5, 10, .48),
    8px 7px 0 #06131d,
    10px 9px 0 1px #010406;
  transform: translateZ(31px);
}

.gripper-bolt {
  z-index: 9;
  left: 78.5%;
  width: 10.5%;
  aspect-ratio: 1;
  border: 2px solid #050708;
  border-radius: 50%;
  background:
    radial-gradient(circle, #d5e0e4 0 14%, #5c6a70 16% 28%, transparent 30%),
    conic-gradient(from 22deg, #d6e0e3, #515d62, #e5ecee, #566268, #d6e0e3);
  box-shadow: inset 1px 1px 2px #fff, 3px 4px 0 #020609, 0 0 8px rgba(201, 236, 248, .19);
  transform: translateZ(39px);
}
.gripper-bolt i {
  position: absolute;
  inset: 19%;
  border: 1px solid #273139;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 32%, #f5f8f8, #69767b 48%, #1c2529 72%);
}
.gripper-bolt--a { top: 24%; }
.gripper-bolt--b { top: 41%; }
.gripper-bolt--c { top: 58%; }
.gripper-bolt--d { top: 75%; }
.gripper-bolt--e { top: 67%; left: 66.5%; width: 7%; }

.gripper-bolt--large-a,
.gripper-bolt--large-b {
  left: 91%;
  width: 19%;
  border-radius: 30%;
  background:
    radial-gradient(circle at 78% 50%, #dfe6e8 0 17%, #707b80 18% 32%, transparent 34%),
    conic-gradient(from 30deg, #dbe2e4, #606b70, #edf1f2, #4f595e, #dbe2e4);
  box-shadow: inset 2px 2px 2px rgba(255,255,255,.76), 6px 6px 0 #05090b, 7px 8px 0 #010304;
  transform: translateZ(34px) rotateY(-12deg);
}
.gripper-bolt--large-a { top: 28%; }
.gripper-bolt--large-b { top: 49%; }

.html-gripper__label {
  position: absolute;
  right: 0;
  bottom: -1.4rem;
  color: rgba(128, 218, 239, .62);
  font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.html-gripper::after {
  position: absolute;
  z-index: -1;
  right: -5%;
  bottom: 0;
  left: -5%;
  height: 10%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(37, 196, 234, .25), transparent 68%);
  filter: blur(11px);
  content: "";
}

@keyframes gripper-hover {
  0%, 100% { translate: 0 -4px; }
  50% { translate: 0 7px; }
}

@media (max-width: 1100px) {
  .html-gripper { width: min(34vw, 330px); min-width: 245px; }
}

@media (max-width: 760px) {
  .html-gripper { width: min(65vw, 330px); min-width: 230px; }
}

/* Header refinement: stronger contrast, centered logo scale and phone actions. */
.header-band {
  background: rgba(1, 7, 11, .96) !important;
  border-bottom-color: rgba(94, 211, 240, .2) !important;
  box-shadow: 0 .8rem 2.5rem rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(16px) saturate(112%) !important;
}

.story-header-content {
  background: linear-gradient(90deg, rgba(1, 7, 11, .98), rgba(2, 10, 16, .94)) !important;
}

.story-header-content .topbar {
  padding: .32rem .5rem !important;
  border: 1px solid rgba(74, 174, 207, .12);
  border-radius: .7rem;
  background: rgba(0, 4, 7, .82);
  box-shadow: inset 0 0 1.4rem rgba(26, 102, 130, .06);
  overflow: visible;
}

.story-header-content .brand {
  width: 8.25rem !important;
  transform-origin: center center !important;
}

body.is-ready .story-header-content .brand:hover,
body.is-ready .story-header-content .brand:focus-visible {
  transform: translateY(0) scale(1.075) !important;
  transform-origin: center center !important;
}

.header-phones {
  padding-left: 0 !important;
  border-left: 0 !important;
}

.header-phones > span {
  padding-left: .28rem;
}

.header-phones a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.55rem;
  padding: .2rem .62rem;
  border: 1px solid rgba(74, 207, 239, .25);
  border-radius: .48rem;
  background: linear-gradient(135deg, rgba(12, 45, 61, .92), rgba(3, 19, 28, .96));
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 .2rem .7rem rgba(0,0,0,.22);
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.header-phones a:hover,
.header-phones a:focus-visible {
  color: #fff;
  border-color: rgba(76, 220, 253, .72);
  background: linear-gradient(135deg, rgba(15, 67, 88, .98), rgba(4, 26, 38, .98));
  box-shadow: 0 0 1rem rgba(45, 196, 231, .14);
  transform: translateY(-1px);
}

@media (max-width: 1050px) {
  .story-header-content .brand { width: 7.35rem !important; }
  .header-phones a { min-height: 1.7rem; padding-inline: .7rem; }
}

@media (max-width: 760px) {
  .story-header-content .brand { width: 6.4rem !important; }
  .header-phones > span { padding-left: 0; }
  .header-phones a { min-height: 1.55rem; padding: .16rem .46rem; }
}

@media (prefers-reduced-motion: reduce) {
  .html-gripper__assembly { animation: none; transition: none; }
}

html { background: var(--void); scroll-behavior: smooth; }

body {
  background:
    radial-gradient(circle at var(--cursor-x) var(--cursor-y), rgba(24, 180, 219, .15), transparent 24rem),
    linear-gradient(160deg, #02070c 0%, #06131c 46%, #02080d 100%) !important;
  color: #edfaff;
  font-family: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  overflow-x: clip;
}

body::before {
  position: fixed !important;
  inset: 0 !important;
  z-index: -3 !important;
  opacity: .42 !important;
  background-image:
    linear-gradient(rgba(79, 205, 238, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79, 205, 238, .035) 1px, transparent 1px) !important;
  background-size: 64px 64px !important;
  transform: perspective(700px) rotateX(58deg) scale(1.7) translateY(22%) !important;
  transform-origin: center bottom !important;
  animation: grid-drift 16s linear infinite;
  content: "" !important;
}

.particle-field {
  position: fixed;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .82;
}

.cursor-energy {
  position: fixed;
  z-index: 1;
  left: var(--cursor-x);
  top: var(--cursor-y);
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(67, 219, 255, .07);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 198, 237, .12), rgba(6, 48, 64, .04) 37%, transparent 68%);
  box-shadow: inset 0 0 5rem rgba(44, 211, 250, .05);
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: width .25s ease;
}

.cursor-energy::before,
.cursor-energy::after {
  position: absolute;
  inset: 13%;
  border: 1px dashed rgba(71, 215, 250, .18);
  border-radius: inherit;
  content: "";
  animation: spin 18s linear infinite;
}

.cursor-energy::after { inset: 29%; animation-direction: reverse; animation-duration: 11s; }

.header-band {
  position: fixed !important;
  height: 5.5rem !important;
  border-bottom: 1px solid rgba(106, 218, 245, .14) !important;
  background: rgba(2, 9, 14, .66) !important;
  box-shadow: 0 1rem 4rem rgba(0, 0, 0, .26) !important;
  backdrop-filter: blur(22px) saturate(130%) !important;
}

.story-header-content {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 70 !important;
  height: 5.5rem !important;
  padding: 0 clamp(1.25rem, 4vw, 4.5rem) !important;
  display: grid !important;
  grid-template-columns: auto minmax(14rem, 1fr) minmax(22rem, 34rem) auto !important;
  align-items: center !important;
  gap: clamp(1rem, 3vw, 3.6rem) !important;
}

.story-header-content .topbar { position: static !important; width: auto !important; }
.story-header-content .brand { width: 7.5rem !important; filter: drop-shadow(0 0 1rem rgba(58, 208, 244, .2)); }
.story-header-content .company-tagline {
  position: static !important;
  width: min(38rem, 100%) !important;
  margin: 0 !important;
  padding: 0 0 0 1rem !important;
  color: rgba(220, 242, 248, .64) !important;
  font-size: .68rem !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
  border-left: 1px solid var(--cyan) !important;
}
.story-header-content .company-tagline::before { display: none !important; }
.story-header-content .story-video-shelf.video-shelf,
.story-header-content .language-switcher { position: static !important; margin: 0 !important; }
.story-header-content .story-video-shelf.video-shelf {
  height: 3.5rem !important;
  min-height: 0 !important;
  overflow: hidden;
}
.story-header-content .story-video-shelf .video-card { min-height: 0 !important; height: 100% !important; }

.story-video-shelf .video-card {
  border-color: rgba(111, 221, 248, .26) !important;
  background: rgba(7, 23, 33, .7) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 0 1.8rem rgba(18, 152, 187, .08) !important;
}

.language-switcher button,
.language-switcher a { border-color: var(--line) !important; background-color: rgba(5, 20, 30, .76) !important; }

.scroll-story { position: relative; z-index: 3; padding-top: 5.5rem !important; }

.story-scene,
.story-scene:last-child {
  min-height: max(56rem, 100svh) !important;
  background: transparent !important;
}

.story-scene + .story-scene::before {
  background: linear-gradient(90deg, transparent, rgba(65, 211, 246, .26), transparent) !important;
  height: 1px !important;
  opacity: .7 !important;
}

.scene-surface,
.story-scene:not(.story-scene--gripper) .scene-surface,
.story-scene--gripper .scene-surface {
  min-height: max(56rem, calc(100svh - 5.5rem)) !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: clamp(7rem, 11vw, 10rem) clamp(1.4rem, 8vw, 9rem) clamp(5rem, 8vw, 8rem) !important;
  background:
    radial-gradient(circle at calc(27% + var(--pointer-x) * .2) 45%, rgba(30, 158, 193, calc(.04 + var(--focus, 1) * .08)), transparent 28rem),
    linear-gradient(120deg, rgba(5, 19, 28, .72), rgba(2, 8, 13, .22)) !important;
  display: grid !important;
  grid-template-columns: minmax(36rem, 1.55fr) minmax(20rem, .72fr) !important;
  align-items: center !important;
  gap: clamp(2.5rem, 7vw, 9rem) !important;
  isolation: isolate;
}

.story-scene:nth-child(even) .scene-surface { grid-template-columns: minmax(20rem, .72fr) minmax(36rem, 1.55fr) !important; }
.story-scene:nth-child(even) .product-visual { order: 2; }
.story-scene:nth-child(even) .scene-copy { order: 1; }

.scene-surface::before {
  inset: 8% 4% !important;
  border: 1px solid rgba(85, 213, 245, .09) !important;
  border-radius: 1.5rem !important;
  background: linear-gradient(130deg, rgba(36, 182, 218, .04), transparent 38%) !important;
  box-shadow: inset 0 0 7rem rgba(29, 177, 214, .03) !important;
  transform: perspective(1100px) rotateY(calc(var(--cursor-nx) * 2deg)) !important;
}

.scene-surface::after {
  width: 10rem !important;
  height: 2px !important;
  left: clamp(1.4rem, 8vw, 9rem) !important;
  top: 7.2rem !important;
  background: linear-gradient(90deg, var(--cyan), transparent) !important;
  box-shadow: 0 0 1rem var(--cyan) !important;
}

.scene-grid {
  opacity: .22 !important;
  mask-image: radial-gradient(circle at center, black, transparent 70%);
  transform: translate3d(calc(var(--cursor-nx) * -12px), calc(var(--cursor-ny) * -12px), 0);
}

.scene-number {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(75, 207, 239, .09);
  font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(12rem, 27vw, 32rem) !important;
  font-weight: 600 !important;
  opacity: .6 !important;
}

.product-visual {
  --local-x: 0;
  --local-y: 0;
  min-height: clamp(26rem, 50vw, 43rem) !important;
  perspective: 1000px;
  transform-style: preserve-3d;
  filter: drop-shadow(0 2rem 3rem rgba(0,0,0,.55));
  overflow: visible;
}

.product-model {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  filter: drop-shadow(0 2.5rem 2.7rem rgba(0, 0, 0, .5));
  transform: translate3d(0, calc(var(--phase, 0) * 3.5vh), 0) scale(calc(.96 + var(--focus, 1) * .04));
  transition: opacity .8s ease, filter .3s ease;
}

.product-visual.is-model-ready .product-model { opacity: 1; }
.product-visual.is-model-ready > .story-object { opacity: 0 !important; pointer-events: none; }
.product-visual:hover .product-model { filter: drop-shadow(0 2.5rem 3rem rgba(0,0,0,.58)) drop-shadow(0 0 2rem rgba(45,210,246,.14)); }
.product-model--cad { cursor: grab; touch-action: pan-y; }
.product-visual.is-cad-ready .product-model--cad { opacity: 1; }
.product-visual:active .product-model--cad { cursor: grabbing; }

.product-visual::before,
.product-visual::after {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.product-visual::before {
  z-index: 0;
  width: 68%;
  aspect-ratio: 1;
  border: 1px solid rgba(90, 221, 252, .14);
  box-shadow: inset 0 0 5rem rgba(40, 194, 231, .08), 0 0 6rem rgba(24, 164, 200, .06);
  transform: translate(-50%, -50%) rotateX(67deg);
  animation: field-pulse 4.5s ease-in-out infinite;
}

.product-visual::after {
  display: none;
}

.story-object {
  z-index: 4 !important;
  transform:
    translate3d(calc(-50% + var(--local-x) * 22px + var(--pointer-shift-x, 0px)), calc(-50% + var(--image-y, 0px) + var(--local-y) * 18px), 5rem)
    scale(clamp(.72, var(--image-scale, 1), 1.04))
    rotateX(calc(var(--pointer-tilt-x, 0deg) + var(--local-y) * -8deg))
    rotateY(calc(var(--pointer-tilt-y, 0deg) + var(--local-x) * 12deg))
    rotateZ(var(--image-rotate, 0deg)) !important;
  transform-style: preserve-3d;
  filter: drop-shadow(0 2.8rem 2.2rem rgba(0,0,0,.68)) drop-shadow(0 0 1.7rem rgba(48, 201, 237,.22)) !important;
  animation: product-hover 5s ease-in-out infinite;
  transition: filter .35s ease !important;
}

.story-object--limiter { animation-delay: -1.8s; }
.story-object--book { animation-delay: -.8s; }
.story-object--phone { animation-delay: -2.6s; }

.product-visual__orbit {
  border-color: rgba(65, 216, 252, .22) !important;
  box-shadow: 0 0 2rem rgba(39, 189, 226, .08), inset 0 0 2rem rgba(39, 189, 226, .05) !important;
  animation: orbit-spin 14s linear infinite !important;
}
.product-visual__orbit--two { animation-direction: reverse !important; animation-duration: 9s !important; }
.product-visual__orbit::before { background: transparent !important; box-shadow: none !important; }
.product-visual__orbit::after { background: var(--cyan) !important; box-shadow: 0 0 1.4rem .2rem var(--cyan) !important; }
.product-visual__floor { background: radial-gradient(ellipse, rgba(39, 195, 232, .16), transparent 68%) !important; filter: blur(.4rem); }

.scene-copy { position: relative; z-index: 5; max-width: 49rem !important; }

.scene-heading p {
  color: var(--cyan) !important;
  font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif !important;
  font-size: .76rem !important;
  letter-spacing: .28em !important;
}

.scene-heading h2,
.scene-copy--about .scene-heading h2,
.scene-copy--contact .scene-heading h2 {
  max-width: 13ch;
  color: #f2fbff !important;
  font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(2.4rem, 3.65vw, 4.4rem) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 0 2.4rem rgba(56, 208, 243, .16);
}

.story-drawings,
.feature-block,
.lead-copy,
.contact-list {
  border: 1px solid rgba(106, 220, 247, .14) !important;
  border-radius: 1rem !important;
  background: linear-gradient(135deg, rgba(10, 30, 42, .72), rgba(3, 13, 20, .45)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 1.5rem 4rem rgba(0,0,0,.15) !important;
  backdrop-filter: blur(14px);
}

.story-drawings { padding: 1rem !important; }
.feature-block { padding: 1.25rem 1.35rem !important; }
.feature-block h3 { color: rgba(222, 243, 249, .7) !important; }
.feature-block h3 { font-size: clamp(1.25rem, 1.45vw, 1.65rem) !important; line-height: 1.3 !important; }
.feature-block .feature-list li { color: rgba(229, 244, 248, .82) !important; font-size: clamp(1rem, 1.05vw, 1.18rem) !important; line-height: 1.62 !important; }
.story-drawings__header strong { font-size: .92rem !important; }
.story-drawings__header small { font-size: .88rem !important; }
.story-drawing { min-height: 4.8rem !important; }
.story-drawing b { font-size: 1rem !important; }
.story-actions .catalog-launch__copy strong,
.story-actions .catalog-download strong { font-size: 1rem !important; }
.story-actions .catalog-launch__copy small,
.story-actions .catalog-download small { font-size: .88rem !important; }
.feature-block .feature-list li::before { background: var(--cyan) !important; box-shadow: 0 0 .7rem var(--cyan); }

.story-drawing,
.catalog-launch,
.catalog-download,
.contact-card {
  border-color: rgba(104, 220, 248, .16) !important;
  background: rgba(8, 28, 39, .55) !important;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}

.story-drawing:hover,
.story-drawing:focus-visible,
.catalog-launch:hover,
.catalog-download:hover,
.contact-card:hover,
.contact-card:focus-visible {
  transform: translateY(-3px) !important;
  border-color: rgba(82, 223, 255, .56) !important;
  background: rgba(17, 57, 72, .68) !important;
  box-shadow: 0 0 2rem rgba(32, 188, 224, .12) !important;
}

.scene-copy--about .lead-copy { padding: clamp(1.4rem, 3vw, 2.5rem) !important; color: rgba(229, 245, 249, .8) !important; font-size: clamp(1.05rem, 1.5vw, 1.35rem) !important; line-height: 1.72 !important; }
.scene-copy--contact .contact-list { padding: .65rem !important; gap: .55rem !important; }
.scene-copy--contact .contact-card { border-radius: .7rem !important; }

.story-rail { z-index: 21 !important; right: 1.25rem !important; gap: .7rem !important; }
.story-rail__link {
  width: 2.2rem !important;
  height: 2.2rem !important;
  border: 1px solid rgba(91, 213, 242, .18);
  border-radius: 50%;
  background: rgba(3, 15, 22, .66);
  backdrop-filter: blur(12px);
}
.story-rail__link span { margin: 0 !important; font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif; font-size: .65rem !important; }
.story-rail__link i { right: 3rem !important; padding: .45rem .7rem; border: 1px solid var(--line); border-radius: .4rem; background: rgba(4, 18, 26, .88); }
.story-rail__link.is-active { border-color: var(--cyan) !important; box-shadow: 0 0 1.2rem rgba(53,217,255,.22); }
.story-rail__progress { background: rgba(98, 215, 242, .14) !important; }
.story-rail__progress i { background: var(--cyan) !important; box-shadow: 0 0 .7rem var(--cyan); }

.scene-next { color: var(--cyan) !important; }
.site-footer { position: relative; z-index: 4; background: #02070c !important; border-top: 1px solid rgba(91,213,242,.12) !important; }

@keyframes product-hover {
  0%, 100% { margin-top: -7px; }
  50% { margin-top: 8px; }
}
@keyframes orbit-spin { to { transform: translate(-50%, -50%) rotate(calc(var(--orbit-turn, 0deg) + 360deg)); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes field-pulse { 0%, 100% { opacity: .5; transform: translate(-50%, -50%) rotateX(67deg) scale(.96); } 50% { opacity: 1; transform: translate(-50%, -50%) rotateX(67deg) scale(1.04); } }
@keyframes grid-drift { to { background-position: 0 64px, 64px 0; } }

@media (min-width: 1101px) {
  .story-scene--gripper,
  .story-scene--limiter { height: 148svh !important; }
  .story-scene--about,
  .story-scene--contact { height: 122svh !important; }
  .scene-surface { position: sticky !important; top: 0 !important; height: 100svh !important; }
  .scene-copy { transform: translate3d(var(--title-x, 0), calc(var(--phase, 0) * 1.8vh), 0); }
  .feature-block,
  .story-drawings,
  .story-actions,
  .lead-copy,
  .contact-list { transform: translate3d(0, calc(var(--phase, 0) * -1.25vh), 0); }
}

@media (max-width: 1100px) {
  .story-header-content { grid-template-columns: auto minmax(16rem, 1fr) auto !important; }
  .story-header-content .company-tagline { display: none !important; }
  .scene-surface,
  .story-scene:not(.story-scene--gripper) .scene-surface,
  .story-scene--gripper .scene-surface,
  .story-scene:nth-child(even) .scene-surface { gap: 2.5rem !important; padding-inline: clamp(1.4rem, 5vw, 4rem) !important; }
  .scene-surface,
  .story-scene:not(.story-scene--gripper) .scene-surface,
  .story-scene--gripper .scene-surface,
  .story-scene:nth-child(even) .scene-surface { grid-template-columns: minmax(28rem, 1.25fr) minmax(17rem, .75fr) !important; }
  .story-scene:nth-child(even) .scene-surface { grid-template-columns: minmax(17rem, .75fr) minmax(28rem, 1.25fr) !important; }
}

@media (max-width: 780px) {
  .header-band, .story-header-content { height: 4.7rem !important; }
  .story-header-content { padding: 0 1rem !important; grid-template-columns: auto 1fr auto !important; gap: .75rem !important; }
  .story-header-content .brand { width: 6rem !important; }
  .story-header-content .story-video-shelf.video-shelf { justify-self: end; }
  .story-header-content .story-video-shelf.video-shelf { width: min(52vw, 22rem) !important; height: 3.25rem !important; }
  .story-header-content .story-video-shelf .video-card__title { font-size: .56rem !important; }
  .story-header-content .story-video-shelf .video-card__play { transform: scale(.68); }
  .scroll-story { padding-top: 4.7rem !important; }
  .story-scene, .story-scene:last-child { min-height: auto !important; }
  .scene-surface,
  .story-scene:not(.story-scene--gripper) .scene-surface,
  .story-scene--gripper .scene-surface,
  .story-scene:nth-child(even) .scene-surface {
    min-height: 100svh !important;
    padding: 6.2rem 1.15rem 5rem !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .story-scene:nth-child(even) .product-visual { order: 1; }
  .story-scene:nth-child(even) .scene-copy { order: 2; }
  .product-visual { min-height: 38vh !important; max-height: 27rem; }
  .story-object {
    max-width: 82vw !important;
    max-height: 42vh !important;
    transform:
      translate3d(calc(-50% + var(--local-x) * 10px), calc(-50% + var(--local-y) * 8px), 2rem)
      scale(clamp(.76, var(--image-scale, 1), 1))
      rotateX(calc(var(--local-y) * -5deg))
      rotateY(calc(var(--local-x) * 7deg)) !important;
  }
  .scene-copy { width: 100% !important; margin: 0 !important; padding: 0 .45rem !important; transform: none !important; }
  .scene-heading { width: 100% !important; margin: 0 0 1.25rem !important; transform: none !important; transform-origin: left center !important; }
  .scene-heading h2,
  .scene-copy--about .scene-heading h2,
  .scene-copy--contact .scene-heading h2 { font-size: clamp(2.15rem, 7.4vw, 2.9rem) !important; line-height: 1 !important; }
  .feature-block .feature-list li { font-size: 1.02rem !important; }
  .scene-copy--about .lead-copy { font-size: 1.1rem !important; }
  .story-rail { display: none !important; }
  .scene-number { font-size: 52vw !important; }
  .cursor-energy { width: 20rem; }
}

@media (prefers-reduced-motion: reduce) {
  body::before, .cursor-energy::before, .cursor-energy::after,
  .story-object, .product-visual::before, .product-visual__orbit { animation: none !important; }
  .particle-field { opacity: .25; }
}

/* EON3 v4 — denser editorial rhythm, 60/40 products and dedicated film chapters. */
:root {
  --story-header-height: 7.25rem;
  --header-band-height: 7.25rem;
}

html { scroll-snap-type: none !important; scroll-padding-top: var(--story-header-height); }
body { overscroll-behavior-y: auto !important; }

.header-band { height: var(--story-header-height) !important; }
.story-header-content {
  height: var(--story-header-height) !important;
  grid-template-columns: 7.4rem minmax(14rem, 1fr) minmax(28rem, 34rem) 11.5rem auto !important;
  gap: clamp(.7rem, 1.35vw, 1.5rem) !important;
  padding: .75rem clamp(1.25rem, 3vw, 3.75rem) !important;
}
.story-header-content .brand { width: 7.4rem !important; }
.story-header-content .company-tagline {
  width: 100% !important;
  font-size: clamp(.72rem, .72vw, .86rem) !important;
  line-height: 1.35 !important;
  letter-spacing: .045em !important;
}

.story-header-content .story-video-shelf {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: .55rem !important;
  width: 100% !important;
  height: 5.65rem !important;
  margin: 0 !important;
  overflow: visible !important;
}

.header-video-link {
  position: relative;
  display: block;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(103, 219, 246, .22);
  border-radius: .65rem;
  background: #06131d;
  box-shadow: 0 .6rem 1.5rem rgba(0,0,0,.24);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.header-video-link::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, rgba(1,7,11,.9) 100%);
  content: "";
}
.header-video-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.header-video-link span {
  position: absolute;
  z-index: 2;
  right: .55rem;
  bottom: .48rem;
  left: .55rem;
  color: #effbff;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.15;
  text-shadow: 0 1px .5rem #000;
}
.header-video-link:hover,
.header-video-link:focus-visible { transform: translateY(-2px); border-color: rgba(80,222,255,.7); box-shadow: 0 0 1.7rem rgba(42,192,228,.18); }
.header-video-link:hover img { transform: scale(1.06); filter: brightness(1.08); }

.header-phones {
  display: grid;
  gap: .15rem;
  padding-left: .8rem;
  border-left: 1px solid rgba(78,216,248,.35);
  white-space: nowrap;
}
.header-phones span { color: var(--cyan); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.header-phones a { color: rgba(235,248,252,.84); font-size: .78rem; font-weight: 600; transition: color .2s ease; }
.header-phones a:hover { color: #fff; }

.scroll-story { padding-top: var(--story-header-height) !important; }
.story-scene,
.story-scene:last-child,
.story-scene--gripper,
.story-scene--limiter,
.story-scene--about,
.story-scene--contact {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  scroll-snap-align: none !important;
}

.scene-surface,
.story-scene:not(.story-scene--gripper) .scene-surface,
.story-scene--gripper .scene-surface,
.story-scene:nth-child(even) .scene-surface {
  position: relative !important;
  top: auto !important;
  grid-template-columns: minmax(0, 3fr) minmax(20rem, 2fr) !important;
  width: 100% !important;
  height: auto !important;
  min-height: max(48rem, calc(100svh - var(--story-header-height))) !important;
  padding: clamp(4.5rem, 7vh, 6.5rem) clamp(2.25rem, 5vw, 6.5rem) clamp(3.5rem, 6vh, 5.5rem) !important;
  gap: clamp(2rem, 4vw, 5rem) !important;
  align-items: center !important;
}
.scene-copy,
.story-scene:nth-child(even) .scene-copy { grid-column: 1 !important; grid-row: 1 !important; order: 1 !important; width: 100% !important; max-width: none !important; transform: none !important; }
.product-visual,
.story-scene:nth-child(even) .product-visual { grid-column: 2 !important; grid-row: 1 !important; order: 2 !important; min-height: clamp(31rem, 55vh, 43rem) !important; }

.scene-heading { max-width: 100% !important; transform: none !important; }
.scene-heading h2,
.scene-copy--about .scene-heading h2,
.scene-copy--contact .scene-heading h2 {
  max-width: 17ch !important;
  font-size: clamp(2.45rem, 3.35vw, 4.15rem) !important;
  line-height: .98 !important;
}
.story-drawings,
.feature-block,
.story-actions { width: 100% !important; max-width: none !important; transform: none !important; }
.feature-block { padding: 1.45rem 1.65rem !important; }
.feature-block .feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .25rem 2rem !important; }
.feature-block .feature-list li { font-size: clamp(1.03rem, 1.02vw, 1.18rem) !important; }

.product-model {
  transform: translate3d(0, calc(var(--phase, 0) * 1.2vh), 0) scale(.98) !important;
  filter: drop-shadow(0 2.2rem 2.4rem rgba(0,0,0,.58)) drop-shadow(0 0 1.2rem rgba(62,209,242,.1));
}

.scene-surface--film {
  grid-template-columns: minmax(0, 2.05fr) minmax(18rem, .95fr) !important;
  min-height: max(42rem, calc(92svh - var(--story-header-height))) !important;
  background:
    radial-gradient(circle at 28% 50%, rgba(34,155,188,.12), transparent 38rem),
    linear-gradient(120deg, rgba(4,16,24,.9), rgba(3,10,15,.82)) !important;
}
.film-stage {
  position: relative;
  z-index: 4;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(107,220,247,.22);
  border-radius: 1rem;
  background: #010508;
  box-shadow: 0 2rem 5rem rgba(0,0,0,.42), 0 0 3rem rgba(24,152,184,.08);
}
.film-stage::before { position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(255,255,255,.04); border-radius: inherit; content: ""; pointer-events: none; }
.film-stage video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #010508; }
.film-copy {
  position: relative;
  z-index: 5;
  grid-column: 2;
  grid-row: 1;
  padding: clamp(1.4rem, 2.4vw, 2.7rem);
  border-left: 1px solid rgba(79,215,247,.35);
}
.film-kicker { margin: 0 0 1rem; color: var(--cyan); font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif; font-size: .78rem; font-weight: 700; letter-spacing: .18em; }
.film-copy h2 { margin: 0 0 1.4rem; color: #f2fbff; font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif; font-size: clamp(2rem, 2.8vw, 3.5rem); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.film-copy > p:last-child { margin: 0; color: rgba(225,241,246,.78); font-size: clamp(1rem, 1.08vw, 1.18rem); line-height: 1.7; }
.story-scene--film-products { --scene-accent: #42d8ff; }
.story-scene--film-custom { --scene-accent: #ff654b; }

.cursor-energy { width: 12rem; background: none !important; border: 0 !important; box-shadow: none !important; opacity: .7; }
.cursor-energy::before { inset: 32%; border-style: solid; border-color: rgba(74,220,255,.28); box-shadow: 0 0 1.2rem rgba(50,205,241,.08); }
.cursor-energy::after { inset: 47%; border: 0; background: rgba(106,231,255,.9); box-shadow: 0 0 1rem .15rem rgba(45,208,245,.65); }

@media (max-width: 1450px) {
  .story-header-content { grid-template-columns: 7.2rem minmax(25rem, 1fr) 11rem auto !important; }
  .story-header-content .company-tagline { display: none !important; }
}

@media (max-width: 1050px) {
  :root { --story-header-height: 9.6rem; --header-band-height: 9.6rem; }
  .story-header-content {
    grid-template-columns: 7rem 1fr auto !important;
    grid-template-rows: 3.4rem 4.7rem !important;
    padding: .65rem 1rem !important;
  }
  .story-header-content .topbar { grid-column: 1; grid-row: 1; }
  .header-phones { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: .75rem; }
  .story-header-content .language-switcher { grid-column: 3; grid-row: 1; }
  .story-header-content .story-video-shelf { grid-column: 1 / -1; grid-row: 2; height: 4.7rem !important; }
  .scene-surface,
  .story-scene:not(.story-scene--gripper) .scene-surface,
  .story-scene--gripper .scene-surface,
  .story-scene:nth-child(even) .scene-surface { grid-template-columns: minmax(0, 3fr) minmax(17rem, 2fr) !important; padding-inline: 2rem !important; }
  .scene-surface--film { grid-template-columns: minmax(0, 1.75fr) minmax(16rem, 1fr) !important; }
}

@media (max-width: 760px) {
  :root { --story-header-height: 11.2rem; --header-band-height: 11.2rem; }
  .story-header-content { grid-template-columns: 6.2rem minmax(0,1fr) auto !important; grid-template-rows: 3.8rem 2.2rem 4.1rem !important; height: var(--story-header-height) !important; }
  .story-header-content .brand { width: 6.2rem !important; }
  .header-phones { grid-column: 1 / 3; grid-row: 2; padding-left: 0; border-left: 0; gap: .55rem; }
  .header-phones span { font-size: .58rem; }
  .header-phones a { font-size: .69rem; }
  .story-header-content .language-switcher { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .story-header-content .story-video-shelf { grid-row: 3; height: 4.1rem !important; }
  .header-video-link span { font-size: .62rem; }
  .scroll-story { padding-top: var(--story-header-height) !important; }
  .scene-surface,
  .story-scene:not(.story-scene--gripper) .scene-surface,
  .story-scene--gripper .scene-surface,
  .story-scene:nth-child(even) .scene-surface,
  .scene-surface--film {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 3rem 1rem 3.5rem !important;
    gap: 1.5rem !important;
  }
  .scene-copy,
  .story-scene:nth-child(even) .scene-copy { grid-column: 1 !important; grid-row: 1 !important; padding: 0 .35rem !important; }
  .product-visual,
  .story-scene:nth-child(even) .product-visual { grid-column: 1 !important; grid-row: 2 !important; min-height: 24rem !important; }
  .scene-heading h2,
  .scene-copy--about .scene-heading h2,
  .scene-copy--contact .scene-heading h2 { font-size: clamp(2.15rem, 8.5vw, 3rem) !important; }
  .feature-block .feature-list { grid-template-columns: 1fr !important; }
  .film-stage { grid-column: 1; grid-row: 1; }
  .film-copy { grid-column: 1; grid-row: 2; padding: 1.2rem .5rem 0; border-top: 1px solid rgba(79,215,247,.28); border-left: 0; }
  .film-copy h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
}

/* Compact chapter rhythm: sections follow their content instead of filling a viewport. */
.scene-surface,
.story-scene:not(.story-scene--gripper) .scene-surface,
.story-scene--gripper .scene-surface,
.story-scene:nth-child(even) .scene-surface,
.scene-surface--film {
  min-height: 0 !important;
  padding-top: clamp(1.3rem, 2.4vh, 2rem) !important;
  padding-bottom: clamp(1.3rem, 2.4vh, 2rem) !important;
}

.product-visual,
.story-scene:nth-child(even) .product-visual {
  min-height: clamp(27rem, 49vh, 36rem) !important;
}

.story-scene + .story-scene {
  margin-top: 0 !important;
}

.site-footer {
  margin-top: 0 !important;
}

#kontakt.story-scene--contact .scene-surface {
  padding-bottom: clamp(3.5rem, 6vh, 5rem) !important;
}

@media (max-width: 760px) {
  .scene-surface,
  .story-scene:not(.story-scene--gripper) .scene-surface,
  .story-scene--gripper .scene-surface,
  .story-scene:nth-child(even) .scene-surface,
  .scene-surface--film {
    padding-top: 1.1rem !important;
    padding-bottom: 1.5rem !important;
  }

  .product-visual,
  .story-scene:nth-child(even) .product-visual {
    min-height: 20rem !important;
  }

  #kontakt.story-scene--contact .scene-surface {
    padding-bottom: 2.75rem !important;
  }
}

/* Final header cascade. */
html body .header-band {
  background: rgba(1, 7, 11, .96) !important;
  border-bottom-color: rgba(94, 211, 240, .2) !important;
  box-shadow: 0 .8rem 2.5rem rgba(0, 0, 0, .42) !important;
  backdrop-filter: blur(16px) saturate(112%) !important;
}
html body .story-header-content {
  background: linear-gradient(90deg, rgba(1, 7, 11, .98), rgba(2, 10, 16, .94)) !important;
}
html body .story-header-content .brand {
  width: 8.25rem !important;
  transform-origin: center center !important;
}
html body.is-ready .story-header-content .brand:hover,
html body.is-ready .story-header-content .brand:focus-visible {
  transform: translateY(0) scale(1.075) !important;
}
@media (max-width: 1050px) {
  html body .story-header-content .brand { width: 7.35rem !important; }
}
@media (max-width: 760px) {
  html body .story-header-content .brand { width: 6.4rem !important; }
}

/* Phone numbers as clear call actions in the header and contact card. */
html body .header-phones {
  gap: .28rem;
}
html body .header-phones > span {
  padding-left: .35rem;
  font-size: .74rem !important;
  letter-spacing: .13em !important;
}
html body .header-phones a {
  min-height: 1.85rem;
  padding: .3rem .78rem;
  font-size: .86rem !important;
  border-color: rgba(79, 215, 247, .34);
}

.scene-copy--contact .contact-card--phones .contact-card__copy {
  gap: .48rem;
}
.scene-copy--contact .contact-card--phones .contact-card__copy > small {
  margin-bottom: .08rem;
}
.scene-copy--contact .contact-card--phones .contact-card__copy > strong {
  display: block;
  width: min(100%, 22rem);
  font-size: clamp(1.05rem, 1.25vw, 1.35rem) !important;
  line-height: 1 !important;
}
.scene-copy--contact .contact-card--phones .contact-card__copy > strong > a {
  display: flex;
  align-items: center;
  min-height: 2.7rem;
  padding: .55rem .9rem;
  border: 1px solid rgba(76, 211, 243, .28);
  border-radius: .62rem;
  color: #f2fbff;
  background: linear-gradient(135deg, rgba(15, 55, 73, .9), rgba(4, 24, 35, .96));
  box-shadow: inset 0 1px rgba(255,255,255,.04), 0 .3rem .8rem rgba(0,0,0,.2);
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.scene-copy--contact .contact-card--phones .contact-card__copy > strong > a::before {
  margin-right: .65rem;
  color: var(--cyan);
  font-size: 1rem;
  content: "☎";
}
.scene-copy--contact .contact-card--phones .contact-card__copy > strong > a:hover,
.scene-copy--contact .contact-card--phones .contact-card__copy > strong > a:focus-visible {
  border-color: rgba(80, 224, 255, .72);
  background: linear-gradient(135deg, rgba(17, 75, 98, .96), rgba(5, 31, 45, .98));
  box-shadow: 0 0 1.2rem rgba(46, 198, 232, .14);
  transform: translateX(3px);
}
.scene-copy--contact .contact-card--phones .contact-card__copy > span:last-child {
  margin-top: .08rem;
}

@media (max-width: 760px) {
  html body .header-phones { gap: .3rem; }
  html body .header-phones > span { padding-left: 0; font-size: .65rem !important; }
  html body .header-phones a { min-height: 1.72rem; padding: .22rem .55rem; font-size: .74rem !important; }
  .scene-copy--contact .contact-card--phones .contact-card__copy > strong { width: 100%; }
  .scene-copy--contact .contact-card--phones .contact-card__copy > strong > a { min-height: 2.85rem; }
}

/* Performance profile: retain the visual language without repainting the whole page. */
.particle-field {
  contain: strict;
  pointer-events: none;
}

.story-scene {
  content-visibility: auto;
  contain-intrinsic-size: auto 700px;
}

body::before {
  animation: none !important;
}

html body .header-band {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.story-object {
  filter: drop-shadow(0 1.8rem 1.55rem rgba(0, 0, 0, .56)) !important;
}

@media (max-width: 1050px), (pointer: coarse), (update: slow) {
  .cursor-energy { display: none !important; }
  .particle-field { opacity: .32 !important; }
  .story-object,
  .product-visual__orbit,
  .product-visual::before {
    animation: none !important;
  }
  .product-visual__orbit--two { display: none !important; }
  .story-object {
    filter: drop-shadow(0 1.15rem 1rem rgba(0, 0, 0, .48)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .particle-field { display: none !important; }
}

/* Brighter page surfaces; the navigation band deliberately stays dark. */
html body {
  background:
    radial-gradient(circle at var(--cursor-x, 50%) var(--cursor-y, 20%), rgba(63, 213, 245, .16), transparent 30rem),
    linear-gradient(155deg, #0a2432 0%, #0d3042 46%, #081d2a 100%) !important;
}

html body .site-shell,
html body .story-main {
  background: linear-gradient(180deg, rgba(12, 43, 58, .4), rgba(6, 25, 36, .28)) !important;
}

html body .scene-surface {
  background:
    linear-gradient(135deg, rgba(20, 65, 83, .78), rgba(8, 33, 47, .88)) !important;
  border-color: rgba(96, 213, 240, .22) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 1.3rem 3rem rgba(0, 8, 13, .23) !important;
}

html body .feature-block,
html body .story-drawings,
html body .film-copy,
html body .contact-card {
  background: rgba(7, 35, 48, .76) !important;
  border-color: rgba(100, 214, 240, .22) !important;
}

/* Compact language dropdown. Emoji flags avoid extra image downloads and work from file://. */
html body .language-switcher {
  position: relative !important;
  z-index: 80 !important;
  display: block !important;
  width: min(11rem, 100%) !important;
  min-width: 0 !important;
}

html body .language-select__trigger {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .52rem !important;
  width: 100% !important;
  min-height: 2.55rem !important;
  padding: .42rem .65rem !important;
  border: 1px solid rgba(94, 218, 247, .3) !important;
  border-radius: .68rem !important;
  color: #ecfaff !important;
  background: rgba(7, 26, 36, .96) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .04) !important;
  cursor: pointer !important;
}

html body .language-select__current {
  overflow: hidden;
  font-size: .78rem;
  font-weight: 750;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html body .language-select__flag { font-size: 1.18rem; line-height: 1; }
html body .language-select__chevron { color: var(--cyan); transition: transform .18s ease; }
html body .language-switcher.is-open .language-select__chevron { transform: rotate(180deg); }

html body .language-select__menu {
  position: absolute !important;
  top: calc(100% + .55rem) !important;
  right: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .3rem !important;
  width: min(25rem, calc(100vw - 1.5rem)) !important;
  max-height: min(31rem, calc(100vh - 6.5rem)) !important;
  padding: .55rem !important;
  overflow: auto !important;
  border: 1px solid rgba(90, 215, 244, .28) !important;
  border-radius: .85rem !important;
  background: rgba(2, 14, 21, .985) !important;
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .52) !important;
  scrollbar-color: rgba(67, 201, 232, .7) rgba(255,255,255,.04);
}

html body .language-select__menu[hidden] { display: none !important; }

html body .language-select__option {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .55rem !important;
  min-height: 2.7rem !important;
  padding: .42rem .6rem !important;
  border: 1px solid transparent !important;
  border-radius: .58rem !important;
  color: #dcecf1 !important;
  background: rgba(255, 255, 255, .025) !important;
  font-size: .78rem !important;
  text-align: left !important;
  cursor: pointer !important;
}

html body .language-select__option small { color: #74a6b5; font-size: .61rem; letter-spacing: .08em; }
html body .language-select__option:hover,
html body .language-select__option:focus-visible,
html body .language-select__option.is-current {
  border-color: rgba(83, 218, 248, .35) !important;
  background: rgba(41, 159, 187, .16) !important;
  color: #fff !important;
}

@media (max-width: 760px) {
  html body .language-switcher { width: 4.65rem !important; justify-self: end; }
  html body .language-select__trigger { grid-template-columns: auto auto !important; gap: .35rem !important; padding-inline: .48rem !important; }
  html body .language-select__current { display: none; }
  html body .language-select__menu { grid-template-columns: 1fr !important; width: min(20rem, calc(100vw - 1rem)) !important; }
}

/* EON3 v5 — balanced header, centered film chapters and clearer section rhythm. */
:root {
  --story-header-height: 8.6rem;
  --header-band-height: 8.6rem;
}

html { scroll-padding-top: calc(var(--story-header-height) + 1rem) !important; }
html body .header-band,
html body .story-header-content { height: var(--story-header-height) !important; }

html body .story-header-content {
  grid-template-columns: 9.25rem minmax(14rem, 19rem) minmax(32rem, 1fr) minmax(21rem, 25rem) 12.5rem !important;
  gap: clamp(.8rem, 1.15vw, 1.35rem) !important;
  padding: .72rem clamp(1.25rem, 2.6vw, 3.25rem) !important;
}

html body .story-header-content .brand { width: 9.15rem !important; }
html body .story-header-content .company-tagline {
  width: min(28ch, 100%) !important;
  font-size: clamp(.72rem, .63vw, .84rem) !important;
  line-height: 1.42 !important;
  letter-spacing: .035em !important;
}

html body .story-header-content .story-video-shelf {
  height: 6.75rem !important;
  gap: .72rem !important;
}
html body .header-video-link { border-radius: .78rem; }
html body .header-video-link::after { background: linear-gradient(180deg, transparent 8%, rgba(1,7,11,.94) 100%); }
html body .header-video-link span {
  right: .7rem;
  bottom: .6rem;
  left: .7rem;
  font-size: clamp(.78rem, .68vw, .94rem) !important;
  font-weight: 750 !important;
  line-height: 1.14 !important;
  text-shadow: 0 2px .55rem #000, 0 0 .15rem #000;
}

html body .header-phones {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .38rem .52rem !important;
  width: 100%;
  padding: 0 !important;
  border: 0 !important;
}
html body .header-phones > span {
  grid-column: 1 / -1;
  padding: 0 .15rem !important;
  font-size: .76rem !important;
}
html body .header-phones a {
  min-height: 2.85rem !important;
  padding: .55rem .65rem !important;
  font-size: clamp(.82rem, .68vw, .98rem) !important;
  font-weight: 750 !important;
  white-space: nowrap;
}

html body .language-switcher { width: 12.5rem !important; }
html body .language-select__trigger {
  min-height: 3.55rem !important;
  padding: .55rem .72rem !important;
  gap: .62rem !important;
}
html body .language-select__current { font-size: .9rem !important; }

html body .language-select__flag {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.55rem;
  height: 1.65rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: .28rem;
  background: #17384a;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.12), 0 .18rem .42rem rgba(0,0,0,.22);
}
html body .language-select__flag small {
  position: relative;
  z-index: 2;
  padding: .12rem .2rem;
  border-radius: .18rem;
  color: #fff !important;
  background: rgba(0,8,13,.58);
  font-size: .58rem !important;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .07em !important;
  text-shadow: 0 1px 2px #000;
}
html body .language-select__option {
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-height: 3.15rem !important;
  font-size: .86rem !important;
}

/* Local CSS flags: dependable on Windows and when opening the page from disk. */
[data-language="en"] .language-select__flag { background: linear-gradient(32deg,transparent 44%,#fff 44% 48%,#cf1734 48% 53%,#fff 53% 57%,transparent 57%),linear-gradient(-32deg,transparent 44%,#fff 44% 48%,#cf1734 48% 53%,#fff 53% 57%,transparent 57%),linear-gradient(90deg,transparent 39%,#fff 39% 45%,#cf1734 45% 55%,#fff 55% 61%,transparent 61%),linear-gradient(transparent 34%,#fff 34% 42%,#cf1734 42% 58%,#fff 58% 66%,transparent 66%),#173c78; }
[data-language="pl"] .language-select__flag { background: linear-gradient(#fff 50%,#dc143c 50%); }
[data-language="de"] .language-select__flag { background: linear-gradient(#171717 33.33%,#d51f2b 33.33% 66.66%,#f4ca22 66.66%); }
[data-language="es"] .language-select__flag { background: linear-gradient(#b9132f 25%,#f6c928 25% 75%,#b9132f 75%); }
[data-language="ja"] .language-select__flag { background: radial-gradient(circle,#bc002d 0 32%,transparent 34%),#fff; }
[data-language="uk"] .language-select__flag { background: linear-gradient(#1769b0 50%,#ffd532 50%); }
[data-language="fr"] .language-select__flag { background: linear-gradient(90deg,#173c78 33.33%,#fff 33.33% 66.66%,#e32a3b 66.66%); }
[data-language="it"] .language-select__flag { background: linear-gradient(90deg,#15934a 33.33%,#fff 33.33% 66.66%,#ce2b37 66.66%); }
[data-language="sv"] .language-select__flag { background: linear-gradient(90deg,transparent 30%,#f7d12c 30% 40%,transparent 40%),linear-gradient(transparent 42%,#f7d12c 42% 57%,transparent 57%),#1763a7; }
[data-language="no"] .language-select__flag { background: linear-gradient(90deg,transparent 27%,#fff 27% 43%,transparent 43%),linear-gradient(transparent 36%,#fff 36% 64%,transparent 64%),linear-gradient(90deg,transparent 31%,#153b73 31% 39%,transparent 39%),linear-gradient(transparent 43%,#153b73 43% 57%,transparent 57%),#ba2037; }
[data-language="cs"] .language-select__flag { background: linear-gradient(145deg,#245aa8 0 34%,transparent 35%),linear-gradient(#fff 50%,#d82336 50%); }
[data-language="lt"] .language-select__flag { background: linear-gradient(#f6c928 33.33%,#16814a 33.33% 66.66%,#b72a35 66.66%); }
[data-language="lv"] .language-select__flag { background: linear-gradient(#9e2138 40%,#fff 40% 60%,#9e2138 60%); }
[data-language="et"] .language-select__flag { background: linear-gradient(#3f8ad8 33.33%,#151515 33.33% 66.66%,#fff 66.66%); }
[data-language="sk"] .language-select__flag,[data-language="sl"] .language-select__flag { background: linear-gradient(#fff 33.33%,#2553a5 33.33% 66.66%,#d52b3d 66.66%); }
[data-language="da"] .language-select__flag { background: linear-gradient(90deg,transparent 29%,#fff 29% 39%,transparent 39%),linear-gradient(transparent 43%,#fff 43% 57%,transparent 57%),#bf2638; }
[data-language="be"] .language-select__flag { background: linear-gradient(90deg,#171717 33.33%,#f3d12e 33.33% 66.66%,#d72b3f 66.66%); }
[data-language="nl"] .language-select__flag,[data-language="hr"] .language-select__flag { background: linear-gradient(#ae1c28 33.33%,#fff 33.33% 66.66%,#21468b 66.66%); }
[data-language="el"] .language-select__flag { background: repeating-linear-gradient(#1c67ae 0 11%,#fff 11% 22%); }
[data-language="pt"] .language-select__flag { background: linear-gradient(90deg,#16734b 40%,#d32337 40%); }
[data-language="ro"] .language-select__flag { background: linear-gradient(90deg,#164b9b 33.33%,#f5cd26 33.33% 66.66%,#ca2638 66.66%); }
[data-language="hu"] .language-select__flag { background: linear-gradient(#c62a3b 33.33%,#fff 33.33% 66.66%,#397b4a 66.66%); }
[data-language="bg"] .language-select__flag { background: linear-gradient(#fff 33.33%,#26966b 33.33% 66.66%,#d02b3d 66.66%); }
[data-language="fi"] .language-select__flag { background: linear-gradient(90deg,transparent 28%,#2457a5 28% 40%,transparent 40%),linear-gradient(transparent 40%,#2457a5 40% 58%,transparent 58%),#fff; }
[data-language="ga"] .language-select__flag { background: linear-gradient(90deg,#169b62 33.33%,#fff 33.33% 66.66%,#ff883e 66.66%); }
[data-language="mt"] .language-select__flag { background: linear-gradient(90deg,#fff 50%,#cf263d 50%); }

html body .scroll-story { padding-top: var(--story-header-height) !important; }
html body .story-scene + .story-scene { margin-top: clamp(1.35rem, 2vw, 2.4rem) !important; }

/* Product artwork starts lower, clear of the fixed navigation. */
html body .product-visual,
html body .story-scene:nth-child(even) .product-visual {
  transform: translateY(clamp(1.35rem, 2.6vh, 2.5rem)) !important;
}

/* A film chapter always occupies and centers itself in the viewport below the header. */
html body .story-scene--film {
  min-height: calc(100svh - var(--story-header-height)) !important;
  scroll-margin-top: var(--story-header-height) !important;
}
html body .story-scene--film .scene-surface,
html body .scene-surface--film {
  min-height: calc(100svh - var(--story-header-height)) !important;
  padding-top: clamp(2.6rem, 5vh, 4.5rem) !important;
  padding-bottom: clamp(2.6rem, 5vh, 4.5rem) !important;
  align-content: center !important;
  align-items: center !important;
}

@media (max-width: 1450px) and (min-width: 1051px) {
  :root { --story-header-height: 8.6rem; --header-band-height: 8.6rem; }
  html body .story-header-content {
    grid-template-columns: 8.4rem minmax(27rem, 1fr) minmax(20rem, 24rem) 10.5rem !important;
  }
  html body .story-header-content .company-tagline { display: none !important; }
  html body .story-header-content .brand { width: 8.35rem !important; }
  html body .language-switcher { width: 10.5rem !important; }
}

@media (max-width: 1050px) {
  :root { --story-header-height: 11.7rem; --header-band-height: 11.7rem; }
  html body .story-header-content {
    grid-template-columns: 8rem minmax(0, 1fr) 10.5rem !important;
    grid-template-rows: 4.1rem 5.9rem !important;
    padding: .65rem 1rem !important;
  }
  html body .story-header-content .brand { width: 7.8rem !important; }
  html body .header-phones { grid-column: 2; grid-row: 1; }
  html body .header-phones > span { display: none; }
  html body .header-phones a { min-height: 2.4rem !important; }
  html body .story-header-content .language-switcher { grid-column: 3; grid-row: 1; }
  html body .story-header-content .story-video-shelf { grid-column: 1 / -1; grid-row: 2; height: 5.9rem !important; }
}

@media (max-width: 760px) {
  :root { --story-header-height: 12.6rem; --header-band-height: 12.6rem; }
  html body .story-header-content {
    grid-template-columns: 6.8rem minmax(0, 1fr) 5.3rem !important;
    grid-template-rows: 4.4rem 2.6rem 4.4rem !important;
  }
  html body .story-header-content .brand { width: 6.7rem !important; }
  html body .header-phones { grid-column: 1 / 3; grid-row: 2; gap: .35rem !important; }
  html body .header-phones a { min-height: 2.25rem !important; padding: .35rem .42rem !important; font-size: clamp(.66rem, 2.6vw, .8rem) !important; }
  html body .story-header-content .language-switcher { grid-column: 3; grid-row: 1 / 3; width: 5.3rem !important; }
  html body .language-select__trigger { grid-template-columns: 1fr auto !important; min-height: 3.25rem !important; }
  html body .language-select__flag { width: 2.35rem; height: 1.55rem; }
  html body .story-header-content .story-video-shelf { grid-row: 3; height: 4.4rem !important; }
  html body .header-video-link span { font-size: clamp(.62rem, 2.5vw, .76rem) !important; }
  html body .product-visual,
  html body .story-scene:nth-child(even) .product-visual { transform: translateY(.8rem) !important; }
  html body .story-scene--film,
  html body .story-scene--film .scene-surface { min-height: auto !important; }
  html body .story-scene--film .scene-surface { padding-top: 2.4rem !important; padding-bottom: 2.8rem !important; }
}

/* EON3 v6 — compact, vertically centred desktop navigation. */
:root {
  --story-header-height: 7.75rem;
  --header-band-height: 7.75rem;
}

html body {
  font-family: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
}

html body .story-header-content {
  grid-template-columns: 8.35rem minmax(23rem, 1fr) 33rem 23rem 11.25rem !important;
  align-items: center !important;
  gap: clamp(.7rem, .95vw, 1.15rem) !important;
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
}

html body .story-header-content > * {
  align-self: center !important;
  min-height: 0;
}

html body .story-header-content .topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: calc(var(--story-header-height) - 1.1rem) !important;
  min-height: 0 !important;
  padding: .42rem !important;
  overflow: hidden !important;
}

html body .story-header-content .brand,
html body.is-ready .story-header-content .brand {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 7.65rem !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  transform: none !important;
  transform-origin: center !important;
}

html body .story-header-content .brand img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 5.65rem !important;
  object-fit: contain !important;
}

html body.is-ready .story-header-content .brand:hover,
html body.is-ready .story-header-content .brand:focus-visible {
  transform: scale(1.035) !important;
}

html body .story-header-content .company-tagline {
  display: block !important;
  width: 100% !important;
  max-width: 62ch !important;
  margin: 0 !important;
  font-size: clamp(.67rem, .56vw, .77rem) !important;
  line-height: 1.34 !important;
  letter-spacing: .025em !important;
}

html body .story-header-content .story-video-shelf {
  align-self: center !important;
  height: 5.7rem !important;
  gap: .58rem !important;
  transform: translateY(-.08rem);
}

html body .header-video-link span {
  right: .56rem !important;
  bottom: .48rem !important;
  left: .56rem !important;
  font-size: clamp(.7rem, .57vw, .82rem) !important;
}

html body .header-phones,
html body .story-header-content .language-switcher {
  align-self: center !important;
  transform: translateY(-.08rem);
}

html body .header-phones a {
  min-height: 2.55rem !important;
  padding: .46rem .55rem !important;
}

html body .language-switcher { width: 11.25rem !important; }
html body .language-select__trigger { min-height: 3.25rem !important; }

@media (max-width: 1700px) and (min-width: 1451px) {
  html body .story-header-content {
    grid-template-columns: 7.8rem minmax(19rem, 24rem) minmax(25rem, 1fr) minmax(18rem, 21rem) 10rem !important;
  }
  html body .story-header-content .brand { width: 7.2rem !important; }
  html body .story-header-content .company-tagline {
    max-width: 40ch !important;
    font-size: .66rem !important;
  }
  html body .language-switcher { width: 10rem !important; }
}

@media (max-width: 1450px) and (min-width: 1051px) {
  :root { --story-header-height: 7.75rem; --header-band-height: 7.75rem; }
  html body .story-header-content {
    grid-template-columns: 7.7rem minmax(25rem, 1fr) minmax(19rem, 22rem) 10rem !important;
  }
  html body .story-header-content .company-tagline { display: none !important; }
  html body .story-header-content .brand { width: 7.2rem !important; }
  html body .language-switcher { width: 10rem !important; }
}

@media (max-width: 1050px) {
  html body .story-header-content .topbar {
    height: 100% !important;
    padding: .3rem !important;
  }
  html body .story-header-content .brand,
  html body.is-ready .story-header-content .brand {
    width: min(7.1rem, 100%) !important;
  }
  html body .story-header-content .story-video-shelf,
  html body .header-phones,
  html body .story-header-content .language-switcher { transform: none; }
}

/* EON3 v7 — mobile header and chapter opening composition. */
html body .header-office-hours {
  display: none;
}

@media (max-width: 760px) {
  :root {
    --story-header-height: 13.55rem;
    --header-band-height: 13.55rem;
  }

  html body .header-band,
  html body .story-header-content {
    height: var(--story-header-height) !important;
  }

  html body .story-header-content {
    grid-template-columns: 7.25rem minmax(0, 1fr) 4.7rem !important;
    grid-template-rows: 4.65rem 3.65rem 4.35rem !important;
    column-gap: .55rem !important;
    row-gap: .22rem !important;
    padding: .38rem .72rem !important;
  }

  html body .story-header-content .topbar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 7.25rem !important;
    height: 4.45rem !important;
    padding: .28rem !important;
  }

  html body .story-header-content .brand,
  html body.is-ready .story-header-content .brand {
    width: 6.75rem !important;
    height: 100% !important;
  }

  html body .story-header-content .brand img {
    max-height: 3.7rem !important;
  }

  html body .story-header-content .company-tagline {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: -webkit-box !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 4.2rem;
    padding-left: .58rem !important;
    overflow: hidden;
    border-left: 1px solid rgba(67, 218, 250, .58) !important;
    color: rgba(224, 243, 248, .76) !important;
    font-size: clamp(.49rem, 1.8vw, .59rem) !important;
    line-height: 1.24 !important;
    letter-spacing: .025em !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
  }

  html body .story-header-content .language-switcher {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    width: 4.7rem !important;
    transform: translateY(-.12rem);
  }

  html body .language-select__trigger {
    min-height: 3.15rem !important;
    padding: .35rem .42rem !important;
  }

  html body .header-phones {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: .92rem 2.45rem !important;
    gap: .16rem .38rem !important;
    width: 100% !important;
    height: 3.55rem;
    padding: 0 !important;
    transform: none;
  }

  html body .header-phones > span {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    align-self: center;
    padding: 0 .15rem !important;
    font-size: .57rem !important;
    line-height: 1 !important;
  }

  html body .header-office-hours {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    align-self: center;
    margin: 0;
    padding: 0 .15rem;
    color: rgba(197, 227, 235, .68);
    font-size: clamp(.5rem, 1.7vw, .58rem);
    font-weight: 600;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
  }

  html body .header-phones a {
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.45rem !important;
    padding: .42rem .22rem !important;
    font-size: clamp(.7rem, 3vw, .84rem) !important;
  }

  html body .story-header-content .story-video-shelf {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    align-self: end !important;
    width: 100% !important;
    height: 4.15rem !important;
    gap: .55rem !important;
    transform: none;
  }

  html body .scroll-story {
    padding-top: var(--story-header-height) !important;
  }

  html body .story-scene:not(.story-scene--film) .scene-surface,
  html body .story-scene:not(.story-scene--film):nth-child(even) .scene-surface {
    display: grid !important;
    grid-template-columns: minmax(0, 1.16fr) minmax(8.25rem, .84fr) !important;
    align-items: center !important;
    gap: 1.05rem .8rem !important;
    padding: 1.15rem 1rem 2rem !important;
  }

  html body .story-scene:not(.story-scene--film) .scene-copy,
  html body .story-scene:not(.story-scene--film):nth-child(even) .scene-copy {
    display: contents !important;
  }

  html body .story-scene:not(.story-scene--film) .scene-heading {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    min-width: 0;
    margin: 0 !important;
    padding: .25rem 0 .25rem .2rem;
  }

  html body .story-scene:not(.story-scene--film) .scene-heading h2,
  html body .story-scene--about .scene-heading h2,
  html body .story-scene--contact .scene-heading h2 {
    max-width: 11ch !important;
    margin: .4rem 0 0 !important;
    font-size: clamp(1.3rem, 5.1vw, 1.7rem) !important;
    line-height: .98 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  html body .story-scene:not(.story-scene--film) .product-visual,
  html body .story-scene:not(.story-scene--film):nth-child(even) .product-visual {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    width: 100% !important;
    height: 11.75rem !important;
    min-height: 11.75rem !important;
    max-height: 11.75rem !important;
    margin: 0 !important;
    transform: none !important;
  }

  html body .story-scene:not(.story-scene--film) .product-visual::before {
    width: 112% !important;
  }

  html body .story-scene:not(.story-scene--film) .product-visual__orbit {
    width: min(36vw, 11rem) !important;
  }

  html body .story-scene:not(.story-scene--film) .story-object--gripper,
  html body .story-scene:not(.story-scene--film) .story-object--limiter,
  html body .story-scene:not(.story-scene--film) .story-object--book,
  html body .story-scene:not(.story-scene--film) .story-object--phone {
    width: min(34vw, 10.5rem) !important;
    max-width: 100% !important;
    max-height: 11rem !important;
  }

  html body .story-scene:not(.story-scene--film) .story-drawings,
  html body .story-scene:not(.story-scene--film) .story-actions,
  html body .story-scene:not(.story-scene--film) .feature-block,
  html body .story-scene:not(.story-scene--film) .lead-copy,
  html body .story-scene:not(.story-scene--film) .contact-list {
    grid-column: 1 / -1 !important;
    min-width: 0;
  }
}

@media (max-width: 390px) {
  :root {
    --story-header-height: 14rem;
    --header-band-height: 14rem;
  }

  html body .story-header-content {
    grid-template-columns: 6.4rem minmax(0, 1fr) 4.4rem !important;
  }

  html body .story-header-content .topbar { width: 6.4rem !important; }
  html body .story-header-content .brand,
  html body.is-ready .story-header-content .brand { width: 5.95rem !important; }
  html body .story-header-content .language-switcher { width: 4.4rem !important; }
  html body .header-office-hours { font-size: .48rem; }
}

/* EON3 v8 — stronger header typography, larger mobile products and tighter films. */
html body .story-header-content .company-tagline {
  max-width: 58ch !important;
  color: rgba(232, 247, 251, .9) !important;
  font-size: clamp(.82rem, .72vw, 1rem) !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: .018em !important;
}

html body .header-phones {
  grid-template-rows: auto auto !important;
  row-gap: .3rem !important;
}

html body .header-phones > span {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: end;
  color: #55ddff !important;
  font-size: clamp(.84rem, .72vw, .96rem) !important;
  line-height: 1.1 !important;
}

html body .header-office-hours {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block;
  align-self: end;
  margin: 0;
  padding: 0 .15rem;
  color: rgba(224, 243, 248, .82);
  font-size: clamp(.76rem, .62vw, .86rem);
  font-weight: 650;
  line-height: 1.1;
  text-align: right;
}

html body .header-phones a {
  grid-row: 2 !important;
}

@media (min-width: 761px) {
  html body .story-scene--film {
    scroll-margin-top: calc(var(--story-header-height) + 3.7rem) !important;
  }

  html body #o-nas {
    scroll-margin-top: calc(var(--story-header-height) + 2rem) !important;
  }

  html body .story-scene--film,
  html body .story-scene--film .scene-surface,
  html body .scene-surface--film {
    min-height: 0 !important;
  }

  html body .story-scene--film .scene-surface,
  html body .scene-surface--film {
    padding-top: clamp(2rem, 3.2vh, 3rem) !important;
    padding-bottom: clamp(2rem, 3.2vh, 3rem) !important;
  }

  html body .story-scene--film + .story-scene--film,
  html body .story-scene--film + .story-scene--about {
    margin-top: .55rem !important;
  }
}

@media (max-width: 760px) {
  :root {
    --story-header-height: 15.3rem;
    --header-band-height: 15.3rem;
  }

  html body .story-header-content {
    grid-template-rows: 5.65rem 4.05rem 4.35rem !important;
  }

  html body .story-header-content .topbar {
    height: 5.3rem !important;
  }

  html body .story-header-content .brand img {
    max-height: 4.25rem !important;
  }

  html body .story-header-content .company-tagline {
    max-height: 5.15rem !important;
    color: rgba(235, 248, 251, .92) !important;
    font-size: clamp(.62rem, 2.25vw, .72rem) !important;
    font-weight: 650 !important;
    line-height: 1.18 !important;
    letter-spacing: .012em !important;
    -webkit-line-clamp: 7;
  }

  html body .header-phones {
    grid-template-rows: 1.25rem 2.58rem !important;
    height: 3.95rem !important;
    gap: .12rem .38rem !important;
  }

  html body .header-phones > span {
    font-size: clamp(.7rem, 2.7vw, .8rem) !important;
    font-weight: 800 !important;
  }

  html body .header-office-hours {
    font-size: clamp(.68rem, 2.55vw, .76rem) !important;
    font-weight: 700;
    line-height: 1.04;
    white-space: normal;
  }

  html body .header-phones a {
    min-height: 2.58rem !important;
  }

  html body .story-scene:not(.story-scene--film) .scene-surface,
  html body .story-scene:not(.story-scene--film):nth-child(even) .scene-surface {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  html body .story-scene:not(.story-scene--film) .scene-heading h2,
  html body .story-scene--about .scene-heading h2,
  html body .story-scene--contact .scene-heading h2 {
    max-width: 100% !important;
    font-size: clamp(1.15rem, 4.4vw, 1.5rem) !important;
  }

  html body .story-scene:not(.story-scene--film) .product-visual,
  html body .story-scene:not(.story-scene--film):nth-child(even) .product-visual {
    height: 15.5rem !important;
    min-height: 15.5rem !important;
    max-height: 15.5rem !important;
  }

  html body .story-scene:not(.story-scene--film) .story-object--gripper,
  html body .story-scene:not(.story-scene--film) .story-object--limiter,
  html body .story-scene:not(.story-scene--film) .story-object--book,
  html body .story-scene:not(.story-scene--film) .story-object--phone {
    width: min(46vw, 13.5rem) !important;
    max-width: 108% !important;
    max-height: 15rem !important;
  }

  html body .scene-number,
  html body .scene-next {
    display: none !important;
  }
}

@media (max-width: 390px) {
  :root {
    --story-header-height: 15.65rem;
    --header-band-height: 15.65rem;
  }
}

/* EON3 v9 — wider desktop contact lane and clear separation from language menu. */
@media (min-width: 1451px) {
  html body .story-header-content {
    grid-template-columns: 8.35rem minmax(23rem, 1fr) 33rem 25.5rem 11.25rem !important;
  }

  html body .header-office-hours {
    min-width: 0;
    padding-right: .45rem;
    white-space: nowrap;
  }

  html body .story-header-content .language-switcher {
    transform: translate(.55rem, -.08rem);
  }
}

@media (max-width: 1450px) and (min-width: 1051px) {
  html body .header-office-hours {
    min-width: 0;
    padding-right: .35rem;
    font-size: .7rem;
    line-height: 1.05;
    white-space: normal;
  }

  html body .story-header-content .language-switcher {
    transform: translate(.35rem, -.08rem);
  }
}

/* Shared PDF and CAD downloads. */
html body .downloads-hub{position:relative;z-index:5;margin:1.2rem clamp(1rem,5vw,6rem) 2rem;padding:1.25rem;border:1px solid #3bc8ec40;background:linear-gradient(120deg,#12374b,#071d2c);color:#edfaff;border-radius:12px}
.downloads-hub>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.downloads-hub h2{margin:0;font-size:1.05rem;color:#5ed9f5}.downloads-hub>header>span,.download-card>small{font-size:.7rem;letter-spacing:.12em;color:#9fc4d5}.downloads-hub__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.download-card{display:flex;flex-direction:column;min-width:0;padding:1rem;background:#06182699;border:1px solid #63cbe92e;border-radius:7px}.download-card h3{font-size:.92rem;line-height:1.4;margin:.45rem 0 1rem;overflow-wrap:anywhere;color:#fff}.download-card__actions{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:auto}.download-card a{color:#6be0ff;font-size:.8rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px;padding:.35rem 0}.download-card a:hover{color:white}.download-card a:focus-visible{outline:2px solid #6be0ff;outline-offset:4px}.download-card__model{display:flex;justify-content:space-between;gap:.5rem;margin-top:auto}.download-card__model span{color:#9fc4d5}html body .story-drawings__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.story-drawing b small{display:block;margin-top:.25rem;font-size:.65rem;opacity:.7}
@media(max-width:1050px){.downloads-hub__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.downloads-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.download-card:last-child{grid-column:1/-1}html body .downloads-hub{padding:.85rem;margin:1rem .75rem}.download-card{padding:.75rem}html body .story-drawings__grid--three .story-drawing{padding:.7rem .45rem;gap:.35rem}}
