/* GPT Redesign: additive refinements, retaining the original visual system. */
/* Selected current-project banner A: shared by Home and EU Projects.
   The dark-only override leaves the original white light-mode band intact. */
:root[data-theme="dark"] .cpb {
  color-scheme: dark;
  --bg: #131318;
  --bg-raised: #19191f;
  --bg-sunk: #0d0d12;
  --fg: #f1f1f5;
  --fg-2: #c7c7d0;
  --fg-3: #adaeb9;
  --fg-4: #9696a2;
  --rule: #37323a;
  --rule-strong: #5b535d;
  --accent-text: #ff927b;
  color: var(--fg);
  background-color: var(--bg);
  background-image: radial-gradient(70% 160% at 57% -35%, rgba(250,38,0,.17), transparent 68%), linear-gradient(180deg, #19171d, #131318);
  border-color: var(--rule);
}
:root[data-theme="dark"] .cpb .cpb2__logos img {
  background: #fff;
  padding: 8px;
  border-radius: 4px;
  filter: none;
}
:root[data-theme="dark"] .cpb .btn--ghost {
  color: var(--fg);
  border-color: var(--rule-strong);
  background: transparent;
}
.cpb2__subpages { margin-top: 3px; min-width: 0; font-size: .75rem; }
.cpb2__subpages summary { display: flex; align-items: center; gap: 7px; min-height: 36px; width: fit-content; max-width: 100%; color: var(--fg-2); cursor: pointer; list-style: none; }
.cpb2__subpages summary::-webkit-details-marker { display: none; }
.cpb2__subpages summary > .icon { width: 15px; height: 15px; flex-shrink: 0; }
.cpb2__subpages summary > .icon:last-child { transition: transform .2s; }
.cpb2__subpages[open] summary > .icon:last-child { transform: rotate(180deg); }
.cpb2__subpage-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding-inline: 4px; border: 1px solid var(--rule-strong); border-radius: 5px; color: var(--accent-text); font-size: .68rem; }
.cpb2__subpages ul { margin: 2px 0 5px 7px; padding: 0 0 0 14px; border-left: 1px solid var(--rule-strong); list-style: none; }
.cpb2__subpages li a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 8px; color: var(--fg); line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.cpb2__subpages li .icon { width: 15px; height: 15px; color: var(--accent-text); flex-shrink: 0; }
.cpb2__subpages a:hover { color: var(--accent-text); }
.cpb2__subpages :is(a, summary):focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
/* Smaller homepage publicity band; keep both projects and their documents visible. */
.cpb--compact { padding-block: 10px; }
.cpb--compact .cpb2--duo { grid-template-columns: 164px minmax(0, 1fr); gap: 6px 24px; }
.cpb--compact .cpb2__logos img { max-width: 164px; }
.cpb--compact .cpb2__projects { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cpb--compact .cpb2__proj { gap: 2px; }
.cpb--compact .cpb2__kick { font-size: .625rem; letter-spacing: .035em; line-height: 1.4; }
.cpb--compact .cpb2__title { font-size: 1rem; margin-top: 1px; }
.cpb--compact .cpb2__links { gap: 6px; margin-top: 3px; }
.cpb--compact .cpb2__links .btn { min-height: 36px; padding: 6px 12px; font-size: .75rem; gap: 6px; }
.cpb--compact .cpb2__links .icon { width: 15px; height: 15px; }
.cpb--compact .cpb2__subpages { margin-top: 0; }
.cpb--compact .cpb2__subpages summary { min-height: 32px; }
.cpb--compact .cpb2__statement { margin-top: 0; padding-top: 5px; }
@media (min-width: 761px) {
 .cpb--compact { padding-block: 8px; }
 .cpb--compact .cpb2--duo { grid-template-columns: 144px minmax(0, 1fr); gap: 5px 20px; }
 .cpb--compact .cpb2__logos img { max-width: 144px; }
 .cpb--compact .cpb2__projects { gap: 20px; }
 .cpb--compact .cpb2__proj { gap: 1px; }
 .cpb--compact .cpb2__title { font-size: .9375rem; margin-top: 0; }
 .cpb--compact .cpb2__links { margin-top: 2px; }
 .cpb--compact .cpb2__links .btn { min-height: 32px; padding-block: 4px; }
 .cpb--compact .cpb2__proj + .cpb2__proj::before { left: -10px; }
 .cpb--compact .cpb2__proj + .cpb2__proj::after { left: -12.5px; }
}
@media (max-width: 1100px) and (min-width: 761px) {
 .cpb--compact .cpb2--duo { grid-template-columns: 120px minmax(0, 1fr); gap: 5px 16px; }
 .cpb--compact .cpb2__logos img { max-width: 120px; }
}
@media (max-width: 760px) {
 /* Pair the funding statement with the emblem instead of stacking two bands. */
 .cpb--compact { padding-block: 8px; }
 .cpb--compact .cpb2--duo { grid-template-columns: 112px minmax(0, 1fr); gap: 7px 12px; }
 .cpb--compact .cpb2__logos { grid-column: 1; grid-row: 1; align-self: center; }
 .cpb--compact .cpb2__logos img { max-width: 112px; }
 .cpb--compact .cpb2__statement { grid-column: 2; grid-row: 1; padding-top: 0; border-top: 0; }
 .cpb--compact .cpb2__projects { grid-column: 1 / -1; grid-row: 2; grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 7px; border-top: 1px solid var(--rule); }
 .cpb--compact .cpb2__proj + .cpb2__proj { padding-top: 8px; }
 .cpb--compact .cpb2__title { font-size: .875rem; line-height: 1.25; }
 .cpb--compact .cpb2__links { margin-top: 1px; }
 .cpb--compact .cpb2__links .btn { padding-inline: 9px; min-height: 32px; }
}
@media (prefers-reduced-motion: reduce) { .cpb2__subpages summary > .icon:last-child { transition: none; } }
.loader{display:none!important}
[data-product-image] { -webkit-touch-callout: none; -webkit-user-drag: none; user-select: none; -webkit-user-select: none; }
.cnc-review{min-width:0;background:radial-gradient(ellipse at 50% 40%,#f5f5f3,#deded8);border:1px solid #d1d0ca;border-radius:22px;overflow:hidden;box-shadow:0 20px 55px #22222209}
.cnc-stage{height:clamp(320px,35vw,520px);position:relative;cursor:grab;touch-action:pan-y}
.cnc-stage:active{cursor:grabbing}.cnc-stage canvas{display:block;width:100%;height:100%}
.cnc-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 22px;border-top:1px solid #ccccc5;font-size:13px;color:#50565c}
.cnc-caption button{font:inherit;border:1px solid #bbbfbf;border-radius:20px;background:#ffffff88;padding:8px 12px;cursor:pointer;color:#292d30}
.cnc-caption button[aria-pressed=true]{background:#292d30;color:white}.cnc-unavailable:after{content:'CNC motion preview requires WebGL';position:absolute;inset:40% 12%;text-align:center;color:#444}
.marquee{--loop-distance:50%;touch-action:pan-y;cursor:grab;padding-block:12px;contain:layout paint}
.marquee__track{animation-name:lm-marquee;animation-play-state:paused}
.marquee.is-visible .marquee__track{animation-play-state:running}
.marquee.is-paused .marquee__track{animation-play-state:paused}
.marquee__group{flex:none;min-width:100%;box-sizing:border-box}
.marquee__item{width:160px;height:76px}.marquee__item img{max-width:145px;max-height:54px;height:auto;opacity:.85}
.marquee__item--part{width:clamp(130px,15vw,210px);height:150px}.marquee__item--part img{max-width:90%;max-height:132px;opacity:1}
.marquee--brands .marquee__item{height:64px;width:164px}.marquee--brands .marquee__item img{max-width:144px;max-height:36px}
@keyframes lm-marquee{to{transform:translate3d(calc(-1 * var(--loop-distance)),0,0)}}
@media(hover:hover){.marquee:hover .marquee__track{animation-play-state:paused}}
.lsw__btn{min-height:40px;gap:8px;padding-inline:12px;background:var(--paper-raised);border-color:var(--line-strong)}
.lsw__globe{font-size:23px;line-height:1}.lsw__menu{min-width:232px;padding:8px;border-radius:16px;box-shadow:0 15px 45px #16161a24;max-height:min(420px,70dvh);overflow:auto}
.lsw__item{min-height:44px;border-radius:9px;gap:12px;padding:9px 12px}.lsw__item.is-current{background:var(--red-wash);color:var(--accent-text)}
.lsw__locale-code{width:25px;font-size:11px;color:var(--ink-4);font-weight:600}.lsw__item:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
@media(max-width:1040px){
 .mobile-menu{inset:var(--nav-h) 0 0;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line);}
 .mobile-menu__inner{max-width:680px;margin-inline:auto;padding:22px clamp(22px,5vw,44px) 40px;min-height:100%;}
 .mobile-menu__list{display:grid;gap:0}.mobile-menu__list>li{border-bottom:1px solid var(--line)}
 .mobile-menu__list .nav__link{font-family:var(--font-display);font-size:clamp(23px,4.6vw,31px);font-weight:650;letter-spacing:-.015em;padding:12px 4px;line-height:1.2;min-height:49px;}
 .mobile-menu__list .nav__link.is-active{color:var(--red-ink)}
 .mobile-menu__foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px;padding-bottom:30px}
 .mobile-menu__contact{flex-basis:100%;display:flex;justify-content:space-between;padding:15px 19px;border-radius:12px;background:var(--red-btn);color:white;text-decoration:none;font-weight:650}
 .mobile-menu .lsw__menu{bottom:calc(100% + 8px);top:auto;left:0;right:auto}
 .nav__toggle{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:11px;background:var(--paper-raised)}
 .nav__inner{gap:12px}.nav__side{gap:10px}
 .hero5,.split,.asmx__wrap,.contact__grid{min-width:0}
}
@media(max-width:600px){
 .hero5{gap:24px}.hero5__scene{width:100%;min-width:0}.hero__actions{gap:10px;flex-wrap:wrap}.hero__actions .btn{white-space:normal}
 .cnc-stage{height:330px}.cnc-caption{padding:12px 14px;font-size:11px}
 .nav__brand{max-width:132px}.nav__brand svg{max-width:100%}.nav__side{gap:7px}.nav__side>.theme-switch{display:none}
 .marquee{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
 .marquee__item--part{height:130px}.marquee__item--part img{max-height:110px}
 .mx2__types{grid-template-columns:repeat(2,minmax(0,1fr))}.mx2-type__name{overflow-wrap:anywhere}
 .asmx__text,.asm,.sec-head,.footer__col{min-width:0}.asm__tblock{font-size:9px}
 .footer__cbtn span{overflow-wrap:anywhere}.cpb2__title{overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto;mask-image:none}.marquee__track{animation:none!important;transform:none!important}.marquee__group[aria-hidden=true]{display:none}.cnc-stage{cursor:default}}
/* A geographic export map with a permanent Bulgaria label. */
.reach-map{position:relative;border:1px solid var(--line-strong);border-radius:20px;background:#e5e8e6;overflow:hidden;color:#252b2f;isolation:isolate}
.reach-map__svg{display:block;width:100%;height:auto;min-height:320px;touch-action:pan-y}
.reach-map__land{fill:#fafaf7;stroke:#b4bdbb;stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .2s}
.reach-map__land[data-country=BG]{fill:#e3311c;stroke:#b5200e;stroke-width:1.8}
.reach-map__route{fill:none;stroke:#dd4028;stroke-width:1.35;opacity:.3;vector-effect:non-scaling-stroke}
.reach-map__pulse{fill:none;stroke:#e32a13;stroke-width:2.5;stroke-dasharray:10 90;stroke-dashoffset:100;vector-effect:non-scaling-stroke;animation:reach-flow 5s linear infinite;animation-delay:var(--delay);animation-play-state:paused}
.reach-map.is-visible .reach-map__pulse{animation-play-state:running}
.reach-map__node{fill:#e32a13;stroke:#fff;stroke-width:2}
.reach-map__target{cursor:pointer;outline:none}.reach-map__target:hover .reach-map__node,.reach-map__target:focus .reach-map__node{r:6;stroke:#7d1e10}
.reach-map__target text{font-family:var(--font-sans);font-size:12px;fill:#303738;paint-order:stroke;stroke:#f8faf7;stroke-width:4px;opacity:0;transition:opacity .2s}
.reach-map__target:hover text,.reach-map__target:focus text{opacity:1}
.reach-map__label{font-family:var(--font-sans);font-size:15px;font-weight:700;fill:#fff}.reach-map__city{font-size:11px;font-weight:400}
.reach-map__tools{position:absolute;top:16px;right:16px;display:flex;gap:5px;z-index:2}.reach-map__tools button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #c3cbc7;border-radius:10px;background:#fffffff0;color:#292e2c;font:20px var(--font-sans);cursor:pointer}
.reach-map__tools button:focus-visible{outline:2px solid #e32a13;outline-offset:2px}
.reach-map__credit{position:absolute;bottom:7px;left:13px;font:10px var(--font-sans);color:#636e69}.reach-map__caption{position:absolute;top:18px;left:20px;font-weight:650;font-size:14px;max-width:55%}
@keyframes reach-flow{to{stroke-dashoffset:-100}}
@media(max-width:600px){.reach-map__svg{min-height:350px}.reach-map__caption{font-size:12px;max-width:45%}.reach-map__tools{top:12px;right:10px}.reach-map__tools button{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.reach-map__pulse{animation:none;display:none}}
.page-hidden *, .page-hidden *::before, .page-hidden *::after{animation-play-state:paused!important}
.reach-map__tools button:disabled{opacity:.35;cursor:default}
.marquee__group{min-width:0}
html,body{overflow-x:clip}
.mobile-menu__list .nav__link{border-bottom:0}
@media(max-width:600px){.mx2__types{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}.nav__side>.tsw{display:none}}
html:has([data-menu-toggle][aria-expanded=true]) .nav{position:fixed;inset:0 0 auto}
html:has([data-menu-toggle][aria-expanded=true]) body{padding-top:var(--nav-h)}
.reach-map__label{font-size:19px}.reach-map__city{font-size:13px}
.lsw__menu{background:var(--paper-raised);backdrop-filter:none}
.lsw__globe{width:18px;height:18px;display:inline-flex}.lsw__globe svg{width:100%;height:100%}
@media(max-width:600px){.nav__side>.thsw{display:none}}
/* Review-only animation directions. */
.motion-review .ind-scene__frame{background:#eeefeb;border-color:#c3c9c7;box-shadow:0 9px 26px #333b4410}
.motion-review .ind-scene__frame::before,.motion-review .ind-scene__frame::after{display:none}
.motion-review .ind-scene__bar{color:#566162}
.motion-review .ind-steel,.motion-review .ind-mould,.motion-review .ind-gear{fill:#aeb9bd;stroke:#47565e}
.motion-review .ind-steel-2{fill:#e0e6e7;stroke:#687981}
.motion-review .ind-ann{fill:#46545a}.motion-review .ind-ann--red{fill:#be2c1b}
.motion-review .ind-axis{stroke:#9ca9ad}.motion-review .ind-chip{fill:#697b83}
.motion-review .asm__frame{background:radial-gradient(ellipse at 50% 45%,#f5f6f2,#dedfd8);border-color:#c8ccc4}
.motion-review .asm__tblock{background:#e0e4df;color:#344149;border-color:#c0c9c1}.motion-review .asm__mark{color:#ab341e}
.motion-review .asm__pc img{filter:drop-shadow(0 12px 12px #24304024)}
.motion-review--steel .ind-scene__frame{background:radial-gradient(ellipse at 45% 35%,#323d46,#171e24);border-color:#495961}
.motion-review--steel .ind-steel,.motion-review--steel .ind-mould,.motion-review--steel .ind-gear{fill:url(#review-metal);stroke:#c9d4d8}
.motion-review--steel .ind-steel-2{fill:#566973;stroke:#a6bbc6}.motion-review--steel .ind-ann,.motion-review--steel .ind-scene__bar{fill:#b7c9d1;color:#b7c9d1}
.motion-review--steel .asm__frame{background:radial-gradient(ellipse at 50% 40%,#3b4650,#192127);border-color:#4a5964}.motion-review--steel .asm__tblock{background:#1e282d;color:#cad7da}
.motion-review .asmx__wrap{grid-template-columns:1fr 1fr}
@media(max-width:700px){.motion-review .asmx__wrap{grid-template-columns:1fr}}
.motion-review .mpkfold__btn{background:var(--paper-sunk);color:var(--ink);border-color:var(--line-strong)}
.cnc-fallback{width:100%;height:100%;object-fit:contain;padding:25px}.cnc-ready .cnc-fallback{display:none}.cnc-stage canvas{position:absolute;inset:0}
.marquee{position:relative}
/* Realistic process proposal: actual 3D geometry, soft light, machined surfaces. */
[data-real-mode]{position:relative;background:radial-gradient(ellipse at 45% 35%,#eeefeb,#d7dcd8)!important;touch-action:pan-y}
[data-real-mode]>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:2;border-radius:inherit}
[data-real-mode].cnc-ready>.ind-scene__svg,[data-real-mode].cnc-ready>.ind-scene__bar,[data-real-mode].cnc-ready>.asm__pc,[data-real-mode].cnc-ready>.asm__mark{opacity:0}
[data-real-mode].cnc-ready:before,[data-real-mode].cnc-ready:after{display:none}
.realistic-review .ind3__scene{margin-bottom:20px}.realistic-review .ind3 .ind-scene__frame{aspect-ratio:1.2}
.industry-stage--home{position:relative;isolation:isolate;width:100%;aspect-ratio:560/470;max-width:480px;margin-inline:auto;overflow:hidden}
.industry-stage--home canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;opacity:0}
.industry-stage--home.industry-ready canvas{opacity:1}
.industry-home-fallback{position:absolute;inset:0}
.industry-ready>.industry-home-fallback{display:none}
#industries{scroll-margin-top:90px}
/* Machine types: exposed tooling on the page, with a visible fleet beneath. */
#machine-park{scroll-margin-top:90px}
.mx--simulations .mx2-info{scroll-margin-top:100px}
.mx--simulations .mx2__types{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;overflow:visible;grid-auto-flow:row;grid-auto-columns:auto}
.mx--simulations .mx2-type{padding:0 0 6px;background:transparent;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;box-shadow:none;min-width:0}
.mx--simulations .mx2-type:hover{background:color-mix(in srgb,var(--fg) 3%,transparent);border-color:var(--red)}
.mx--simulations .mx2-type[aria-pressed=true]{background:color-mix(in srgb,var(--red) 4%,transparent);border-color:var(--red);box-shadow:0 2px 0 var(--red)}
.machine-stage{display:block;position:relative;isolation:isolate;width:100%;aspect-ratio:1.2;overflow:hidden;pointer-events:none}
.machine-stage>canvas{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0}
.machine-stage.industry-ready>canvas,.machine-stage.cnc-ready>canvas{opacity:1}
.machine-stage__fallback{position:absolute;inset:0;display:block}
.machine-stage__fallback>svg{width:100%;height:100%;object-fit:contain}
.machine-stage.industry-ready>.machine-stage__fallback,.machine-stage.cnc-ready>.machine-stage__fallback{display:none}
.mx--simulations .mx2-type__meta{padding:6px 8px;align-items:center;min-height:44px}
.mx--simulations .mx2-type__name{font-size:clamp(14px,1.15vw,17px);line-height:1.25;overflow-wrap:normal}
.mx--simulations .mx2-type__n{font-size:16px}
@media(max-width:1100px){
 .mx--simulations .mx2__types{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(220px,32vw,270px);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:4px 2px 10px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
 .mx--simulations .mx2-type{scroll-snap-align:start}
 .mx--simulations .mx2-type__name{font-size:16px}
}
.realistic-review .asm__frame{aspect-ratio:1;min-height:340px}.realistic-review .asm__tblock{z-index:3}
/* Production processes: readable mechanical drawings, without chip-shaped frames. */
#processes{scroll-margin-top:100px}
.proc2__row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px;align-items:center}
.proc2__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.proc2{display:flex;gap:12px;padding:10px 0;border:0;border-radius:0;background:transparent;min-width:0}
.proc2__icon{width:56px;height:56px;flex:0 0 56px;color:var(--fg-2)}
.process-icon{display:block;width:100%;height:100%}
.process-icon__accent{color:var(--red)}
.proc2__name{font-size:18px;line-height:1.3;letter-spacing:.01em}
#processes .proc2__name{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
@media(max-width:1100px){.proc2__row{grid-template-columns:minmax(0,1fr);gap:16px}.proc2__list{gap:16px}.proc2__name{font-size:17px}}
@media(max-width:700px){.proc2__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}.proc2{align-items:flex-start;flex-direction:column;gap:8px;padding:0}.proc2__name{font-size:17px;max-width:20ch}}
/* Compact strips: original visual scale, measured seamless loops retained. */
.marquee{padding-block:6px;padding-bottom:6px}
.marquee__group{gap:clamp(24px,4vw,56px);padding-right:clamp(24px,4vw,56px)}
.marquee__item{width:140px;height:54px}.marquee__item img{max-width:130px;max-height:46px}
.marquee__item--part{width:130px;height:92px}.marquee__item--part img{max-width:118px;max-height:88px}
.marquee__part[data-photo-finish="ai"]{border-radius:7px;filter:none}
.marquee__part[data-photo-cutout]{border-radius:0;background:transparent;filter:drop-shadow(0 4px 5px #0002)}
.marquee--brands .marquee__item{width:140px;height:44px}.marquee--brands .marquee__item img{max-width:130px;max-height:26px}
@media(max-width:600px){.marquee__item--part{height:82px;width:115px}.marquee__item--part img{max-height:78px;max-width:105px}.marquee__item{width:125px}.marquee--brands .marquee__item{width:125px}}
/* Bulgaria origin panel alongside a clean, interactive European atlas. */
.reach-map{display:grid;grid-template-columns:minmax(220px,.7fr) 2fr;background:#f3f3ef;border-radius:12px;border-color:#c5c8c2;overflow:hidden}
.reach-map__home{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,46px);background:#e5e3dc;border-right:1px solid #c5c8c2}
.reach-map__home>.mono{font-size:12px;color:#65655f;letter-spacing:.12em}
.reach-map__home h3{font:650 clamp(32px,4vw,58px)/1.05 var(--font-display);color:#252623;margin:18px 0 8px;overflow-wrap:anywhere}
.reach-map__home p{font-size:17px;color:#535650;margin:0}
.reach-map__bulgaria{width:100%;height:auto;margin:35px 0 24px;overflow:visible;fill:#d8311b}
.reach-map__bulgaria circle{fill:white;stroke:#ad2312;stroke-width:1.3}
.reach-map__coordinates{font-size:10px;letter-spacing:.04em;color:#686b64;white-space:nowrap}
.reach-map__atlas{position:relative;min-width:0;background:#f4f5f1;background-image:linear-gradient(#808b7e0a 1px,transparent 1px),linear-gradient(90deg,#808b7e0a 1px,transparent 1px);background-size:48px 48px}
.reach-map__svg{min-height:400px}.reach-map__land{fill:#e0e5df;stroke:#aeb9ad;stroke-width:.65}
.reach-map__land[data-country=BG]{fill:#d8311b;stroke:#ba2717}
.reach-map__route{opacity:.2;stroke-width:1}.reach-map__pulse{stroke-width:2;stroke:#e5341c}
.reach-map__origin-ring{fill:#e5341c22;stroke:#e5341c;stroke-width:1}
.reach-map__origin-name{font:700 14px var(--font-sans);fill:#a52616;paint-order:stroke;stroke:#f4f5f1;stroke-width:5px}
.reach-map__caption{top:22px;left:24px;max-width:60%;font-size:13px;color:#4c584c}
.reach-map__credit{font-size:9px;color:#737d71}.reach-map__tools button{border-radius:50%;width:34px;height:34px;background:#fff;border-color:#c2c9bf}
@media(max-width:700px){.reach-map{grid-template-columns:1fr}.reach-map__home{display:grid;grid-template-columns:1fr 120px;padding:24px;border-right:0;border-bottom:1px solid #c5c8c2;gap:5px 15px}.reach-map__home>.mono,.reach-map__home h3,.reach-map__home p,.reach-map__coordinates{grid-column:1}.reach-map__home h3{font-size:38px;margin:4px 0}.reach-map__home p{font-size:15px}.reach-map__bulgaria{grid-column:2;grid-row:1/5;align-self:center;margin:0}.reach-map__coordinates{margin-top:7px;font-size:9px}.reach-map__svg{min-height:340px}.reach-map__caption{top:16px;left:15px;max-width:54%;font-size:11px}.reach-map__tools{top:12px}}
/* A single assembly stage, connected geometry and deliberate motion pauses. */
#assembly{scroll-margin-top:90px}
.assembly-redesign{max-width:520px}
.assembly-redesign .asm__frame{aspect-ratio:1;min-height:0;isolation:isolate;border:0;border-radius:0;background:transparent!important;overflow:hidden;pointer-events:none}
.assembly-redesign .asm__frame::before,.assembly-redesign .asm__frame::after{display:none}
.assembly-redesign .asm__frame>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0}
.assembly-redesign .industry-ready>canvas{opacity:1}
.assembly-fallback{position:absolute;inset:5% 0;display:flex;flex-direction:column;align-items:center;gap:3%;filter:drop-shadow(0 8px 8px #10182020)}
.assembly-fallback img{width:auto;max-width:35%;height:35%;object-fit:contain}
.assembly-fallback img:last-child{height:21%}
.assembly-redesign .industry-ready>.assembly-fallback{display:none}
.assembly-redesign .asm__bom{margin-top:4px;font-size:12px}.assembly-redesign .asm__bom td{padding-block:9px}
.ind__wrap:has(>.reach-map){grid-template-columns:1fr;gap:30px}
.ind__wrap:has(>.reach-map)>.ind__text{max-width:850px}
.reach-map{grid-template-columns:minmax(250px,.7fr) 2fr}
.reach-map__home h3{font-size:clamp(32px,3.5vw,54px);overflow-wrap:normal}
.reach-map__svg{height:500px;min-height:0}
@media(max-width:700px){.reach-map{grid-template-columns:1fr}.reach-map__svg{height:350px}.reach-map__home h3{font-size:38px}}
@media(max-width:700px){.reach-map{grid-template-columns:minmax(0,1fr)}.reach-map__home{min-width:0;grid-template-columns:minmax(0,1fr) 100px;padding:22px 18px;gap:5px 10px}.reach-map__coordinates{font-size:8px;letter-spacing:0}.reach-map__tools button{width:36px;height:36px}.reach-map__caption{max-width:52%}}
/* Satellite geography, one uninterrupted view and a restrained location badge. */
.ind__wrap:has(>.satellite-map){grid-template-columns:1fr;gap:28px}.ind__wrap:has(>.satellite-map)>.ind__text{max-width:850px}
.satellite-map{position:relative;isolation:isolate;min-width:0;height:580px;border-radius:16px;overflow:hidden;background:#172c35;border:1px solid #526166}
.satellite-map__canvas{position:absolute;inset:0;background:#172c35;z-index:1}.satellite-map__fallback{position:absolute;inset:0;z-index:2;background:var(--paper)}.satellite-map__fallback .reach-map{height:100%}.satellite-ready .satellite-map__fallback{display:none}
.satellite-map__identity{position:absolute;left:28px;bottom:30px;display:flex;align-items:center;gap:13px;padding:16px 22px;background:#fffffff2;border:1px solid #ffffff88;border-radius:12px;z-index:500;box-shadow:0 8px 28px #0002;pointer-events:none}
.satellite-map__identity strong{display:block;font:700 24px var(--font-display);color:#202822;line-height:1.1}.satellite-map__identity div>span{display:block;font:13px var(--font-sans);color:#556058;margin-top:4px}
.satellite-map__live{width:9px;height:9px;border-radius:50%;background:#e63920;box-shadow:0 0 0 5px #e6392018}
.satellite-map__reset{position:absolute;z-index:500;top:20px;left:22px;border:1px solid #ffffff4d;background:#17282bc9;backdrop-filter:blur(10px);padding:10px 15px;color:#fff;border-radius:24px;font:13px var(--font-sans);cursor:pointer}
.satellite-map .leaflet-control-zoom{margin:20px 20px 0 0;border:0;box-shadow:0 4px 20px #0003;border-radius:12px;overflow:hidden}.satellite-map .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;background:#fffffff0;color:#263734;border-color:#d1d9d1}
.satellite-map .leaflet-control-attribution{font:9px/1.4 var(--font-sans);background:#12272cbb;color:#dae1dc;padding:3px 8px}.satellite-map .leaflet-control-attribution a{color:#fff}
.satellite-origin{position:relative}.satellite-origin__dot{position:absolute;inset:6px;background:#fff;border:3px solid #ee4729;border-radius:50%;box-shadow:0 0 16px #f54e32}.satellite-origin__pulse{position:absolute;inset:0;border:1px solid #ff916b;border-radius:50%;animation:satellite-beacon 3s ease-out infinite}
.satellite-origin-label.leaflet-tooltip{border:1px solid #ffffff4d;background:#112d31db;box-shadow:0 5px 18px #0002;color:white;font:600 12px var(--font-sans);padding:7px 11px;border-radius:6px}.satellite-origin-label.leaflet-tooltip:before{border-right-color:#112d31db}
.satellite-route{stroke-dasharray:8 92;animation:satellite-route 5.5s linear infinite;animation-play-state:paused}.map-visible .satellite-route{animation-play-state:running}
@keyframes satellite-route{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes satellite-beacon{0%{transform:scale(.5);opacity:1}100%{transform:scale(2.8);opacity:0}}
@media(max-width:700px){.satellite-map{height:480px;border-radius:12px}.satellite-map__identity{left:15px;bottom:42px;padding:12px 16px;max-width:calc(100% - 30px)}.satellite-map__identity strong{font-size:22px}.satellite-map__identity div>span{font-size:12px}.satellite-map__reset{left:15px;top:15px}.satellite-map .leaflet-control-zoom{margin:15px 15px 0 0}.satellite-map .leaflet-control-attribution{max-width:260px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.satellite-route{animation:none;stroke-dasharray:none;opacity:.35}.satellite-origin__pulse{animation:none}}
.satellite-map .leaflet-bottom.leaflet-right .leaflet-control-attribution{background:#12272cdd!important;color:#e2ebe5!important;padding:4px 8px!important}.satellite-map .leaflet-control-attribution a{color:#fff!important}
.satellite-map:not(.map-visible) .satellite-origin__pulse{animation-play-state:paused}
/* Integrated landscape: no card, map chrome or floating UI. */
.ind__wrap:has(>.satellite-map){gap:0;position:relative}
.ind__wrap:has(>.satellite-map)>.ind__text{max-width:720px;position:relative;z-index:2}
.satellite-map{height:600px;border:0;border-radius:0;background:transparent;overflow:visible;margin-top:-15px}
.satellite-map__canvas{inset:0 -3%;background:transparent;pointer-events:none;mask-image:radial-gradient(ellipse 65% 67% at 53% 49%,#000 34%,#000c 57%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 65% 67% at 53% 49%,#000 34%,#000c 57%,transparent 77%)}
.satellite-map__canvas .leaflet-tile-pane{filter:saturate(.58) brightness(1.14)}
.satellite-map .leaflet-container{background:transparent;cursor:default}
.satellite-origin-label.leaflet-tooltip{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff;font:650 15px var(--font-sans);text-shadow:0 1px 5px #13261d,0 0 12px #13261d;padding:5px 8px}
.satellite-origin-label.leaflet-tooltip:before{display:none}
.satellite-map__credit{position:absolute;bottom:0;right:0;max-width:100%;color:var(--ink-4);font:9px/1.5 var(--font-sans);text-align:right;z-index:3}
.satellite-map__fallback{background:transparent;mask-image:radial-gradient(ellipse at center,#000 45%,transparent 75%)}
.satellite-map__fallback .reach-map{border:0;border-radius:0;grid-template-columns:1fr;background:transparent}.satellite-map__fallback .reach-map__home,.satellite-map__fallback .reach-map__tools,.satellite-map__fallback .reach-map__caption,.satellite-map__fallback .reach-map__credit{display:none}.satellite-map__fallback .reach-map__atlas{background:transparent}
@media(min-width:1100px){.ind__wrap:has(>.satellite-map){grid-template-columns:minmax(330px,.85fr) minmax(0,1.65fr);align-items:center;gap:0}.ind__wrap:has(>.satellite-map)>.ind__text{padding-right:20px}.satellite-map{margin:0 -35px 0 -75px;height:650px}.satellite-map__canvas{mask-image:radial-gradient(ellipse 71% 63% at 53% 49%,#000 30%,#000c 56%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 71% 63% at 53% 49%,#000 30%,#000c 56%,transparent 78%)}.satellite-map__credit{right:35px;bottom:25px}}
@media(max-width:700px){.satellite-map{height:450px;margin:0 -10px}.satellite-map__canvas{inset:0;mask-image:radial-gradient(ellipse 82% 70% at 50% 48%,#000 35%,#000c 55%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 82% 70% at 50% 48%,#000 35%,#000c 55%,transparent 77%)}.satellite-map__credit{font-size:8px;right:10px;left:10px;text-align:center}.satellite-origin-label.leaflet-tooltip{font-size:12px}}
.satellite-map__canvas{mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 30%,#000d 49%,transparent 71%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 30%,#000d 49%,transparent 71%)}
/* Drawn atlas: local vector geography, paper tones and flowing red routes. */
.illustrated-map{height:570px}
.illustrated-map__art{display:block;width:100%;height:100%;overflow:visible;mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 37%,#000e 52%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse 72% 72% at 50% 50%,#000 37%,#000e 52%,transparent 74%)}
.drawn-geography{filter:drop-shadow(0 3px 0 #89979216)}
.drawn-land{fill:url(#drawn-paper);stroke:#f8f7f3;stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drawn-land--1{fill:#dae0dc}.drawn-land--2{fill:#e4e3dc}
.drawn-land[data-country=BG]{fill:#eb513c;stroke:#c93925;stroke-width:1.4}
.drawn-route{fill:none;stroke:#d46750;stroke-width:1;opacity:.28;vector-effect:non-scaling-stroke}
.drawn-trail{fill:none;stroke:#df442e;stroke-width:2;stroke-linecap:round;stroke-dasharray:7 93;animation:drawn-flow 5.5s linear infinite;animation-delay:var(--delay);animation-play-state:paused;vector-effect:non-scaling-stroke}
.illustrated-map.is-visible .drawn-trail{animation-play-state:running}
.drawn-destination{fill:#f7f5ef;stroke:#b56752;stroke-width:1.2;vector-effect:non-scaling-stroke}
.drawn-origin{fill:#fffaf1;stroke:#c53220;stroke-width:2.5;vector-effect:non-scaling-stroke}
.drawn-origin-pulse{fill:none;stroke:#df442e;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:drawn-pulse 3s ease-out infinite;animation-play-state:paused}.illustrated-map.is-visible .drawn-origin-pulse{animation-play-state:running}
.drawn-label{font:700 17px var(--font-sans);fill:#9f3020;paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round}.drawn-label tspan{font-size:13px;font-weight:500;fill:#666e67}
@keyframes drawn-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes drawn-pulse{from{transform:scale(.65);opacity:.8}to{transform:scale(2.2);opacity:0}}
@media(min-width:1100px){.illustrated-map{height:610px}}
@media(max-width:700px){.illustrated-map{height:380px;margin:0 -14px}.illustrated-map__art{width:100%;mask-image:radial-gradient(ellipse 83% 85% at 50% 50%,#000 38%,#000e 54%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 83% 85% at 50% 50%,#000 38%,#000e 54%,transparent 76%)}.drawn-label{font-size:21px}.drawn-label tspan{font-size:17px}}
@media(prefers-reduced-motion:reduce){.drawn-trail,.drawn-origin-pulse{animation:none}.drawn-trail{stroke-dasharray:none;opacity:.3}}
html[data-theme=dark] .drawn-land{fill:#606e68;stroke:#333c36}html[data-theme=dark] .drawn-land--1{fill:#56645e}html[data-theme=dark] .drawn-land--2{fill:#72776b}html[data-theme=dark] .drawn-land[data-country=BG]{fill:#eb513c;stroke:#ff8870}html[data-theme=dark] .drawn-label{fill:#ff927c}html[data-theme=dark] .drawn-label tspan{fill:#bbc6bc}
/* Correctly proportioned atlas: dissolve at the SVG edges without a hard crop. */
.illustrated-map__art{mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 44%,#000 68%,#000c 82%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 44%,#000 68%,#000c 82%,transparent 100%)}
.cnc-autoplay .cnc-stage,.cnc-autoplay .cnc-stage:active{cursor:default}
.cnc-autoplay .cnc-stage canvas{pointer-events:none}
.cnc-autoplay .cnc-caption{padding:13px 20px;font-size:12px;letter-spacing:.025em}
/* Open machining composition: the page itself is the backdrop. */
.hero5__scene.cnc-integrated{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.cnc-integrated .cnc-stage{height:clamp(380px,39vw,565px);background:transparent;overflow:visible}
.cnc-integrated .cnc-stage canvas{background:transparent;border-radius:0}
.cnc-integrated .cnc-fallback{padding:70px;object-fit:contain;filter:drop-shadow(0 14px 15px #282d251f)}
@media(max-width:600px){.cnc-integrated .cnc-stage{height:390px}.hero5:has(.cnc-integrated){gap:10px}}
@media(max-width:360px){.cnc-integrated .cnc-stage{height:350px}}

/* The still is rendered from this exact scene, including its camera and light.
   Scale by height so responsive perspective framing matches the live canvas. */
.scene-poster-host{position:relative;isolation:isolate}
.cnc-integrated .scene-poster-host{overflow:hidden}
.scene-poster-host>.scene-poster{position:absolute;top:0;left:50%;height:100%;width:auto;max-width:none;padding:0;transform:translateX(-50%);object-fit:fill;filter:none;pointer-events:none;opacity:1;transition:opacity .3s ease;z-index:1}
.scene-poster-host>canvas{opacity:0;transition:opacity .3s ease;z-index:2}
.scene-poster-host.cnc-ready>canvas,.scene-poster-host.industry-ready>canvas{opacity:1}
.scene-poster-host.cnc-ready>.scene-poster,.scene-poster-host.industry-ready>.scene-poster{opacity:0}
.scene-poster-host.cnc-unavailable::after{display:none}
@media(prefers-reduced-motion:reduce){.scene-poster-host>.scene-poster,.scene-poster-host>canvas{transition:none}}
@media(max-width:700px){section:has(.cnc-integrated)>.hero__scroll{display:none}}
