/* css/base.css */
/* RESEDA V2 — osnova
   Smer: industrijska preciznost po zgledu letalsko-obrambnih podjetij.
   Črna, bela, jeklo; rdeča samo kot znak (poševni element logotipa).
   En tipografski sistem: Archivo (širina 62–125 %, debelina 100–900). */

@font-face {
  font-family: "Archivo";
  src: url("/assets/fonts/archivo-latin-standard-normal.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Archivo";
  src: url("/assets/fonts/archivo-latin-ext-standard-normal.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* barve */
  --ink: #0b0c0e;          /* osnovna temna */
  --ink-2: #131519;        /* temne ploskve */
  --ink-3: #1c1f24;
  --paper: #131519;        /* ploskve na temnem (kartice, polja) */
  --fg: #ffffff;           /* besedilo */
  --surface: #131519;
  --white: #ffffff;
  --steel: #9aa1aa;        /* sekundarno besedilo (enotno temno ozadje) */
  --steel-2: #9aa1aa;      /* sekundarno besedilo na temnem */
  --rule: rgba(255, 255, 255, 0.14);
  --rule-d: rgba(255, 255, 255, 0.16);
  --red: #ee2d38;          /* rdeča RESEDA (element logotipa) */
  --red-2: #c81e28;        /* rdeča za besedilo in polne ploskve (kontrast) */

  /* tipografija */
  --f: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --t-body: 1.0625rem;
  --t-small: 0.9375rem;
  --t-lbl: 0.75rem;

  /* prostor */
  --g: clamp(20px, 4.4vw, 72px);           /* stranski rob */
  --sec: clamp(88px, 10.5vw, 168px);        /* razmik med razdelki */
  --hd-h: 84px;
  --max: 1520px;

  --ease: cubic-bezier(0.2, 0.7, 0.1, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--fg);
  font-family: var(--f);
  font-size: var(--t-body);
  font-weight: 400;
  font-stretch: 100%;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
}
img, video, svg, canvas { display: block; max-width: 100%; }
img { height: auto; }
picture { display: contents; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
address { font-style: normal; }
[hidden] { display: none !important; }
::selection { background: var(--red); color: #fff; }

:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.skip {
  position: fixed; top: 12px; left: 12px; z-index: 200;
  padding: 10px 16px; background: var(--white); color: var(--ink);
  transform: translateY(-160%); transition: transform 0.2s;
}
.skip:focus { transform: none; }
#main:focus { outline: none; }
#main { min-height: 100svh; }
html.js:not(.is-ready) .ft, html.js:not(.is-ready) .nav, html.js:not(.is-ready) .hd__tools { visibility: hidden; }

.wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--g); }
.sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* ---------- tipografija ---------- */
.lbl {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.875rem;
  font-weight: 500;
  font-stretch: 100%;
  letter-spacing: 0;
  line-height: 1.35;
  color: var(--steel);
}

.lbl--mark::before { content: none; }
.dark .lbl, .lbl--d { color: var(--steel-2); }

.h1 {
  font-size: clamp(2.5rem, 6.2vw, 6.25rem);
  font-weight: 640;
  font-stretch: 122%;
  line-height: 0.96;
  letter-spacing: -0.012em;
  text-transform: uppercase;
  text-wrap: balance;
}
.h2 {
  font-size: clamp(1.75rem, 3.3vw, 3.25rem);
  font-weight: 640;
  font-stretch: 118%;
  line-height: 1;
  letter-spacing: -0.008em;
  text-transform: uppercase;
  text-wrap: balance;
}
.h3 {
  font-size: clamp(1.3rem, 1.7vw, 1.75rem);
  font-weight: 560;
  font-stretch: 108%;
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.lead {
  font-size: clamp(1.125rem, 1.35vw, 1.375rem);
  line-height: 1.55;
  font-weight: 400;
  color: var(--steel);
  max-width: 44ch;
  text-wrap: pretty;
}
.dark .lead, .lead--d { color: rgba(255, 255, 255, 0.74); }
.num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
/* števec med animacijo: vidna vmesna vrednost (ui.js numShow), v besedilu strani ostane končna */
.cnt::before { content: attr(data-v); }
.prose { max-width: 66ch; }
.prose p + p { margin-top: 1.1em; }
.prose p { color: var(--steel); text-wrap: pretty; }
.dark .prose p { color: rgba(255, 255, 255, 0.72); }

/* ---------- povezave in gumbi ---------- */
.arrow { /* nekdanja povezava s puščico: zdaj enak gumb kot .btn */
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 2px;
  font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1;
  transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}
.arrow:hover { background: #fff; border-color: #fff; color: var(--ink); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 26px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 2px;
  font-size: 0.8125rem;
  font-weight: 600;
  font-stretch: 110%;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
  transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}
.btn:hover { background: #fff; border-color: #fff; color: var(--ink); }
.btn--fill { background: #fff; border-color: #fff; color: var(--ink); }
.btn--fill:hover { background: var(--red-2); border-color: var(--red-2); color: #fff; }
.btn[disabled] { opacity: 0.5; cursor: progress; }

/* ---------- razdelki ---------- */
.sec { padding-block: var(--sec); }
.sec--tight { padding-block: calc(var(--sec) * 0.62); }
.dark { background: var(--ink); color: #fff; }
.paper { background: transparent; } /* ena temna podlaga povsod */
.head { display: grid; gap: 22px; margin-bottom: clamp(44px, 5vw, 80px); }
.head--split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; column-gap: var(--g); }
.head--split > p { max-width: 46ch; justify-self: end; color: var(--steel); }
.dark .head--split > p { color: rgba(255, 255, 255, 0.7); }
@media (max-width: 860px) {
  .head--split { grid-template-columns: 1fr; }
  .head--split > p { justify-self: start; }
}

/* ---------- gibanje: pojav ob pomiku (vidno tudi brez JS) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js [data-rv] { opacity: 0; transform: translate3d(0, 22px, 0); transition: opacity 0.9s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
  .js [data-rv].in { opacity: 1; transform: none; }
  .js [data-rv="fade"] { transform: none; }
  #main.is-leaving { opacity: 0; transition: opacity 0.18s ease; }
  #main.is-entering { animation: page-in 0.5s var(--ease) both; }
  @keyframes page-in { from { opacity: 0; } to { opacity: 1; } }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* css/chrome.css */
/* ---------- glava ---------- */
.hd {
  position: fixed; inset: 0 0 auto; z-index: 50;
  color: #fff;
  transition: transform 0.5s var(--ease), background-color 0.35s, backdrop-filter 0.35s;
}
.hd::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: rgba(255, 255, 255, 0.14); transition: opacity 0.35s; }
.hd.is-solid { background: rgba(11, 12, 14, 0.9); -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px); }
.hd.is-hidden { transform: translateY(-100%); }
.hd__bar { display: flex; align-items: center; gap: 32px; height: var(--hd-h); padding-top: env(safe-area-inset-top, 0px); }
.hd__logo { flex: none; display: block; }
.hd__logo img { width: 124px; height: auto; }

.nav { display: flex; align-items: center; gap: clamp(20px, 2.6vw, 44px); margin-left: auto; }
.nav__link, .nav__drop a {
  position: relative;
  font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.13em; text-transform: uppercase;
  padding-block: 8px;
}
.nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 0.45s var(--ease); }
.nav__link:hover::after, .nav__link.is-active::after { transform: scaleX(1); transform-origin: left; }
.nav__link.is-active::after { background: var(--red); height: 2px; }
.nav__item--drop { position: relative; display: flex; align-items: center; gap: 4px; }
.nav__caret { display: grid; place-items: center; width: 22px; height: 30px; }
.nav__caret svg { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.4; transition: transform 0.3s var(--ease); }
.nav__drop {
  position: absolute; top: calc(100% + 18px); left: -22px;
  display: grid; min-width: 230px; padding: 12px 0;
  background: var(--ink); border: 1px solid var(--rule-d);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity 0.25s, transform 0.35s var(--ease), visibility 0s linear 0.35s;
}
.nav__drop::before { content: ""; position: absolute; left: 0; right: 0; top: -18px; height: 18px; }
.nav__drop a { padding: 11px 22px; color: rgba(255, 255, 255, 0.78); transition: color 0.2s, background-color 0.2s; }
.nav__drop a:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.nav__item--drop:hover .nav__drop, .nav__item--drop.is-open .nav__drop { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.nav__item--drop.is-open .nav__caret svg { transform: rotate(180deg); }

.hd__tools { display: flex; align-items: center; gap: 22px; }
.lang { display: flex; gap: 2px; }
.lang button {
  min-width: 34px; height: 30px; padding: 0 6px;
  font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.55); transition: color 0.2s;
}
.lang button:hover { color: #fff; }
.lang button[aria-pressed="true"] { color: #fff; box-shadow: inset 0 -2px 0 var(--red); }
.hd__menu { display: none; align-items: center; gap: 14px; height: 44px; font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.16em; text-transform: uppercase; }
.hd__burger { position: relative; width: 26px; height: 12px; }
.hd__burger i { position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; transition: transform 0.4s var(--ease), top 0.4s var(--ease); }
.hd__burger i:first-child { top: 0; }
.hd__burger i:last-child { top: 10px; }
.menu-open .hd__burger i:first-child { top: 5px; transform: rotate(45deg); }
.menu-open .hd__burger i:last-child { top: 5px; transform: rotate(-45deg); }

@media (max-width: 1240px) {
  :root { --hd-h: 72px; }
  .nav, .hd__tools > .lang { display: none; }
  .hd__menu { display: inline-flex; }
  .hd__tools { margin-left: auto; }
  .hd__logo img { width: 108px; }
}

/* ---------- celozaslonski meni (telefon, tablica) ---------- */
.menu {
  position: fixed; inset: 0; z-index: 45;
  background: var(--ink); color: #fff;
  overflow-y: auto;
  padding-top: calc(var(--hd-h) + env(safe-area-inset-top, 0px));
}
.menu__in { display: grid; gap: 40px; min-height: 100%; padding-block: 28px 40px; align-content: space-between; }
.menu__nav { display: grid; border-top: 1px solid var(--rule-d); }
.menu__nav a {
  padding: 16px 0; border-bottom: 1px solid var(--rule-d);
  font-size: clamp(1.6rem, 6.4vw, 2.4rem); font-weight: 560; font-stretch: 115%; letter-spacing: -0.01em; line-height: 1.1;
}
.menu__nav a.is-active { color: #fff; box-shadow: inset 3px 0 0 var(--red); padding-left: 16px; }
.menu__sub { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.menu__sub a { font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); padding-block: 6px; }
.menu__foot { display: grid; gap: 10px; }
.menu__foot > a { font-size: 1.125rem; }
.lang--menu { margin-top: 14px; }
.lang--menu button { height: 44px; min-width: 52px; border: 1px solid var(--rule-d); }
.lang--menu button[aria-pressed="true"] { border-color: #fff; box-shadow: none; }
@media (prefers-reduced-motion: no-preference) {
  .menu:not([hidden]) .menu__nav a { animation: menu-in 0.6s var(--ease) both; animation-delay: calc(var(--i, 0) * 45ms + 60ms); }
  @keyframes menu-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}

/* ---------- noga ---------- */
.ft { background: var(--ink); color: #fff; border-top: 1px solid var(--rule-d); padding-top: clamp(48px, 5vw, 72px); }
.ft__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 40px; padding-bottom: 36px; }
.ft__logo img { width: 112px; }
.ft__nav { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.ft__nav a, .ft__social a { font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.82); transition: color 0.2s; }
.ft__nav a:hover, .ft__social a:hover { color: #fff; }
.ft__social { display: flex; gap: 18px; }
.ft__social a { color: var(--steel-2); }
.ft__mid { display: flex; flex-wrap: wrap; gap: 8px 28px; padding-block: 22px; border-top: 1px solid var(--rule-d); font-size: 0.875rem; color: var(--steel-2); }
.ft__mid a:hover { color: #fff; }
.ft__certs { margin-left: auto; }
.ft__bottom {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px 32px;
  padding-block: 26px calc(26px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--rule-d);
  font-size: 0.8125rem; color: var(--steel-2);
}
.ft__reg { margin-right: auto; }
.ft__legal { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.ft__legal a, .ft__legal button { color: var(--steel-2); font-size: 0.8125rem; transition: color 0.2s; }
.ft__legal a:hover, .ft__legal button:hover { color: #fff; }
@media (max-width: 760px) { .ft__top { flex-direction: column; align-items: flex-start; } .ft__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; } .ft__mid { flex-direction: column; } .ft__certs { margin-left: 0; } .ft__reg { margin-right: 0; } }

/* ---------- soglasje za piškotke ---------- */
.cookie-consent__banner {
  position: fixed; left: max(16px, env(safe-area-inset-left)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 90;
  width: min(440px, calc(100vw - 32px));
  display: grid; gap: 20px; padding: 26px;
  background: var(--ink); color: #fff; border: 1px solid var(--rule-d);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
}
.cookie-consent h2 { font-size: 1.125rem; font-weight: 600; font-stretch: 110%; }
.cookie-consent p { margin-top: 8px; font-size: 0.875rem; line-height: 1.55; color: rgba(255, 255, 255, 0.72); }
.cookie-consent a { display: inline-block; margin-top: 10px; font-size: 0.8125rem; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__actions, .cookie-consent__settings-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cookie-consent button[data-consent-action] {
  min-height: 46px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.1em; text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s;
}
.cookie-consent button[data-consent-action]:hover { background: #fff; color: var(--ink); }
.cookie-consent__actions .cookie-consent__secondary { grid-column: 1 / -1; border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__backdrop { position: fixed; inset: 0; z-index: 95; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, 0.6); }
.cookie-consent__settings { position: relative; width: min(620px, 100%); max-height: calc(100svh - 32px); overflow: auto; padding: 32px; background: var(--ink); color: #fff; border: 1px solid var(--rule-d); display: grid; gap: 18px; }
.cookie-consent__close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; font-size: 1.6rem; line-height: 1; }
.cookie-consent__options { display: grid; border-top: 1px solid var(--rule-d); }
.cookie-consent__option { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--rule-d); }
.cookie-consent__option strong { font-weight: 600; font-size: 0.9375rem; }
.cookie-consent__option p { margin-top: 4px; }
.cookie-consent__option input { width: 22px; height: 22px; accent-color: var(--red); flex: none; }

/* ---------- galerija: povečava ---------- */
.lb { position: fixed; inset: 0; z-index: 120; display: grid; grid-template-rows: auto 1fr auto; background: #07080a; color: #fff; }
.lb__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px var(--g); font-size: 0.8125rem; letter-spacing: 0.1em; }
.lb__close, .lb__nav { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--rule-d); transition: background-color 0.2s; }
.lb__close:hover, .lb__nav:hover { background: rgba(255, 255, 255, 0.1); }
.lb__stage { position: relative; display: grid; place-items: center; min-height: 0; padding: 0 var(--g); }
.lb__stage img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lb__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px var(--g) calc(14px + env(safe-area-inset-bottom, 0px)); }
.lb__cap { font-size: 0.9375rem; color: rgba(255, 255, 255, 0.75); }
.lb__navs { display: flex; gap: 8px; }
.lb svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }

/* Lightbox: slika se prilega širini, po višini se drsi (vidiš ves dokument) */
.lb__stage { overflow-y: auto; overflow-x: hidden; place-items: start center; padding-bottom: 24px; overscroll-behavior: contain; }
.lb__stage img { width: min(100%, 1100px); max-width: 100%; max-height: none; height: auto; object-fit: contain; }

/* ============ NOGA (prenos iz localhost:8081) ============ */
.ftr { --fg-2: rgba(255, 255, 255, 0.74); --fg-3: var(--steel-2); --line: var(--rule-d); --line-2: rgba(255, 255, 255, 0.3); position: relative; background: var(--ink); color: #fff; overflow: hidden; border-top: 1px solid var(--line); }
.ftr__grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 32px; padding-top: clamp(56px, 7vw, 96px); padding-bottom: 40px; }
.ftr__claim { font-size: 1.2rem; font-weight: 520; font-stretch: 106%; letter-spacing: -0.02em; margin-bottom: 18px; max-width: 18ch; }
.ftr address { font-style: normal; color: var(--fg-2); font-size: 0.92rem; line-height: 1.6; }
.ftr__hours { margin-top: 14px; color: var(--fg-3); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; }
.ftr__h { font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 16px; }
.ftr__col ul { list-style: none; margin: 0; padding: 0; }
.ftr__col li + li { margin-top: 9px; }
.ftr__col a { display: inline-block; font-size: 0.94rem; line-height: 1.35; color: var(--fg-2); transition: color 0.3s; }
.ftr__col a:hover { color: #fff; }
.ftr__social { display: flex; gap: 8px; margin-top: 22px; }
.ftr__social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-2); display: grid; place-items: center; color: #fff; transition: background-color 0.4s, border-color 0.4s, color 0.4s; }
.ftr__social a:hover { background: var(--red); border-color: var(--red); color: #fff; }
.ftr .i { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ftr .i-fill { fill: currentColor; stroke: none; }
.ftr__mark { padding-inline: var(--g); max-width: var(--max); margin: 24px auto 0; color: #1d2025; line-height: 0; overflow: hidden; }
.ftr__mark .logo-svg { width: 100%; height: auto; margin-bottom: -2.2%; }
.ftr__mark .logo-svg path:first-child { fill: var(--red); }
.ftr__bottom { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; padding-top: 22px; padding-bottom: max(22px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); font-size: 0.8rem; color: var(--fg-3); background: var(--ink); }
.ftr__bottom > :first-child { margin-right: auto; }
.ftr__bottom p { margin: 0; }
.ftr__reg { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.04em; }
.ftr__bottom .linkbtn { display: inline-flex; align-items: center; gap: 6px; padding: 0; background: none; border: 0; font: inherit; color: inherit; cursor: pointer; transition: color 0.2s; }
.ftr__bottom .linkbtn:hover { color: #fff; }
.ftr__bottom .linkbtn .i { width: 13px; height: 13px; }
.ftr__status { display: inline-flex; align-items: center; gap: 8px; }
.ftr__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--steel-2); }
.ftr__status.is-on i { background: #3ddc84; animation: ftrping 2s infinite; }
.ftr__status time { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.04em; }
@keyframes ftrping { 0% { box-shadow: 0 0 0 0 rgba(61, 220, 132, 0.55); } 70%, 100% { box-shadow: 0 0 0 8px rgba(61, 220, 132, 0); } }
@media (max-width: 1000px) { .ftr__grid { grid-template-columns: 1fr 1fr; } .ftr__col--brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ftr__grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; } .ftr__bottom { font-size: 0.74rem; } }

/* video v ozadju ne sme loviti miške (sicer ploščice panog ne zaznajo prehoda) */
.stage__video, .stage__video * { pointer-events: none; }

/* varovalo: ta pravila morajo veljati ne glede na blocks.css (ta se je že večkrat povozil) */
.lb__stage { overflow-x: hidden !important; overflow-y: auto !important; }
.ind--tiles .ind__row li { pointer-events: auto !important; }
@media (min-width: 1101px) { .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 100px) !important; } }

/* lasten kazalec (domača stran) */
.cur-dot, .cur-ring { position: fixed; left: 0; top: 0; z-index: 100000; pointer-events: none; border-radius: 50%; opacity: 0; will-change: transform; }
.cur-dot { width: 7px; height: 7px; background: #e01e2b; transition: opacity 0.2s ease, width 0.2s ease, height 0.2s ease; }
.cur-ring { width: 38px; height: 38px; border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(0, 0, 0, 0.25); transition: opacity 0.2s ease, width 0.25s cubic-bezier(0.25, 0.8, 0.3, 1), height 0.25s cubic-bezier(0.25, 0.8, 0.3, 1), background-color 0.25s ease, border-color 0.25s ease; }
.cur-dot.is-on, .cur-ring.is-on { opacity: 1; }
.cur-ring.is-hot { width: 68px; height: 68px; background: rgba(255, 255, 255, 0.16); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.cur-dot.is-hot { width: 0; height: 0; }
.cur-ring.is-down { width: 28px; height: 28px; }
html.has-cur, html.has-cur * { cursor: none !important; }
html.has-cur input, html.has-cur textarea, html.has-cur select { cursor: text !important; }

/* video Kristjana: samo naslovnica videa, brez napisa */
.sp-feat__vid .embed__play > span:last-child { display: none; }

/* certifikati: brez simbola s kljukico */
.ce-doc__seal { display: none !important; }

/* certifikati: več razmika do bloka Služba za kvaliteto + dokumenti */
.ce-sys { margin-top: 0 !important; padding-top: clamp(64px, 8vw, 130px) !important; }

/* galerija: slike v uvodu se vidijo cele, brez zatemnitve; senca samo za besedilom na levi in spodaj */
.ga-wall { opacity: 1 !important; }
.ga-wall__run img { filter: none !important; }
.ga-hero .pg-hero__shade { z-index: -1 !important; opacity: 1 !important; background: linear-gradient(90deg, rgba(11, 12, 14, 0.94) 0, rgba(11, 12, 14, 0.82) 40%, rgba(11, 12, 14, 0.4) 68%, rgba(11, 12, 14, 0) 90%) !important; }
.ga-hero::after { opacity: 1 !important; background: linear-gradient(0deg, #0b0c0e 0, rgba(11, 12, 14, 0) 24%) !important; }

/* meni: rahla senca, da so gumbi vidni na svetlih slikah — samo na strani Galerija */
body:has(.ga-hero) .hd { isolation: isolate; }
body:has(.ga-hero) .hd::before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(11, 12, 14, 0.7) 0%, rgba(11, 12, 14, 0.5) 100%); transition: opacity 0.35s; }
body:has(.ga-hero) .hd.is-solid::before { opacity: 0; }
.ga-hero .pg-hero__title, .ga-hero .pg-hero__lead, .ga-hero .crumbs { text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55); }
.ga-hero::before { display: block !important; content: "" !important; position: absolute !important; left: 0 !important; right: 0 !important; top: 0 !important; bottom: auto !important; height: 100% !important; width: auto !important; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(11, 12, 14, 0.82) 0, rgba(11, 12, 14, 0.58) 38%, rgba(11, 12, 14, 0.16) 64%, rgba(11, 12, 14, 0) 82%) !important; }
.ga-hero::before { transform: none !important; clip-path: none !important; -webkit-mask-image: none !important; mask-image: none !important; border: 0 !important; opacity: 1 !important; animation: none !important; }

/* css/blocks.css */
/* ==========================================================================
   Gradniki strani
   ========================================================================== */

/* ---------- uvodni prikaz domače strani ---------- */
.hero { position: relative; isolation: isolate; min-height: max(640px, 100svh); display: grid; grid-template-rows: 1fr auto; overflow: hidden; }
.hero__media, .hero__shade { position: absolute; inset: 0; z-index: -2; }
.hero__media video, .hero__media img { width: 100%; height: 100%; object-fit: cover; }
/* zatemnitve enake kot v prvi podobi V2 (3003) */
.hero__shade { z-index: -1; background:
  linear-gradient(180deg, rgba(11, 12, 14, 0.55) 0%, rgba(11, 12, 14, 0) 22%),
  linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.55) 34%, rgba(11, 12, 14, 0) 62%),
  linear-gradient(90deg, rgba(11, 12, 14, 0.45) 0%, rgba(11, 12, 14, 0) 60%); }
.hero .hero__title, .hero .hero__link { text-shadow: 0 2px 14px rgba(0, 0, 0, 0.38); }
.hero__in { align-self: end; padding-bottom: clamp(40px, 6vw, 88px); display: grid; gap: clamp(28px, 3vw, 44px); }
.hero__title { font-size: clamp(2rem, 8.2vw, 7.25rem); }
.hero__row { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 24px 48px; }
.hero__row .lead { max-width: 40ch; }
.hero__foot { display: flex; align-items: center; justify-content: space-between; padding-block: 22px; border-top: 1px solid var(--rule-d); }
.hero__certs { display: flex; gap: 26px; transition: color 0.2s; }
.hero__certs:hover { color: #fff; }
.hero__certs span { padding-bottom: 6px; border-bottom: 1px solid var(--red); } /* certifikati na naslovnici podčrtani z rdečo črto */
.hero__pause { position: relative; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--rule-d); border-radius: 50%; transition: border-color 0.2s; }
.hero__pause:hover { border-color: #fff; }
.hero__pause i { width: 10px; height: 12px; border-left: 2px solid #fff; border-right: 2px solid #fff; }
.hero__pause[aria-pressed="true"] i { width: 0; height: 0; border: 0; border-left: 10px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; margin-left: 3px; }
.hero__scroll { position: relative; width: 1px; height: 36px; background: rgba(255, 255, 255, 0.25); overflow: hidden; }
.hero__scroll::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #fff; animation: scrollcue 2.4s var(--ease-io) infinite; }
@keyframes scrollcue { to { top: 100%; } }
@media (prefers-reduced-motion: no-preference) {
  .hero__title { animation: rise 1.3s var(--ease) 0.15s both; }
  .hero__row { animation: fadeup 1.1s var(--ease) 0.55s both; }
  .hero__media { animation: settle 2.4s var(--ease) both; }
  @keyframes rise { from { clip-path: inset(0 0 100% 0); transform: translateY(24px); } to { clip-path: inset(0 0 0 0); transform: none; } }
  @keyframes fadeup { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  @keyframes settle { from { transform: scale(1.06); } to { transform: none; } }
}
@media (max-width: 700px) { .hero__certs { display: none; } }
.hero__scroll { display: none; }

/* ---------- glava podstrani ---------- */
.ph { position: relative; isolation: isolate; min-height: clamp(460px, 70svh, 760px); display: flex; align-items: flex-end; overflow: hidden; padding-top: var(--hd-h); }
.ph--short { min-height: clamp(380px, 52svh, 560px); }
.ph__media, .ph__shade { position: absolute; inset: 0; z-index: -2; }
.ph__media img { width: 100%; height: 100%; object-fit: cover; }
.ph__shade { z-index: -1; background:
  linear-gradient(180deg, rgba(11, 12, 14, 0.7) 0%, rgba(11, 12, 14, 0) 34%),
  linear-gradient(0deg, rgba(11, 12, 14, 0.94) 0%, rgba(11, 12, 14, 0.5) 50%, rgba(11, 12, 14, 0.3) 100%),
  linear-gradient(90deg, rgba(11, 12, 14, 0.55) 0%, rgba(11, 12, 14, 0) 60%); }
.ph__in { display: grid; gap: 22px; padding-block: 48px clamp(44px, 5.6vw, 84px); }
.ph__title { font-size: clamp(2.1rem, 6.8vw, 6.6rem); }
.ph__in .lead { max-width: 52ch; }
.ph--plain { min-height: 0; padding-top: calc(var(--hd-h) + clamp(44px, 6vw, 96px)); background: var(--ink); }
.ph--plain .ph__in { padding-bottom: clamp(40px, 5vw, 80px); position: relative; }
/* podpis: tanka črta s poševnim rdečim elementom iz logotipa */
.ph--plain .ph__in::after { content: none; position: absolute; left: var(--g); right: var(--g); bottom: 34px; height: 1px; background: linear-gradient(90deg, var(--red) 0 56px, var(--rule-d) 56px); }
.ph--plain .ph__in::before { content: none; position: absolute; left: calc(var(--g) + 4px); bottom: 31px; width: 48px; height: 7px; background: var(--red); transform: skewX(-28deg); }
/* fotografija ob besedilu: ostra tudi pri virih širine 1200 px */
.ph--split { min-height: clamp(520px, 72svh, 780px); align-items: stretch; }
.ph--split .ph__in { align-self: end; }
.ph--split .ph__in > * { max-width: min(46%, 640px); }
.ph__side { position: absolute; top: var(--hd-h); right: 0; bottom: 0; width: 50%; margin: 0; overflow: hidden; }
.ph__side img { width: 100%; height: 100%; object-fit: cover; }
.ph__side::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ink) 0%, rgba(11, 12, 14, 0) 22%); }
@media (max-width: 900px) {
  .ph--split { display: grid; min-height: 0; padding-top: var(--hd-h); }
  .ph__side { position: relative; top: 0; width: 100%; aspect-ratio: 16 / 10; order: 2; }
  .ph__side::after { background: linear-gradient(0deg, rgba(11, 12, 14, 0) 70%, var(--ink) 100%); }
  .ph--split .ph__in > * { max-width: none; }
  .ph--split .ph__in { padding-block: 40px 32px; }
}
@media (max-width: 700px) { .ph__media img[style*="--mpos"] { object-position: var(--mpos) !important; } }
.crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.crumbs a:hover { color: #fff; }
.crumbs [aria-current] { color: #fff; }
@media (prefers-reduced-motion: no-preference) {
  .ph__title { animation: rise 1.1s var(--ease) 0.05s both; }
  .ph__in .lead, .ph__facts { animation: fadeup 1s var(--ease) 0.35s both; }
  .ph__media img { animation: settle 2.2s var(--ease) both; }
}
.ph__facts { display: flex; flex-wrap: wrap; gap: 14px 44px; margin-top: 10px; padding-top: 22px; border-top: 1px solid var(--rule-d); }
.ph__facts a, .ph__facts span { font-size: clamp(1.05rem, 1.4vw, 1.3rem); font-weight: 500; font-stretch: 106%; }
.ph__facts a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size 0.4s var(--ease); }
.ph__facts a:hover { background-size: 100% 1px; }
.ph__facts small { display: block; margin-top: 4px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--steel-2); }

/* ---------- izjava + ključni podatki ---------- */
.stmt__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px var(--g); align-items: start; }
.stmt__grid > .lbl { margin-top: 0.9em; }
.stmt__text { font-size: clamp(1.6rem, 3.1vw, 3.1rem); font-weight: 420; font-stretch: 104%; line-height: 1.18; letter-spacing: -0.016em; text-wrap: pretty; max-width: 30ch; }
.stmt__text em { font-style: normal; color: var(--steel); }
.stmt__body { display: grid; gap: 36px; }
.stmt__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 48px; max-width: 980px; }
.stmt__cols p { color: var(--steel); text-wrap: pretty; }
@media (max-width: 860px) { .stmt__grid, .stmt__cols { grid-template-columns: 1fr; } }

.figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(32px, 4vw, 56px); border-top: 1px solid var(--rule); }
.figs > div { padding: 28px 24px 0 0; }
.figs > div + div { padding-left: 24px; border-left: 1px solid var(--rule); }
.figs dt { font-size: clamp(2.6rem, 4.6vw, 4.75rem); font-weight: 480; font-stretch: 116%; line-height: 1; letter-spacing: -0.02em; }
.figs dt small { font-size: 0.42em; margin-left: 0.12em; font-weight: 500; letter-spacing: 0; }
.figs dd { margin-top: 12px; font-size: var(--t-small); color: var(--steel); }
.figs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dark .figs { border-color: var(--rule-d); }
.dark .figs > div + div { border-color: var(--rule-d); }
.dark .figs dd { color: var(--steel-2); }
@media (max-width: 760px) {
  .figs > div { padding: 22px 10px 0 0; }
  .figs > div + div { padding-left: 14px; }
  .figs dd { font-size: 0.8125rem; }
}

/* ---------- zmogljivosti (slikovne ploščice) ---------- */
.tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
.tile { position: relative; isolation: isolate; display: flex; align-items: flex-end; aspect-ratio: 16 / 11; overflow: hidden; color: #fff; background: var(--ink); }
.tile__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.55) 34%, rgba(11, 12, 14, 0) 66%); transition: opacity 0.6s; }
.tile__txt { display: grid; gap: 10px; width: 100%; padding: clamp(22px, 3vw, 44px); }
.tile__txt p { max-width: 42ch; min-height: 3.2em; font-size: var(--t-small); color: rgba(255, 255, 255, 0.8); }
.tile__head h3 { min-width: 0; hyphens: auto; overflow-wrap: break-word; }
.tile__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
@media (max-width: 480px) { .tile__head { gap: 16px; } .tile__head h3 { font-size: 1.2rem; } }
.tile__go { flex: none; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.45); transition: background-color 0.35s, border-color 0.35s; }
.tile__go::after { content: ""; width: 20px; height: 10px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M16 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M16 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.5s var(--ease); }
.tile:hover .tile__img { transform: scale(1.045); }
.tile:hover .tile__go { background: var(--red); border-color: var(--red); }
.tile:hover .tile__go::after { transform: translateX(3px); }
@media (max-width: 760px) { .tiles { grid-template-columns: 1fr; } .tile { aspect-ratio: 4 / 3.4; } }

/* ---------- industrije: samo imena ---------- */
.inds-sec__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px var(--g); align-items: start; }
.inds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 40px; padding-top: 6px; }
.inds li { font-size: clamp(1.35rem, 2.1vw, 2.1rem); font-weight: 500; font-stretch: 112%; letter-spacing: -0.012em; line-height: 1.15; color: rgba(255, 255, 255, 0.92); }
@media (max-width: 900px) { .inds-sec__grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .inds { grid-template-columns: 1fr; gap: 16px; } }

/* ---------- poudarek: besedilo + velika fotografija (brez povečevanja virov) ---------- */
.feat { padding-block: var(--sec); }
.feat__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px var(--g); align-items: center; }
.feat__txt { display: grid; gap: 22px; justify-items: start; }
.feat__media { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ink-2); }
.feat__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease); }
.feat:hover .feat__media img { transform: scale(1.02); }
.feat--flip .feat__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); }
.feat--flip .feat__media { order: -1; }
@media (max-width: 900px) { .feat__grid, .feat--flip .feat__grid { grid-template-columns: 1fr; } .feat--flip .feat__media { order: 0; } }

/* ---------- ekipa (fotografija v mreži, brez povečevanja) ---------- */
.team { margin: 0 auto; display: grid; gap: 18px; max-width: calc(1200px + 2 * var(--g)); }
.team img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; object-position: 50% 72%; }
@media (max-width: 700px) { .team img { aspect-ratio: 4 / 3; object-position: 50% 85%; } }

/* ---------- enotna barvna obdelava fotografij (umiri studijske barvne filtre) ---------- */
.ph__media img, .story__img, .tile__img, .split__media img, .feat__media img, .ph__side img, .gal__item img, .spon__media img, .team img { filter: saturate(0.88) contrast(1.03); }

/* ---------- vrednote ---------- */
.vals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--g); }
.vals li { display: grid; gap: 14px; align-content: start; padding-top: 26px; border-top: 1px solid var(--rule); }
.vals p { color: var(--steel); max-width: 34ch; }
@media (max-width: 860px) { .vals { grid-template-columns: 1fr; row-gap: 32px; } }

/* ---------- zgodba čez celo širino ---------- */
.story { position: relative; isolation: isolate; min-height: clamp(560px, 86svh, 900px); display: flex; align-items: flex-end; overflow: hidden; }
.story__img { position: absolute; inset: -6% 0; z-index: -2; width: 100%; height: 112%; object-fit: cover; will-change: transform; }
.story::before { content: ""; position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(0deg, rgba(11, 12, 14, 0.9) 0%, rgba(11, 12, 14, 0.2) 55%, rgba(11, 12, 14, 0.1) 100%),
  linear-gradient(90deg, rgba(11, 12, 14, 0.62) 0%, rgba(11, 12, 14, 0) 60%); }
.story__in { display: grid; gap: 22px; justify-items: start; padding-block: clamp(56px, 7vw, 104px); }
.story--band { min-height: clamp(420px, 62svh, 680px); }
@media (max-width: 700px) { .story--band { min-height: 60svh; } .story--band .h2 { font-size: clamp(1.5rem, 6.4vw, 2rem); } }
.story__in .h2 { max-width: 18ch; }
.story__in .lead { max-width: 46ch; }

/* ---------- standardi ---------- */
.stds { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--g); }
.stds li { display: grid; gap: 12px; align-content: start; padding-top: 24px; border-top: 1px solid var(--rule); }
.stds b { font-size: clamp(1.25rem, 1.7vw, 1.6rem); font-weight: 560; font-stretch: 116%; letter-spacing: 0.01em; }
.stds p { font-size: var(--t-small); color: var(--steel); }
@media (max-width: 900px) { .stds { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; } }
@media (max-width: 480px) { .stds { grid-template-columns: 1fr; row-gap: 26px; } }

/* ---------- poziv (kontakt) ---------- */
.cta--rule { border-top: 1px solid var(--rule); }
.cta__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px var(--g); align-items: start; }
.cta__grid > :last-child { margin-top: 3.2rem; }
.cta__grid .lead { margin-top: 22px; }
.cta__contact { display: grid; gap: 14px; justify-items: start; padding-top: 28px; border-top: 1px solid var(--rule); }
.cta__mail { font-size: clamp(1.6rem, 2.8vw, 2.6rem); font-weight: 500; font-stretch: 108%; letter-spacing: -0.015em; line-height: 1.1; background: linear-gradient(var(--red), var(--red)) 0 100% / 0 2px no-repeat; transition: background-size 0.5s var(--ease); padding-bottom: 4px; }
.cta__mail:hover { background-size: 100% 2px; }
.cta__tel { font-size: 1.125rem; color: var(--steel); }
.cta__tel:hover { color: var(--fg); }
.cta__contact .arrow { margin-top: 10px; }
@media (max-width: 860px) { .cta__grid { grid-template-columns: 1fr; } }

/* ---------- slika + besedilo ---------- */
.split__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px var(--g); align-items: center; }
.split--flip .split__media { order: 2; }
.split__media { position: relative; overflow: hidden; aspect-ratio: 1 / 1; background: var(--paper); }
.split__media--wide { aspect-ratio: 4 / 3; }
.split__media img { width: 100%; height: 100%; object-fit: cover; }
.split__txt { display: grid; gap: 22px; align-content: center; align-self: center; max-width: 620px; }
.split__txt .lead { max-width: 48ch; }
@media (max-width: 900px) { .split__grid { grid-template-columns: 1fr; } .split--flip .split__media { order: 0; } .split__media { aspect-ratio: 4 / 3; } }

.rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; margin-top: 10px; }
.rules--one { grid-template-columns: 1fr; }
.rules li { padding: 13px 0; border-top: 1px solid var(--rule); font-size: var(--t-small); line-height: 1.45; }
.dark .rules li { border-color: var(--rule-d); color: rgba(255, 255, 255, 0.84); }
@media (max-width: 520px) { .rules { grid-template-columns: 1fr; } }

/* ---------- podnavigacija (sidra) ---------- */
.subnav { position: sticky; top: 0; z-index: 30; background: var(--surface); border-bottom: 1px solid var(--rule); transition: top 0.5s var(--ease); }
.hd:not(.is-hidden) ~ main .subnav { top: var(--hd-h); }
.subnav__in { display: flex; gap: 8px 36px; overflow-x: auto; scrollbar-width: none; }
@media (max-width: 760px) { .subnav__in { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); padding-right: 48px; } }
.subnav__in::-webkit-scrollbar { display: none; }
.subnav a { flex: none; padding: 20px 0 18px; font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.13em; text-transform: uppercase; color: var(--steel); border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; }
.subnav a:hover { color: var(--fg); }
.subnav a.is-on { color: var(--fg); border-color: var(--red); }

/* ---------- tehnični list (strojni park) ---------- */
.spec { width: 100%; border-collapse: collapse; }
.spec tr { border-top: 1px solid var(--rule); }
.spec tr:last-child { border-bottom: 1px solid var(--rule); }
.spec th, .spec td { padding: 24px 0; vertical-align: top; text-align: left; }
.spec th { width: 34%; padding-right: 32px; }
.spec th b { display: block; font-size: clamp(1.15rem, 1.5vw, 1.45rem); font-weight: 560; font-stretch: 110%; line-height: 1.2; }
.spec th span { display: block; margin-top: 6px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--steel); }
.spec td ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px; }
.spec td li { position: relative; padding-left: 18px; font-size: var(--t-small); line-height: 1.5; }
.spec td li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 8px; height: 1px; background: var(--red); }
.spec tr { transition: background-color 0.25s; }
@media (hover: hover) { .spec tbody tr:hover { background: var(--paper); } }
@media (max-width: 760px) {
  .spec, .spec tbody, .spec tr, .spec th, .spec td { display: block; width: 100%; }
  .spec th { padding: 22px 0 10px; }
  .spec td { padding: 0 0 22px; }
  .spec td ul { grid-template-columns: 1fr; }
}

/* ---------- materiali ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { padding: 9px 14px; border: 1px solid var(--rule); font-size: 0.875rem; line-height: 1.2; }
.mix { display: grid; gap: 22px; }
.mix__bar { display: flex; height: 10px; gap: 2px; }
.mix__bar span { flex: var(--v) 1 0; background: var(--c); transform-origin: left; }
.js .mix__bar span { transform: scaleX(0); transition: transform 1.2s var(--ease); transition-delay: calc(var(--i) * 90ms); }
.js .mix.in .mix__bar span { transform: none; }
.mix__rows { display: grid; }
.mix__rows li { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--rule); font-size: var(--t-small); }
.mix__rows i { width: 10px; height: 10px; background: var(--c); }
.mix__rows b { font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- razvoj izdelka (3D) ---------- */
.dev { background: var(--ink); color: #fff; }
.dev__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 40px var(--g); }
.dev__stage { position: sticky; top: calc(var(--hd-h) + 24px); height: calc(100svh - var(--hd-h) - 48px); max-height: 760px; border: 0; background: radial-gradient(80% 70% at 50% 60%, #151a22 0%, #0b0c0e 70%); overflow: hidden; }
.dev__canvas { position: absolute; inset: 0; }
.dev__fallback { position: absolute; inset: 0; }
.dev__fallback img { width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
/* razvoj izdelka kot posnetek (technology.js, DEV_VIDEO): kot 3D (navpični kot kamere je stalen) – po višini okna, na sredini;
   ožje okno obreže boka, širše (tablica pokonci) ima ob straneh ozadje, rob posnetka se zabriše */
.dev__vid { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.dev__canvas > canvas { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }   /* platno 3D nad posnetkom (orodje pri programiranju), prekrivni sloj (.d3) nad platnom */
.dev__vid video { position: absolute; top: 0; left: 50%; height: 100%; width: auto; aspect-ratio: var(--ar, 1196 / 1140); transform: translateX(-50%); max-width: none; display: block; object-fit: fill; }
.dev__vid canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; }   /* kot platno 3D (izsek riše technology.js) */
.dev__vid.is-fade video, .dev__vid.is-fade canvas { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.dev__hud { position: absolute; left: 20px; right: 20px; top: 18px; display: flex; justify-content: space-between; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--steel-2); pointer-events: none; }
.dev__hud b { color: #fff; font-weight: 600; }
.dev__bar { position: absolute; left: 20px; right: 20px; bottom: 18px; height: 1px; background: var(--rule-d); }
.dev__bar i { position: absolute; inset: 0 auto 0 0; width: calc(var(--p, 0.2) * 100%); background: var(--red); transition: width 0.3s; }
.dev__steps { display: grid; }
.dev__step { min-height: 64svh; display: grid; align-content: center; gap: 14px; padding-block: 32px; opacity: 0.5; transition: opacity 0.5s; }
.dev__step:first-child { min-height: 50svh; }
.dev__step.is-on { opacity: 1; }
.dev__step .lbl { color: var(--steel-2); }
.dev__step.is-on .lbl::before { background: var(--red); }
.dev__step p { max-width: 40ch; color: rgba(255, 255, 255, 0.72); }
.dev__step .te-dev__note { max-width: 46ch; margin-top: 4px; padding-left: 12px; border-left: 2px solid var(--red); font-size: 0.8125rem; line-height: 1.5; color: rgba(255, 255, 255, 0.58); }   /* opomba: primer, ne kos stranke */
.up-dev__labels { position: absolute; inset: 0; pointer-events: none; transition: opacity 0.3s; }
.up-dev__label { position: absolute; left: 0; top: 0; display: flex; gap: 8px; align-items: center; padding: 6px 10px; background: rgba(11, 12, 14, 0.86); border: 1px solid var(--rule-d); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.up-dev__label b { color: var(--red); font-weight: 600; }
.dev__cap { display: none; }
@media (max-width: 900px) {
  .dev__grid { grid-template-columns: 1fr; }
  .dev__stage { top: 60px; height: 50svh; z-index: 2; transition: top 0.5s var(--ease); }
  .hd:not(.is-hidden) ~ main .dev__stage { top: calc(var(--hd-h) + 60px); }
  .dev__cap { display: block; position: absolute; left: 20px; right: 20px; bottom: 30px; font-size: 1.125rem; font-weight: 560; font-stretch: 108%; line-height: 1.2; pointer-events: none; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6); }
  .dev__step { min-height: 56svh; }
  .dev__step:first-child { min-height: 24svh; }
  .dev__step { min-height: 38svh; align-content: start; padding-block: 20px; }
  .dev__step:last-child { padding-bottom: 32svh; }
  .dev__step h3, .dev__step .lbl { display: none; }
  .up-dev__labels { display: none; }
}

/* ---------- galerija ---------- */
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.filters button { min-height: 42px; padding: 0 18px; border: 1px solid var(--rule); font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.12em; text-transform: uppercase; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.filters button:hover { border-color: var(--fg); }
.filters button[aria-pressed="true"] { background: #fff; color: var(--ink); border-color: #fff; }
/* mreža s stalnimi razmerji: ležeče 3:2, pokončne čez dve vrstici — stolpci se končajo poravnano */
.gal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; grid-auto-flow: dense; gap: 12px; }
.gal__item { margin: 0; aspect-ratio: 3 / 2; }
.gal__item--p { grid-row: span 2; aspect-ratio: auto; }
.gal__item img { width: 100%; height: 100% !important; object-fit: cover; }
@media (max-width: 640px) { .gal { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }
.gal__item { display: block; width: 100%; overflow: hidden; background: var(--paper); cursor: zoom-in; }
.gal__item img { width: 100%; height: auto; transition: transform 1s var(--ease), opacity 0.3s; }
.gal__item:hover img { transform: scale(1.03); }
.gal.is-fading { opacity: 0; transition: opacity 0.2s; }
.gal { transition: opacity 0.3s; }

/* ---------- delovna mesta ---------- */
.jobs { border-top: 1px solid var(--rule); }
.job { border-bottom: 1px solid var(--rule); }
.job summary { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 28px 0; cursor: pointer; list-style: none; }
.job summary::-webkit-details-marker { display: none; }
.job summary h3 { transition: color 0.2s; }
.job summary:hover h3 { color: var(--red); }
.job__meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 8px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--steel); }
.job__tog { position: relative; width: 48px; height: 48px; border: 1px solid var(--rule); }
.job__tog::before, .job__tog::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); transition: transform 0.35s var(--ease); }
.job__tog::after { transform: translate(-50%, -50%) rotate(90deg); }
.job[open] .job__tog::after { transform: translate(-50%, -50%) rotate(0deg); }
.job__body { display: grid; gap: 32px; padding: 0 0 40px; }
.job__intro { max-width: 70ch; color: var(--steel); }
.job__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.job__cols h4 { margin-bottom: 8px; }
.job__apply { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.job__apply p { font-size: var(--t-small); color: var(--steel); }
@media (max-width: 900px) { .job__cols { grid-template-columns: 1fr; gap: 20px; } }

.offer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--g); margin-top: clamp(56px, 6vw, 88px); }
.offer li { display: grid; gap: 10px; align-content: start; padding-top: 22px; border-top: 1px solid var(--rule); }
.offer b { font-size: 1.125rem; font-weight: 560; font-stretch: 108%; }
.offer p { font-size: var(--t-small); color: var(--steel); }
@media (max-width: 900px) { .offer { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; } }
@media (max-width: 480px) { .offer { grid-template-columns: 1fr; row-gap: 24px; } }

/* ---------- obrazec ---------- */
.apply__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px var(--g); }
.apply__aside { display: grid; gap: 22px; align-content: start; }
.apply__hr { padding-top: 20px; border-top: 1px solid var(--rule); font-size: var(--t-small); color: var(--steel); line-height: 1.7; }
.apply__hr b { color: var(--fg); font-weight: 600; }
.apply__hr a:hover { color: var(--fg); text-decoration: underline; }
@media (max-width: 960px) { .apply__grid { grid-template-columns: 1fr; } }

.form { display: grid; gap: 36px; }
.form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 18px; }
.form legend { padding: 0; margin-bottom: 18px; }
.form__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 20px; }
.form__grid > .field { grid-column: span 3; }
.form__grid > .field--third { grid-column: span 2; }
.field { display: grid; gap: 8px; min-width: 0; align-content: start; }
.field--wide { grid-column: 1 / -1; }
.field > span { font-size: 0.8125rem; font-weight: 600; color: var(--fg); }
.field input, .field textarea {
  width: 100%; min-height: 52px; padding: 13px 14px;
  font: inherit; font-size: 1rem; color: var(--fg);
  background: var(--surface); border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:hover, .field textarea:hover { border-color: var(--fg); }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--fg); box-shadow: 0 0 0 1px var(--fg); }
.field.is-invalid input, .field.is-invalid textarea, .is-invalid .drop__zone { border-color: var(--red); box-shadow: 0 0 0 1px var(--red); }
.field__err, .field > .field__err { font-size: 0.8125rem; font-weight: 500; color: var(--red-2); }
.choices { display: grid; gap: 8px; }
.choice { position: relative; display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 12px 16px; border: 1px solid rgba(255, 255, 255, 0.22); cursor: pointer; transition: border-color 0.2s, background-color 0.2s; }
.choice:hover { border-color: var(--fg); }
.choice input { width: 18px; height: 18px; accent-color: var(--fg); flex: none; }
.choice:has(input:checked) { border-color: var(--fg); background: var(--paper); }
.choices.is-invalid .choice { border-color: var(--red); }
.drop { display: grid; gap: 10px; }
.drop input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.drop__zone { display: grid; justify-items: center; gap: 6px; padding: 30px 20px; text-align: center; border: 1px dashed rgba(255, 255, 255, 0.4); cursor: pointer; transition: border-color 0.2s, background-color 0.2s; }
.drop__zone b { font-weight: 600; }
.drop__zone u { text-underline-offset: 3px; }
.drop__zone span { font-size: 0.8125rem; color: var(--steel); }
.drop.is-over .drop__zone, .drop__zone:hover { border-color: var(--fg); background: var(--paper); }
.drop input:focus-visible + .drop__zone { outline: 2px solid var(--red); outline-offset: 3px; }
.drop__list { display: grid; gap: 6px; }
.drop__list li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: var(--surface); border: 1px solid var(--rule); font-size: 0.875rem; }
.drop__list li > span:first-child { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.drop__list li .num { color: var(--steel); }
.drop__list li.is-bad { color: var(--red-2); }
.drop__list button { width: 32px; height: 32px; font-size: 1.1rem; }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: var(--t-small); cursor: pointer; }
.check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--fg); flex: none; }
.check a { text-decoration: underline; text-underline-offset: 3px; }
.check.is-invalid { color: var(--red-2); }
.form__foot { display: grid; gap: 18px; }
.form__actions { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; }
.form__note { font-size: 0.8125rem; color: var(--steel); }
.form__msg:empty { display: none; }
.form__msg { padding: 16px 18px; border-left: 3px solid var(--fg); background: var(--paper); font-size: var(--t-small); display: grid; gap: 12px; justify-items: start; }
.form__msg.is-error { border-color: var(--red); }
.form__msg.is-ok { border-color: #1f7a4a; }
.form__msg .btn { min-height: 44px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .form__grid { grid-template-columns: 1fr; } .form__grid > .field, .form__grid > .field--third { grid-column: 1 / -1; } }

/* ---------- imenik ---------- */
.dir__group + .dir__group { margin-top: 56px; }
.dir__group > .lbl { margin-bottom: 18px; }
.dir__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 32px; }
.person { display: grid; gap: 4px; align-content: start; padding: 22px 0 28px; border-top: 1px solid var(--rule); min-width: 0; }
.person h4 { font-size: 1.125rem; font-weight: 560; font-stretch: 106%; }
.person__role { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--steel); margin-bottom: 12px; }
.person a { font-size: var(--t-small); overflow-wrap: anywhere; justify-self: start; }
.person a:hover { color: var(--red-2); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) { .dir__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .dir__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .dir__grid { grid-template-columns: 1fr; } }

.visit__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px var(--g); align-items: stretch; }
.visit__list { display: grid; margin-top: 28px; }
.visit__list div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--rule); }
.visit__list dt { padding-top: 3px; }
.visit__list dd { font-size: var(--t-small); line-height: 1.6; }
.visit__list a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .visit__grid { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .visit__list div { grid-template-columns: 1fr; gap: 4px; } }

/* ---------- vgrajena zunanja vsebina (s privolitvijo) ---------- */
.embed { position: relative; overflow: hidden; background: var(--ink); color: #fff; width: 100%; aspect-ratio: 16 / 9; }
@media (max-width: 700px) { .embed { aspect-ratio: 4 / 3; } }
.embed--tall { aspect-ratio: auto; height: 100%; min-height: 420px; }
@media (max-width: 900px) { .embed--tall { min-height: 0; aspect-ratio: 4 / 3; } }
.embed__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.6; transition: opacity 0.4s, transform 1.2s var(--ease); }
.embed:hover .embed__poster { opacity: 0.5; transform: scale(1.02); }
.embed--bright .embed__poster { opacity: 0.85; }
.embed--bright:hover .embed__poster { opacity: 0.75; }
.embed--corner .embed__play { inset: auto auto 22px 22px; grid-auto-flow: column; align-items: center; gap: 14px; }
.embed--corner .embed__icon { width: 56px; height: 56px; }
.embed--corner .embed__note { left: auto; right: 18px; bottom: auto; top: 14px; text-align: right; }
@media (max-width: 700px) { .embed--corner .embed__note { display: none; } }
.embed__play { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 16px; font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; }
.embed__icon { width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.7); border-radius: 50%; transition: background-color 0.3s, border-color 0.3s; }
.embed__icon svg { width: 20px; height: 20px; fill: currentColor; }
.embed__play:hover .embed__icon { background: var(--red); border-color: var(--red); }
.embed__note { position: absolute; left: 18px; right: 18px; bottom: 14px; font-size: 0.75rem; color: rgba(255, 255, 255, 0.7); text-align: center; pointer-events: none; }
.embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- certifikati ---------- */
.certs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; background: var(--rule); border: 1px solid var(--rule); }
.cert { display: grid; grid-template-rows: auto 1fr; background: var(--surface); }
.cert__doc { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); aspect-ratio: 1 / 1.1; padding: 26px; background: var(--paper); cursor: zoom-in; }
.cert__doc img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 24px rgba(11, 12, 14, 0.14)); transition: transform 0.6s var(--ease); }
.cert__doc:hover img { transform: translateY(-4px); }
.cert__body { display: grid; gap: 8px; align-content: start; padding: 22px 22px 26px; }
.cert__body b { font-size: 1.125rem; font-weight: 600; font-stretch: 112%; }
.cert__body p { font-size: var(--t-small); color: var(--steel); }
.cert__body .arrow { justify-self: start; margin-top: 8px; }
@media (max-width: 1000px) { .certs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .certs { grid-template-columns: 1fr; } }

.qa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--g); }
.qa li { display: grid; gap: 8px; padding: 24px 0 28px; border-top: 1px solid var(--rule); }
.qa b { font-weight: 600; font-size: 1.0625rem; }
.qa--lg li { gap: 14px; padding: 32px 0 40px; }
.qa--lg p { font-size: var(--t-body); max-width: 56ch; }
.qa p { font-size: var(--t-small); color: var(--steel); }
@media (max-width: 700px) { .qa { grid-template-columns: 1fr; } }
.qline { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px var(--g); margin-top: clamp(48px, 5vw, 72px); align-items: start; }
.qline > p { font-size: clamp(1.15rem, 1.5vw, 1.4rem); line-height: 1.45; max-width: 46ch; }
.qline__links { display: grid; gap: 10px; justify-items: start; }
@media (max-width: 860px) { .qline { grid-template-columns: 1fr; } }
.contact-line { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin-top: 40px; padding: 24px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.contact-line b { font-weight: 600; }
.contact-line a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- dokumenti ---------- */
.doc__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px var(--g); align-items: start; }
.toc { position: sticky; top: calc(var(--hd-h) + 32px); display: grid; gap: 2px; max-height: calc(100svh - var(--hd-h) - 64px); overflow: auto; }
.toc .lbl { margin-bottom: 14px; }
.toc a { padding: 8px 0 8px 14px; border-left: 1px solid var(--rule); font-size: 0.875rem; line-height: 1.35; color: var(--steel); transition: color 0.2s, border-color 0.2s; }
.toc a:hover { color: var(--fg); }
.toc a.is-on { color: var(--fg); border-color: var(--red); }
.doc { max-width: 76ch; }
.doc h2 { margin: 2.2em 0 0.7em; font-size: clamp(1.4rem, 2vw, 1.9rem); font-weight: 560; font-stretch: 110%; line-height: 1.15; letter-spacing: -0.01em; scroll-margin-top: calc(var(--hd-h) + 24px); }
.doc > :first-child, .doc > section:first-child > h2:first-child { margin-top: 0; }
.doc h3 { margin: 1.6em 0 0.5em; font-size: 1.1875rem; font-weight: 600; font-stretch: 106%; }
.doc h4 { margin: 1.3em 0 0.4em; font-size: 1rem; font-weight: 600; }
.doc p, .doc li { color: #2e3238; text-wrap: pretty; }
.doc p + p { margin-top: 0.9em; }
.doc ul, .doc ol { display: grid; gap: 8px; margin: 1em 0; }
.doc ul li { position: relative; padding-left: 20px; }
.doc ul li::before { content: ""; position: absolute; left: 0; top: 0.78em; width: 8px; height: 1px; background: var(--red); }
.doc ol { counter-reset: n; }
.doc ol li { position: relative; padding-left: 30px; counter-increment: n; }
.doc ol li::before { content: counter(n, decimal-leading-zero); position: absolute; left: 0; font-size: 0.75rem; font-weight: 600; color: var(--steel); top: 0.25em; }
.doc a { text-decoration: underline; text-underline-offset: 3px; }
.doc table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: 0.875rem; }
.doc th, .doc td { padding: 10px 12px 10px 0; border-top: 1px solid var(--rule); text-align: left; vertical-align: top; }
.doc th { font-weight: 600; }
.doc blockquote { margin: 1.4em 0; padding-left: 22px; border-left: 2px solid var(--red); font-size: 1.25rem; line-height: 1.45; }
.doc .table-wrap, .doc .cookie-policy-table-wrap { overflow-x: auto; }
.doc img, .doc svg { display: none; }
.doc section + section { margin-top: 0.4em; }
@media (max-width: 960px) { .doc__grid { grid-template-columns: 1fr; } .toc { position: static; max-height: none; } }

/* ---------- EU ---------- */
.eu-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 36px; padding: 26px 0; border-bottom: 1px solid var(--rule); }
.eu-strip svg { width: 60px; height: 40px; flex: none; }
.eu-strip b { display: block; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; }
.eu-strip span { font-size: 0.8125rem; color: var(--steel); }
.eu-strip a { margin-left: auto; }
.fin { display: grid; gap: 22px; padding: 32px; background: var(--paper); align-self: start; }
.fin__total { font-size: clamp(1.9rem, 3vw, 2.6rem); font-weight: 500; font-stretch: 110%; letter-spacing: -0.01em; line-height: 1; }
.fin__bar { display: flex; height: 8px; gap: 2px; }
.fin__bar span:first-child { flex: var(--a) 1 0; background: #003399; }
.fin__bar span:last-child { flex: var(--b) 1 0; background: var(--steel-2); }
.fin dl { display: grid; }
.fin dl div { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 12px 0; border-top: 1px solid var(--rule); font-size: var(--t-small); }
.fin dd { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin i { display: inline-block; width: 10px; height: 10px; margin-right: 10px; background: var(--c, var(--steel-2)); }
.fin__note { font-size: 0.8125rem; color: var(--steel); }

/* ---------- sponzorstvo ---------- */
.spons { display: grid; gap: clamp(64px, 8vw, 128px); }
.spon { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 40px var(--g); align-items: center; }
.spon--flip > :first-child { order: 2; }
.spon__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--paper); }
.spon__media img { width: 100%; height: 100%; object-fit: cover; }
.spon__media--wide { aspect-ratio: 3 / 1; }
@media (max-width: 900px) { .spon__media--wide { aspect-ratio: 5 / 2; } }
.also { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 3.2fr); gap: 20px var(--g); align-items: start; }
.also__list { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 10px 48px; white-space: nowrap; font-size: clamp(1.05rem, 1.3vw, 1.25rem); font-weight: 500; font-stretch: 108%; }
@media (max-width: 1100px) { .also__list { grid-template-columns: 1fr; white-space: normal; } }
@media (max-width: 760px) { .also { grid-template-columns: 1fr; } }
.spon__media .embed { aspect-ratio: auto; height: 100%; min-height: 0; }
.spon__txt { display: grid; gap: 18px; }
.spon__txt p { color: var(--steel); }
@media (max-width: 900px) { .spon { grid-template-columns: 1fr; } .spon--flip > :first-child { order: 0; } }

/* ---------- logotip ---------- */
.logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; background: var(--rule); border: 1px solid var(--rule); }
.logos figure { display: grid; place-items: center; aspect-ratio: 16 / 9; padding: 12%; background: var(--white); }
.logos figure.is-dark { background: var(--ink); }
.logos img { width: 100%; max-width: 380px; }
@media (max-width: 640px) { .logos { grid-template-columns: 1fr; } }

/* ---------- 404 ---------- */
.nf { min-height: 100svh; display: grid; align-content: center; gap: 24px; padding-top: var(--hd-h); }
.nf__code { font-size: clamp(5rem, 16vw, 14rem); font-weight: 600; font-stretch: 125%; line-height: 0.9; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.4); }
.nf__links { display: flex; flex-wrap: wrap; gap: 14px 32px; }


/* ==========================================================================
   »En zaslon, ena misel« (po zgledu SpaceX / Northrop Grumman)
   ========================================================================== */
/* uvod: vrstica s povezavo in noga (kraj, certifikati, premor) kot v prvi podobi V2 */
/* naslov in povezava tik nad črto; manjši naslov, da je videti več videa */
.hero .hero__in { display: flex; flex-wrap: nowrap; align-items: flex-end; justify-content: space-between; gap: 20px 48px; padding-bottom: clamp(24px, 3vw, 40px); }
.hero .hero__title { flex: 0 1 auto; min-width: 0; font-size: clamp(2rem, 5.8vw, 6.4rem); line-height: 0.96; }
.hero .hero__link { flex: none; }
.hero .hero__link { margin-bottom: 0.35em; animation: fadeup 1.1s var(--ease) 0.55s both; }
@media (max-width: 700px) { .hero .hero__in { flex-wrap: wrap; gap: 18px; } .hero .hero__title { font-size: clamp(1.75rem, 8.4vw, 2.4rem); } }
.hero__link { display: inline-flex; align-items: center; gap: 14px; font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1; padding-block: 10px; color: #fff; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: background-size 0.5s var(--ease); }
.hero__link::after { content: ""; width: 22px; height: 10px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M16 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M16 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.5s var(--ease); }
.hero__link:hover { background-size: 0 1px; background-position: 100% 100%; }
.hero__link:hover::after { transform: translateX(6px); }
.hero__meta { font-size: 0.75rem; font-weight: 600; font-stretch: 108%; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; color: var(--steel-2); }

/* izjava (slog Leonardo): sivo besedilo, ključne besede bele */
.say { display: grid; align-items: center; min-height: max(560px, 100svh); padding-block: var(--sec); }
.say__text { max-width: 28em; margin-inline: auto; text-align: center; font-size: clamp(1.35rem, 3vw, 3.1rem); font-weight: 216; font-stretch: 104%; line-height: 1.3; letter-spacing: -0.012em; color: #858585; text-wrap: balance; }
.say__text b { font-weight: 216; color: #fff; }
/* ključni podatki pod opisom na domači strani: tehnični »list s podatki« – črta z rdečim znakom, indeks, velika številka, majhna grafika */
.reveal__text > * { grid-area: 1 / 1; }
.say__wrap { --o: clamp(0, var(--x, 0) * 2, 1); display: grid; justify-items: center; width: 100%; opacity: calc(1 - var(--o)); transform: translateY(calc(var(--o) * -5vh)); filter: blur(calc(var(--o) * 8px)); } /* najprej zbledi opis … */
.fx-stage { --o: clamp(0, var(--x, 0) * 2 - 1, 1); display: grid; justify-items: center; gap: clamp(28px, 5.5vh, 64px); width: 100%; opacity: var(--o); transform: translateY(calc((1 - var(--o)) * 5vh)); } /* … nato se pojavijo podatki */
.fx-stage__lbl { margin: 0; font-size: 0.75rem; font-weight: 600; font-stretch: 112%; letter-spacing: 0.22em; text-transform: uppercase; color: var(--steel); display: flex; align-items: center; gap: 14px; }
.fx-stage__lbl::before, .fx-stage__lbl::after { content: ""; width: 40px; height: 1px; background: rgba(255, 255, 255, 0.22); }
html:not(.js) .reveal__text > * { grid-area: auto; } html:not(.js) .fx-stage { opacity: 1; transform: none; margin-top: 64px; }
.fx-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(28px, 3.6vw, 64px); width: min(100%, 1320px); margin: 0; padding: 0; list-style: none; text-align: left; }
.fx { position: relative; display: grid; align-content: start; gap: 14px; padding-top: 20px; }
.fx::before, .fx::after { content: ""; position: absolute; left: 0; top: 0; height: 1px; }
.fx::before { right: 0; background: rgba(255, 255, 255, 0.16); }
.fx::after { width: 36px; height: 2px; top: -0.5px; background: var(--red); transform: skewX(-24deg); }
.fx__top { display: flex; gap: 12px; align-items: baseline; font-size: 0.6875rem; font-weight: 600; font-stretch: 112%; letter-spacing: 0.18em; text-transform: uppercase; line-height: 1; color: var(--steel); }
.fx__i { color: var(--red); font-variant-numeric: tabular-nums; }
.fx__n { display: flex; align-items: flex-start; gap: 0.08em; font-size: clamp(3rem, 6.2vw, 7rem); font-weight: 220; font-stretch: 108%; line-height: 0.92; letter-spacing: -0.035em; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fx__n small { font-size: 0.42em; font-weight: 300; letter-spacing: 0; margin-top: 0.12em; color: var(--steel); }
.fx__l { margin: 0; font-size: 0.9375rem; font-weight: 400; font-stretch: 100%; line-height: 1.45; letter-spacing: 0.005em; color: #8a8f96; max-width: 26ch; text-wrap: pretty; }
/* grafike (višina 26 px) */
.vz { height: 26px; }
.vz i { display: block; background: rgba(255, 255, 255, 0.14); }
.vz-t { display: flex; align-items: flex-end; justify-content: space-between; }
.vz-t i { width: 1px; height: 9px; }
.vz-t i.m { height: 16px; }
.vz-t i:last-child { height: 26px; width: 2px; background: var(--red); }
.vz-d { display: grid; grid-template-columns: repeat(17, 4px); grid-auto-rows: 4px; gap: 1.5px 5px; align-content: end; }
.vz-b { display: grid; align-content: end; gap: 5px; }
.vz-b span { display: flex; gap: 4px; }
.vz-b i { width: 2px; height: 10px; }
.vz-b span + span i { background: rgba(154, 161, 170, 0.14); }
.vz-x { position: relative; display: grid; align-items: end; }
.vz-x::before { content: ""; height: 2px; background: rgba(255, 255, 255, 0.14); }
.vz-x b { position: absolute; left: 0; bottom: 0; width: 99%; height: 2px; background: #fff; transform-origin: left; }
.vz-x em { position: absolute; left: 99%; bottom: 0; width: 2px; height: 18px; margin-left: -1px; background: var(--red); }
/* animacija ob prihodu na zaslon (samo z JS in brez »zmanjšaj gibanje«) */
.fx-row.is-armed .fx::before { transform: scaleX(0); transform-origin: left; }
.fx-row.is-armed .fx::after { transform: skewX(-24deg) scaleX(0); transform-origin: left; }
.fx-row.is-armed .fx__top, .fx-row.is-armed .fx__l { opacity: 0; transform: translateY(10px); }
.fx-row.is-armed .fx__n { opacity: 0; transform: translateY(18px); font-stretch: 72%; font-weight: 120; }
.fx-row.is-armed .vz-t i, .fx-row.is-armed .vz-b i { transform: scaleY(0); transform-origin: bottom; }
.fx-row.is-armed .vz-d i { opacity: 0; transform: scale(0.2); }
.fx-row.is-armed .vz-x b { transform: scaleX(0); }
.fx-row.is-armed .vz-x em { opacity: 0; transform: translateY(6px); }
.fx-row.is-in .fx::before { transform: none; transition: transform 1.3s var(--ease-io) calc(var(--i) * 0.14s); }
.fx-row.is-in .fx::after { transform: skewX(-24deg); transition: transform 0.7s var(--ease) calc(var(--i) * 0.14s + 0.35s); }
.fx-row.is-in .fx__top { opacity: 1; transform: none; transition: opacity 0.8s ease calc(var(--i) * 0.14s + 0.2s), transform 1s var(--ease) calc(var(--i) * 0.14s + 0.2s); }
.fx-row.is-in .fx__n { opacity: 1; transform: none; font-stretch: 108%; font-weight: 220; transition: opacity 0.9s ease calc(var(--i) * 0.14s + 0.25s), transform 1.2s var(--ease) calc(var(--i) * 0.14s + 0.25s), font-stretch 1.9s var(--ease-io) calc(var(--i) * 0.14s + 0.25s), font-weight 1.9s var(--ease-io) calc(var(--i) * 0.14s + 0.25s); }
.fx-row.is-in .fx__l { opacity: 1; transform: none; transition: opacity 0.9s ease calc(var(--i) * 0.14s + 0.9s), transform 1.1s var(--ease) calc(var(--i) * 0.14s + 0.9s); }
.fx-row.is-in .vz-t i { transform: none; background: rgba(255, 255, 255, 0.55); transition: transform 0.5s var(--ease) calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.045s), background-color 0.5s ease calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.045s); }
.fx-row.is-in .vz-t i.m { background: #fff; }
.fx-row.is-in .vz-t i:last-child { background: var(--red); }
.fx-row.is-in .vz-d i { opacity: 1; transform: none; background: #fff; transition: opacity 0.35s ease calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.014s), transform 0.5s var(--ease) calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.014s), background-color 0.6s ease calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.014s); }
.fx-row.is-in .vz-b i { transform: none; background: #fff; transition: transform 0.55s var(--ease) calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.022s), background-color 0.5s ease calc(var(--i) * 0.14s + 0.5s + var(--k) * 0.022s); }
.fx-row.is-in .vz-b span + span i { background: var(--steel); }
.fx-row.is-in .vz-x b { transform: none; transition: transform 1.9s var(--ease-io) calc(var(--i) * 0.14s + 0.45s); }
.fx-row.is-in .vz-x em { opacity: 1; transform: none; transition: opacity 0.5s ease calc(var(--i) * 0.14s + 2.1s), transform 0.7s var(--ease) calc(var(--i) * 0.14s + 2.1s); }
/* industrije pod podatki: os s rdečimi točkami, pet panog */
.ind { display: grid; gap: 22px; width: min(100%, 1320px); text-align: left; }
.ind__lbl { margin: 0; display: flex; align-items: center; gap: 16px; font-size: 0.6875rem; font-weight: 600; font-stretch: 112%; letter-spacing: 0.18em; text-transform: uppercase; line-height: 1; color: var(--steel); }
.ind__lbl::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0)); }
.ind__row { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 clamp(16px, 2.4vw, 40px); margin: 0; padding: 22px 0 0; list-style: none; }
.ind__row::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255, 255, 255, 0.16); transform-origin: left; }
.ind__row li { position: relative; display: grid; gap: 6px; align-content: start; }
.ind__row li::before { content: ""; position: absolute; left: 0; top: -25.5px; width: 6px; height: 6px; background: var(--red); transform: skewX(-24deg); }
.ind__k { font-size: clamp(1rem, 1.35vw, 1.4rem); font-weight: 460; font-stretch: 110%; line-height: 1.15; letter-spacing: -0.01em; color: #fff; }
.ind__t { font-size: 0.8125rem; line-height: 1.4; color: #8a8f96; }
.fx-stage:has(.fx-row.is-armed) .ind__lbl { opacity: 0; }
.fx-stage:has(.fx-row.is-armed) .ind__row::before { transform: scaleX(0); }
.fx-stage:has(.fx-row.is-armed) .ind__row li { opacity: 0; transform: translateY(14px); }
.fx-stage:has(.fx-row.is-armed) .ind__row li::before { transform: skewX(-24deg) scale(0); }
.fx-stage:has(.fx-row.is-in) .ind__lbl { opacity: 1; transition: opacity 0.9s ease 0.9s; }
.fx-stage:has(.fx-row.is-in) .ind__row::before { transform: none; transition: transform 1.6s var(--ease-io) 1s; }
.fx-stage:has(.fx-row.is-in) .ind__row li { opacity: 1; transform: none; transition: opacity 0.8s ease calc(1.2s + var(--j) * 0.13s), transform 1s var(--ease) calc(1.2s + var(--j) * 0.13s); }
.fx-stage:has(.fx-row.is-in) .ind__row li::before { transform: skewX(-24deg); transition: transform 0.5s var(--ease) calc(1.15s + var(--j) * 0.13s); }
@media (max-width: 760px) {
  .ind { gap: 14px; }
  .ind__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; padding-top: 0; }
  .ind__row::before, .ind__row li::before { display: none; }
  .ind__k { font-size: 0.95rem; }
  .ind__t { display: none; }
}
html:not(.js) .vz-t i, html:not(.js) .vz-b i, html:not(.js) .vz-d i { background: #fff; }
@media (prefers-reduced-motion: reduce) { .fx-row .vz-t i, .fx-row .vz-d i, .fx-row .vz-b i { background: #fff; } .fx-row .vz-b span + span i { background: var(--steel); } }
@media (max-width: 760px) {
  .fx-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; }
  .fx { gap: 10px; padding-top: 14px; }
  .fx__n { font-size: clamp(2.4rem, 12vw, 3.2rem); }
  .fx__l { font-size: 0.75rem; }
  .vz { height: 18px; }
  .vz-d { grid-template-columns: repeat(17, 3px); grid-auto-rows: 3px; gap: 1px 3px; }
  .vz-b i { width: 1.5px; height: 6px; } .vz-b span { gap: 2.5px; } .vz-b { gap: 3px; }
  .vz-t i:last-child { height: 18px; }
}

/* zaslon čez celo širino */
.scr { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: max(620px, 100svh); overflow: hidden; background: var(--ink); color: #fff; }
.scr__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.scr__img { position: absolute; inset: -6% 0; width: 100%; height: 112%; object-fit: cover; object-position: var(--pos, 50% 50%); will-change: transform; }
.scr::before { content: ""; position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(180deg, rgba(11, 12, 14, 0.45) 0%, rgba(11, 12, 14, 0) 20%),
  linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.55) 34%, rgba(11, 12, 14, 0) 68%),
  linear-gradient(90deg, rgba(11, 12, 14, 0.72) 0%, rgba(11, 12, 14, 0.2) 48%, rgba(11, 12, 14, 0) 70%); }
.scr--right::before { background:
  linear-gradient(180deg, rgba(11, 12, 14, 0.45) 0%, rgba(11, 12, 14, 0) 20%),
  linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.55) 34%, rgba(11, 12, 14, 0) 68%),
  linear-gradient(270deg, rgba(11, 12, 14, 0.72) 0%, rgba(11, 12, 14, 0.2) 48%, rgba(11, 12, 14, 0) 70%); }
.scr__in { padding-block: clamp(64px, 12vh, 140px); }
.scr__box { display: grid; gap: 22px; justify-items: start; max-width: 34rem; }
.scr--right .scr__box { margin-left: auto; }
.scr__text { font-size: clamp(1.05rem, 1.2vw, 1.25rem); line-height: 1.5; color: rgba(255, 255, 255, 0.78); max-width: 36ch; text-wrap: pretty; }
.scr .btn { margin-top: 8px; }
.scr__items { display: flex; flex-wrap: wrap; gap: 6px 0; max-width: 38rem; font-size: clamp(1rem, 1.1vw, 1.15rem); line-height: 1.5; color: rgba(255, 255, 255, 0.84); }
.scr__items li:not(:last-child)::after { content: "·"; margin-inline: 10px; color: rgba(255, 255, 255, 0.35); }
@media (max-width: 760px) {
  .scr { min-height: 88svh; }
  .scr__img { object-position: var(--mpos, var(--pos, 50% 50%)); }
  .scr::before, .scr--right::before { background: linear-gradient(0deg, rgba(11, 12, 14, 0.94) 0%, rgba(11, 12, 14, 0.55) 38%, rgba(11, 12, 14, 0) 68%), linear-gradient(180deg, rgba(11, 12, 14, 0.5) 0%, rgba(11, 12, 14, 0) 22%); }
  .scr--right .scr__box { margin-left: 0; }
}

/* kontakt v eni vrstici */
.reach { border-top: 1px solid var(--rule); }
.reach__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px clamp(24px, 4vw, 56px); padding-block: clamp(72px, 9vw, 136px); }
.reach__link { font-size: clamp(1.5rem, 3.4vw, 3.25rem); font-weight: 380; font-stretch: 106%; letter-spacing: -0.015em; line-height: 1.1; background: linear-gradient(#fff, #fff) 0 100% / 0 1px no-repeat; transition: background-size 0.5s var(--ease); }
.reach__link:hover { background-size: 100% 1px; }
.reach__dot { width: 8px; height: 8px; background: var(--red); transform: skewX(-24deg); }
@media (max-width: 560px) { .reach__in { flex-direction: column; } .reach__dot { display: none; } }

.say--page { min-height: 0; }
.say--page .say__text { font-size: clamp(1.5rem, 3.1vw, 3.1rem); color: #fff; font-weight: 340; }
.say__cols { display: grid; gap: 18px; max-width: 60ch; text-align: center; margin: clamp(40px, 5vw, 72px) auto 0; }
.say__cols p { font-size: clamp(1.0625rem, 1.2vw, 1.1875rem); line-height: 1.6; color: #aab0b8; text-wrap: pretty; }
@media (max-width: 760px) { .say__cols { grid-template-columns: 1fr; } }
.spon__txt, .split__txt, .scr__box { min-width: 0; }
.h1, .h2 { max-width: 100%; overflow-wrap: break-word; }
.scr__box > *, .spon__txt > *, .split__txt > * { max-width: 100%; }
.spon__txt, .split__txt, .scr__box, .head, .say .wrap { grid-template-columns: minmax(0, 1fr); }
.scr__in { min-width: 0; }

/* industrije pod izjavo: ena tiha vrstica */
.say__inds { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 0; margin-top: clamp(40px, 5vw, 72px); font-size: clamp(1rem, 1.2vw, 1.25rem); color: var(--steel); }
.say__inds li { white-space: nowrap; }
.say__inds li + li::before { content: "·"; margin-inline: 14px; color: rgba(255, 255, 255, 0.3); }
@media (max-width: 560px) { .say__inds { gap: 8px 18px; } .say__inds li + li::before { content: none; } }
/* tabela strojnega parka: brez oznak skupin */
.spec th span { display: none; }
.mix__title { font-size: var(--t-small); font-weight: 400; color: var(--steel); margin-bottom: 18px; }
/* besedilo + široka fotografija (brez povečevanja virov) */
.band { padding-top: var(--sec); }
.band__txt { display: grid; gap: 20px; justify-items: center; text-align: center; margin-bottom: clamp(40px, 5vw, 72px); }
.band__txt p { max-width: 58ch; color: var(--steel); text-wrap: pretty; }
.band__img { width: 100%; aspect-ratio: 1400 / 345; object-fit: cover; }
.ph__rfq { margin-top: 8px; justify-self: start; }
/* uvodni video: brez nalepk in opozorilnih tablic v kadru */
@media (max-width: 700px) { .hero__media video, .hero__media img { object-position: 60% 50%; } }

.also-line { padding-block: clamp(56px, 7vw, 104px) 0; text-align: center; }
.also-line__t { font-size: var(--t-small); font-weight: 500; color: #fff; }
.also-line .say__inds { margin-top: 14px; }
.ft__certs { text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.3); text-underline-offset: 4px; }
.ft__certs:hover { text-decoration-color: #fff; }

/* naslov in uvod enega pod drugim (ena poravnava povsod) */
.head--split { grid-template-columns: minmax(0, 1fr); align-items: start; }
.head--split > p { justify-self: start; max-width: 56ch; }
@media (max-width: 560px) { .band__img { min-height: 38svh; } }

/* domača stran: pripet video + opis, ki se odkrije pod stranjo (kot na reseda.si) */
.stage { position: relative; background: #050505; overflow: clip; }
.stage__video { position: sticky; top: 0; z-index: 0; height: 100svh; margin-bottom: -100svh; overflow: hidden; }
.stage__video .hero__media, .stage__video .hero__shade { position: absolute; inset: 0; }
.stage__video .hero__media { z-index: 0; }
.stage__video .hero__shade { z-index: 1; }
/* zatemnitev kot na 3001: --dark 0 → 1 od začetka pomika do ~1,1 višine zaslona */
.stage { --dark: 0; }
.stage__video video, .stage__video .hero__media img { transform: scale(calc(1.04 + var(--dark) * 0.06)); transition: transform 0.2s linear; }
.stage__scrim { position: absolute; inset: 0; z-index: 1; background: rgba(5, 5, 5, calc(var(--dark) * 0.78 + var(--black, 0) * 0.22)); pointer-events: none; }
.stage__grid { position: absolute; inset: 0; z-index: 1; opacity: calc(var(--dark) * (1 - var(--black, 0))); pointer-events: none; background: linear-gradient(rgba(215, 25, 32, 0.13) 1px, transparent 1px) 0 0 / 64px 64px, linear-gradient(90deg, rgba(215, 25, 32, 0.13) 1px, transparent 1px) 0 0 / 64px 64px; -webkit-mask-image: radial-gradient(120% 90% at 50% 100%, #000 30%, transparent 80%); mask-image: radial-gradient(120% 90% at 50% 100%, #000 30%, transparent 80%); }
.hero--stage { position: relative; z-index: 4; background: transparent; color: #fff; }
.reveal { --hold: 200px; position: relative; z-index: 3; pointer-events: none; height: calc(130svh + 105svh + var(--hold) + 100svh); } /* +105svh: drugi prizor s ključnimi podatki (krajši temni del) */ /* +100svh: kartice se zapeljejo čez mirujoči opis */ /* --hold: še dva zasuka koleščka na čisto črnem */ /* kot 3001: besedilo nad zatemnjenim videom */
.reveal__text { position: sticky; top: 0; height: 100svh; display: grid; place-items: center; padding: 0 var(--g); --f: 18vh; -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - var(--mb, 0px) - var(--f)), transparent calc(100% - var(--mb, 0px))); mask-image: linear-gradient(180deg, #000 calc(100% - var(--mb, 0px) - var(--f)), transparent calc(100% - var(--mb, 0px))); }
html:not(.js) .reveal { height: auto; padding-block: var(--sec); }
html:not(.js) .reveal__text { position: static; height: auto; }

/* zmogljivosti: zasloni v vrsti, preklapljanje levo/desno */
.caps { --step: 240px; position: relative; isolation: isolate; height: calc(100svh + (var(--n, 4) - 1) * var(--step)); /* korak kot vrstica procesa na 8080 */ background: var(--ink); color: #fff; }
.caps__pin { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.caps__track { display: flex; height: 100%; transition: transform 1.1s cubic-bezier(0.65, 0, 0.2, 1); will-change: transform; }
.caps__slide { flex: 0 0 100%; min-width: 0; height: 100%; }
/* zmogljivosti: fotografija vedno v celotni višini – brez paralakse in približevanja */
.caps .scr__media { transform: none; }
.caps .scr__img { inset: 0; height: 100%; } /* paralaksa je na karticah izklopljena (home.js odstrani data-px) */
/* zaslon širši od fotografije 2400×1180: cela slika, stranska robova se mehko zlijeta s temno podlago */
@media (min-aspect-ratio: 2400/1180) {
  .caps__slide--full .scr__img { --e: calc(50% - 101.7svh); object-fit: contain; -webkit-mask-image: linear-gradient(90deg, transparent var(--e), #000 calc(var(--e) + 8svh), #000 calc(100% - var(--e) - 8svh), transparent calc(100% - var(--e))); mask-image: linear-gradient(90deg, transparent var(--e), #000 calc(var(--e) + 8svh), #000 calc(100% - var(--e) - 8svh), transparent calc(100% - var(--e))); }
}
/* pokončen zaslon, širši od pokončne fotografije 2:3 (npr. tablica) */
@media (max-width: 760px) and (orientation: portrait) and (min-aspect-ratio: 2/3) {
  .caps__slide--full .scr__img { --e: calc(50% - 33.4svh); object-fit: contain; -webkit-mask-image: linear-gradient(90deg, transparent var(--e), #000 calc(var(--e) + 6svh), #000 calc(100% - var(--e) - 6svh), transparent calc(100% - var(--e))); mask-image: linear-gradient(90deg, transparent var(--e), #000 calc(var(--e) + 6svh), #000 calc(100% - var(--e) - 6svh), transparent calc(100% - var(--e))); }
}
.caps .scr { height: 100%; min-height: 0; }
@media (min-width: 761px) { .caps .scr--right .scr__box { width: fit-content; } } /* besedilo desno: poravnano na levo linijo, blok ob desnem robu enako daleč kot levi od levega (širino natančno nastavi home.js: fitRight) */
@media (min-width: 761px) { .caps__slide--narrow .scr__box { max-width: 20rem; } html[lang="de"] .caps__slide--narrow .scr__box { max-width: 34rem; } } /* Montaža: ožji stolpec, da besedilo ne prekrije rok in ure (DE naslov je ena dolga beseda) */
@media (min-width: 761px) { .caps__slide--tshade .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(180deg, rgba(11, 12, 14, 0.45) 0%, rgba(11, 12, 14, 0) 20%), linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.55) 34%, rgba(11, 12, 14, 0) 68%), linear-gradient(90deg, rgba(11, 12, 14, 0.72) 0%, rgba(11, 12, 14, 0.2) 48%, rgba(11, 12, 14, 0) 70%); } } /* Dodelave: besedilo spodaj levo – zatemnitev spodaj in z leve + rahla prevleka */
@media (min-width: 761px) { .caps__slide--softshade .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(180deg, rgba(11, 12, 14, 0.35) 0%, rgba(11, 12, 14, 0) 18%), linear-gradient(0deg, rgba(11, 12, 14, 0.78) 0%, rgba(11, 12, 14, 0.42) 30%, rgba(11, 12, 14, 0) 58%), linear-gradient(90deg, rgba(11, 12, 14, 0.86) 0%, rgba(11, 12, 14, 0.68) 34%, rgba(11, 12, 14, 0.26) 48%, rgba(11, 12, 14, 0) 60%); } } /* CNC proizvodnja */
@media (min-width: 761px) { .caps__slide--rshade .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0.45) 0%, rgba(11, 12, 14, 0) 20%), linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.55) 34%, rgba(11, 12, 14, 0) 68%), linear-gradient(270deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.78) 34%, rgba(11, 12, 14, 0.34) 48%, rgba(11, 12, 14, 0) 60%); } } /* Meritve: močnejša zatemnitev z desne za besedilo */
@media (min-width: 761px) { .caps__slide--rsoft .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(180deg, rgba(11, 12, 14, 0.45) 0%, rgba(11, 12, 14, 0) 20%), linear-gradient(0deg, rgba(11, 12, 14, 0.88) 0%, rgba(11, 12, 14, 0.52) 30%, rgba(11, 12, 14, 0) 60%), linear-gradient(270deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.78) 34%, rgba(11, 12, 14, 0.34) 48%, rgba(11, 12, 14, 0) 60%); } } /* Montaža, Dig. sledljivost: močnejša zatemnitev z desne */
@media (min-width: 761px) { .caps__slide--rstrong .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(180deg, rgba(11, 12, 14, 0.52) 0%, rgba(11, 12, 14, 0) 22%), linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.6) 30%, rgba(11, 12, 14, 0) 62%), linear-gradient(270deg, rgba(11, 12, 14, 0.95) 0%, rgba(11, 12, 14, 0.85) 34%, rgba(11, 12, 14, 0.42) 48%, rgba(11, 12, 14, 0) 62%); } } /* Digitalna sledljivost: še malo močnejša */
@media (min-width: 761px) { .caps__slide--top .scr { align-items: flex-start; } .caps__slide--top .scr__in { padding-block: clamp(64px, 12vh, 140px) 0; } } /* Dodelave: besedilo zgoraj levo */
.caps .scr__in { padding-bottom: calc(clamp(64px, 12vh, 140px) + 64px); }
@media (prefers-reduced-motion: reduce) { .caps__track { transition: none; } }
.caps__bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 0 clamp(20px, 3vh, 32px); pointer-events: none; }
.caps__bar > * { pointer-events: auto; }
.caps__tabs { --gap: clamp(14px, 1.8vw, 32px); flex: 1 1 auto; min-width: 0; overflow: hidden; overflow: clip; padding-top: 1px; }
.caps__tabs { --ml: 0px; --mr: 48px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--ml), #000 calc(100% - var(--mr)), transparent); mask-image: linear-gradient(90deg, transparent, #000 var(--ml), #000 calc(100% - var(--mr)), transparent); }
.caps__strip { display: flex; align-items: flex-start; gap: var(--gap); will-change: transform; }
.caps__tab { position: relative; display: flex; align-items: baseline; gap: 10px; flex: 0 0 calc((100% - 3 * var(--gap)) / 4); min-width: 0; padding: 16px 0 4px; border-top: 1px solid rgba(255, 255, 255, 0.22); color: rgba(255, 255, 255, 0.5); text-align: left; font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.3; transition: none; cursor: pointer; }
.caps__tab::before { content: ""; position: absolute; left: 0; right: 100%; top: -1px; height: 1px; background: #fff; }
.caps__tab:hover { color: #fff; }
.caps__tab.is-on { color: #fff; }
.caps__tab.is-on::before { right: 0; }
.caps__tab { padding: 14px 14px 12px; background: rgba(11, 12, 14, 0.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); } /* vsak zavihek na svojem temnem, prosojnem pravokotniku */
.caps__n { color: rgba(255, 255, 255, 0.4); font-weight: 500; }
.caps__tab.is-on .caps__n { color: var(--red); }
.caps__t { min-width: 0; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
.caps__count { display: none; font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.6); }
.caps__nav { display: flex; gap: 10px; flex: none; }
.caps__arrow { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 50%; color: #fff; transition: background-color 0.25s, border-color 0.25s, color 0.25s, opacity 0.25s; cursor: pointer; }
.caps__arrow i { width: 18px; height: 1px; background: currentColor; position: relative; }
.caps__arrow i::after { content: ""; position: absolute; right: 0; top: 50%; width: 8px; height: 8px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: translate(-1px, -50%) rotate(45deg); }
.caps__arrow--prev i { transform: scaleX(-1); }
.caps__arrow:hover:not(:disabled) { background: #fff; border-color: #fff; color: var(--ink); }
.caps__arrow:disabled { opacity: 0.3; cursor: default; }
@media (max-width: 760px) {
  .caps__tabs { display: none; }
  .caps__count { display: block; }
}

/* prvi zaslon po opisu: vrh fotografije se zlije s črno ploščo */
.stage + .caps { margin-top: calc(-100svh - 1px); z-index: 2; } /* pod besedilom opisa: črke se zlijejo s fotografijo */
.stage + .caps::after { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 2; height: calc(10svh * var(--enter, 1)); background: linear-gradient(180deg, #050505 0%, rgba(5, 5, 5, 0.85) 20%, rgba(5, 5, 5, 0.45) 55%, rgba(5, 5, 5, 0) 100%); pointer-events: none; }
.stage + .scr { margin-top: -1px; }
.stage + .scr::after { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: -1; height: 40svh; background: linear-gradient(180deg, #050505 0%, rgba(5, 5, 5, 0.85) 20%, rgba(5, 5, 5, 0.45) 55%, rgba(5, 5, 5, 0) 100%); pointer-events: none; }


/* ===== poenotenje domače strani: ena barvna obdelava, rahlo filmsko zrno, oznake razdelkov, fotografija pod številkami ===== */
.caps .scr__img { filter: saturate(0.84) contrast(1.05) brightness(0.97); } /* fotografije, 3D upodobitev in ustvarjene slike dobijo isto, umirjeno barvno noto */
.caps .scr__media::after, .stage__alt::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px; opacity: 0.07; mix-blend-mode: overlay; } /* zrno poveže različne vire slik */
.stage__alt { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: calc(clamp(0, var(--x, 0) * 2 - 1, 1) * 0.3); } /* zatemnjena proizvodna hala pod »RESEDA v številkah« – noben zaslon ni več brez slike */
.stage__alt img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.6) contrast(1.1) brightness(0.8); transform: scale(calc(1.12 - var(--x, 0) * 0.08)); }
.stage__alt::before { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(120% 90% at 50% 50%, rgba(5, 5, 5, 0.25), rgba(5, 5, 5, 0.85)); }
.say__lbl { margin: 0 0 clamp(22px, 4vh, 40px); display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 0.75rem; font-weight: 600; font-stretch: 112%; letter-spacing: 0.22em; text-transform: uppercase; color: var(--steel); }
.say__lbl::before, .say__lbl::after { content: ""; width: 40px; height: 1px; background: rgba(255, 255, 255, 0.22); }
@media (prefers-reduced-motion: reduce) { .stage__alt img { transform: none; } }

/* ==========================================================================
   MERILNI PROTOKOL — en vizualni jezik od naslovnice do kariere
   Domača stran deluje kot natančen pregled kosa na merilnem stroju:
   kotni okvir s odčitki (razdelek · X/Y miške · Z pomika), oznake z rdečim
   indeksom, naslovi, ki se razširijo iz ozke v polno širino pisave,
   skenirna črta čez opis in zaslonka med karticami.
   Pravilo pisave: številke, kode in odčitki v JetBrains Mono, besede v Archivo.
   ========================================================================== */
@font-face { font-family: "JetBrains Mono"; src: url("/assets/fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; src: url("/assets/fonts/jetbrains-mono-latin-ext-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; src: url("/assets/fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; src: url("/assets/fonts/jetbrains-mono-latin-ext-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root { --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }

/* ---------- okvir (HUD) ---------- */
.hud { --in: clamp(14px, 1.5vw, 24px); --arm: 22px; position: fixed; inset: 0; z-index: 30; pointer-events: none; font-family: var(--mono); font-size: 10.5px; font-weight: 500; line-height: 1; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.64); font-variant-numeric: tabular-nums; transition: opacity 0.6s ease; }
.hud.is-away { opacity: 0; }
.hud__f { position: absolute; left: var(--in); right: var(--in); bottom: var(--in); top: calc(var(--hd-h) + var(--in)); transition: top 0.45s var(--ease); }
.hd.is-hidden ~ main .hud__f, body.hd-off .hud__f { top: var(--in); }
.hud__c { position: absolute; width: var(--arm); height: var(--arm); border: 0 solid rgba(255, 255, 255, 0.5); transition: transform 1.5s var(--ease-io), opacity 0.8s ease; }
.hud__c--tl { left: 0; top: 0; border-width: 1px 0 0 1px; }
.hud__c--tr { right: 0; top: 0; border-width: 1px 1px 0 0; }
.hud__c--bl { left: 0; bottom: 0; border-width: 0 0 1px 1px; }
.hud__c--br { right: 0; bottom: 0; border-width: 0 1px 1px 0; }
.hud__c--tl::after { content: ""; position: absolute; left: 4px; top: -1.5px; width: 9px; height: 2px; background: var(--red); transform: skewX(-24deg); } /* rdeči poševni element logotipa */
.hud:not(.is-on) .hud__c { opacity: 0; }
.hud:not(.is-on) .hud__c--tl { transform: translate(14vw, 12vh); }
.hud:not(.is-on) .hud__c--tr { transform: translate(-14vw, 12vh); }
.hud:not(.is-on) .hud__c--bl { transform: translate(14vw, -12vh); }
.hud:not(.is-on) .hud__c--br { transform: translate(-14vw, -12vh); }
.hud__sec, .hud__xy { position: absolute; top: 0; margin: 0; display: flex; align-items: center; gap: 10px; white-space: nowrap; transform: translateY(-50%); transition: opacity 0.8s ease 0.9s; }
.hud__sec { left: calc(var(--arm) + 12px); }
.hud__xy { right: calc(var(--arm) + 12px); gap: 8px; }
.hud__sec b { color: var(--red); font-weight: 500; }
.hud__of { color: rgba(255, 255, 255, 0.34); margin-left: -6px; }
.hud__sec [data-hud-t] { color: rgba(255, 255, 255, 0.82); }
.hud__xy span { color: rgba(255, 255, 255, 0.36); }
.hud__xy b { font-weight: 500; color: rgba(255, 255, 255, 0.82); min-width: 7.2ch; }
.hud__z { position: absolute; right: 0; top: 50%; width: 14px; height: 30vh; transform: translateY(-50%); transition: opacity 0.8s ease 1.1s; }
.hud__ruler { position: absolute; inset: 0; border-right: 1px solid rgba(255, 255, 255, 0.22); background:
  linear-gradient(rgba(255, 255, 255, 0.5) 1px, transparent 1px) right 0 / 14px 48px repeat-y,
  linear-gradient(rgba(255, 255, 255, 0.24) 1px, transparent 1px) right 0 / 6px 8px repeat-y;
  -webkit-mask-image: linear-gradient(transparent, #000 22%, #000 78%, transparent); mask-image: linear-gradient(transparent, #000 22%, #000 78%, transparent); }
.hud__z::after { content: ""; position: absolute; right: 0; top: 50%; width: 20px; height: 2px; margin-top: -1px; background: var(--red); transform: skewX(-24deg); } /* kazalec */
.hud__zr { position: absolute; right: 0; bottom: calc(100% + 12px); margin: 0; display: flex; gap: 8px; white-space: nowrap; }
.hud__zr span { color: rgba(255, 255, 255, 0.36); }
.hud__zr b { font-weight: 500; color: rgba(255, 255, 255, 0.82); }
.hud:not(.is-on) .hud__sec, .hud:not(.is-on) .hud__xy, .hud:not(.is-on) .hud__z { opacity: 0; transition-delay: 0s; }
@media (max-width: 1080px) { .hud__xy { display: none; } }
@media (max-width: 760px) { .hud { --arm: 14px; --in: 10px; } .hud__sec, .hud__z { display: none; } .hud__f { top: calc(var(--hd-h, 64px) + var(--in)); } }
@media (hover: none) { .hud__xy { display: none; } }
@media (prefers-reduced-motion: reduce) { .hud__c, .hud__f { transition: none; } }
@media print { .hud { display: none; } }

/* ---------- naslovi: iz ozke v polno širino pisave ---------- */
.sw { display: inline-block; white-space: nowrap; vertical-align: top; }
.sw__in { display: inline-block; }
.st-hide .sw__in { opacity: 0; }
.st-arm .sw__in { font-stretch: 62%; font-weight: 180; opacity: 0; transform: translate3d(0, 0.14em, 0); }
.st-arm.st-play .sw__in { font-stretch: inherit; font-weight: inherit; opacity: 1; transform: none;
  transition: font-stretch 1.3s var(--ease-io) calc(var(--sd, 0s) + var(--w, 0) * 0.09s), font-weight 1.3s var(--ease-io) calc(var(--sd, 0s) + var(--w, 0) * 0.09s), opacity 0.45s ease calc(var(--sd, 0s) + var(--w, 0) * 0.09s), transform 1s var(--ease) calc(var(--sd, 0s) + var(--w, 0) * 0.09s); }

/* ---------- oznake razdelkov: rdeči indeks + ime ---------- */
.say__lbl, .fx-stage__lbl { font-family: var(--mono); font-size: 0.6875rem; font-weight: 500; font-stretch: normal; letter-spacing: 0.16em; color: rgba(255, 255, 255, 0.62); gap: 12px; }
.say__lbl b, .fx-stage__lbl b { color: var(--red); font-weight: 500; }
.say__lbl::before, .fx-stage__lbl::before { width: 48px; }
.say__lbl::after, .fx-stage__lbl::after { width: 48px; }
.fx__i { font-family: var(--mono); font-weight: 500; letter-spacing: 0.08em; }
.fx__n small { font-family: var(--mono); font-size: 0.3em; font-weight: 400; margin-top: 0.3em; }
.hero__certs span { font-family: var(--mono); font-weight: 500; letter-spacing: 0.1em; font-stretch: normal; }

/* mreža za opisom: merilni križci namesto črt */
.stage__grid { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M32 36h8M36 32v8' stroke='%23ffffff' stroke-opacity='.28' stroke-width='1'/%3E%3C/svg%3E") 0 0 / 72px 72px; }

/* ---------- opis: skenirna črta ---------- */
.say__scan { position: relative; }
.js .say__scan .say__text { -webkit-mask-image: linear-gradient(180deg, #000 calc(var(--s, 1) * 100% - 2px), rgba(0, 0, 0, 0.1) calc(var(--s, 1) * 100% + 2px)); mask-image: linear-gradient(180deg, #000 calc(var(--s, 1) * 100% - 2px), rgba(0, 0, 0, 0.1) calc(var(--s, 1) * 100% + 2px)); }
.scan { position: absolute; left: -5%; right: -5%; top: calc(var(--s, 1) * 100%); height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, var(--red) 10%, var(--red) 90%, transparent); box-shadow: 0 0 16px 1px rgba(238, 45, 56, 0.5); opacity: calc(min(1, var(--s, 1) * 14) * min(1, (1 - var(--s, 1)) * 14)); }
.scan i { position: absolute; left: 10%; right: 10%; bottom: 1px; height: 64px; background: linear-gradient(0deg, rgba(238, 45, 56, 0.13), transparent); }
.scan em { position: absolute; right: 0; bottom: 8px; font-family: var(--mono); font-size: 10px; font-style: normal; font-weight: 500; letter-spacing: 0.12em; color: var(--red); font-variant-numeric: tabular-nums; }
html:not(.js) .scan { display: none; }
@media (max-width: 760px) { .scan em { display: none; } .scan { left: 0; right: 0; } }

/* ---------- kartice: takojšen preklop brez animacije ---------- */
.caps__track { display: grid; transform: none !important; transition: none; }
.caps__slide { grid-area: 1 / 1; position: relative; z-index: 1; height: 100%; visibility: hidden; }
.caps__slide.is-cur { z-index: 3; visibility: visible; }
.caps .scr__img { inset: 0; height: 100%; transform: none; transition: none; }
/* besedilo kartice: indeks s črto, razširjen naslov, opis in gumb se pojavijo zaporedoma */
.caps [data-rv] { opacity: 1; transform: none; transition: none; }
.scr__idx { display: flex; align-items: center; gap: 12px; margin: 0 0 -4px; font-family: var(--mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.16em; line-height: 1; color: rgba(255, 255, 255, 0.5); font-variant-numeric: tabular-nums; }
.scr__idx b { color: var(--red); font-weight: 500; }
.scr__idx i { width: 56px; height: 1px; background: rgba(255, 255, 255, 0.42); transform-origin: left; }
.js .caps__slide .scr__box > :not(.h2) { opacity: 0; transform: translate3d(0, 14px, 0); }
.js .caps__slide .scr__idx i { transform: scaleX(0); }
.js .caps__slide.is-live .scr__box > :not(.h2) { opacity: 1; transform: none; transition: opacity 0.7s ease, transform 0.9s var(--ease); }
.js .caps__slide.is-live .scr__idx { transition-delay: 0.15s; }
.js .caps__slide.is-live .scr__idx i { transform: none; transition: transform 0.9s var(--ease-io) 0.3s; }
.js .caps__slide.is-live .scr__text { transition-delay: 0.75s; }
.js .caps__slide.is-live .btn { transition-delay: 0.9s; }
.js .caps__slide.is-live.is-static .scr__idx { transition-delay: 0s; }
.js .caps__slide.is-live.is-static .scr__text { transition-delay: 0.45s; }
.js .caps__slide.is-live.is-static .btn { transition-delay: 0.6s; }
/* zavihki: indeks v pisavi za odčitke, črta nad aktivnim se polni skozi odsek, opravljeni ostanejo označeni */
.caps__n { font-family: var(--mono); font-weight: 500; letter-spacing: 0.08em; }
.caps__tab::before { right: auto; width: 0; }
.caps__tab.is-done::before { width: 100%; background: rgba(255, 255, 255, 0.42); }
.caps__tab.is-on::before { right: auto; width: calc(var(--f, 0) * 100%); background: #fff; }
.caps__tab.is-on::after { content: ""; position: absolute; top: -1.5px; left: calc(var(--f, 0) * 100% - 9px); width: 9px; height: 2px; background: var(--red); transform: skewX(-24deg); }
.caps__count { font-family: var(--mono); font-weight: 500; }
@media (prefers-reduced-motion: reduce) {
  .caps__slide.is-cur { transition: none; }
  .caps__slide::before, .caps__slide::after { animation: none !important; }
  .caps .scr__img { transform: none; }
  .js .caps__slide .scr__box > :not(.h2), .js .caps__slide .scr__idx i { opacity: 1; transform: none; }
}
/* certifikati na naslovnici: ena neprekinjena rdeča črta pod vsemi štirimi */
.hero__certs { padding-bottom: 6px; border-bottom: 1px solid var(--red); }
.hero__certs span { padding-bottom: 0; border-bottom: 0; }
/* opis in številke: ozadje popolnoma zatemnjeno (brez videa, fotografije hale in mreže) */
.stage__scrim { background: rgba(5, 5, 5, var(--dark, 0)); }
.stage__alt, .stage__grid { display: none; }
/* skenirna črta: proti koncu besedila postopno zbledi (zadnja tretjina poti), ne izgine naenkrat */
.scan { opacity: calc(min(1, var(--s, 1) * 10) * min(1, (1 - var(--s, 1)) * 3)); transition: opacity 0.6s ease; }
/* skenirna črta: po koncu besedila pelje naprej navzdol z istim tempom in med tem zbledi */
.scan { top: calc(var(--sl, 1.4) * 100%); opacity: calc(min(1, var(--sl, 1.4) * 10) * clamp(0, (1.32 - var(--sl, 1.4)) / 0.42, 1)); transition: none; }
/* skala Z s številkami (namesto ločenega odčitka): črtice in vrednosti v mm se premikajo s pomikom, rdeči kazalec stoji v sredini */
.hud__ruler { background: none; overflow: hidden; width: 64px; right: 0; left: auto; }
.hud__z { width: 64px; }
.hud__strip { position: absolute; left: 0; right: 0; top: 0; height: 0; will-change: transform; }
.hud__t { position: absolute; right: 0; width: 6px; height: 1px; background: rgba(255, 255, 255, 0.28); }
.hud__t--m { width: 14px; background: rgba(255, 255, 255, 0.6); }
.hud__t em { position: absolute; right: 22px; top: 0; transform: translateY(-50%); font-style: normal; font-size: 10px; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.62); white-space: nowrap; }
.hud__zr { gap: 6px; }
.hud__zr span + span { color: rgba(255, 255, 255, 0.3); }
.hud__zr span + span { text-transform: none; }
/* ===== številke in panoge – poenostavljeno: številka + ena beseda, panoge v eni vrstici ===== */
.fx-stage--s { gap: clamp(56px, 10vh, 112px); }
.fx-stage--s .fx-row { gap: 0 clamp(28px, 4vw, 72px); }
.fx-stage--s .fx { padding-top: 0; gap: 10px; }
.fx-stage--s .fx::before, .fx-stage--s .fx::after { content: none; }
.fx-stage--s .fx__k { margin: 0; font-size: 0.8125rem; font-weight: 500; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.3; color: var(--steel); }
.fx-row.is-armed .fx__k { opacity: 0; transform: translateY(10px); }
.fx-row.is-in .fx__k { opacity: 1; transform: none; transition: opacity 0.8s ease calc(var(--i) * 0.14s + 0.6s), transform 1s var(--ease) calc(var(--i) * 0.14s + 0.6s); }
.ind2 { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 0; width: min(100%, 1320px); margin: 0; padding: 28px 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.14); font-size: clamp(1rem, 1.3vw, 1.35rem); font-weight: 400; font-stretch: 106%; line-height: 1.3; color: rgba(255, 255, 255, 0.86); }
.ind2 li { white-space: nowrap; }
.ind2 li + li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 clamp(14px, 1.6vw, 26px); vertical-align: middle; background: var(--red); transform: skewX(-24deg) translateY(-1px); }
.fx-stage:has(.fx-row.is-armed) .ind2 li { opacity: 0; transform: translateY(10px); }
.fx-stage:has(.fx-row.is-in) .ind2 li { opacity: 1; transform: none; transition: opacity 0.8s ease calc(1s + var(--j) * 0.09s), transform 1s var(--ease) calc(1s + var(--j) * 0.09s); }
@media (max-width: 760px) {
  .ind2 { justify-content: flex-start; gap: 10px 0; font-size: 0.95rem; }
  .ind2 li + li::before { margin: 0 12px; }
}
@media (max-width: 760px) {
  .fx-stage--s .fx-row { gap: 36px 20px; }
  .ind2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
  .ind2 li { white-space: normal; display: flex; align-items: center; gap: 10px; }
  .ind2 li::before, .ind2 li + li::before { content: ""; flex: none; width: 6px; height: 6px; margin: 0; background: var(--red); transform: skewX(-24deg); }
}
/* ===== prehod med karticami: skenirna črta (namesto osmerokotne zaslonke) =====
   nova slika se razkrije od zgoraj navzdol za rdečo črto – isti gib kot skeniranje opisa */
@property --wp { syntax: "<percentage>"; inherits: true; initial-value: 0%; }
.caps__slide { --wp: 0%; clip-path: inset(0 0 calc(100% - var(--wp)) 0); }
.caps__slide.is-prev { --wp: 100%; }
.caps__slide.is-cur { --wp: 100%; transition: --wp 1.1s cubic-bezier(0.65, 0, 0.25, 1); }
.caps__slide.is-cur.is-static { transition: none; }
.caps__slide::after { clip-path: none; inset: auto 0 auto 0; top: calc(var(--wp) - 1px); height: 1px; background: linear-gradient(90deg, transparent, var(--red) 8%, var(--red) 92%, transparent); box-shadow: 0 0 18px 1px rgba(238, 45, 56, 0.55); }
.caps__slide::before { clip-path: none; inset: auto 0 auto 0; top: calc(var(--wp) - 90px); height: 90px; background: linear-gradient(0deg, rgba(238, 45, 56, 0.16), transparent); }
.caps__slide.is-cur:not(.is-static)::after, .caps__slide.is-cur:not(.is-static)::before { animation: wipe-line 1.1s ease forwards; }
@keyframes wipe-line { 0% { opacity: 0; } 8% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; } }
.caps .is-cur .scr__img { transition: transform 1.8s cubic-bezier(0.2, 0.7, 0.1, 1); }
.caps .scr__img { transform: scale(1.06); }
@media (prefers-reduced-motion: reduce) { .caps__slide.is-cur { transition: none; } }
/* prehod: ob vsakem prihodu se začne od začetka; nazaj (na prejšnjo kartico) teče od spodaj navzgor */
.caps__slide.is-enter { --wp: 0% !important; transition: none !important; }
.caps__slide.is-enter::before, .caps__slide.is-enter::after { animation: none !important; }
.caps__slide.is-back { clip-path: inset(calc(100% - var(--wp)) 0 0 0); }
.caps__slide.is-back::after { top: calc(100% - var(--wp)); }
.caps__slide.is-back::before { top: calc(100% - var(--wp) + 1px); background: linear-gradient(180deg, rgba(238, 45, 56, 0.16), transparent); }
/* skala Z: odčitek nad skalo, ob črticah brez številk */
.hud__ruler, .hud__z { width: 14px; }
.hud__zr { gap: 8px; }
.hud__zr b { font-weight: 500; color: rgba(255, 255, 255, 0.82); }

/* ===== številke in panoge – urejena mreža ===== */
.fx-stage--s { gap: clamp(64px, 11vh, 120px); width: min(100%, 1280px); justify-self: center; }
.fx-stage--s .fx-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; width: 100%; }
.fx-stage--s .fx { position: relative; justify-items: center; text-align: center; gap: 18px; padding: 6px clamp(12px, 2vw, 32px); }
.fx-stage--s .fx + .fx { border-left: 1px solid rgba(255, 255, 255, 0.1); }
.fx-stage--s .fx__n { justify-content: center; align-items: baseline; font-size: clamp(3.4rem, 6.4vw, 6.75rem); font-weight: 200; font-stretch: 100%; letter-spacing: -0.03em; line-height: 0.9; }
.fx-stage--s .fx__n small { font-family: var(--f); font-size: 0.36em; font-weight: 300; letter-spacing: 0; margin: 0 0 0 0.06em; color: rgba(255, 255, 255, 0.55); }
.fx-row.is-in .fx__n { font-stretch: 100%; font-weight: 200; }
.fx-stage--s .fx__k { font-size: 0.75rem; letter-spacing: 0.22em; color: rgba(255, 255, 255, 0.5); }
.fx-stage--s .fx__k::before { content: ""; display: block; width: 14px; height: 2px; margin: 0 auto 16px; background: var(--red); transform: skewX(-24deg); }
.ind2 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; width: 100%; padding: 0; border-top: 0; font-size: clamp(0.9375rem, 1.05vw, 1.0625rem); font-weight: 400; font-stretch: 104%; letter-spacing: 0.01em; color: rgba(255, 255, 255, 0.72); }
.ind2 li { display: grid; place-items: center; text-align: center; padding: 22px 10px; border-top: 1px solid rgba(255, 255, 255, 0.1); white-space: normal; }
.ind2 li + li { border-left: 1px solid rgba(255, 255, 255, 0.06); }
.ind2 li + li::before, .ind2 li::before { content: none; }
@media (max-width: 760px) {
  .fx-stage--s .fx-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .fx-stage--s .fx { padding: 22px 8px; }
  .fx-stage--s .fx + .fx { border-left: 0; }
  .fx-stage--s .fx:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, 0.1); }
  .fx-stage--s .fx:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.1); }
  .fx-stage--s .fx__n { font-size: clamp(2.6rem, 13vw, 3.4rem); }
  .ind2 { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 0.9rem; }
  .ind2 li { padding: 14px 6px; display: grid; }
  .ind2 li + li { border-left: 0; }
  .ind2 li:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, 0.06); }
  .ind2 li::before, .ind2 li + li::before { content: none; }
}
.fx-stage--s .fx__n { gap: 0.02em; }
/* ===== številke in panoge – končna podoba: mirne številke, ena rdeča oznaka na ločilni črti, panoge kot tiha vrstica ===== */
.fx-stage--s { width: min(100%, 1200px); gap: clamp(48px, 8vh, 88px); }
.fx-stage--s .fx { gap: 14px; padding-block: 4px; }
.fx-stage--s .fx + .fx { border-left: 1px solid rgba(255, 255, 255, 0.08); }
.fx-stage--s .fx__k::before { content: none; }
.fx-stage--s .fx__k { font-size: 0.75rem; letter-spacing: 0.24em; color: rgba(255, 255, 255, 0.46); }
.ind2 { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 0; padding-top: clamp(36px, 5vh, 52px); font-size: clamp(0.9375rem, 1.05vw, 1.0625rem); color: rgba(255, 255, 255, 0.7); }
.ind2::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16) 18%, rgba(255, 255, 255, 0.16) 82%, transparent); }
.ind2::after { content: ""; position: absolute; left: 50%; top: -0.5px; width: 22px; height: 2px; margin-left: -11px; background: var(--red); transform: skewX(-24deg); }
.ind2 li { display: block; padding: 0; border: 0 !important; white-space: nowrap; }
.ind2 li + li::before { content: ""; display: inline-block; width: 1px; height: 0.95em; margin: 0 clamp(18px, 2.2vw, 36px); vertical-align: -0.12em; background: rgba(255, 255, 255, 0.22); transform: none; }
.fx-stage:has(.fx-row.is-armed) .ind2::after { transform: skewX(-24deg) scaleX(0); }
.fx-stage:has(.fx-row.is-in) .ind2::after { transform: skewX(-24deg); transition: transform 0.7s var(--ease) 0.9s; }
@media (max-width: 760px) {
  .fx-stage--s .fx + .fx { border-left: 0; }
  .ind2 { display: flex; gap: 10px 0; font-size: 0.875rem; }
  .ind2 li { display: block; }
  .ind2 li::before { content: none; }
  .ind2 li + li::before { content: ""; display: inline-block; flex: none; width: 1px; height: 0.9em; margin: 0 14px; background: rgba(255, 255, 255, 0.22); transform: none; }
}
@media (max-width: 760px) {
  .fx-stage--s .fx-row { row-gap: 40px; }
  .fx-stage--s .fx { padding: 0 8px; border-top: 0 !important; }
  .ind2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; text-align: center; }
  .ind2 li + li::before { content: none; }
}

/* ===== prehod med karticami: slika se odpre iz sredine navzgor in navzdol, robova vodita rdeči črti ===== */
.caps__slide, .caps__slide.is-back { clip-path: inset(calc(50% - var(--wp) / 2) 0 calc(50% - var(--wp) / 2) 0); }
.caps__slide.is-cur { transition: --wp 1.15s cubic-bezier(0.7, 0, 0.2, 1); }
.caps__slide::before, .caps__slide::after, .caps__slide.is-back::before, .caps__slide.is-back::after { inset: auto 0 auto 0; height: 1px; background: linear-gradient(90deg, transparent, var(--red) 8%, var(--red) 92%, transparent); box-shadow: 0 0 18px 1px rgba(238, 45, 56, 0.55); }
.caps__slide::before, .caps__slide.is-back::before { top: calc(50% - var(--wp) / 2); }
.caps__slide::after, .caps__slide.is-back::after { top: calc(50% + var(--wp) / 2 - 1px); }
.caps__slide.is-cur:not(.is-static)::after, .caps__slide.is-cur:not(.is-static)::before { animation: wipe-line 1.15s ease forwards; }
/* skrite kartice ostanejo »vidne« (zaprte na nič), da je slika že pripravljena in se v odprtini pokaže takoj, ne šele čez trenutek */
.caps__slide { visibility: visible; }
/* ===== prehod med karticami: pravokotnik, ki zraste iz središča (kot prej osmerokotnik), z rdečim in tankim belim robom ===== */
.caps__slide, .caps__slide.is-back { clip-path: inset(calc((100% - var(--wp)) / 2)); }
.caps__slide.is-cur { transition: --wp 1.2s cubic-bezier(0.7, 0, 0.18, 1); }
.caps__slide::before, .caps__slide::after, .caps__slide.is-back::before, .caps__slide.is-back::after { top: auto; height: auto; background: none; clip-path: none; pointer-events: none; }
.caps__slide::after, .caps__slide.is-back::after { inset: calc((100% - var(--wp)) / 2); border: 2px solid var(--red); box-shadow: 0 0 22px rgba(238, 45, 56, 0.45), inset 0 0 22px rgba(238, 45, 56, 0.25); }
.caps__slide::before, .caps__slide.is-back::before { inset: calc((100% - var(--wp)) / 2 + 14px); border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: none; }
.caps__slide.is-cur:not(.is-static)::after { animation: iris-ring 1.2s ease forwards; }
.caps__slide.is-cur:not(.is-static)::before { animation: iris-ring 1.2s ease 0.04s forwards; }

/* ==========================================================================
   OPIS + ŠTEVILKE v jeziku ostale strani
   – leva poravnava na isti rob kot naslovnica in kartice (wrap)
   – številke v isti pisavi kot naslovi (široka, krepka) – ob prihodu se razširijo iz ozkih/tankih, enako kot naslovi
   – oznake kot zavihki kartic (majhne, razmaknjene velike črke), tanka črta zgoraj kot pri zavihkih
   – panoge kot noga naslovnice: ena vrstica pod tanko črto, rdeč poševni znak na začetku črte
   ========================================================================== */
.reveal__text { place-items: center start; }
.say__wrap, .fx-stage--s { width: 100%; max-width: calc(var(--max) - 2 * var(--g)); margin-inline: auto; justify-items: start; }
/* opis */
.say__scan { max-width: 25em; font-size: clamp(1.35rem, 2.7vw, 2.9rem); }
.say__text { margin: 0; max-width: none; text-align: left; font-size: 1em; text-wrap: pretty; }
.scan { left: -2%; right: -6%; }
/* številke */
.fx-stage--s { gap: clamp(56px, 9vh, 104px); }
.fx-stage--s .fx-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(20px, 3vw, 56px); }
.fx-stage--s .fx { justify-items: start; text-align: left; gap: 0; padding: 18px 0 0; border-left: 0 !important; border-top: 0 !important; }
.fx-stage--s .fx::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255, 255, 255, 0.22); transform-origin: left; }
.fx-stage--s .fx::after { content: ""; position: absolute; left: 0; top: -0.5px; width: 32px; height: 2px; background: var(--red); transform: skewX(-24deg); transform-origin: left; }
.fx-stage--s .fx__k { order: -1; margin: 0 0 clamp(14px, 2.4vh, 26px); font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.55); }
.fx-stage--s .fx__k::before { content: none; }
.fx-stage--s .fx__n { justify-content: flex-start; align-items: baseline; gap: 0.04em; font-size: clamp(2.6rem, 5.4vw, 6.2rem); font-weight: 640; font-stretch: 118%; letter-spacing: -0.02em; line-height: 0.92; }
.fx-stage--s .fx__n small { font-family: var(--f); font-size: 0.42em; font-weight: 640; font-stretch: 118%; color: var(--red); margin: 0; }
.fx-row.is-armed .fx__n { font-stretch: 62%; font-weight: 180; }
.fx-stage--s .fx-row.is-in .fx__n { font-stretch: 118%; font-weight: 640; }
/* panoge */
.ind2 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 28px; width: 100%; padding: 20px 0 0; font-size: 0.8125rem; font-weight: 600; font-stretch: 108%; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.3; color: rgba(255, 255, 255, 0.72); text-align: left; }
.ind2::before { background: rgba(255, 255, 255, 0.22); }
.ind2::after { left: 0; margin-left: 0; width: 32px; }
.ind2 li + li::before { content: none; }
@media (max-width: 760px) {
  .say__scan { font-size: clamp(1.2rem, 5.4vw, 1.5rem); }
  .fx-stage--s .fx-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
  .fx-stage--s .fx { padding-top: 14px; }
  .fx-stage--s .fx__k { margin-bottom: 10px; font-size: 0.6875rem; }
  .fx-stage--s .fx__n { font-size: clamp(2.2rem, 10.5vw, 2.8rem); }
  .ind2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; font-size: 0.6875rem; text-align: left; }
}
.ind2 li { display: block; text-align: left; place-items: initial; padding: 0; }

/* ==========================================================================
   ŠTEVILKE KOT MERILNI ODČITKI + PANOGE KOT TEKOČI TRAK
   ========================================================================== */
.fx-stage--m { gap: clamp(56px, 10vh, 112px); }
.fx-stage--m .fx { display: grid; grid-template-rows: auto auto auto; gap: 0; padding-top: 0; }
.fx-stage--m .fx::before, .fx-stage--m .fx::after { content: none; }
.fx-stage--m .fx__k { order: -1; }
/* skala: drobne črtice vsakih 2,5 %, daljše vsakih 25 %; polnilo do vrednosti; rdeč kazalec */
.fx__sc { position: relative; height: 22px; margin-top: clamp(16px, 2.6vh, 26px); }
.fx__sc::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.5) 1px, transparent 1px) 0 100% / 25% 12px repeat-x,
    linear-gradient(90deg, rgba(255, 255, 255, 0.22) 1px, transparent 1px) 0 100% / 2.5% 6px repeat-x;
  border-right: 1px solid rgba(255, 255, 255, 0.5); }
.fx__sc::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: calc(var(--v) * 100%); background: #fff; transform-origin: left; }
.fx__sc b { position: absolute; bottom: 0; left: calc(var(--v) * 100%); width: 2px; height: 22px; margin-left: -1px; background: var(--red); }
.fx__sc b::after { content: ""; position: absolute; left: 50%; top: -7px; width: 10px; height: 4px; margin-left: -5px; background: var(--red); transform: skewX(-24deg); }
.fx__sc span { position: absolute; top: calc(100% + 8px); font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.38); }
.fx__sc span:first-of-type { left: 0; }
.fx__sc span:last-of-type { right: 0; }
.fx-row.is-armed .fx__sc::after { transform: scaleX(0); }
.fx-row.is-armed .fx__sc b { left: 0; opacity: 0; }
.fx-row.is-armed .fx__sc::before { opacity: 0; }
.fx-row.is-in .fx__sc::before { opacity: 1; transition: opacity 0.8s ease calc(var(--i) * 0.14s + 0.2s); }
.fx-row.is-in .fx__sc::after { transform: none; transition: transform 1.9s var(--ease-io) calc(var(--i) * 0.14s + 0.3s); }
.fx-row.is-in .fx__sc b { left: calc(var(--v) * 100%); opacity: 1; transition: left 1.9s var(--ease-io) calc(var(--i) * 0.14s + 0.3s), opacity 0.4s ease calc(var(--i) * 0.14s + 0.3s); }
/* panoge: tekoči trak čez celo širino zaslona, veliki obrisni napisi, rdeči poševni ločili */
.ind3 { position: relative; width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; padding-block: clamp(18px, 3vh, 30px); border-block: 1px solid rgba(255, 255, 255, 0.12);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.ind3__track { display: flex; width: max-content; animation: ind-run 46s linear infinite; }
.ind3:hover .ind3__track { animation-play-state: paused; }
.ind3__set { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.ind3__set li { display: flex; align-items: center; white-space: nowrap; font-size: clamp(1.9rem, 4vw, 4.2rem); font-weight: 640; font-stretch: 118%; letter-spacing: -0.008em; text-transform: uppercase; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.55); transition: color 0.35s ease, -webkit-text-stroke-color 0.35s ease; }
.ind3__set li:hover { color: #fff; -webkit-text-stroke-color: #fff; }
.ind3__set li::after { content: ""; flex: none; width: 0.42em; height: 0.12em; margin: 0 0.7em; background: var(--red); transform: skewX(-24deg); }
@keyframes ind-run { to { transform: translate3d(-50%, 0, 0); } }
.fx-stage:has(.fx-row.is-armed) .ind3 { opacity: 0; transform: translateY(16px); }
.fx-stage:has(.fx-row.is-in) .ind3 { opacity: 1; transform: none; transition: opacity 1s ease 0.9s, transform 1.2s var(--ease) 0.9s; }
@media (prefers-reduced-motion: reduce) { .ind3__track { animation: none; } .ind3__set[aria-hidden] { display: none; } .ind3__set { flex-wrap: wrap; justify-content: center; } }
@media (max-width: 760px) {
  .fx__sc { height: 16px; margin-top: 12px; }
  .fx__sc::before { height: 9px; background-size: 25% 9px, 5% 5px; }
  .fx__sc b { height: 16px; }
  .fx__sc span { display: none; }
  .ind3__set li { font-size: 1.6rem; }
}
.fx-stage--m .fx__sc { justify-self: stretch; width: 100%; }
/* prvotne številke z grafikami (vrnjeno): izvirne vrednosti pisave in sredinska postavitev bloka */
.fx-stage:not(.fx-stage--s) { margin-inline: auto; justify-self: center; }
.fx-stage:not(.fx-stage--s) .fx-row.is-armed .fx__n { font-stretch: 72%; font-weight: 120; }
.fx-stage:not(.fx-stage--s) .fx-row.is-in .fx__n { font-stretch: 108%; font-weight: 220; }
/* opis nazaj na sredino (kot prej) */
.reveal__text { place-items: center; }
.say__wrap { max-width: none; justify-items: center; }
.say__scan { max-width: none; font-size: inherit; }
.say__text { max-width: 28em; margin-inline: auto; text-align: center; font-size: clamp(1.35rem, 3vw, 3.1rem); text-wrap: balance; }
.scan { left: -5%; right: -5%; }

/* ==========================================================================
   ŠTEVILKE + PANOGE V SLOGU OSTALE STRANI
   številke: oznaka kot zavihki kartic, krepka široka pisava naslovov (ob prihodu se razširi iz ozke)
   panoge: pet slikovnih kartic, ki se odprejo iz središča kot kartice zgoraj (pravokotnik z rdečim robom)
   ========================================================================== */
.fx-stage--t { width: min(100%, 1320px); margin-inline: auto; gap: clamp(36px, 6vh, 64px); justify-items: stretch; }
.fx-stage--t .fx-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(20px, 3vw, 56px); width: 100%; }
.fx-stage--t .fx { gap: 0; padding-top: 16px; }
.fx-stage--t .fx__top { margin-bottom: clamp(10px, 1.8vh, 18px); font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.6); }
.fx-stage--t .fx__i { font-family: var(--mono); font-weight: 500; letter-spacing: 0.08em; }
.fx-stage--t .fx__n { font-size: clamp(2.4rem, 4.6vw, 5.2rem); font-weight: 640; font-stretch: 118%; letter-spacing: -0.02em; line-height: 0.92; gap: 0.04em; align-items: baseline; }
.fx-stage--t .fx__n small { font-family: var(--f); font-size: 0.42em; font-weight: 640; font-stretch: 118%; color: var(--red); margin: 0; }
.fx-stage--t .fx-row.is-armed .fx__n { font-stretch: 62%; font-weight: 180; }
.fx-stage--t .fx-row.is-in .fx__n { font-stretch: 118%; font-weight: 640; }
.fx-stage--t .fx__l { margin-top: clamp(10px, 1.6vh, 16px); font-size: 0.875rem; color: rgba(255, 255, 255, 0.55); max-width: 28ch; }
/* panoge: slikovne kartice */
.ind--tiles { width: 100%; gap: 16px; }
.ind--tiles .ind__lbl { font-size: 0.75rem; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.6); }
.ind--tiles .ind__row { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(8px, 0.9vw, 14px); padding: 0; }
.ind--tiles .ind__row::before, .ind--tiles .ind__row li::before { content: none; }
.ind--tiles .ind__row li { --wp: 100%; position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; height: clamp(200px, 32vh, 330px); padding: clamp(14px, 1.4vw, 22px); overflow: hidden; background: #0d0e10; clip-path: inset(calc((100% - var(--wp)) / 2)); }
.ind__img { position: absolute; inset: 0; z-index: -2; }
.ind__img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.84) contrast(1.05) brightness(0.92); transform: scale(1); transition: transform 1.2s var(--ease), filter 0.6s ease; }
.ind--tiles .ind__row li::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8, 9, 11, 0.92) 0%, rgba(8, 9, 11, 0.55) 38%, rgba(8, 9, 11, 0.05) 70%); }
.ind--tiles .ind__k { font-size: clamp(0.95rem, 1.15vw, 1.3rem); font-weight: 640; font-stretch: 118%; letter-spacing: -0.005em; text-transform: uppercase; line-height: 1.05; color: #fff; }
.ind--tiles .ind__k::before { content: ""; display: block; width: 22px; height: 2px; margin-bottom: 12px; background: var(--red); transform: skewX(-24deg); }
.ind--tiles .ind__t { display: block; font-size: 0.8125rem; line-height: 1.35; color: rgba(255, 255, 255, 0.66); }
/* odpiranje: pravokotnik iz središča z rdečim robom, zaporedno; slika se med tem približa na mesto */
@property --wp { syntax: "<percentage>"; inherits: true; initial-value: 0%; }
.fx-stage:has(.fx-row.is-armed) .ind--tiles .ind__row li { --wp: 0%; opacity: 1; transform: none; }
.fx-stage:has(.fx-row.is-armed) .ind--tiles .ind__img img { transform: scale(1.18); }
.fx-stage:has(.fx-row.is-armed) .ind--tiles .ind__k, .fx-stage:has(.fx-row.is-armed) .ind--tiles .ind__t { opacity: 0; transform: translateY(10px); }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { --wp: 100%; opacity: 1; transform: none; transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1) calc(0.9s + var(--j) * 0.12s); }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__img img { transform: scale(1); transition: transform 1.8s var(--ease) calc(0.9s + var(--j) * 0.12s), filter 0.6s ease; }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__k, .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__t { opacity: 1; transform: none; transition: opacity 0.7s ease calc(1.6s + var(--j) * 0.12s), transform 0.9s var(--ease) calc(1.6s + var(--j) * 0.12s); }
.ind--tiles .ind__row li > .ind__k { position: relative; }
.ind--tiles .ind__row li .ind__img::after { content: ""; position: absolute; inset: 0; border: 1.5px solid var(--red); opacity: 0; pointer-events: none; }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li .ind__img::after { animation: iris-ring 1s ease calc(0.9s + var(--j) * 0.12s) both; }
@media (hover: hover) { .ind--tiles .ind__row li:hover .ind__img img { transform: scale(1.05); filter: saturate(1) contrast(1.05) brightness(1); } }
@media (prefers-reduced-motion: reduce) { .ind--tiles .ind__row li { --wp: 100% !important; transition: none !important; } }
@media (max-width: 760px) {
  .fx-stage--t { gap: 28px; }
  .fx-stage--t .fx-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  .fx-stage--t .fx { padding-top: 10px; }
  .fx-stage--t .fx__n { font-size: clamp(1.9rem, 9vw, 2.5rem); }
  .fx-stage--t .fx__l { font-size: 0.6875rem; margin-top: 6px; }
  .fx-stage--t .fx__top { font-size: 0.625rem; margin-bottom: 8px; }
  .ind--tiles { gap: 10px; }
  .ind--tiles .ind__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .ind--tiles .ind__row li { height: 92px; padding: 10px; }
  .ind--tiles .ind__row li:last-child { grid-column: 1 / -1; }
  .ind--tiles .ind__k { font-size: 0.75rem; }
  .ind--tiles .ind__k::before { margin-bottom: 6px; width: 16px; }
  .ind--tiles .ind__t { display: none; }
}
.fx-stage.fx-stage--t .fx-row.is-armed .fx__n { font-stretch: 62%; font-weight: 180; }
.fx-stage.fx-stage--t .fx-row.is-in .fx__n { font-stretch: 118%; font-weight: 640; }
/* brez okvirjev pri prehodu (kartice in slike panog): samo slika, ki zraste iz središča */
.caps__slide::before, .caps__slide::after, .caps__slide.is-back::before, .caps__slide.is-back::after { content: none !important; animation: none !important; }
.ind--tiles .ind__row li .ind__img::after { content: none !important; animation: none !important; }
/* skala Z odstranjena */
.hud { display: none !important; }
/* panoge: šest kartic */
.ind--tiles .ind__row { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 760px) { .ind--tiles .ind__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ind--tiles .ind__row li:last-child { grid-column: auto; } }
.ind--tiles .ind__k { font-size: clamp(0.85rem, 1.02vw, 1.2rem); overflow-wrap: anywhere; }
.ind--tiles .ind__k { font-size: clamp(0.8rem, 0.92vw, 1.15rem); overflow-wrap: normal; }
.ind--tiles .ind__k { font-size: clamp(0.78rem, 0.9vw, 0.95rem); }
@media (min-width: 761px) and (max-width: 1100px) { .ind--tiles .ind__row { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ind--tiles .ind__row li { height: clamp(140px, 21vh, 220px); } .ind--tiles .ind__k { font-size: 0.9rem; } }
/* panoge: ena kartica je povečana, s pomikom se povečava premika na naslednjo (samo na širokih zaslonih) */
@media (min-width: 1101px) {
  .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 165svh); } /* +165svh: šest korakov povečave panog */
  .ind--tiles .ind__row { display: flex; }
  .ind--tiles .ind__row li { flex: 1 1 0; min-width: 0; transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1), flex-grow 0.85s cubic-bezier(0.65, 0, 0.25, 1); }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1) calc(0.9s + var(--j) * 0.12s), flex-grow 0.85s cubic-bezier(0.65, 0, 0.25, 1); }
  .ind--tiles .ind__row li.is-big { flex-grow: 2.8; }
  .ind--tiles .ind__row li .ind__t { opacity: 0.75; }
  .ind--tiles .ind__row li.is-big .ind__k { font-size: clamp(1rem, 1.35vw, 1.5rem); }
  .ind--tiles .ind__row li.is-big .ind__img img { filter: saturate(0.95) contrast(1.05) brightness(1); }
  .ind--tiles .ind__row li:not(.is-big) .ind__t { opacity: 0; }
  .ind--tiles .ind__row li .ind__k, .ind--tiles .ind__row li .ind__t { white-space: nowrap; }
  .ind--tiles .ind__row li:not(.is-big) .ind__k { font-size: clamp(0.72rem, 0.8vw, 0.9rem); white-space: normal; }
}
@media (min-width: 1101px) {
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li:not(.is-big) .ind__t { opacity: 0; transition: opacity 0.3s ease; }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li.is-big .ind__t { opacity: 1; transition: opacity 0.5s ease 0.35s; }
}
/* panoge: krajši pomik (en zasuk = ena slika), povečana slika izrazito širša in višja */
@media (min-width: 1101px) {
  .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 560px); }
  .ind--tiles .ind__row { align-items: flex-end; height: clamp(250px, 40vh, 420px); }
  .ind--tiles .ind__row li { height: clamp(170px, 27vh, 290px); transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1), flex-grow 0.7s cubic-bezier(0.65, 0, 0.25, 1), height 0.7s cubic-bezier(0.65, 0, 0.25, 1); }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1) calc(0.9s + var(--j) * 0.12s), flex-grow 0.7s cubic-bezier(0.65, 0, 0.25, 1), height 0.7s cubic-bezier(0.65, 0, 0.25, 1); }
  .ind--tiles .ind__row li.is-big { flex-grow: 4.2; height: 100%; }
  .ind--tiles .ind__row li.is-big .ind__k { font-size: clamp(1.1rem, 1.6vw, 1.8rem); }
}
/* panoge se odprejo takoj, ko se izrišejo podatki (krajši zamik) */
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__img img { transition-delay: calc(0.3s + var(--j) * 0.08s); }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__k, .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__t { transition-delay: calc(0.7s + var(--j) * 0.08s); }
@media (min-width: 1101px) {
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition: --wp 0.9s cubic-bezier(0.7, 0, 0.18, 1) calc(0.3s + var(--j) * 0.08s), flex-grow 0.7s cubic-bezier(0.65, 0, 0.25, 1), height 0.7s cubic-bezier(0.65, 0, 0.25, 1); }
}
@media (max-width: 1100px) {
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition-delay: calc(0.3s + var(--j) * 0.08s); }
}
@media (min-width: 1101px) {
  .ind--tiles .ind__row li:not(.is-big) { padding: 12px; }
  .ind--tiles .ind__row li:not(.is-big) .ind__k { font-size: clamp(0.6rem, 0.66vw, 0.78rem); }
}
/* velikost imena sledi širini kartice (dolge besede nikoli ne segajo čez rob) */
.ind--tiles .ind__row li { container-type: inline-size; }
@media (min-width: 1101px) {
  .ind--tiles .ind__row li:not(.is-big) .ind__k { font-size: min(0.85rem, 7.2cqi); }
  .ind--tiles .ind__row li.is-big .ind__k { font-size: clamp(1.05rem, 5cqi, 1.8rem); }
}
@media (min-width: 1101px) { .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 22svh + 760px); } }
@media (min-width: 1101px) { .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 22svh + 460px); } }
@media (min-width: 1101px) { .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 22svh + 860px); } }
/* povečana slika raste navzdol (vrhovi poravnani) */
@media (min-width: 1101px) { .ind--tiles .ind__row { align-items: flex-start; } }

/* ---------- kartice zmogljivosti: preklop brez animacije pravokotnika (odstranjeno 2026-10-08) ---------- */
.caps__slide, .caps__slide.is-back, .caps__slide.is-enter { clip-path: none !important; transition: none !important; --wp: 100% !important; }
.caps__slide:not(.is-cur) { visibility: hidden; }
.caps__slide.is-cur { visibility: visible; }

/* ---------- ključni podatki + panoge: brez animacije rasti, samo odštevanje številk (2026-10-08) ---------- */
.fx-stage .fx-row .fx, .fx-stage .fx-row .fx *, .fx-stage .fx-row .fx::before, .fx-stage .fx-row .fx::after,
.fx-stage .ind__lbl, .fx-stage .ind__row::before, .fx-stage .ind__row li::before, .fx-stage .ind--tiles .ind__k, .fx-stage .ind--tiles .ind__t { transition: none !important; animation: none !important; }
.fx-stage .ind--tiles .ind__row li .ind__img::after { animation: none !important; opacity: 0 !important; }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition: flex-grow 0.85s cubic-bezier(0.65, 0, 0.25, 1), height 0.7s cubic-bezier(0.65, 0, 0.25, 1) !important; }
.fx-stage:has(.fx-row.is-in) .ind--tiles .ind__img img { transition: transform 1.2s var(--ease), filter 0.6s ease !important; }

/* ---------- kartice zmogljivosti: ob vsakem preklopu se slika prizoomira v začetno stanje ---------- */
.caps .scr__img { transform: scale(1.1); transition: none; }
.caps .is-cur .scr__img { transform: none; transition: transform 1.8s cubic-bezier(0.2, 0.7, 0.1, 1); }
.caps .is-cur.is-static .scr__img { transition: none; }

/* ---------- kartice zmogljivosti: naslov se pokaže enako kot ostalo besedilo (zbledi in se dvigne), brez širjenja črk ---------- */
.caps .st-hide .sw__in, .caps .st-arm .sw__in, .caps .st-arm.st-play .sw__in { font-stretch: inherit; font-weight: inherit; opacity: 1; transform: none; transition: none; }
.js .caps__slide .scr__box > .h2 { opacity: 0; transform: translate3d(0, 14px, 0); }
.js .caps__slide.is-live .scr__box > .h2 { opacity: 1; transform: none; transition: opacity 0.7s ease 0.15s, transform 0.9s var(--ease) 0.15s; }
.js .caps__slide.is-live.is-static .scr__box > .h2 { transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .js .caps__slide .scr__box > .h2 { opacity: 1; transform: none; } }

/* ---------- kartice zmogljivosti: naslov, indeks, opis in gumb se pojavijo istočasno ---------- */
.js .caps__slide.is-live .scr__box > .h2, .js .caps__slide.is-live .scr__box > :not(.h2),
.js .caps__slide.is-live .scr__idx, .js .caps__slide.is-live .scr__text, .js .caps__slide.is-live .btn,
.js .caps__slide.is-live.is-static .scr__box > .h2, .js .caps__slide.is-live.is-static .scr__idx, .js .caps__slide.is-live.is-static .scr__text, .js .caps__slide.is-live.is-static .btn { transition-delay: 0s !important; }
.js .caps__slide.is-live .scr__idx i { transition-delay: 0s !important; }

/* ---------- panoge: gladek preklop povečave (enaka krivulja za širino in višino, ime sledi širini brez skokov) ---------- */
@media (min-width: 1101px) {
  .ind--tiles .ind__row li, .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition: flex-grow 0.5s cubic-bezier(0.4, 0.05, 0.2, 1), height 0.5s cubic-bezier(0.4, 0.05, 0.2, 1) !important; }
  .ind--tiles .ind__row li .ind__k, .ind--tiles .ind__row li.is-big .ind__k, .ind--tiles .ind__row li:not(.is-big) .ind__k { font-size: min(7.2cqi, 1.55rem); white-space: normal; }
  .ind--tiles .ind__row li:not(.is-big), .ind--tiles .ind__row li.is-big { padding: clamp(12px, 3.2cqi, 22px); }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li .ind__t { transition: opacity 0.35s ease !important; }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li.is-big .ind__t { transition: opacity 0.4s ease 0.3s !important; }
}
@media (min-width: 1101px) {
  .ind--tiles .ind__img img, .ind--tiles .ind__row li.is-big .ind__img img { filter: none !important; }
  .ind--tiles .ind__row li { contain: layout paint; }
}

/* ---------- domača stran: svetli del (certifikati, spoznaj podjetje) in kariera ---------- */
.lt { --fg: #0b0c0e; --steel: #5a6069; --rule: rgba(11, 12, 14, 0.12); --surface: #ffffff; --paper: #e9e8e4; background: #f3f2ef; color: #0b0c0e; color-scheme: light; }
.lt .sec { padding-block: clamp(80px, 9vw, 140px); }
.lt .sec + .sec { padding-top: 0; }
.lt__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); align-items: end; gap: 24px var(--g); margin-bottom: clamp(36px, 4vw, 60px); }
.lt__head .h2::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 22px; background: var(--red); transform: skewX(-24deg); }
.lt__aside { display: grid; gap: 22px; justify-items: start; }
.lt__aside p { max-width: 48ch; color: var(--steel); text-wrap: pretty; }
.lt .arrow { border-color: rgba(11, 12, 14, 0.5); color: #0b0c0e; }
.lt .arrow:hover { background: #0b0c0e; border-color: #0b0c0e; color: #fff; }
.lt .certs { gap: 14px; background: none; border: 0; }
.lt .cert { border: 1px solid var(--rule); transition: box-shadow 0.4s var(--ease), transform 0.4s var(--ease); }
.lt .cert:hover { box-shadow: 0 18px 40px -22px rgba(11, 12, 14, 0.35); transform: translateY(-3px); }
.lt .cert__doc { background: #ecebe7; }
.lt .cert__body b { color: #0b0c0e; }
.lt .embed { box-shadow: 0 30px 70px -40px rgba(11, 12, 14, 0.55); }
@media (max-width: 900px) { .lt__head { grid-template-columns: 1fr; } .lt .certs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.kar { position: relative; isolation: isolate; display: grid; min-height: min(100svh, 980px); align-items: end; color: #fff; background: var(--ink); overflow: hidden; }
.kar__media { position: absolute; inset: 0 0 auto; height: 78%; z-index: -1; }
.kar__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 12, 14, 0.35) 0%, rgba(11, 12, 14, 0.05) 30%, rgba(11, 12, 14, 0.55) 70%, var(--ink) 100%); }
.kar__img, .kar__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.kar__in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 40px var(--g); align-items: end; padding-block: clamp(60px, 7vw, 110px); }
.kar__copy { display: grid; gap: 24px; justify-items: start; }
.kar__lead { max-width: 40ch; font-size: clamp(1.0625rem, 1.25vw, 1.25rem); color: rgba(255, 255, 255, 0.8); }
.kar__lbl { margin-bottom: 10px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.kar__jobs ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.22); }
.kar__jobs li { border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.kar__jobs a { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; padding: 20px 44px 20px 0; transition: padding 0.3s var(--ease), color 0.3s; }
.kar__job { font-size: clamp(1.05rem, 1.3vw, 1.3rem); font-weight: 600; font-stretch: 108%; }
.kar__loc { grid-column: 1; font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
.kar__jobs i { position: absolute; right: 4px; top: 50%; width: 22px; height: 2px; background: currentColor; transform: translateY(-50%); transition: right 0.3s var(--ease), background 0.3s; }
.kar__jobs i::after { content: ""; position: absolute; right: 0; top: -5px; width: 10px; height: 10px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transform-origin: 100% 0; }
.kar__jobs a:hover { padding-left: 10px; color: var(--red); }
.kar__jobs a:hover i { right: 0; }
@media (max-width: 900px) { .kar { min-height: 0; } .kar__media { position: relative; height: 56vw; } .kar__in { grid-template-columns: 1fr; padding-top: 30px; } }
.kar__media picture { display: block; width: 100%; height: 100%; }
.kar__img, .kar__media img { object-position: 50% 12%; }

/* ---------- Inženiring in CAM (1. kartica): slika višje; rahla povečava, da spodaj ne ostane vrzel ---------- */
@media (min-width: 761px) { .caps__slide:nth-child(1) .scr__img { translate: 2% -2.5%; scale: 1.05; } }

/* ---------- Kartice zmogljivosti: zatemnitev samo s strani (levo/desno), brez zgoraj in spodaj ---------- */
@media (min-width: 761px) {
  .caps__slide--softshade .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(90deg, rgba(11, 12, 14, 0.86) 0%, rgba(11, 12, 14, 0.68) 34%, rgba(11, 12, 14, 0.26) 48%, rgba(11, 12, 14, 0) 60%); }
  .caps__slide--rsoft .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(270deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.78) 34%, rgba(11, 12, 14, 0.34) 48%, rgba(11, 12, 14, 0) 60%); }
}

/* ---------- Brez kratkih zatemnitev na robu slike nasproti besedila ---------- */
@media (min-aspect-ratio: 2400/1180) {
  .caps__slide--full.caps__slide--softshade .scr__img { -webkit-mask-image: linear-gradient(90deg, transparent var(--e), #000 calc(var(--e) + 8svh), #000 calc(100% - var(--e)), transparent calc(100% - var(--e))); mask-image: linear-gradient(90deg, transparent var(--e), #000 calc(var(--e) + 8svh), #000 calc(100% - var(--e)), transparent calc(100% - var(--e))); }
  .caps__slide--full.caps__slide--rsoft .scr__img { -webkit-mask-image: linear-gradient(90deg, transparent var(--e), #000 var(--e), #000 calc(100% - var(--e) - 8svh), transparent calc(100% - var(--e))); mask-image: linear-gradient(90deg, transparent var(--e), #000 var(--e), #000 calc(100% - var(--e) - 8svh), transparent calc(100% - var(--e))); }
}

/* ---------- Kartice zmogljivosti: oznaka cilja nad naslovom (slog kot na 3003) ---------- */
.caps .scr__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0; font-size: 0.75rem; font-weight: 600; font-stretch: 108%; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; color: #9aa1aa; }
.caps .scr__eyebrow::before { content: ""; width: 18px; height: 2px; background: var(--red); transform: skewX(-24deg); flex: none; }

/* ---------- Zatemnitev s strani enako močna kot pri CNC proizvodnji (Meritve, Montaža, Dig. sledljivost; Dodelave jo že ima) ---------- */
@media (min-width: 761px) {
  .caps__slide--rsoft .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(270deg, rgba(11, 12, 14, 0.86) 0%, rgba(11, 12, 14, 0.68) 34%, rgba(11, 12, 14, 0.26) 48%, rgba(11, 12, 14, 0) 60%); }
}

/* ---------- Montaža sklopov: zatemnitev z desne malo šibkejša ---------- */
@media (min-width: 761px) {
  .caps__slide:nth-child(5) .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(270deg, rgba(11, 12, 14, 0.79) 0%, rgba(11, 12, 14, 0.62) 34%, rgba(11, 12, 14, 0.24) 48%, rgba(11, 12, 14, 0) 60%); }
}

/* ---------- Digitalna sledljivost: zatemnitev z desne za odtenek močnejša ---------- */
@media (min-width: 761px) {
  .caps__slide:nth-child(6) .scr::before { background: linear-gradient(rgba(11, 12, 14, 0.12), rgba(11, 12, 14, 0.12)), linear-gradient(270deg, rgba(11, 12, 14, 0.88) 0%, rgba(11, 12, 14, 0.705) 34%, rgba(11, 12, 14, 0.285) 48%, rgba(11, 12, 14, 0) 60%); }
}

/* ---------- Certifikati: enak slog kot na localhost:3001 (mrežno ozadje, celoten dokument z robom, zaobljena kartica, dvig ob prehodu) ---------- */
.lt .cert, .cert { border-radius: 14px; overflow: hidden; border: 1px solid rgba(10, 11, 13, 0.12); background: #fff; transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), border-color 0.3s; }
.lt .cert:hover, .cert:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(10, 11, 13, 0.12); border-color: rgba(10, 11, 13, 0.2); }
.cert__doc, .lt .cert__doc { aspect-ratio: 1 / 1.08; padding: 1.4rem; overflow: hidden; background: linear-gradient(rgba(10, 11, 13, 0.05) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, rgba(10, 11, 13, 0.05) 1px, transparent 1px) 0 0 / 24px 24px, #e9ebee; }
.cert__doc img { object-fit: contain; filter: drop-shadow(0 10px 22px rgba(10, 11, 13, 0.16)); transition: transform 0.6s var(--ease); }
.cert:hover .cert__doc img, .cert__doc:hover img { transform: translateY(-2%); }
.cert__body { border-top: 1px solid rgba(10, 11, 13, 0.12); }

/* Certifikati: ob prehodu miške se dvigne samo dokument, ne cela kartica */
.lt .cert:hover, .cert:hover { transform: none; box-shadow: none; border-color: rgba(10, 11, 13, 0.12); }
.cert:hover .cert__doc img, .cert__doc:hover img { transform: translateY(-4%); }

/* Razmik med Certifikati in Spoznaj podjetje večji */
.lt .sec + .sec { padding-top: clamp(40px, 5vw, 80px); }

/* Spoznaj podjetje: ozadje v odtenku #f2f3f4, video malo manjši */
.lt .home-film { background: #f2f3f4; padding-top: clamp(80px, 9vw, 140px); }
.home-film .embed { max-width: min(100%, 1180px); }
.kar__img, .kar__media img { object-position: 50% 40%; }
.kar__lead { max-width: 52ch; }
.kar__arr { position: absolute; right: 2px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%); transition: transform 0.3s var(--ease); }
.kar__jobs a:hover .kar__arr { transform: translate(4px, -50%); }
/* kariera: slika ekipe zavzema 2/3 širine (desno), levo in spodaj se zlije v temno */
@media (min-width: 901px) {
  .kar { min-height: 0; padding-top: calc(66.667vw * 1078 / 2476 * 0.62); }
  .kar__media { inset: 0 0 auto auto; width: 66.667%; height: auto; aspect-ratio: 2476 / 1078; }
  .kar__media::after { background: linear-gradient(90deg, var(--ink) 0%, rgba(11, 12, 14, 0) 22%), linear-gradient(180deg, rgba(11, 12, 14, 0) 45%, rgba(11, 12, 14, 0.6) 75%, var(--ink) 100%); }
  .kar__img, .kar__media img { object-position: 50% 50%; }
}
/* kariera: slika ekipe na sredini, obe strani in spodaj se zlijejo v temno */
@media (min-width: 901px) {
  .kar__media { inset: 0 auto auto 16.667%; }
  .kar__media::after { background: linear-gradient(90deg, var(--ink) 0%, rgba(11, 12, 14, 0) 18%, rgba(11, 12, 14, 0) 82%, var(--ink) 100%), linear-gradient(180deg, rgba(11, 12, 14, 0) 45%, rgba(11, 12, 14, 0.6) 75%, var(--ink) 100%); }
}

/* ---------- kariera: rdeč pas brez slike (kot »Imate risbo?«) ---------- */
.kband { position: relative; overflow: hidden; background: #d91f2b; color: #fff; }
.kband__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(0, 0, 0, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.06) 1px, transparent 1px); background-size: 88px 88px; pointer-events: none; }
.kband__in { position: relative; padding-top: clamp(80px, 10vw, 150px); padding-bottom: clamp(72px, 9vw, 130px); }
.kband__tag { display: flex; align-items: center; gap: 10px; margin-bottom: clamp(22px, 2.4vw, 34px); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; }
.kband__tag i { width: 7px; height: 7px; background: #0b0c0e; }
.kband__title { font-size: clamp(2.6rem, 6.6vw, 7.2rem); font-weight: 640; font-stretch: 112%; letter-spacing: -0.02em; line-height: 0.98; text-transform: uppercase; max-width: 12ch; text-wrap: balance; }
.kband__row { margin-top: clamp(36px, 4.4vw, 64px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 40px var(--g); align-items: end; }
.kband__text { max-width: 46ch; font-size: clamp(1.0625rem, 1.3vw, 1.3rem); line-height: 1.5; color: #fff; }
.kband__side { display: grid; gap: 22px; }
.kband__lbl { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
.kband__jobs { list-style: none; margin: -12px 0 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.45); }
.kband__jobs li { border-bottom: 1px solid rgba(255, 255, 255, 0.45); }
.kband__jobs a { position: relative; display: grid; gap: 2px; padding: 18px 44px 18px 0; transition: padding 0.3s var(--ease); }
.kband__job { font-size: clamp(1.05rem, 1.3vw, 1.3rem); font-weight: 600; font-stretch: 108%; }
.kband__loc { font-size: 0.875rem; color: rgba(255, 255, 255, 0.8); }
.kband__jobs svg { position: absolute; right: 2px; top: 50%; width: 24px; height: 24px; transform: translateY(-50%); transition: transform 0.3s var(--ease); }
.kband__jobs a:hover { padding-left: 10px; }
.kband__jobs a:hover svg { transform: translate(4px, -50%); }
.kband__btn { justify-self: start; display: inline-flex; align-items: center; gap: 18px; min-height: 60px; padding: 0 8px 0 28px; border-radius: 999px; background: #0b0c0e; color: #fff; font-size: 1rem; font-weight: 600; transition: background-color 0.3s; }
.kband__btn span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--red); transition: transform 0.3s var(--ease); }
.kband__btn svg { width: 20px; height: 20px; }
.kband__btn:hover span { transform: translateX(3px); }
@media (max-width: 900px) { .kband__row { grid-template-columns: 1fr; } }
/* kariera: krajši rdeč pas – naslov in besedilo levo, delovna mesta in gumb desno v isti vrstici */
.kband__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); grid-template-rows: auto auto 1fr; column-gap: var(--g); padding-top: clamp(48px, 5vw, 76px); padding-bottom: clamp(48px, 5vw, 76px); }
.kband__tag { grid-column: 1; margin-bottom: 16px; }
.kband__title { grid-column: 1; font-size: clamp(2rem, 3.6vw, 3.6rem); max-width: none; }
.kband__row { display: contents; }
.kband__text { grid-column: 1; margin-top: 18px; max-width: 48ch; font-size: clamp(1rem, 1.1vw, 1.125rem); }
.kband__side { grid-column: 2; grid-row: 1 / span 3; align-self: center; gap: 16px; }
.kband__jobs a { padding-block: 13px; }
.kband__btn { min-height: 52px; }
.kband__btn span { width: 38px; height: 38px; }
@media (max-width: 900px) { .kband__in { grid-template-columns: 1fr; } .kband__side { grid-column: 1; grid-row: auto; margin-top: 32px; } }

/* ---------- noga: natančno kot na 8081 (barve, širina, pisava mono, animacija znaka) ---------- */
.ftr { --fg-2: rgba(241, 240, 236, 0.64); --fg-3: rgba(241, 240, 236, 0.56); --line: rgba(255, 255, 255, 0.1); --line-2: rgba(255, 255, 255, 0.18); background: #0a0b0d; color: #f1f0ec; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.ftr__grid, .ftr__bottom, .ftr__mark { max-width: 1680px; padding-inline: clamp(18px, 4.2vw, 64px); }
.ftr__h { color: var(--fg-3); }
.ftr__col a { color: var(--fg-2); }
.ftr__col a:hover, .ftr__bottom .linkbtn:hover { color: #f1f0ec; }
.ftr address { color: var(--fg-2); }
.ftr__hours, .ftr__reg, .ftr__status time { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 400; color: var(--fg-3); }
.ftr__reg { color: inherit; }
.ftr__bottom { background: #0a0b0d; border-top: 1px solid rgba(255, 255, 255, 0.1); color: var(--fg-3); }
.ftr__status i { background: #5b6069; }
.ftr__status.is-on i { background: #3ddc84; }
.ftr__social a { border-color: var(--line-2); color: #f1f0ec; }
.ftr__mark .logo-svg { will-change: transform; }
.ftr__mark .logo-svg path:first-child { transition: transform 1.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 1.6s cubic-bezier(0.16, 1, 0.3, 1); transform-box: fill-box; }
.ftr__mark:not(.is-in) .logo-svg path:first-child { transform: translateX(-24%); opacity: 0; }
@media (prefers-reduced-motion: reduce) { .ftr__mark .logo-svg path:first-child { transform: none !important; opacity: 1 !important; transition: none; } }
.home-film .embed { max-width: none; width: 100%; aspect-ratio: auto; height: min(664px, 56.25vw); }
.home-film .embed__poster { object-position: 50% 40%; }
.home-film .embed { border-radius: 20px; overflow: hidden; isolation: isolate; }
.lt .home-film { background: #f2f3f4; padding-top: clamp(80px, 9vw, 140px); }
.lt .home-certs { background: #ffffff; }

/* ---------- domača stran: povpraševanje »Imate risbo?« (kot 8081, z risbo, ki se izriše) ---------- */
.rfq { position: relative; overflow: hidden; background: #0a0b0d; color: #fff; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.rfq__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px var(--g); align-items: center; padding-block: clamp(80px, 9vw, 140px); }
.rfq__tag { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.rfq__tag i { width: 7px; height: 7px; background: var(--red); }
.rfq__title { font-size: clamp(2.4rem, 4.6vw, 4.8rem); font-weight: 640; font-stretch: 112%; letter-spacing: -0.02em; line-height: 0.98; text-transform: uppercase; }
.rfq__text { margin-top: 24px; max-width: 46ch; font-size: clamp(1.0625rem, 1.25vw, 1.25rem); line-height: 1.55; color: rgba(255, 255, 255, 0.74); }
.rfq__steps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 0; max-width: 520px; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.rfq__steps li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.rfq__steps b { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 0.75rem; font-weight: 500; color: var(--red); letter-spacing: 0.06em; }
.rfq__steps span { font-size: 1rem; color: rgba(255, 255, 255, 0.86); }
.rfq__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 34px; }
.rfq__btn { display: inline-flex; align-items: center; gap: 18px; min-height: 56px; padding: 0 8px 0 26px; border-radius: 999px; background: var(--red); color: #fff; font-size: 1rem; font-weight: 600; transition: background-color 0.3s; }
.rfq__btn span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #0a0b0d; transition: transform 0.3s var(--ease); }
.rfq__btn svg { width: 20px; height: 20px; }
.rfq__btn:hover { background: #c81e28; }
.rfq__btn:hover span { transform: translateX(3px); }
.rfq__mail { font-size: 1.05rem; border-bottom: 1px solid rgba(255, 255, 255, 0.45); padding-bottom: 2px; transition: border-color 0.3s; }
.rfq__mail:hover { border-color: #fff; }
.rfq__files { margin-top: 22px; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 0.72rem; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.45); }
.rfq__draw { position: relative; aspect-ratio: 520 / 420; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 18px; background: radial-gradient(120% 90% at 50% 40%, #12151a 0%, #0a0b0d 70%); overflow: hidden; }
.rfq__draw svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.rfq__grid line { stroke: rgba(255, 255, 255, 0.05); stroke-width: 1; }
.rfq__part path, .rfq__part circle { fill: none; stroke: rgba(255, 255, 255, 0.82); stroke-width: 1.6; stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 2.4s cubic-bezier(0.65, 0, 0.35, 1); }
.rfq__part .rfq__axis { stroke: rgba(238, 45, 56, 0.6); stroke-width: 1; stroke-dasharray: 10 6 2 6; stroke-dashoffset: 0; opacity: 0; transition: opacity 0.8s ease 1.6s; }
.rfq__dims path { fill: none; stroke: var(--red); stroke-width: 1.2; stroke-dasharray: 700; stroke-dashoffset: 700; transition: stroke-dashoffset 1.4s cubic-bezier(0.65, 0, 0.35, 1) 1.4s; }
.rfq__labels text { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; fill: rgba(255, 255, 255, 0.78); opacity: 0; transition: opacity 0.6s ease 2.4s; }
.rfq__scan { stroke: var(--red); stroke-width: 2; opacity: 0; filter: drop-shadow(0 0 6px rgba(238, 45, 56, 0.9)); }
.rfq.is-in .rfq__part path, .rfq.is-in .rfq__part circle { stroke-dashoffset: 0; }
.rfq.is-in .rfq__part .rfq__axis, .rfq.is-in .rfq__labels text { opacity: 1; }
.rfq.is-in .rfq__dims path { stroke-dashoffset: 0; }
.rfq.is-in .rfq__scan { animation: rfq-scan 3.2s cubic-bezier(0.65, 0, 0.35, 1) 0.2s 1 both; }
@keyframes rfq-scan { 0% { transform: translateX(0); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateX(400px); opacity: 0; } }
.rfq__draw:hover .rfq__part path, .rfq__draw:hover .rfq__part circle { stroke: #fff; }
@media (max-width: 900px) { .rfq__in { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .rfq * { transition: none !important; animation: none !important; } .rfq__part path, .rfq__part circle, .rfq__dims path { stroke-dashoffset: 0 !important; } .rfq__labels text, .rfq__axis { opacity: 1 !important; } }

/* ---------- domača stran: tanka rdeča črta napredka pomika na vrhu ---------- */
.scrollbar-progress { position: fixed; left: 0; top: 0; z-index: 200; width: 100%; height: 2px; background: var(--red); transform-origin: 0 50%; transform: scaleX(var(--sp, 0)); pointer-events: none; }
.rfq__title { font-size: clamp(2.2rem, 3.9vw, 4.2rem); }

/* ---------- domača stran: živi detajli (brez novih razdelkov) ---------- */
@media (prefers-reduced-motion: no-preference) {
  /* rdeča črtica nad naslovom se izriše, ko naslov pride na zaslon */
  .js .lt__head .h2::before { transform: skewX(-24deg) scaleX(0); transform-origin: 0 50%; transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.1, 1) 0.3s; }
  .js .lt__head.in .h2::before { transform: skewX(-24deg) scaleX(1); }

  /* video: naslovna slika se počasi približuje, gumb rahlo utripa z rdečim obročem */
  .home-film .embed__poster { animation: film-drift 18s ease-in-out infinite alternate; transform-origin: 60% 45%; }
  @keyframes film-drift { from { transform: scale(1); } to { transform: scale(1.07); } }
  .home-film .embed__icon { position: relative; }
  .home-film .embed__icon::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; border: 1px solid var(--red); opacity: 0; animation: film-ring 2.6s cubic-bezier(0.2, 0.7, 0.1, 1) infinite; pointer-events: none; }
  @keyframes film-ring { 0% { transform: scale(1); opacity: 0.9; } 100% { transform: scale(1.7); opacity: 0; } }
  .home-film .embed__play:hover .embed__icon::after { animation: none; }

  /* kariera: mreža v ozadju se počasi premika, delovna mesta se pojavijo eno za drugim */
  @keyframes kband-grid { from { background-position: 0 0; } to { background-position: 88px 88px; } }
  .js .kband__jobs li, .js .kband__btn { opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.1, 1); }
  .js .kband.is-in .kband__jobs li, .js .kband.is-in .kband__btn { opacity: 1; transform: none; }
  .js .kband.is-in .kband__jobs li:nth-child(2) { transition-delay: 0.1s; }
  .js .kband.is-in .kband__jobs li:nth-child(3) { transition-delay: 0.2s; }
  .js .kband.is-in .kband__jobs li:nth-child(4) { transition-delay: 0.3s; }
  .js .kband.is-in .kband__btn { transition-delay: 0.25s; }
}


/* ---------- domača stran: motion ob pomikanju (kot 8081) ---------- */
@media (prefers-reduced-motion: no-preference) {
  /* naslovi zdrsnejo iz maske */
  .lm { display: block; overflow: hidden; padding-bottom: 0.08em; margin-bottom: -0.08em; }
  .lm__in { display: block; transform: translate3d(0, 110%, 0); transition: transform 1.25s cubic-bezier(0.16, 1, 0.3, 1) 0.1s; }
  .in .lm__in, .is-in .lm__in { transform: none; }

  /* certifikati: papir se izreže od spodaj navzgor in se pri tem rahlo pomanjša na mesto */
  .js .lt .cert .cert__doc { overflow: hidden; }
  .js .lt .cert .cert__doc img { translate: 0 115%; transition: translate 1.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s var(--ease); transition-delay: calc(var(--d, 0s) * 1.6 + 0.2s); }
  .js .lt .cert.in .cert__doc img { translate: 0 0; }

  /* video: okvir se med pomikom razširi do polne širine, slika se pomanjša na mesto */
  .home-film .embed { clip-path: inset(0 var(--fx, 0%) round var(--fr, 20px)); }
  .home-film .embed__poster { scale: var(--fs, 1); }

}
@media (prefers-reduced-motion: no-preference) {
  /* noga: stolpci in spodnja vrstica se pojavijo zaporedoma */
  .js .ftr__col, .js .ftr__bottom > * { opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity 0.9s ease, transform 1.1s cubic-bezier(0.16, 1, 0.3, 1); }
  .js .ftr.is-in .ftr__col, .js .ftr.is-in .ftr__bottom > * { opacity: 1; transform: none; }
  .js .ftr.is-in .ftr__col:nth-child(2) { transition-delay: 0.07s; } .js .ftr.is-in .ftr__col:nth-child(3) { transition-delay: 0.14s; }
  .js .ftr.is-in .ftr__col:nth-child(4) { transition-delay: 0.21s; } .js .ftr.is-in .ftr__col:nth-child(5) { transition-delay: 0.28s; }
  .js .ftr.is-in .ftr__bottom > * { transition-delay: 0.35s; }
}
.js .lt .cert[data-rv] { opacity: 1; transform: none; } /* kartica miruje, papir se pripelje izpod spodnjega dela */
/* certifikati: 20 % večji papir, v mirovanju delno pod spodnjim delom kartice, ob prehodu z miško se pripelje ven */
.lt .cert__doc { aspect-ratio: 1 / 1.26; padding: 22px 26px 18px; overflow: hidden; }
.lt .cert__doc img { object-position: 50% 0; }
@media (prefers-reduced-motion: no-preference) {
  .js .lt .cert.in .cert__doc img { translate: 0 24%; }
  .js .lt .cert.in:hover .cert__doc img, .js .lt .cert.in:focus-within .cert__doc img { translate: 0 0; transition: translate 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s var(--ease); transition-delay: 0s; }
}
/* certifikati: takojšen dvig ob prehodu z miško in takojšen povratek (vstopna animacija ločeno, brez zamika pri miški) */
@media (prefers-reduced-motion: no-preference) {
  .js .lt .cert .cert__doc img { transition: translate 0.45s cubic-bezier(0.2, 0.7, 0.1, 1), transform 0.6s var(--ease); transition-delay: 0s; }
  .js .lt .cert.in .cert__doc img { animation: cert-in 1.4s cubic-bezier(0.16, 1, 0.3, 1) backwards; animation-delay: calc(var(--d, 0s) * 1.6 + 0.2s); }
  .js .lt .cert.in:hover .cert__doc img, .js .lt .cert.in:focus-within .cert__doc img { transition: translate 0.45s cubic-bezier(0.2, 0.7, 0.1, 1), transform 0.6s var(--ease); transition-delay: 0s; }
  @keyframes cert-in { from { translate: 0 115%; } to { translate: 0 24%; } }
}
.js .lt .cert[data-rv] { transition: box-shadow 0.4s cubic-bezier(0.2, 0.7, 0.1, 1), transform 0.4s cubic-bezier(0.2, 0.7, 0.1, 1); transition-delay: 0s; }

/* gladko pomikanje (Lenis, kot 8081) */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* ---------- Mehkejši menjavi: povečava ploščic panog in preklop kartic zmogljivosti ---------- */
@media (min-width: 1101px) {
  .ind--tiles .ind__row li { transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1), flex-grow 1.2s cubic-bezier(0.32, 0.72, 0.22, 1), height 1.2s cubic-bezier(0.32, 0.72, 0.22, 1), padding 1.2s cubic-bezier(0.32, 0.72, 0.22, 1); }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__row li { transition: --wp 1s cubic-bezier(0.7, 0, 0.18, 1) calc(0.9s + var(--j) * 0.12s), flex-grow 1.2s cubic-bezier(0.32, 0.72, 0.22, 1), height 1.2s cubic-bezier(0.32, 0.72, 0.22, 1), padding 1.2s cubic-bezier(0.32, 0.72, 0.22, 1); }
  .fx-stage:has(.fx-row.is-in) .ind--tiles .ind__k { transition: opacity 0.7s ease calc(1.6s + var(--j) * 0.12s), transform 0.9s var(--ease) calc(1.6s + var(--j) * 0.12s), font-size 1.2s cubic-bezier(0.32, 0.72, 0.22, 1); }
  .ind--tiles .ind__row li .ind__img img { transition: transform 1.6s cubic-bezier(0.32, 0.72, 0.22, 1), filter 1s ease; }
}


/* ==========================================================================
   PODSTRANI 2026-10 (zavihki) — oblikovni sistem podstrani
   ========================================================================== */
/* Načela: enaka tipografija in barve kot domača stran (Archivo, temna #0b0c0e, rdeča poševnica
   logotipa, svetli razdelki #f2f3f4 / #fff). Gibanje je merjenje: naslovi se razširijo, odčitki
   se ustalijo, slike se odpirajo kot vrata stroja. Ena izrazita stvar na stran, vse ostalo mirno. */

:root { --pg-light: #f2f3f4; --pg-paper: #ffffff; --pg-red: #d91f2b; --pg-r: 20px; }

/* ---------- razdelki ---------- */
.pg-sec { position: relative; padding-block: var(--sec); }
.pg-sec--flush { padding-bottom: 0; }
.pg-l, .pg-w {
  --fg: #0b0c0e; --steel: #5a6069; --rule: rgba(11, 12, 14, 0.12); --rule-d: rgba(11, 12, 14, 0.16);
  background: var(--pg-light); color: #0b0c0e; color-scheme: light;
}
.pg-w { background: var(--pg-paper); }
.pg-l .arrow, .pg-w .arrow, .pg-l .btn, .pg-w .btn { border-color: rgba(11, 12, 14, 0.5); color: #0b0c0e; }
.pg-l .arrow:hover, .pg-w .arrow:hover, .pg-l .btn:hover, .pg-w .btn:hover { background: #0b0c0e; border-color: #0b0c0e; color: #fff; }
.pg-l .btn--fill, .pg-w .btn--fill { background: #0b0c0e; border-color: #0b0c0e; color: #fff; }
.pg-l .btn--fill:hover, .pg-w .btn--fill:hover { background: var(--red-2); border-color: var(--red-2); }
.pg-head { margin-bottom: clamp(40px, 4.6vw, 72px); }
.pg-head .lt__aside p { color: var(--steel); }
.pg-n { font-family: var(--mono); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.08em; font-variant-numeric: tabular-nums; color: var(--red); }
.pg-link { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; color: inherit; cursor: pointer; }
.pg-link:hover { color: var(--red); }

/* ---------- glava podstrani ---------- */
.pg-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(560px, 92svh, 1000px); padding-top: var(--hd-h); background: var(--ink); color: #fff; }
.pg-hero--plain { min-height: clamp(440px, 64svh, 680px); }
.pg-hero__media { position: absolute; inset: 0; z-index: -3; overflow: hidden; transform: translate3d(0, calc(var(--hp, 0) * 18%), 0); will-change: transform; }
.pg-hero__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.14); transition: transform 2.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 1.2s ease; opacity: 0.001; }
.pg-hero.is-in .pg-hero__media img { transform: scale(1.02); opacity: 1; }
html:not(.js) .pg-hero__media img { opacity: 1; transform: none; }
.pg-hero__shade { position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: linear-gradient(180deg, rgba(11, 12, 14, 0.62) 0, rgba(11, 12, 14, 0) 26%, rgba(11, 12, 14, 0.12) 52%, rgba(11, 12, 14, 0.9) 100%),
              linear-gradient(90deg, rgba(11, 12, 14, 0.62) 0, rgba(11, 12, 14, 0.2) 52%, rgba(11, 12, 14, 0) 80%); }
.pg-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ink); opacity: calc(var(--hp, 0) * 0.85); pointer-events: none; }
.pg-hero__grid { position: absolute; inset: 0; z-index: -2; opacity: 0.55;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M32 36h8M36 32v8' stroke='%23ffffff' stroke-opacity='.22' stroke-width='1'/%3E%3C/svg%3E") 0 0 / 72px 72px;
  -webkit-mask-image: radial-gradient(120% 90% at 80% 10%, #000 20%, transparent 75%); mask-image: radial-gradient(120% 90% at 80% 10%, #000 20%, transparent 75%); }
.pg-hero--plain::before { content: ""; position: absolute; right: -6vw; top: 18%; width: 46vw; height: 9vw; background: var(--red); opacity: 0.9; transform: skewX(-28deg) translateX(30%); clip-path: inset(0 100% 0 0); transition: clip-path 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.25s; z-index: -1; }
.pg-hero--plain.is-in::before { clip-path: inset(0 0 0 0); }
.pg-hero__in { position: relative; padding-bottom: clamp(36px, 4.4vw, 64px); }
.pg-hero .pg-crumbs { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: clamp(18px, 2vw, 28px); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.66); }
.pg-crumbs a { color: rgba(255, 255, 255, 0.86); transition: color 0.2s; }
.pg-crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.pg-crumbs__sep { color: var(--red); }
.pg-hero__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px var(--g); flex-wrap: wrap; }
.pg-hero__title { max-width: 14ch; }
.pg-hero__lead { margin-top: clamp(18px, 2vw, 28px); max-width: 54ch; font-size: clamp(1.0625rem, 1.3vw, 1.3rem); line-height: 1.55; color: rgba(255, 255, 255, 0.8); text-wrap: pretty; }
.js .pg-hero__lead { transform: translate3d(0, 14px, 0); transition: transform 1.1s var(--ease) 0.35s; }
.js .pg-hero .pg-crumbs { opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity 0.9s ease 0.2s, transform 1.1s var(--ease) 0.2s; }
.js .pg-hero .pg-crumbs { transition-delay: 0.2s; }
.js .pg-hero.is-in .pg-hero__lead, .js .pg-hero.is-in .pg-crumbs { opacity: 1; transform: none; }
.pg-hero__toc { position: relative; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.pg-hero__toc ol { display: flex; gap: 0 clamp(18px, 3vw, 48px); overflow-x: auto; scrollbar-width: none; }
.pg-hero__toc ol::-webkit-scrollbar { display: none; }
.pg-hero__toc a { position: relative; display: flex; align-items: center; gap: 12px; min-height: 64px; white-space: nowrap; font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72); transition: color 0.25s; }
.pg-hero__toc a::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.45s var(--ease); }
.pg-hero__toc a:hover { color: #fff; }
.pg-hero__toc a:hover::after { transform: none; }
.js .pg-hero__toc li { opacity: 0; transform: translate3d(0, 10px, 0); transition: opacity 0.7s ease calc(0.8s + var(--i) * 0.07s), transform 0.9s var(--ease) calc(0.8s + var(--i) * 0.07s); }
.js .pg-hero.is-in .pg-hero__toc li { opacity: 1; transform: none; }
@media (max-width: 760px) {
  .pg-hero { min-height: clamp(520px, 86svh, 760px); }
  .pg-hero__media img { object-position: var(--mpos, 50% 50%) !important; }
  .pg-hero__toc a { min-height: 54px; }
}

/* ---------- skenirna črta čez besedilo (kot opis na domači strani) ---------- */
.pg-scan { position: relative; }
.pg-scan__text { font-size: clamp(1.5rem, 2.75vw, 2.9rem); font-weight: 400; font-stretch: 100%; line-height: 1.24; letter-spacing: -0.012em; max-width: 34ch; text-wrap: pretty; color: #fff; }
.js .pg-scan .pg-scan__text { -webkit-mask-image: linear-gradient(180deg, #000 calc(var(--s, 1) * 100% - 2px), rgba(0, 0, 0, 0.14) calc(var(--s, 1) * 100% + 2px)); mask-image: linear-gradient(180deg, #000 calc(var(--s, 1) * 100% - 2px), rgba(0, 0, 0, 0.14) calc(var(--s, 1) * 100% + 2px)); }
.pg-scan .scan { left: -2%; right: 0; max-width: 104%; }

/* ---------- slika, ki se odpre ob pomiku ---------- */
.pg-reveal { margin-top: clamp(64px, 8vw, 120px); }
.pg-reveal__frame { display: block; position: relative; overflow: hidden; height: min(86svh, 64vw); clip-path: inset(calc((1 - min(1, var(--p, 1) * 2.1)) * 14%) calc((1 - min(1, var(--p, 1) * 2.1)) * 9%) round calc(var(--pg-r) * (1 - min(1, var(--p, 1) * 2.1)))); cursor: zoom-in; }
.pg-reveal__frame img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.16 - min(1, var(--p, 1) * 2.1) * 0.16)); }
.pg-reveal figcaption { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; padding-top: 18px; font-size: 0.9375rem; color: var(--steel); }
.pg-reveal figcaption b { color: var(--fg); font-weight: 600; font-stretch: 110%; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8125rem; }
@media (prefers-reduced-motion: reduce) { .pg-reveal__frame { clip-path: none; } .pg-reveal__frame img { transform: none; } }

/* ---------- vgrajene vsebine z obvestilom o piškotkih ---------- */
.pg-embed .embed { border-radius: var(--pg-r); overflow: hidden; isolation: isolate; background: #0b0c0e; }
.pg-embed--film .embed { aspect-ratio: auto; height: min(680px, 56.25vw); }
@media (max-width: 700px) { .pg-embed--film .embed { height: auto; aspect-ratio: 4 / 3; } }
.pg-embed .embed__note { display: none; }
.pg-embed__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding-top: 16px; font-size: 0.875rem; color: var(--steel); }
.pg-embed__acts { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.pg-embed.is-granted .pg-embed__note { visibility: hidden; }
.pg-embed .embed__icon { transition: transform 0.5s var(--ease), background-color 0.3s, border-color 0.3s; }
.pg-embed .embed__play:hover .embed__icon { transform: scale(1.08); }

/* ---------- seznam s poševnicami ---------- */
.pg-ticks { display: grid; }
.pg-ticks li { position: relative; display: flex; gap: 16px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--rule); font-size: 1rem; line-height: 1.45; }
.pg-ticks li:last-child { border-bottom: 1px solid var(--rule); }
.pg-ticks li::before { content: ""; flex: none; width: 12px; height: 3px; margin-bottom: 0.25em; background: var(--red); transform: skewX(-24deg); }

/* ---------- ploščice »več« ---------- */
.pg-more__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pg-tile { position: relative; display: grid; grid-template-rows: auto auto 1fr; height: 100%; padding: 0 0 22px; border-top: 1px solid var(--rule); color: inherit; }
.pg-tile__img { display: block; aspect-ratio: 4 / 5; margin: 18px 0 18px; overflow: hidden; border-radius: 14px; background: var(--ink-2); }
.pg-tile__img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.35) brightness(0.8); transform: scale(1.04); transition: transform 1s var(--ease), filter 0.6s ease; }
.pg-tile:hover .pg-tile__img img, .pg-tile:focus-visible .pg-tile__img img { transform: scale(1); filter: none; }
.pg-tile__t { font-size: clamp(1.05rem, 1.25vw, 1.3rem); font-weight: 640; font-stretch: 116%; text-transform: uppercase; letter-spacing: -0.005em; transition: font-stretch 0.7s var(--ease); }
.pg-tile:hover .pg-tile__t { font-stretch: 124%; }
.pg-tile__d { margin-top: 8px; font-size: 0.9375rem; line-height: 1.5; color: var(--steel); padding-right: 36px; }
.pg-tile__go { position: absolute; right: 0; bottom: 22px; width: 22px; height: 22px; transition: transform 0.35s var(--ease), color 0.25s; }
.pg-tile:hover .pg-tile__go { transform: translateX(4px); color: var(--red); }
@media (max-width: 1100px) { .pg-more__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pg-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pg-tile__img { aspect-ratio: 1; } }

/* ---------- naslednja stran ---------- */
.pg-next { position: relative; overflow: hidden; isolation: isolate; background: var(--ink); color: #fff; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.pg-next::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pg-red); transform: scaleY(0); transform-origin: 50% 100%; transition: transform 0.75s cubic-bezier(0.65, 0, 0.35, 1); }
.pg-next:hover::before, .pg-next:focus-within::before { transform: none; }
.pg-next__a { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "k go" "t go" "d go"; align-items: center; column-gap: var(--g); max-width: var(--max); margin-inline: auto; padding: clamp(56px, 7.5vw, 128px) var(--g); color: inherit; }
.pg-next__a:focus-visible { outline-offset: -6px; }
.pg-next__k { grid-area: k; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.66); }
.pg-next__t { grid-area: t; margin-top: 14px; font-size: clamp(2.6rem, 8.4vw, 9.4rem); font-weight: 640; font-stretch: 100%; line-height: 0.92; letter-spacing: -0.02em; text-transform: uppercase; transition: font-stretch 0.9s cubic-bezier(0.65, 0, 0.35, 1); }
.pg-next:hover .pg-next__t { font-stretch: 125%; }
.pg-next__d { grid-area: d; margin-top: 18px; max-width: 48ch; color: rgba(255, 255, 255, 0.72); }
.pg-next:hover .pg-next__d, .pg-next:hover .pg-next__k { color: #fff; }
.pg-next__go { grid-area: go; display: grid; place-items: center; width: clamp(64px, 7vw, 104px); height: clamp(64px, 7vw, 104px); border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; transition: transform 0.6s var(--ease), background-color 0.4s, border-color 0.4s, color 0.4s; }
.pg-next__go svg { width: 34%; height: 34%; }
.pg-next:hover .pg-next__go { transform: translateX(10px); background: #0b0c0e; border-color: #0b0c0e; }
@media (max-width: 640px) { .pg-next__a { grid-template-areas: "k" "t" "d" "go"; grid-template-columns: 1fr; } .pg-next__go { margin-top: 26px; } }

/* =========================== O PODJETJU =========================== */
.ab-intro { padding-bottom: 0; }
.ab-intro .pg-scan__text::first-letter { color: inherit; }
.ab-intro__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px var(--g); margin-top: clamp(48px, 6vw, 96px); padding-top: 28px; border-top: 1px solid var(--rule); }
.ab-intro__cols p { color: rgba(255, 255, 255, 0.72); text-wrap: pretty; }
.ab-intro__cols p + p { margin-top: 1em; }
.ab-team figcaption { padding-bottom: 0; }
@media (max-width: 760px) { .ab-intro__cols { grid-template-columns: 1fr; } }

/* industrije: pripeta slika levo, velike vrstice desno */
.ab-ind__kick { margin: calc(-1 * clamp(20px, 2.4vw, 40px)) 0 clamp(28px, 3vw, 48px); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.5); }
.ab-ind__grid { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr); gap: var(--g); align-items: start; }
.ab-ind__stage { position: sticky; top: calc(var(--hd-h) + 24px); }
.ab-ind__frame { position: relative; aspect-ratio: 4 / 4.4; max-height: calc(100svh - var(--hd-h) - 64px); width: 100%; overflow: hidden; border-radius: var(--pg-r); background: var(--ink-2); }
.ab-ind__img { position: absolute; inset: 0; clip-path: inset(100% 0 0 0); transition: clip-path 0.9s cubic-bezier(0.65, 0, 0.35, 1); }
.ab-ind__img.is-past { clip-path: inset(0 0 0 0); transition-duration: 0s; transition-delay: 0.9s; }
.ab-ind__img.is-on { clip-path: inset(0 0 0 0); z-index: 2; transition-delay: 0s; transition-duration: 0.9s; }
.ab-ind__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.6s var(--ease); }
.ab-ind__img.is-on img { transform: scale(1); }
.ab-ind__count { position: absolute; z-index: 3; left: 18px; bottom: 16px; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.7); padding: 6px 10px; background: rgba(11, 12, 14, 0.55); border-radius: 4px; backdrop-filter: blur(6px); }
.ab-ind__count b { color: #fff; font-weight: 500; }
.ab-ind__list { display: grid; }
.ab-ind__row { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; padding: clamp(22px, 3.2vw, 46px) 0; border-top: 1px solid var(--rule); cursor: default; }
.ab-ind__row:last-child { border-bottom: 1px solid var(--rule); }
.ab-ind__row .pg-n { padding-top: 0.9em; color: rgba(255, 255, 255, 0.34); transition: color 0.4s; }
.ab-ind__t { font-size: clamp(1.6rem, 3.3vw, 3.4rem); font-weight: 640; font-stretch: 112%; line-height: 1; letter-spacing: -0.012em; text-transform: uppercase; color: rgba(255, 255, 255, 0.24); transition: color 0.5s ease, font-stretch 0.9s var(--ease-io); text-wrap: balance; }
.ab-ind__d { grid-column: 2; max-height: 0; overflow: hidden; opacity: 0; margin-top: 0; color: rgba(255, 255, 255, 0.72); max-width: 46ch; transition: max-height 0.6s var(--ease), opacity 0.5s ease, margin-top 0.6s var(--ease); }
.ab-ind__m { display: none; }
.ab-ind__row.is-on .ab-ind__t { color: #fff; font-stretch: 122%; }
.ab-ind__row.is-on .pg-n { color: var(--red); }
.ab-ind__row.is-on .ab-ind__d { max-height: 6em; opacity: 1; margin-top: 14px; }
@media (max-width: 900px) {
  .ab-ind__grid { grid-template-columns: 1fr; }
  .ab-ind__stage { display: none; }
  .ab-ind__m { display: block; grid-column: 1 / -1; margin-top: 16px; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; }
  .ab-ind__m img { width: 100%; height: 100%; object-fit: cover; }
  .ab-ind__d { max-height: none; opacity: 1; margin-top: 10px; }
  .ab-ind__t { color: #fff; }
}

/* vrednote: kartice, ki se zložijo */
.ab-stack { display: grid; gap: clamp(18px, 2vw, 28px); }
.ab-card { position: sticky; top: calc(var(--hd-h) + 18px + var(--i) * 16px); }
.ab-card__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(360px, 50svh, 460px); overflow: hidden; border-radius: var(--pg-r); background: #fff; border: 1px solid rgba(11, 12, 14, 0.1); box-shadow: 0 -24px 60px -40px rgba(11, 12, 14, 0.4);
  transform-origin: 50% 0; transform: scale(calc(1 - var(--c, 0) * 0.05)); filter: brightness(calc(1 - var(--c, 0) * 0.12)); }
.ab-card:nth-child(even) .ab-card__img { order: 2; }
.ab-card__img { position: relative; overflow: hidden; background: #e7e8ea; }
.ab-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ab-card__txt { display: flex; flex-direction: column; justify-content: flex-start; gap: 18px; padding: clamp(28px, 4vw, 64px); padding-top: clamp(32px, 4.6vw, 72px); }
.ab-card__t { font-size: clamp(1.6rem, 2.7vw, 2.8rem); font-weight: 640; font-stretch: 116%; line-height: 1; letter-spacing: -0.01em; text-transform: uppercase; text-wrap: balance; }
.ab-card__txt p { max-width: 52ch; color: var(--steel); font-size: clamp(1rem, 1.1vw, 1.125rem); text-wrap: pretty; }
@media (max-width: 860px) {
  .ab-card { position: relative; top: auto; }
  .ab-card__in { grid-template-columns: 1fr; transform: none; filter: none; }
  .ab-card__img { aspect-ratio: 16 / 10; order: 0 !important; }
}

/* =========================== PROIZVODNJA =========================== */
.pr-intro__text { font-size: clamp(1.35rem, 2.3vw, 2.4rem); max-width: 40ch; color: rgba(255, 255, 255, 0.86); }
.pr-intro__text b { font-weight: 600; color: #fff; }
.pr-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: clamp(56px, 7vw, 110px); }
.pr-fact { position: relative; padding: 22px clamp(14px, 1.6vw, 26px) 4px 0; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 12px; }
.pr-fact::before { content: ""; position: absolute; left: 0; right: 14px; top: 0; height: 1px; background: rgba(255, 255, 255, 0.18); }
.pr-fact::after { content: ""; position: absolute; left: 0; top: -1px; width: 28px; height: 3px; background: var(--red); transform: skewX(-24deg) scaleX(0); transform-origin: 0 50%; transition: transform 0.8s var(--ease) calc(var(--i) * 0.1s); }
.pr-fact.is-in::after { transform: skewX(-24deg); }
.pr-fact dd { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pr-fact dd .num { font-size: clamp(2.6rem, 4.6vw, 4.8rem); font-weight: 600; font-stretch: 108%; line-height: 0.9; letter-spacing: -0.02em; }
.pr-fact dd small { font-family: var(--mono); font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
.pr-fact dd em { font-style: normal; font-family: var(--mono); font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
.pr-fact dt { font-size: 0.9375rem; color: rgba(255, 255, 255, 0.62); max-width: 24ch; }
@media (max-width: 900px) { .pr-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; } }

/* ---------- konzola strojnega parka ---------- */
.ops { display: grid; grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr); gap: clamp(20px, 2.6vw, 40px); align-items: stretch; }
.ops__list { display: grid; align-content: start; border-top: 1px solid var(--rule); }
.ops__tab { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr) 18px; align-items: center; gap: 10px; min-height: 56px; padding: 0 6px 0 0; text-align: left; border-bottom: 1px solid var(--rule); color: #5a6069; transition: color 0.25s, padding 0.35s var(--ease); }
.ops__tab .pg-n { color: rgba(11, 12, 14, 0.38); transition: color 0.25s; }
.ops__name { font-size: 1rem; font-weight: 600; font-stretch: 108%; letter-spacing: 0.01em; }
.ops__tab i { width: 14px; height: 2px; background: currentColor; justify-self: end; transform: scaleX(0); transform-origin: 100% 50%; transition: transform 0.35s var(--ease); }
.ops__tab::before { content: ""; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 3px; background: var(--red); transform: scaleY(0); transition: transform 0.4s var(--ease); }
.ops__tab:hover { color: #0b0c0e; padding-left: 6px; }
.ops__tab.is-on { color: #0b0c0e; padding-left: 14px; }
.ops__tab.is-on .pg-n { color: var(--red); }
.ops__tab.is-on::before { transform: none; }
.ops__tab.is-on i { transform: none; }
.ops__screen { position: relative; overflow: hidden; border-radius: var(--pg-r); background: #0b0c0e; color: #fff; min-height: 520px; display: grid; grid-template-rows: auto 1fr; box-shadow: 0 40px 80px -50px rgba(11, 12, 14, 0.6); }
.ops__screen::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.6;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M18 20h4M20 18v4' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1'/%3E%3C/svg%3E") 0 0 / 40px 40px; }
.ops__bar { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 22px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.5); }
.ops__bar b { color: #fff; font-weight: 500; }
.ops__live { display: inline-flex; align-items: center; gap: 10px; color: rgba(255, 255, 255, 0.82); text-transform: uppercase; letter-spacing: 0.1em; }
.ops__live i { width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 0 rgba(238, 45, 56, 0.6); animation: ops-pulse 2s ease-out infinite; }
@keyframes ops-pulse { 0% { box-shadow: 0 0 0 0 rgba(238, 45, 56, 0.55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(238, 45, 56, 0); } }
.ops__panel { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 clamp(18px, 2.4vw, 36px); padding: clamp(18px, 2.4vw, 34px); align-items: center; }
.ops__panel[hidden] { display: none; }
.ops__viz { align-self: stretch; display: grid; place-items: center; min-height: 300px; }
.ops__spec { display: grid; gap: 18px; align-content: center; }
.ops__t { font-size: clamp(1.4rem, 2.2vw, 2.2rem); font-weight: 640; font-stretch: 118%; line-height: 1; text-transform: uppercase; letter-spacing: -0.008em; }
.ops__big { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ops__big b { font-size: clamp(2.6rem, 4.4vw, 4.6rem); font-weight: 600; font-stretch: 104%; line-height: 0.9; letter-spacing: -0.02em; }
.ops__big span { font-family: var(--mono); font-size: 0.8125rem; color: rgba(255, 255, 255, 0.58); }
.ops__items li { font-size: 0.9375rem; color: rgba(255, 255, 255, 0.82); border-color: rgba(255, 255, 255, 0.12) !important; padding: 11px 0; }
/* opomba ob 3D modelu kosa (konec graviranja): prostor rezerviran, prikaže se mehko – kartica se ne premakne */
.ops__note { max-width: 46ch; padding-left: 12px; border-left: 2px solid var(--red); font-size: 0.8125rem; line-height: 1.5; color: rgba(255, 255, 255, 0.58); opacity: 0; visibility: hidden; transition: opacity 0.6s var(--ease), visibility 0s 0.6s; }
.ops__panel.is-on .ops__spec > .ops__note { animation: none; }
.ops--part .ops__note { opacity: 1; visibility: visible; transition: opacity 0.6s var(--ease); }
.ops__panel.is-on .ops__spec > * { animation: ops-in 0.7s var(--ease) both; }
.ops__panel.is-on .ops__spec > :nth-child(2) { animation-delay: 0.06s; }
.ops__panel.is-on .ops__spec > :nth-child(3) { animation-delay: 0.12s; }
@keyframes ops-in { from { opacity: 0; transform: translate3d(0, 12px, 0); } }
@media (max-width: 980px) {
  .ops { grid-template-columns: 1fr; }
  .ops__list { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; border-top: 0; gap: 8px; scrollbar-width: none; padding-bottom: 4px; }
  .ops__list::-webkit-scrollbar { display: none; }
  .ops__tab { grid-template-columns: auto auto; min-height: 44px; padding: 0 16px !important; border: 1px solid var(--rule); border-radius: 999px; }
  .ops__tab i, .ops__tab::before { display: none; }
  .ops__tab.is-on { background: #0b0c0e; color: #fff; border-color: #0b0c0e; }
  .ops__panel { grid-template-columns: 1fr; }
  .ops__viz { min-height: 220px; }
  .ops__screen { min-height: 0; }
}

/* 3D kos v konzoli (assets/js/process3d.js): eno platno, premakne se v aktivni postopek */
.ops__viz { position: relative; }
.p3d { position: absolute; inset: -8px; }
.p3d__gl { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; touch-action: pan-y; cursor: grab; }
.p3d__gl:active { cursor: grabbing; }
.p3d__dims { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.p3d__dims line { stroke: var(--red); stroke-width: 1; }
.p3d__dims circle { fill: var(--red); }
.p3d__dims text { fill: #fff; font: 500 11px var(--mono); letter-spacing: 0.04em; paint-order: stroke; stroke: #0b0c0e; stroke-width: 3px; }
.p3d__dims text.big { font-size: 22px; }
/* postopek kot videoposnetek (production.js, OPS_VIDEO): kot 3D (navpični kot kamere je stalen) – posnetek po višini okna, na sredini;
   ožje okno obreže boka, širše (tablica pokonci) ima ob straneh prazno, rob posnetka se zabriše */
.p3d--vid { overflow: hidden; }
.p3d__vid { position: absolute; top: 0; left: 50%; height: 100%; width: auto; aspect-ratio: var(--ar, 970 / 916); transform: translateX(-50%); max-width: none; display: block; object-fit: fill; pointer-events: none; }
.p3d--fade .p3d__vid { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.p3d__vid[hidden] { display: none; }
.ops--3d .ops__viz, .ops--3d-wait .ops__viz { min-height: 380px; }
.ops--3d .ops__viz > .sx, .ops--3d-wait .ops__viz > .sx { visibility: hidden; }
@media (max-width: 980px) { .ops--3d .ops__viz, .ops--3d-wait .ops__viz { min-height: 300px; } }

/* sheme operacij */
.sx { width: 100%; max-width: 560px; height: auto; overflow: visible; }
.sx * { vector-effect: non-scaling-stroke; }
.sx-w { fill: rgba(255, 255, 255, 0.04); stroke: rgba(255, 255, 255, 0.86); stroke-width: 1.4; }
.sx-h { fill: none; stroke: rgba(255, 255, 255, 0.16); stroke-width: 1; }
.sx-dim { fill: none; stroke: rgba(255, 255, 255, 0.34); stroke-width: 1; stroke-dasharray: 4 4; }
.sx-r { fill: rgba(238, 45, 56, 0.16); stroke: #ee2d38; stroke-width: 1.6; }
.sx-rd { fill: #ee2d38; }
.sx-t { font-family: var(--mono); font-size: 13px; fill: rgba(255, 255, 255, 0.62); letter-spacing: 0.04em; }
.sx-path { fill: none; stroke: #ee2d38; stroke-width: 1.4; stroke-dasharray: 2400; stroke-dashoffset: 2400; }
.sx-teeth { fill: none; stroke: #ee2d38; stroke-width: 1.4; }
.sx-kerf { fill: #ee2d38; opacity: 0.85; transform-origin: 240px 150px; transform: scaleY(0); }
.sx-cut { fill: #0b0c0e; stroke: none; transform-origin: 400px 0; transform: scaleX(0); }
.sx-slot { fill: #0b0c0e; stroke: #ee2d38; stroke-width: 1; transform-origin: 240px 122px; transform: scaleY(0.1); }
.sx-cav { fill: rgba(238, 45, 56, 0.12); stroke: rgba(255, 255, 255, 0.6); stroke-width: 1; stroke-dasharray: 3 3; opacity: 0; }
.sx-sparks path { stroke: #ffb38a; stroke-width: 1.4; opacity: 0; }
.sx-sparks2 circle { fill: #9fd0ff; opacity: 0; }
.sx-pts circle { fill: #0b0c0e; stroke: rgba(255, 255, 255, 0.5); stroke-width: 1.2; }
.sx-wave { fill: none; stroke: #ee2d38; stroke-width: 1.6; transform-origin: 0 140px; }
.sx-engrave { font-family: var(--f); font-size: 40px; font-weight: 700; font-stretch: 120%; letter-spacing: 0.06em; fill: transparent; stroke: #ee2d38; stroke-width: 1.2; stroke-dasharray: 340; stroke-dashoffset: 340; }
.sx-beam { stroke: #ff6b72; stroke-width: 2; filter: drop-shadow(0 0 4px #ee2d38); }
.sx-mill { offset-path: path("M132 104h216v14H132v14h216v14H132v14h216v14H132v14h216"); offset-rotate: 0deg; }
.sx-nozzle { transform: translate(180px, 222px); }
.sx-probe { offset-path: path("M240 40 L110 120 L240 80 L370 190 L210 155 L240 40"); offset-rotate: 0deg; }
.sx-head { transform: translateX(140px); }
.sx-fade { opacity: 0.85; }

/* animacije tečejo samo na aktivni plošči, ko je konzola na zaslonu */
.ops.is-vis .is-on .sx-saw, .ops__screen .is-on .sx-saw { }
.is-vis .ops__panel.is-on .sx-saw { animation: sx-saw 3.4s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-kerf { animation: sx-kerf 3.4s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-feed { animation: sx-feed 3.4s var(--ease-io) infinite; }
@keyframes sx-saw { 0%, 8% { transform: translateY(0); } 55%, 62% { transform: translateY(62px); } 80%, 100% { transform: translateY(0); } }
@keyframes sx-kerf { 0%, 8% { transform: scaleY(0); } 55% { transform: scaleY(1); } 78% { transform: scaleY(1); opacity: 0.85; } 86%, 100% { transform: scaleY(1); opacity: 0; } }
@keyframes sx-feed { 0%, 82% { transform: translateX(0); } 100% { transform: translateX(-30px); } }
.is-vis .ops__panel.is-on .sx-rot { animation: sx-rot 0.5s linear infinite; }
@keyframes sx-rot { to { transform: translateY(16px); } }
.sx-spin { clip-path: inset(0 0 0 0); }
.sx-spin .sx-rot { transform-box: fill-box; }
.is-vis .ops__panel.is-on .sx-tool { animation: sx-tool 4s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-cut { animation: sx-cut 4s var(--ease-io) infinite; }
@keyframes sx-tool { 0% { transform: translate(10px, -8px); } 10% { transform: translate(0, 0); } 70% { transform: translate(-100px, 0); } 85% { transform: translate(-100px, -30px); } 100% { transform: translate(10px, -8px); } }
@keyframes sx-cut { 0%, 10% { transform: scaleX(0); } 70%, 92% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
.is-vis .ops__panel.is-on .sx-path { animation: sx-draw 5s linear infinite; }
.is-vis .ops__panel.is-on .sx-mill { animation: sx-along 5s linear infinite; }
@keyframes sx-draw { 0% { stroke-dashoffset: 2400; } 92%, 100% { stroke-dashoffset: 0; } }
@keyframes sx-along { 0% { offset-distance: 0%; } 92%, 100% { offset-distance: 100%; } }
.sx-flute { transform-box: fill-box; transform-origin: center; }
.is-vis .ops__panel.is-on .sx-flute { animation: sx-spinr 0.4s linear infinite; }
@keyframes sx-spinr { to { transform: rotate(360deg); } }
.sx-wheel { transform-box: fill-box; transform-origin: center; }
.is-vis .ops__panel.is-on .sx-wheel { animation: sx-spinr 0.9s linear infinite; }
.is-vis .ops__panel.is-on .sx-table { animation: sx-table 3s var(--ease-io) infinite alternate; }
@keyframes sx-table { from { transform: translateX(-40px); } to { transform: translateX(40px); } }
.is-vis .ops__panel.is-on .sx-sparks path { animation: sx-spark 0.35s steps(2) infinite; }
@keyframes sx-spark { 50% { opacity: 1; } }
.is-vis .ops__panel.is-on .sx-ly { animation: sx-layer 4.6s steps(1) infinite; }
.sx-ly { opacity: 0.08; }
@keyframes sx-layer { 0% { opacity: 0.08; } 10% { opacity: 1; } 96% { opacity: 1; } 100% { opacity: 0.08; } }
.sx-layers .sx-ly { animation-delay: calc(var(--k) * 0.42s) !important; }
.is-vis .ops__panel.is-on .sx-nozzle { animation: sx-nozzle 4.6s linear infinite; }
@keyframes sx-nozzle { 0% { transform: translate(180px, 222px); } 9% { transform: translate(300px, 222px); } 10% { transform: translate(300px, 208px); } 19% { transform: translate(180px, 208px); } 20% { transform: translate(180px, 194px); } 29% { transform: translate(300px, 194px); } 30% { transform: translate(300px, 180px); } 39% { transform: translate(180px, 180px); } 40% { transform: translate(180px, 166px); } 49% { transform: translate(300px, 166px); } 50% { transform: translate(300px, 152px); } 59% { transform: translate(180px, 152px); } 60% { transform: translate(180px, 138px); } 69% { transform: translate(300px, 138px); } 70% { transform: translate(300px, 124px); } 79% { transform: translate(180px, 124px); } 80% { transform: translate(180px, 110px); } 89% { transform: translate(300px, 110px); } 100% { transform: translate(180px, 222px); } }
.is-vis .ops__panel.is-on .sx-ram { animation: sx-ram 0.9s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-slot { animation: sx-slot 5s var(--ease-io) infinite; }
@keyframes sx-ram { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(110px); } }
@keyframes sx-slot { 0% { transform: scaleY(0.1); } 85%, 100% { transform: scaleY(1); } }
.is-vis .ops__panel.is-on .sx-electrode { animation: sx-edm 4.4s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-cav { animation: sx-cav 4.4s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-sparks2 circle { animation: sx-spark 0.24s steps(2) infinite; }
.sx-sparks2 circle:nth-child(2n) { animation-delay: 0.12s !important; }
.is-vis .ops__panel.is-on .sx-sparks2 { animation: sx-edm 4.4s var(--ease-io) infinite; }
@keyframes sx-edm { 0%, 6% { transform: translateY(0); } 70%, 80% { transform: translateY(88px); } 100% { transform: translateY(0); } }

/* žična erozija (rezervna shema) */
.sx-wg { fill: #2a2d33; }
.sx-wire { stroke: #d9a441; stroke-width: 1.6; }
.sx-wcut { fill: rgba(238, 45, 56, 0.12); stroke: rgba(255, 255, 255, 0.6); stroke-width: 1; stroke-dasharray: 3 3; transform-box: fill-box; transform-origin: left center; transform: scaleX(0); }
.is-vis .ops__panel.is-on .sx-wirecar { animation: sx-wire 4.4s var(--ease-io) infinite; }
.is-vis .ops__panel.is-on .sx-wcut { animation: sx-wcut 4.4s var(--ease-io) infinite; }
@keyframes sx-wire { 0%, 6% { transform: translateX(0); } 70%, 80% { transform: translateX(144px); } 100% { transform: translateX(0); } }
@keyframes sx-wcut { 0%, 6% { transform: scaleX(0); } 70%, 80% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) { .sx-wcut { transform: none; } }
@keyframes sx-cav { 0%, 20% { opacity: 0; } 70%, 88% { opacity: 1; } 100% { opacity: 0; } }
.is-vis .ops__panel.is-on .sx-probe { animation: sx-probe 6s var(--ease-io) infinite; }
@keyframes sx-probe { 0% { offset-distance: 0%; } 18%, 26% { offset-distance: 24%; } 38%, 46% { offset-distance: 42%; } 60%, 68% { offset-distance: 68%; } 80%, 88% { offset-distance: 82%; } 100% { offset-distance: 100%; } }
.is-vis .ops__panel.is-on .sx-pts circle { animation: sx-pt 6s steps(1) infinite; }
.sx-pts circle:nth-child(1) { animation-delay: 0s; --t: 18%; }
@keyframes sx-pt { 0% { fill: #0b0c0e; stroke: rgba(255, 255, 255, 0.5); } 20% { fill: #ee2d38; stroke: #ee2d38; } 96% { fill: #ee2d38; stroke: #ee2d38; } 100% { fill: #0b0c0e; } }
.sx-pts circle:nth-child(2) { animation-delay: 1.3s !important; }
.sx-pts circle:nth-child(3) { animation-delay: 2.5s !important; }
.sx-pts circle:nth-child(4) { animation-delay: 3.6s !important; }
.sx-disc { transform-box: fill-box; transform-origin: center; }
.is-vis .ops__panel.is-on .sx-disc { animation: sx-spinr 1.1s linear infinite; }
.is-vis .ops__panel.is-on .sx-wave { animation: sx-wave 4s var(--ease-io) infinite; }
@keyframes sx-wave { 0% { transform: scaleY(1); } 70%, 90% { transform: scaleY(0.12); } 100% { transform: scaleY(1); } }
.is-vis .ops__panel.is-on .sx-engrave { animation: sx-eng 4.6s linear infinite; }
.is-vis .ops__panel.is-on .sx-head { animation: sx-head 4.6s linear infinite; }
@keyframes sx-eng { 0% { stroke-dashoffset: 340; } 80%, 100% { stroke-dashoffset: 0; } }
@keyframes sx-head { 0% { transform: translateX(140px); } 80% { transform: translateX(340px); } 100% { transform: translateX(140px); } }
@media (prefers-reduced-motion: reduce) {
  .ops__panel * { animation: none !important; }
  .sx-path, .sx-engrave { stroke-dashoffset: 0; }
  .sx-kerf, .sx-cut, .sx-slot { transform: none; }
  .sx-ly { opacity: 1; }
}

/* ---------- 3D kos ---------- */
.p3 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); gap: clamp(18px, 2.4vw, 40px); align-items: stretch; }
.p3__stage { position: relative; overflow: hidden; height: min(72svh, 640px); border-radius: var(--pg-r); background: radial-gradient(70% 70% at 50% 60%, #1b1e24 0%, #0f1114 60%, #0b0c0e 100%); border: 1px solid rgba(255, 255, 255, 0.08); }
.p3__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 120px rgba(0, 0, 0, 0.6); }
.p3__canvas { position: absolute; inset: 0; cursor: grab; }
.p3__canvas.is-drag { cursor: grabbing; }
.p3__gl { position: absolute; inset: 0; width: 100% !important; height: 100% !important; outline: none; }
.p3__gl:focus-visible { outline: 2px solid var(--red); outline-offset: -4px; }
.p3__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 0.8s ease; }
.p3--live .p3__poster { opacity: 0; pointer-events: none; }
.p3--static .p3__ui .p3__group:last-of-type { display: none; }
.p3__labels { position: absolute; inset: 0; pointer-events: none; }
.p3__dim { position: absolute; left: 0; top: 0; padding: 3px 8px; border-radius: 3px; background: #ee2d38; color: #fff; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; white-space: nowrap; opacity: 0; }
.p3__hint { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); pointer-events: none; transition: opacity 0.6s; }
.p3:not(.p3--live) .p3__hint, .p3__stage:hover .p3__hint { opacity: 0; }
.pr-3d:not(.p3--live) .p3__hint { opacity: 0; }
.p3__tag { position: absolute; left: 18px; top: 16px; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.72); }
.p3__ui { display: grid; align-content: start; gap: 26px; }
.p3__group { display: grid; gap: 8px; }
.p3__lbl { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.5); margin-bottom: 2px; }
.p3__btn { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 10px; font-size: 0.9375rem; font-weight: 600; text-align: left; color: rgba(255, 255, 255, 0.78); transition: background-color 0.25s, border-color 0.25s, color 0.25s; }
.p3__btn::after { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.4); transition: background-color 0.25s, border-color 0.25s; }
.p3__btn:hover { border-color: rgba(255, 255, 255, 0.5); color: #fff; }
.p3__btn.is-on { background: #fff; border-color: #fff; color: #0b0c0e; }
.p3__btn.is-on::after { background: var(--red); border-color: var(--red); }
.p3__note { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.45); }
.pr-3d .p3 { }
.pr-3d.p3--live .p3__poster { opacity: 0; }
@media (max-width: 900px) { .p3 { grid-template-columns: 1fr; } .p3__stage { height: 64svh; } .p3__ui { grid-template-columns: 1fr 1fr; } .p3__group { align-content: start; } .p3__note { grid-column: 1 / -1; } }
@media (max-width: 520px) { .p3__ui { grid-template-columns: 1fr; } .p3__group[aria-label] { grid-template-columns: 1fr 1fr; } .p3__lbl { grid-column: 1 / -1; } }

/* ---------- dodelave: toplota ---------- */
.pr-fin { overflow: hidden; isolation: isolate; }
.pr-fin__bg { position: absolute; inset: 0; z-index: -1; }
.pr-fin__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.62; transform: scale(calc(1.12 - var(--p, 0.5) * 0.12)); }
.pr-fin__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0b0c0e 0%, rgba(11, 12, 14, 0.6) 30%, rgba(11, 12, 14, 0.7) 70%, #0b0c0e 100%), linear-gradient(90deg, rgba(11, 12, 14, 0.9), rgba(11, 12, 14, 0.2) 70%); }
.pr-heat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--g); border-top: 1px solid rgba(255, 255, 255, 0.16); }
.pr-heat li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: baseline; padding: clamp(16px, 1.8vw, 24px) 0; border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.pr-heat__t { font-size: clamp(1.2rem, 1.9vw, 1.9rem); font-weight: 600; font-stretch: 112%; line-height: 1.15; text-wrap: balance; }
.pr-heat li i { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, #ff3b2f, #ffb347 45%, rgba(255, 255, 255, 0) 100%); transform: scaleX(0); transform-origin: 0 50%; }
.pr-heat li .pg-n { transition: color 0.6s; }
.pr-heat.is-in li i { animation: heat-bar 1.6s var(--ease) forwards, heat-cool 2.6s ease forwards; animation-delay: calc(var(--i) * 0.11s); }
.pr-heat.is-in li .pg-n { animation: heat-n 2.4s ease forwards; animation-delay: calc(var(--i) * 0.11s); }
@keyframes heat-bar { to { transform: scaleX(1); } }
@keyframes heat-cool { 0%, 40% { opacity: 1; } 100% { opacity: 0.35; } }
@keyframes heat-n { 0% { color: var(--red); } 30% { color: #ffb347; } 100% { color: var(--red); } }
@media (max-width: 760px) { .pr-heat { grid-template-columns: 1fr; } }

/* ---------- meritve ---------- */
.pr-qc__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--g); align-items: start; }
.pr-qc__img { overflow: hidden; border-radius: var(--pg-r); aspect-ratio: 4 / 3; }
.pr-qc__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.1 - var(--p, 0.5) * 0.1)); }
.pr-qc__txt { display: grid; gap: clamp(36px, 4vw, 56px); }
.pr-rule { display: grid; gap: 12px; }
.pr-rule__read { display: flex; align-items: baseline; gap: 10px; }
.pr-rule__read .num { font-family: var(--mono); font-size: clamp(2.4rem, 4vw, 3.8rem); font-weight: 500; letter-spacing: -0.02em; line-height: 1; }
.pr-rule__read small { font-family: var(--mono); font-size: 0.9375rem; color: var(--steel); }
.pr-rule__scale { position: relative; height: 44px; border-bottom: 1px solid #0b0c0e;
  background: linear-gradient(90deg, #0b0c0e 1px, transparent 1px) 0 100% / 10% 100% repeat-x, linear-gradient(90deg, rgba(11, 12, 14, 0.55) 1px, transparent 1px) 0 100% / 2% 40% repeat-x; }
.pr-rule__scale i { position: absolute; left: 0; bottom: -2px; height: 5px; width: calc(var(--r, 0) * 100%); background: var(--red); }
.pr-rule__scale i::after { content: ""; position: absolute; right: -1px; bottom: 0; width: 2px; height: 52px; background: var(--red); }
.pr-rule__cap { font-size: 0.9375rem; color: var(--steel); }

/* ---------- montaža: zaporedje ---------- */
.pr-asm__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--g); align-items: center; }
.pr-steps { position: relative; display: grid; gap: 0; padding-left: 28px; }
.pr-steps::before { content: ""; position: absolute; left: 6px; top: 14px; bottom: 14px; width: 1px; background: rgba(255, 255, 255, 0.16); }
.pr-steps::after { content: ""; position: absolute; left: 6px; top: 14px; width: 1px; height: calc((100% - 28px) * min(1, max(0, (var(--p, 1) - 0.2) * 2.2))); background: var(--red); }
.pr-steps li { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: baseline; padding: 18px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.pr-steps__dot { position: absolute; left: -27px; top: 26px; width: 11px; height: 11px; border-radius: 50%; background: #0b0c0e; border: 1px solid rgba(255, 255, 255, 0.4); }
.pr-steps__t { font-size: clamp(1.15rem, 1.6vw, 1.6rem); font-weight: 600; font-stretch: 110%; }
.pg-clipin { overflow: hidden; border-radius: var(--pg-r); }
.pg-clipin img { width: 100%; height: 100%; object-fit: cover; clip-path: inset(0 calc((1 - min(1, var(--p, 1) * 2)) * 100%) 0 0); transform: scale(calc(1.12 - min(1, var(--p, 1) * 2) * 0.12)); }
.pr-asm__img { aspect-ratio: 16 / 10; }
@media (max-width: 900px) { .pr-asm__grid, .pr-qc__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .pg-clipin img { clip-path: none; transform: none; } }

/* pas s pozivom na podstraneh: brez delovnih mest, gumb ob besedilu */
.pg-band .kband__side { align-self: end; }

/* =========================== TEHNOLOGIJA =========================== */
.te-kit__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.8fr) minmax(0, 0.95fr); gap: 14px; align-items: stretch; }
.te-card { position: relative; overflow: hidden; border-radius: var(--pg-r); min-height: clamp(360px, 46vw, 620px); background: var(--ink-2); }
.te-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.12 - var(--p, 0.5) * 0.12)); }
.te-card figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 4px; padding: 60px 22px 20px; background: linear-gradient(0deg, rgba(11, 12, 14, 0.85), transparent); }
.te-card figcaption span { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.66); }
.te-card figcaption b { font-size: clamp(1.15rem, 1.5vw, 1.5rem); font-weight: 600; font-stretch: 110%; }
.te-card--c { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; padding: clamp(22px, 2.6vw, 36px); background: #131519; border: 1px solid rgba(255, 255, 255, 0.08); }
.te-card__code { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-family: var(--mono); font-size: clamp(2rem, 3.2vw, 3.4rem); font-weight: 500; letter-spacing: -0.01em; line-height: 1; }
.te-card__code i { font-style: normal; color: var(--red); }
.te-card--c p:not(.te-card__code) { font-size: clamp(1.05rem, 1.3vw, 1.3rem); line-height: 1.45; color: rgba(255, 255, 255, 0.82); max-width: 26ch; }
.te-card__sub { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.45); }
@media (max-width: 1000px) { .te-kit__grid { grid-template-columns: 1fr 1fr; } .te-card--a { grid-column: 1 / -1; min-height: 56vw; } .te-card--b, .te-card--c { min-height: 64vw; } }
@media (max-width: 600px) { .te-kit__grid { grid-template-columns: 1fr; } .te-card--b { min-height: 110vw; } .te-card--c { min-height: 0; } }

/* materiali: palice v razmerju deležev */
.te-mat__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr); gap: var(--g); align-items: stretch; }
.te-mat__h { font-size: 1rem; font-weight: 600; margin-bottom: 18px; color: #0b0c0e; }
.rods { display: grid; gap: 4px; }
.rod { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n v" "b b" "s s"; gap: 8px 16px; padding: 12px 0 12px; border-top: 1px solid var(--rule); }
.rod__top { display: contents; }
.rod__n { grid-area: n; font-size: clamp(1rem, 1.25vw, 1.25rem); font-weight: 600; font-stretch: 106%; }
.rod__v { grid-area: v; font-family: var(--mono); font-size: clamp(1.1rem, 1.5vw, 1.5rem); font-weight: 500; }
.rod__bar { grid-area: b; position: relative; height: clamp(18px, 2vw, 26px); }
.rod__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--v) / 32 * 100%); max-width: 100%; border-radius: 3px 12px 12px 3px; transform: scaleX(0); transform-origin: 0 50%; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 -2px 3px rgba(0, 0, 0, 0.25), 0 6px 14px -8px rgba(11, 12, 14, 0.5); transition: transform 1.4s cubic-bezier(0.16, 1, 0.3, 1) calc(0.2s + var(--i) * 0.1s); }
.rod__bar i::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 10px; border-radius: 50%; background: radial-gradient(circle at 40% 50%, rgba(255, 255, 255, 0.55), rgba(0, 0, 0, 0.15)); }
.is-in .rod__bar i { transform: none; }
.rod__sub { grid-area: s; font-size: 0.875rem; color: var(--steel); }
.rod--inox i { background: linear-gradient(180deg, #f2f4f6 0%, #b9c0c8 38%, #e7eaee 55%, #8f98a2 100%); }
.rod--steel i { background: linear-gradient(180deg, #8d949c 0%, #4b5158 40%, #6f767e 58%, #2c3035 100%); }
.rod--nonf i { background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0 33.3%, rgba(0, 0, 0, 0) 33.3%), linear-gradient(180deg, #f6e2a8 0%, #c79a3e 45%, #e9c873 60%, #8a6524 100%) 0 0 / 33.4% 100% no-repeat, linear-gradient(180deg, #f3c1a3 0%, #b8653c 45%, #e09b72 60%, #7a3d1f 100%) 50% 0 / 33.4% 100% no-repeat, linear-gradient(180deg, #f4f6f8 0%, #c9cfd6 40%, #eef1f4 58%, #a6aeb7 100%) 100% 0 / 33.4% 100% no-repeat; }
.rod--ti i { background: linear-gradient(180deg, #d9d5e4 0%, #8a8698 40%, #b9b4c9 58%, #5b5869 100%); }
.rod--pl i { background: linear-gradient(180deg, #fbfaf6 0%, #e4e1d8 50%, #c9c5ba 100%); }
.rod--x i { background: repeating-linear-gradient(45deg, #2a2d33 0 4px, #3c4048 4px 8px), #2a2d33; }
.te-mat__img { position: relative; overflow: hidden; border-radius: var(--pg-r); min-height: 420px; background: #e6e7e9; }
.te-mat__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.te-mat__img figcaption { position: absolute; left: 14px; right: 14px; bottom: 14px; padding: 12px 14px; border-radius: 10px; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(6px); font-size: 0.9375rem; font-weight: 600; color: #0b0c0e; }
@media (max-width: 900px) { .te-mat__grid { grid-template-columns: 1fr; } .te-mat__img { min-height: 70vw; } }

/* razvoj: šest korakov ob 3D prizoru */
.te-dev .dev__stage { border-radius: var(--pg-r); }
.te-dev__hud { position: absolute; left: 20px; right: 20px; top: 18px; display: flex; justify-content: space-between; gap: 12px; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); pointer-events: none; }
.te-dev__hud b { color: #fff; font-weight: 500; }
.te-dev__bar { position: absolute; left: 20px; right: 20px; bottom: 18px; height: 1px; background: rgba(255, 255, 255, 0.16); }
.te-dev__bar i { position: absolute; inset: 0 auto 0 0; width: calc(var(--dp, 0) * 100%); background: var(--red); }
.te-dev .dev__step { min-height: 44svh; gap: 12px; opacity: 0.45; }
.te-dev .dev__step:first-child { min-height: 40svh; }
.te-dev .dev__step.is-on { opacity: 1; }
.te-dev .dev__step .h3 { font-size: clamp(1.5rem, 2.4vw, 2.4rem); font-weight: 640; font-stretch: 116%; text-transform: uppercase; }
@media (max-width: 900px) { .te-dev .dev__grid { grid-template-columns: 1fr; } .te-dev .dev__stage { top: var(--hd-h); height: 42svh; z-index: 2; } .te-dev .dev__step { min-height: 40svh; } }

/* digitalna podpora: tok podatkov */
.te-flow { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--g); align-items: center; padding-bottom: clamp(56px, 7vw, 110px); border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.te-flow__t { font-size: clamp(1.3rem, 2vw, 2rem); font-weight: 640; font-stretch: 114%; text-transform: uppercase; line-height: 1.05; }
.te-flow__head { display: grid; gap: 24px; }
.te-flow__img { overflow: hidden; border-radius: var(--pg-r); aspect-ratio: 16 / 9; }
.te-flow__img img { width: 100%; height: 100%; object-fit: cover; }
.te-flow__line { position: relative; display: grid; gap: 0; padding-left: 34px; }
.te-flow__line::before { content: ""; position: absolute; left: 7px; top: 22px; bottom: 22px; width: 1px; background: rgba(255, 255, 255, 0.16); }
.te-flow__line::after { content: ""; position: absolute; left: 4px; top: 18px; width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 12px 2px rgba(238, 45, 56, 0.7); opacity: 0; }
.te-flow.is-in .te-flow__line::after { animation: flow-pkt 4.2s cubic-bezier(0.65, 0, 0.35, 1) 0.4s 2 forwards; }
@keyframes flow-pkt { 0% { opacity: 0; top: 18px; } 8% { opacity: 1; } 92% { opacity: 1; top: calc(100% - 26px); } 100% { opacity: 0; top: calc(100% - 26px); } }
.te-flow__line li { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: baseline; padding: 18px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.te-flow__node { position: absolute; left: -32px; top: 25px; width: 11px; height: 11px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.5); background: #0b0c0e; transition: border-color 0.4s, background-color 0.4s; }
.te-flow.is-in .te-flow__node { animation: flow-node 4.2s steps(1) 0.4s 1 forwards; animation-delay: calc(0.4s + var(--i) * 0.8s); }
@keyframes flow-node { to { background: var(--red); border-color: var(--red); } }
.te-flow__line strong { font-size: clamp(1.05rem, 1.45vw, 1.45rem); font-weight: 600; font-stretch: 108%; }
@media (max-width: 900px) { .te-flow { grid-template-columns: 1fr; } }

.te-plan { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--g); align-items: start; padding-block: clamp(56px, 7vw, 110px); }
.te-plan__txt { display: grid; gap: 22px; justify-items: start; }
.te-plan__txt p { color: #3b4048; max-width: 52ch; }

.te-result { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 28px var(--g); align-items: end; padding-top: clamp(48px, 6vw, 90px); border-top: 1px solid rgba(255, 255, 255, 0.1); }
.te-result p { font-size: clamp(1.3rem, 2.2vw, 2.2rem); line-height: 1.3; max-width: 36ch; text-wrap: pretty; }
.te-result__acts { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 900px) { .te-result { grid-template-columns: 1fr; } }

/* =========================== GALERIJA =========================== */
.ga-hero { min-height: clamp(520px, 78svh, 820px); }
.ga-hero::before { display: none; }
.ga-wall { position: absolute; inset: -10% -4%; z-index: -2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; transform: rotate(-6deg) scale(1.08); opacity: 0.5; -webkit-mask-image: linear-gradient(180deg, transparent, #000 18%, #000 62%, transparent); mask-image: linear-gradient(180deg, transparent, #000 18%, #000 62%, transparent); }
.ga-wall__col { overflow: hidden; }
.ga-wall__run { display: grid; gap: 12px; animation: ga-run calc(70s + var(--c) * 9s) linear infinite; }
.ga-wall__col:nth-child(even) .ga-wall__run { animation-direction: reverse; }
.ga-wall__run img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 10px; filter: grayscale(0.2) brightness(0.75); }
@keyframes ga-run { to { transform: translateY(-50%); } }
.ga-hero .pg-hero__shade { display: block; }
.ga-hero::after { background: linear-gradient(0deg, #0b0c0e 6%, rgba(11, 12, 14, 0.55) 50%, rgba(11, 12, 14, 0.3)); opacity: 1; }
.ga-hero__n { display: grid; justify-items: end; text-align: right; gap: 6px; }
.ga-hero__n b { font-size: clamp(3rem, 7vw, 7rem); font-weight: 600; font-stretch: 100%; line-height: 0.85; letter-spacing: -0.03em; }
.ga-hero__n span { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
@media (prefers-reduced-motion: reduce) { .ga-wall__run { animation: none; } }
@media (max-width: 760px) { .ga-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ga-wall__col:nth-child(n+4) { display: none; } .ga-hero__n { justify-items: start; text-align: left; } }

.ga { padding-top: 0; }
.ga__bar { position: sticky; top: 0; z-index: 20; background: rgba(11, 12, 14, 0.86); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255, 255, 255, 0.08); margin-bottom: clamp(28px, 3vw, 44px); transition: top 0.45s var(--ease); }
.hd:not(.is-hidden) ~ main .ga__bar { top: var(--hd-h); }
.ga__bar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.ga__filters { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-block: 12px; }
.ga__filters::-webkit-scrollbar { display: none; }
.ga__filters button { display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 999px; white-space: nowrap; font-size: 0.875rem; font-weight: 600; color: rgba(255, 255, 255, 0.78); transition: background-color 0.25s, color 0.25s, border-color 0.25s; }
.ga__filters button span { font-family: var(--mono); font-size: 0.75rem; font-weight: 400; color: rgba(255, 255, 255, 0.5); }
.ga__filters button:hover { border-color: rgba(255, 255, 255, 0.5); color: #fff; }
.ga__filters button[aria-pressed="true"] { background: #fff; border-color: #fff; color: #0b0c0e; }
.ga__filters button[aria-pressed="true"] span { color: var(--red); }
.ga__hint { flex: none; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.45); }
@media (max-width: 760px) { .ga__hint { display: none; } }
.ga__grid { columns: 4 260px; column-gap: 12px; transition: opacity 0.2s ease; }
.ga__grid.is-fading { opacity: 0; }
.ga__item { position: relative; display: block; margin-bottom: 12px; overflow: hidden; border-radius: 12px; background: var(--ink-2); break-inside: avoid; cursor: zoom-in; }
.ga__item[hidden] { display: none; }
.ga__item img { width: 100%; height: auto; aspect-ratio: var(--ar); object-fit: cover; transition: transform 1.1s var(--ease), filter 0.5s ease; }
.js .ga__item { clip-path: inset(18% 0 0 0 round 12px); opacity: 0; transition: clip-path 1s cubic-bezier(0.16, 1, 0.3, 1) var(--d, 0s), opacity 0.6s ease var(--d, 0s); }
.js .ga__item.is-in { clip-path: inset(0 0 0 0 round 12px); opacity: 1; }
.ga__item:hover img, .ga__item:focus-visible img { transform: scale(1.05); }
.ga__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 14px 12px; background: linear-gradient(0deg, rgba(11, 12, 14, 0.85), transparent); font-size: 0.8125rem; line-height: 1.35; color: #fff; opacity: 0; transform: translateY(8px); transition: opacity 0.35s, transform 0.45s var(--ease); }
.ga__item:hover .ga__cap, .ga__item:focus-visible .ga__cap { opacity: 1; transform: none; }
@media (hover: none) { .ga__cap { display: none; } }
@media (prefers-reduced-motion: reduce) { .js .ga__item { clip-path: none; opacity: 1; } }

/* =========================== KARIERA =========================== */
.pg-hero__cta { display: inline-flex; align-items: center; gap: 14px; padding: 10px 18px 10px 10px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 999px; font-size: 0.875rem; font-weight: 600; backdrop-filter: blur(8px); background: rgba(11, 12, 14, 0.35); transition: background-color 0.3s, border-color 0.3s; }
.pg-hero__cta span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--red); font-family: var(--mono); font-size: 0.875rem; font-weight: 500; }
.pg-hero__cta:hover { background: rgba(11, 12, 14, 0.7); border-color: #fff; }
.ca-intro__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: 28px var(--g); align-items: end; }
.ca-intro__q { font-size: clamp(2rem, 4.6vw, 4.8rem); max-width: 14ch; }
.ca-intro__p { color: rgba(255, 255, 255, 0.74); max-width: 52ch; font-size: clamp(1.0625rem, 1.2vw, 1.2rem); text-wrap: pretty; }
.ca-team { height: min(78svh, 50vw) !important; }
@media (max-width: 860px) { .ca-intro__grid { grid-template-columns: 1fr; } .ca-team { height: 64vw !important; } }

.ca-offer .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.42fr); column-gap: var(--g); }
.ca-offer .pg-head { grid-column: 1 / -1; }
.ca-offer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; align-content: start; }
.ca-offer__grid li { display: flex; align-items: center; gap: 18px; min-height: 92px; padding: 18px 0; border-top: 1px solid var(--rule); font-size: clamp(1.02rem, 1.2vw, 1.2rem); font-weight: 600; line-height: 1.3; }
.ca-ico { flex: none; width: 46px; height: 46px; padding: 11px; border-radius: 12px; background: #fff; border: 1px solid var(--rule); fill: none; stroke: #0b0c0e; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: background-color 0.3s, stroke 0.3s; }
.ca-offer__grid li:hover .ca-ico { background: var(--red); stroke: #fff; border-color: var(--red); }
.ca-offer__img { overflow: hidden; border-radius: var(--pg-r); min-height: 320px; }
.ca-offer__img img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .ca-offer .wrap { grid-template-columns: 1fr; } .ca-offer__img { margin-top: 28px; aspect-ratio: 16 / 10; min-height: 0; } }
@media (max-width: 560px) { .ca-offer__grid { grid-template-columns: 1fr; } }

/* delovna mesta */
.jbs { display: grid; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.jb { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.jb__sum { display: grid; grid-template-columns: 44px minmax(0, 1fr) 56px; align-items: center; gap: 12px; padding: clamp(22px, 2.6vw, 36px) 0; cursor: pointer; list-style: none; }
.jb__sum::-webkit-details-marker { display: none; }
.jb__title { display: grid; gap: 10px; }
.jb__t { font-size: clamp(1.5rem, 3vw, 3rem); font-weight: 640; font-stretch: 112%; line-height: 1; letter-spacing: -0.012em; text-transform: uppercase; transition: font-stretch 0.8s var(--ease-io); }
.jb__sum:hover .jb__t { font-stretch: 120%; }
.jb__loc { display: inline-flex; align-items: center; gap: 8px; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.62); }
.jb__loc svg { width: 18px; height: 18px; fill: none; stroke: var(--red); stroke-width: 1.6; }
.jb__tog { position: relative; justify-self: end; width: 56px; height: 56px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 50%; transition: transform 0.5s var(--ease), background-color 0.3s, border-color 0.3s; }
.jb__tog::before, .jb__tog::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; margin: -1px 0 0 -9px; background: currentColor; transition: transform 0.4s var(--ease); }
.jb__tog::after { transform: rotate(90deg); }
.jb[open] .jb__tog { background: #fff; border-color: #fff; color: #0b0c0e; transform: rotate(180deg); }
.jb[open] .jb__tog::after { transform: rotate(0); }
.jb__body { display: grid; gap: clamp(28px, 3vw, 44px); padding: 0 0 clamp(36px, 4vw, 60px) 56px; }
.jb[open] .jb__body { animation: jb-in 0.7s var(--ease); }
@keyframes jb-in { from { opacity: 0; transform: translate3d(0, -10px, 0); } }
.jb__lead { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); gap: 16px var(--g); }
.jb__full { font-size: 0.875rem; font-weight: 600; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.62); }
.jb__lead p { color: rgba(255, 255, 255, 0.8); font-size: clamp(1.02rem, 1.2vw, 1.2rem); text-wrap: pretty; }
.jb__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.jb__h { font-size: 1rem; font-weight: 640; font-stretch: 110%; margin-bottom: 12px; }
.jb__cols .pg-ticks li { font-size: 0.9375rem; color: rgba(255, 255, 255, 0.8); border-color: rgba(255, 255, 255, 0.1); }
.jb__apply { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 24px; border-radius: 14px; background: #131519; border: 1px solid rgba(255, 255, 255, 0.08); }
.jb__apply p { color: rgba(255, 255, 255, 0.78); }
.jb__apply a:not(.btn) { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.jb__conf { margin-top: 8px; font-size: 0.875rem; color: rgba(255, 255, 255, 0.5) !important; }
@media (max-width: 900px) { .jb__cols, .jb__lead { grid-template-columns: 1fr; } .jb__body { padding-left: 0; } .jb__sum { grid-template-columns: 32px minmax(0, 1fr) 46px; } .jb__tog { width: 46px; height: 46px; } }

/* obrazec na svetli podlagi */
.pg-w .form, .pg-l .form { --paper: #f2f3f4; --surface: #ffffff; }
.pg-w .field input, .pg-w .field textarea, .pg-l .field input, .pg-l .field textarea { background: #fff; border-color: rgba(11, 12, 14, 0.22); border-radius: 8px; }
.pg-w .choice, .pg-l .choice { border-color: rgba(11, 12, 14, 0.18); border-radius: 10px; background: #fff; }
.pg-w .choice:has(input:checked), .pg-l .choice:has(input:checked) { border-color: #0b0c0e; background: #f2f3f4; box-shadow: inset 3px 0 0 var(--red); }
.pg-w .drop__zone, .pg-l .drop__zone { border-color: rgba(11, 12, 14, 0.3); border-radius: 12px; background: #fafafa; }
.pg-w .drop__list li, .pg-l .drop__list li { border-radius: 8px; }
.pg-w .form__msg, .pg-l .form__msg { border-radius: 0 10px 10px 0; }
.choices--sm { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.choices__k { font-size: 0.8125rem; font-weight: 600; margin-right: 6px; }
.choice--sm { min-height: 44px; padding: 8px 14px; }
.ca-form__aside { position: sticky; top: calc(var(--hd-h) + 24px); align-self: start; }
.ca-form__aside > p { color: var(--steel); max-width: 40ch; }
.ca-hr { display: grid; gap: 4px; padding: 18px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 0.9375rem; }
.ca-hr__k { font-size: 0.8125rem; color: var(--steel); margin-bottom: 4px; }
.ca-hr a { color: var(--steel); }
.ca-hr a:hover { color: #0b0c0e; text-decoration: underline; }
.fmeter { position: relative; display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 12px; font-size: 0.8125rem; color: var(--steel); }
.fmeter b { font-family: var(--mono); font-weight: 500; color: #0b0c0e; }
.fmeter i { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 2px; background: rgba(11, 12, 14, 0.1); overflow: hidden; }
.fmeter i::after { content: ""; position: absolute; inset: 0; background: #0b0c0e; transform: scaleX(var(--f, 0)); transform-origin: 0 50%; transition: transform 0.5s var(--ease), background-color 0.3s; }
.fmeter.is-full i::after { background: var(--red); }
@media (max-width: 900px) { .ca-form__aside { position: static; } }

/* =========================== KONTAKT =========================== */
.ct-live { display: inline-flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: 999px; background: rgba(11, 12, 14, 0.55); border: 1px solid rgba(255, 255, 255, 0.2); backdrop-filter: blur(8px); font-family: var(--mono); font-size: 0.8125rem; letter-spacing: 0.04em; }
.ct-live i, .ct-box__live i { width: 8px; height: 8px; border-radius: 50%; background: #8a9099; }
.ct-live.is-on i, .ct-box__live.is-on i { background: #36d07e; box-shadow: 0 0 0 0 rgba(54, 208, 126, 0.6); animation: live-pulse 2.2s ease-out infinite; }
@keyframes live-pulse { 0% { box-shadow: 0 0 0 0 rgba(54, 208, 126, 0.55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(54, 208, 126, 0); } }
@media (prefers-reduced-motion: reduce) { .ct-live i, .ct-box__live i { animation: none !important; } }
.ct-info__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-bottom: clamp(36px, 4vw, 60px); border-top: 1px solid rgba(255, 255, 255, 0.14); }
.ct-box { display: grid; align-content: start; gap: 10px; padding: 26px clamp(14px, 2vw, 30px) 10px 0; border-right: 1px solid rgba(255, 255, 255, 0.08); }
.ct-box + .ct-box { padding-left: clamp(14px, 2vw, 30px); }
.ct-box:last-child { border-right: 0; }
.ct-box__h { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); margin-bottom: 8px; }
.ct-box address, .ct-box p { font-size: clamp(1.02rem, 1.2vw, 1.2rem); line-height: 1.5; color: rgba(255, 255, 255, 0.88); }
.ct-box p span { color: rgba(255, 255, 255, 0.55); display: inline-block; min-width: 5.5em; }
.ct-big { display: block; font-size: clamp(1.25rem, 1.8vw, 1.8rem); font-weight: 600; font-stretch: 106%; color: #fff; transition: color 0.2s; }
.ct-big:hover { color: var(--red); }
.ct-box__acts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; }
.ct-box__acts .pg-link { color: rgba(255, 255, 255, 0.7); }
.ct-box__acts .pg-link.is-copied { color: #36d07e; text-decoration: none; }
.ct-box__live { display: inline-flex; align-items: center; gap: 10px; margin-top: 10px; font-family: var(--mono); font-size: 0.8125rem !important; color: rgba(255, 255, 255, 0.7) !important; }
.ct-social { display: grid; gap: 8px; }
.ct-social a { display: flex; align-items: center; gap: 12px; padding: 8px 0; color: rgba(255, 255, 255, 0.82); transition: color 0.2s, transform 0.3s var(--ease); }
.ct-social a:hover { color: #fff; transform: translateX(4px); }
.ct-social svg { width: 34px; height: 34px; padding: 8px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.24); fill: currentColor; transition: background-color 0.25s, border-color 0.25s; }
.ct-social a:hover svg { background: var(--red); border-color: var(--red); }
.pg-embed--map .embed { aspect-ratio: auto; height: min(560px, 46vw); }
@media (max-width: 1000px) { .ct-info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ct-box:nth-child(2) { border-right: 0; } .ct-box:nth-child(3) { padding-left: 0; } .ct-box:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.08); } }
@media (max-width: 560px) { .ct-info__grid { grid-template-columns: 1fr; } .ct-box { padding-left: 0 !important; border-right: 0; border-top: 1px solid rgba(255, 255, 255, 0.08); } .pg-embed--map .embed { height: 72vw; } }

.ct-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.ct-filter button { display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 16px; border: 1px solid rgba(11, 12, 14, 0.18); border-radius: 999px; font-size: 0.875rem; font-weight: 600; color: #3b4048; background: #fff; transition: background-color 0.25s, color 0.25s, border-color 0.25s; }
.ct-filter button span { font-family: var(--mono); font-size: 0.75rem; font-weight: 400; color: #8a9099; }
.ct-filter button:hover { border-color: #0b0c0e; color: #0b0c0e; }
.ct-filter button[aria-pressed="true"] { background: #0b0c0e; border-color: #0b0c0e; color: #fff; }
.ct-filter button[aria-pressed="true"] span { color: var(--red); }
.ct-people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ct-p { position: relative; display: grid; align-content: start; gap: 4px; padding: 22px; border-radius: 16px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.08); transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease), border-color 0.3s; }
.ct-p[hidden] { display: none; }
.ct-p:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -30px rgba(11, 12, 14, 0.35); border-color: rgba(11, 12, 14, 0.16); }
.ct-p.is-pop { animation: ct-pop 0.6s var(--ease) var(--d, 0s) both; }
@keyframes ct-pop { from { opacity: 0; transform: translate3d(0, 12px, 0) scale(0.98); } }
.ct-p__mono { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 50%; background: #0b0c0e; color: #fff; font-size: 0.875rem; font-weight: 600; font-stretch: 112%; letter-spacing: 0.04em; position: relative; }
.ct-p__mono::after { content: ""; position: absolute; right: -2px; top: 4px; width: 10px; height: 4px; background: var(--red); transform: skewX(-24deg); }
.ct-p__n { font-size: 1.125rem; font-weight: 640; font-stretch: 108%; }
.ct-p__r { font-size: 0.875rem; color: var(--steel); margin-bottom: 12px; }
.ct-p__r::first-letter { text-transform: uppercase; }
.ct-p__c { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ct-p__c a, .ct-p__t { font-size: 0.875rem; color: #0b0c0e; overflow-wrap: anywhere; }
.ct-p__c a:hover, .ct-p__t:hover { color: var(--red-2); text-decoration: underline; text-underline-offset: 3px; }
.ct-p__t { font-family: var(--mono); font-size: 0.8125rem; color: #3b4048; }
.ct-copy { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #8a9099; transition: background-color 0.2s, color 0.2s; }
.ct-copy svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.ct-copy:hover { background: #f2f3f4; color: #0b0c0e; }
.ct-copy.is-copied { color: #1f9d5a; background: rgba(31, 157, 90, 0.1); }
@media (max-width: 1100px) { .ct-people { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .ct-people { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .ct-people { grid-template-columns: 1fr; } }

.ct-rfq__aside { position: sticky; top: calc(var(--hd-h) + 24px); align-self: start; }
.ct-rfq__lead { color: rgba(255, 255, 255, 0.78); font-size: clamp(1.05rem, 1.25vw, 1.25rem); max-width: 40ch; }
.ct-rfq__steps { display: grid; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.ct-rfq__steps li { display: grid; grid-template-columns: 34px minmax(0, 1fr); padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.9375rem; color: rgba(255, 255, 255, 0.78); }
.form--d .field input, .form--d .field textarea { border-radius: 8px; background: #131519; }
.form--d .drop__zone { border-radius: 12px; }
.form--d input[type="date"] { color-scheme: dark; }
.fmeter--d { color: rgba(255, 255, 255, 0.55); }
.fmeter--d b { color: #fff; }
.fmeter--d i { background: rgba(255, 255, 255, 0.12); }
.fmeter--d i::after { background: #fff; }
@media (max-width: 900px) { .ct-rfq__aside { position: static; } }

/* =========================== CERTIFIKATI =========================== */
.ce-std { display: grid; gap: 6px; justify-items: end; font-family: var(--mono); font-size: 0.8125rem; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.78); }
.ce-std li { padding: 6px 10px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 4px; background: rgba(11, 12, 14, 0.4); backdrop-filter: blur(6px); }
@media (max-width: 760px) { .ce-std { display: flex; flex-wrap: wrap; justify-items: start; } }
.ce__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ce-doc { display: grid; grid-template-rows: auto 1fr; border-radius: 16px; border: 1px solid rgba(11, 12, 14, 0.1); background: #fff; overflow: hidden; transition: box-shadow 0.5s var(--ease), border-color 0.3s; }
.ce-doc:hover { box-shadow: 0 30px 60px -36px rgba(11, 12, 14, 0.35); border-color: rgba(11, 12, 14, 0.18); }
.ce-doc__paper { position: relative; display: block; padding: 22px 22px 0; aspect-ratio: 1 / 1.18; overflow: hidden; cursor: zoom-in;
  background: #eceef0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M24 0H0v24' fill='none' stroke='%230b0c0e' stroke-opacity='.06'/%3E%3C/svg%3E"); }
.ce-doc__paper img { width: 100%; height: auto; box-shadow: 0 18px 40px -18px rgba(11, 12, 14, 0.45); transform: translate3d(0, 34%, 0); transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) calc(var(--i) * 0.08s); }
.ce-doc.is-in .ce-doc__paper img { transform: translate3d(0, 0, 0); }
.ce-doc:hover .ce-doc__paper img { transform: translate3d(0, -4%, 0); transition-delay: 0s; transition-duration: 0.6s; }
html:not(.js) .ce-doc__paper img { transform: none; }
.ce-doc__seal { position: absolute; right: 14px; bottom: 14px; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #0b0c0e; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, 0.5); transform: scale(0.6) rotate(-20deg); opacity: 0; transition: transform 0.7s var(--ease) calc(0.6s + var(--i) * 0.08s), opacity 0.4s calc(0.6s + var(--i) * 0.08s); }
.ce-doc.is-in .ce-doc__seal { transform: none; opacity: 1; }
.ce-doc__seal svg { width: 34px; height: 34px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ce-doc__seal circle { stroke: var(--red); stroke-dasharray: 170; stroke-dashoffset: 170; transition: stroke-dashoffset 1.2s var(--ease) calc(0.8s + var(--i) * 0.08s); }
.ce-doc.is-in .ce-doc__seal circle { stroke-dashoffset: 0; }
.ce-doc__body { display: grid; align-content: start; gap: 8px; padding: 20px 22px 22px; border-top: 1px solid rgba(11, 12, 14, 0.08); }
.ce-doc__k { font-size: 0.8125rem; color: var(--steel); }
.ce-doc__t { font-size: clamp(1.2rem, 1.5vw, 1.5rem); font-weight: 640; font-stretch: 112%; }
.ce-doc__body p { font-size: 0.9375rem; color: #3b4048; margin-bottom: 8px; }
@media (max-width: 1000px) { .ce__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ce__grid { grid-template-columns: 1fr; } }
.ce-sys__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px var(--g); align-items: start; }
.ce-sys__p { margin-top: 22px; max-width: 46ch; color: rgba(255, 255, 255, 0.74); font-size: clamp(1.05rem, 1.2vw, 1.2rem); }
.ce-sys__who { display: grid; gap: 2px; margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.9375rem; color: rgba(255, 255, 255, 0.7); }
.ce-sys__who span { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.5); margin-bottom: 4px; }
.ce-sys__who b { color: #fff; font-weight: 600; }
.ce-sys__who a:hover { color: #fff; text-decoration: underline; }
.ce-links { border-top: 1px solid rgba(255, 255, 255, 0.14); }
.ce-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.14); font-size: clamp(1.1rem, 1.6vw, 1.6rem); font-weight: 600; font-stretch: 108%; transition: padding 0.35s var(--ease), color 0.25s; }
.ce-links svg { width: 24px; height: 24px; flex: none; transition: transform 0.35s var(--ease); }
.ce-links a:hover { padding-left: 10px; color: #fff; }
.ce-links a:hover svg { transform: translateX(4px); color: var(--red); }
@media (max-width: 860px) { .ce-sys__grid { grid-template-columns: 1fr; } }

/* =========================== SPONZORSTVO / ŠPORT =========================== */
.sp-feat { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 32px var(--g); align-items: center; padding-block: clamp(36px, 4vw, 64px); border-top: 1px solid rgba(255, 255, 255, 0.12); }
.sp-feat--flip { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
.sp-feat__txt { display: grid; gap: 18px; align-content: center; }
.sp-feat__t { font-size: clamp(2rem, 4vw, 4rem); font-weight: 640; font-stretch: 118%; line-height: 0.98; text-transform: uppercase; letter-spacing: -0.012em; }
.sp-feat__txt p { color: rgba(255, 255, 255, 0.76); text-wrap: pretty; }
.sp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-chips li { padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.24); font-size: 0.8125rem; font-weight: 600; color: rgba(255, 255, 255, 0.86); }
.sp-chips li:first-child { border-color: var(--red); }
.sp-feat__vid .embed { aspect-ratio: 16 / 10; }
.sp-feat__img { aspect-ratio: 16 / 9; }
.sp-note { margin-top: clamp(28px, 3vw, 44px); padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.7); display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; }
.sp-note .pg-link { font-style: normal; color: #fff; }
.sp-note--l { color: var(--steel); border-color: var(--rule); }
.sp-cul__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sp-card { display: grid; align-content: start; gap: 14px; padding: 14px 14px 26px; border-radius: 20px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.08); }
.sp-card__img { overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 10; }
.sp-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.sp-card:hover .sp-card__img img { transform: scale(1.04); }
.sp-card__t { padding: 8px 10px 0; font-size: clamp(1.4rem, 2.2vw, 2.2rem); font-weight: 640; font-stretch: 116%; text-transform: uppercase; line-height: 1; }
.sp-card p { padding: 0 10px; color: #3b4048; text-wrap: pretty; }
@media (max-width: 900px) { .sp-feat, .sp-feat--flip, .sp-cul__grid { grid-template-columns: 1fr; } .sp-feat--flip .sp-feat__img { order: 2; } }
.sp-vals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sp-vals li { display: grid; align-content: start; gap: 12px; padding: 24px; border-radius: 16px; background: #131519; border: 1px solid rgba(255, 255, 255, 0.08); }
.sp-vals svg { width: 40px; height: 40px; fill: none; stroke: var(--red); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sp-vals h3 { font-size: 1.25rem; font-weight: 640; font-stretch: 112%; text-transform: uppercase; }
.sp-vals p { font-size: 0.9375rem; color: rgba(255, 255, 255, 0.68); }
.sp-also { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: clamp(40px, 5vw, 80px); }
.sp-also .pg-tile__img { aspect-ratio: 16 / 9; }
@media (max-width: 900px) { .sp-vals { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sp-vals, .sp-also { grid-template-columns: 1fr; } }

/* =========================== EU =========================== */
.eu__strip { display: grid; grid-template-columns: auto 1fr 1fr auto; align-items: center; gap: 18px 32px; padding: 22px 26px; border-radius: 16px; background: #131519; border: 1px solid rgba(255, 255, 255, 0.08); margin-bottom: clamp(48px, 6vw, 90px); }
.eu__flag svg { width: 72px; height: 48px; border-radius: 3px; }
.eu__strip b { display: block; font-weight: 640; font-stretch: 110%; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.9375rem; }
.eu__strip span { font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
@media (max-width: 900px) { .eu__strip { grid-template-columns: auto 1fr; } .eu__strip .btn { grid-column: 1 / -1; justify-self: start; } }
.eu__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 48px var(--g); align-items: start; }
.eu__kick { font-family: var(--mono); font-size: 0.8125rem; letter-spacing: 0.06em; color: var(--red); margin-bottom: 16px; }
.eu__txt .h2 { margin-bottom: 28px; }
.eu__prose p { color: rgba(255, 255, 255, 0.76); }
.eu__goals { margin: 18px 0 26px; }
.eu__goals li { color: rgba(255, 255, 255, 0.9); }
.eu-fin { position: sticky; top: calc(var(--hd-h) + 24px); display: grid; gap: 14px; padding: clamp(22px, 2.6vw, 34px); border-radius: 20px; background: #fff; color: #0b0c0e; }
.eu-fin__h { font-size: 0.875rem; font-weight: 600; color: #5a6069; }
.eu-fin__total { font-size: clamp(2rem, 3.4vw, 3.2rem); font-weight: 600; font-stretch: 104%; line-height: 1; letter-spacing: -0.02em; }
.eu-fin__total small { font-family: var(--mono); font-size: 0.4em; color: #5a6069; }
.eu-fin__k { font-size: 0.875rem; color: #5a6069; margin-top: -6px; }
.eu-fin__bar { display: flex; height: 14px; border-radius: 7px; overflow: hidden; background: #e6e8eb; }
.eu-fin__bar i { height: 100%; transform: scaleX(0); transform-origin: 0 50%; transition: transform 1.4s cubic-bezier(0.16, 1, 0.3, 1); }
.eu-fin__bar i:first-child { width: calc(var(--a) * 100%); background: #2f5bd8; }
.eu-fin__bar i:last-child { flex: 1; background: #0b0c0e; transition-delay: 0.35s; }
.eu-fin.is-in .eu-fin__bar i { transform: none; }
.eu-fin dl { display: grid; border-top: 1px solid rgba(11, 12, 14, 0.1); }
.eu-fin dl div { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(11, 12, 14, 0.1); font-size: 0.9375rem; }
.eu-fin dt { display: flex; align-items: center; gap: 10px; color: #3b4048; }
.eu-fin dt i { width: 10px; height: 10px; border-radius: 2px; background: var(--c); border: 1px solid rgba(11, 12, 14, 0.25); }
.eu-fin dl div:nth-child(2) dt i { background: #0b0c0e; }
.eu-fin dd { font-family: var(--mono); font-size: 0.875rem; white-space: nowrap; }
.eu-fin__img { overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 9; margin-top: 6px; }
.eu-fin__img img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .eu__grid { grid-template-columns: 1fr; } .eu-fin { position: static; } }

/* =========================== LOGOTIP =========================== */
.lg-origin__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); gap: 40px var(--g); align-items: center; }
.lg-origin__img { position: relative; aspect-ratio: 4 / 5; }
.lg-origin__img figcaption { position: absolute; left: 16px; bottom: 14px; font-style: italic; font-size: 0.9375rem; color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5); }
.lg-origin__txt { display: grid; gap: 24px; }
.lg-origin__txt p { font-size: clamp(1.15rem, 1.6vw, 1.6rem); line-height: 1.45; color: rgba(255, 255, 255, 0.84); max-width: 34ch; text-wrap: pretty; }
@media (max-width: 860px) { .lg-origin__grid { grid-template-columns: 1fr; } .lg-origin__img { aspect-ratio: 4 / 3; } }
.lg-anat { position: relative; padding: clamp(40px, 6vw, 100px) clamp(10px, 8vw, 140px); border-radius: 20px; background: #f6f7f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M32 0H0v32' fill='none' stroke='%230b0c0e' stroke-opacity='.06'/%3E%3C/svg%3E"); border: 1px solid rgba(11, 12, 14, 0.06); }
.lg-anat__logo { position: relative; max-width: 760px; margin: 0 auto; color: #0b0c0e; }
.lg-anat__svg { width: 100%; height: auto; display: block; overflow: visible; }
.lg-anat__svg path:first-child { transform: translate3d(-40%, 0, 0); opacity: 0; transition: transform 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, opacity 0.8s ease 0.2s; }
.lg-mark.is-in .lg-anat__svg path:first-child { transform: none; opacity: 1; }
.lg-anat__note { position: absolute; display: grid; gap: 2px; max-width: 220px; padding-left: 14px; border-left: 2px solid var(--red); font-size: 0.875rem; opacity: 0; transform: translate3d(0, 10px, 0); transition: opacity 0.7s ease, transform 0.9s var(--ease); }
.lg-anat__note b { font-weight: 640; font-stretch: 110%; }
.lg-anat__note span { color: #5a6069; }
.lg-mark.is-in .lg-anat__note { opacity: 1; transform: none; }
.lg-anat__note--a { right: 3%; top: 8%; transition-delay: 1s; }
.lg-anat__note--b { right: 3%; top: 38%; transition-delay: 1.2s; }
.lg-anat__note--c { left: 3%; bottom: 8%; border-left-color: #0b0c0e; transition-delay: 1.4s; }
.lg-mark__txt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px var(--g); margin-top: clamp(32px, 4vw, 56px); }
.lg-mark__txt p { color: #3b4048; text-wrap: pretty; }
@media (max-width: 900px) { .lg-anat__note { position: static; margin-top: 16px; opacity: 1; transform: none; } .lg-anat { padding: 32px 18px; } .lg-mark__txt { grid-template-columns: 1fr; } }
.lg-sw { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.lg-sw__card { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); overflow: hidden; border-radius: 20px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.08); }
.lg-sw__chip { position: relative; min-height: 280px; background: var(--c); }
.lg-sw__chip span { position: absolute; left: 20px; bottom: 18px; font-size: 0.875rem; font-weight: 640; font-stretch: 112%; letter-spacing: 0.06em; color: #fff; }
.lg-sw__rows { display: grid; align-content: center; padding: 20px 24px; }
.lg-sw__rows div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(11, 12, 14, 0.08); }
.lg-sw__rows dt { font-size: 0.8125rem; color: #5a6069; }
.lg-sw__rows button { position: relative; font-family: var(--mono); font-size: 0.875rem; padding: 4px 8px; border-radius: 6px; transition: background-color 0.2s; }
.lg-sw__rows button:hover { background: #f2f3f4; }
.lg-sw__rows button::after { content: "✓"; position: absolute; right: -16px; top: 4px; color: #1f9d5a; opacity: 0; transition: opacity 0.2s; }
.lg-sw__rows button.is-copied::after { opacity: 1; }
@media (max-width: 900px) { .lg-sw { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .lg-sw__card { grid-template-columns: 1fr; } .lg-sw__chip { min-height: 140px; } }
.lg-dl__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.lg-dl__card { display: grid; place-items: center; gap: 18px; aspect-ratio: 16 / 10; padding: 28px; border-radius: 16px; background: #131519; border: 1px solid rgba(255, 255, 255, 0.08); }
.lg-dl__card img { width: min(60%, 240px); height: auto; }
.lg-dl__card figcaption { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.55); }
.lg-dl__card.is-light { background: #fff; }
.lg-dl__card.is-light figcaption { color: #5a6069; }
.lg-dl__card.is-red { background: #d91f2b; border-color: #d91f2b; }
.lg-dl__card.is-red figcaption { color: rgba(255, 255, 255, 0.8); }
.lg-dl__act { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 28px; }
.lg-dl__meta { font-family: var(--mono); font-size: 0.8125rem; color: rgba(255, 255, 255, 0.5); }
@media (max-width: 760px) { .lg-dl__grid { grid-template-columns: 1fr; } }

/* =========================== DOKUMENTI =========================== */
.doc-hero .pg-hero__title { max-width: 18ch; font-size: clamp(2.2rem, 5vw, 5rem); }
.doc-sec .doc__grid { grid-template-columns: 280px minmax(0, 1fr); }
.pg-toc { display: grid; gap: 14px; align-content: start; }
.pg-toc__h { font-size: 0.8125rem; font-weight: 600; color: var(--steel); }
.pg-toc__list { display: grid; gap: 0; border-left: 1px solid var(--rule); }
.pg-toc__list a { display: grid; grid-template-columns: 30px minmax(0, 1fr); padding: 8px 0 8px 14px; margin-left: -1px; border-left: 2px solid transparent; font-size: 0.875rem; line-height: 1.35; color: var(--steel); transition: color 0.2s, border-color 0.2s; }
.pg-toc__list a .pg-n { color: #9aa1aa; }
.pg-toc__list a:hover { color: #0b0c0e; }
.pg-toc__list a.is-on { color: #0b0c0e; border-left-color: var(--red); }
.pg-toc__list a.is-on .pg-n { color: var(--red); }
.pg-toc__acts { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid var(--rule); }
.pg-toc__read { font-family: var(--mono); font-size: 0.8125rem; color: var(--steel); }
.pg-toc__read b { color: #0b0c0e; font-weight: 500; }
.doc-sec .doc { max-width: 74ch; }
.doc-sec .doc img { display: block; width: 100%; height: auto; border-radius: 14px; margin: 1.6em 0; }
.doc-sec .doc figure { margin: 1.6em 0; }
.doc-sec .doc h2 { font-weight: 640; font-stretch: 112%; }
@media (max-width: 900px) { .doc-sec .doc__grid { grid-template-columns: 1fr; } .pg-toc { position: static; max-height: none; } }
@media print { .hd, .ftr, .pg-hero__toc, .pg-toc, .pg-next, .scrollbar-progress, .cookie-consent { display: none !important; } .pg-hero { min-height: 0; padding: 0; color: #000; background: #fff; } .pg-w { background: #fff; } }


/* =========================== POPRAVKI PO KRITIKIH (krog 1) =========================== */
body:not([data-page="home"]) .lm__in { transition-duration: 0.8s; transition-delay: 0s; }
.pg-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }
[id] { scroll-margin-top: 0; }
:where(.pg-hero__title, .pg-head .h2, .sp-feat__t, .ab-card__t, .ab-ind__t, .jb__t, .ce-doc__t, .ops__t, .te-flow__t, .sp-card__t, .ca-intro__q, .kband__title) { overflow-wrap: break-word; hyphens: manual; min-width: 0; }
.lt__head, .pg-head, .sp-feat__txt, .ab-card__txt, .ab-ind__row, .jb__title, .ce-doc__body, .eu__txt, .apply__aside, .lg-origin__txt, .ca-intro__grid > * { min-width: 0; }
@media (max-width: 760px) {
  .pg-hero__toc ol { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); padding-right: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .pg-hero__toc li, .js .pg-hero .pg-crumbs, .js .pg-hero__lead, .pg-hero__media img { opacity: 1 !important; transform: none !important; transition: none !important; }
  .te-dev .dev__step, .dev__step { opacity: 1 !important; }
  .ab-ind__img { transition: none !important; }
}
@media (max-width: 900px) { .te-dev .dev__step h3 { display: block; font-size: clamp(1.3rem, 6vw, 1.8rem); } .te-dev .dev__step { opacity: 0.55; } .te-dev .dev__step.is-on { opacity: 1; } }

/* pas s pozivom: dejstva v desnem stolpcu, gumb poravnan desno */
.pg-band .kband__side { align-self: center; justify-items: stretch; }
.pg-band__facts { display: grid; border-top: 1px solid rgba(255, 255, 255, 0.45); margin-bottom: 6px; }
.pg-band__facts li { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.45); }
.pg-band__facts span { font-size: 0.875rem; color: rgba(255, 255, 255, 0.82); }
.pg-band__facts b { font-family: var(--mono); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.02em; text-align: right; }
.pg-band .kband__btn { justify-self: end; }
@media (max-width: 900px) { .pg-band .kband__btn { justify-self: start; } }

/* kariera */
.ca-hero .pg-hero__shade { background: linear-gradient(180deg, rgba(11, 12, 14, 0.78) 0, rgba(11, 12, 14, 0.15) 34%, rgba(11, 12, 14, 0.12) 52%, rgba(11, 12, 14, 0.9) 100%), linear-gradient(90deg, rgba(11, 12, 14, 0.62) 0, rgba(11, 12, 14, 0.2) 52%, rgba(11, 12, 14, 0) 80%); }
.ca-offer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; border-bottom: 1px solid var(--rule); }
.ca-offer__grid li { min-height: 84px; gap: 16px; }
.ca-ico { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 0; background: none; stroke: var(--red); stroke-width: 1.6; }
.ca-offer__grid li:hover .ca-ico { background: none; stroke: var(--red); }
.ca-offer .wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 0.62fr); align-items: stretch; }
.ca-offer__img { min-height: 100%; }
.jb__t { margin: 0; }

/* kontakt: imenik kot urejena tabela po oddelkih */
.ct-dir { display: grid; gap: clamp(28px, 3vw, 44px); }
.ct-dir__g[hidden] { display: none; }
.ct-dir__h { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--steel); padding-bottom: 12px; border-bottom: 1px solid #0b0c0e; }
.ct-dir__list { display: grid; }
.ct-dir .ct-p { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 0.8fr); align-items: center; gap: 4px 24px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--rule); border-radius: 0; background: none; transition: background-color 0.25s, padding 0.35s var(--ease); }
.ct-dir .ct-p:hover { transform: none; box-shadow: none; background: #fff; padding-left: 14px; padding-right: 10px; }
.ct-dir .ct-p__n { font-size: 1.0625rem; font-weight: 640; font-stretch: 108%; }
.ct-dir .ct-p__r { margin: 0; font-size: 0.9375rem; color: var(--steel); }
.ct-dir .ct-p__c { display: flex; align-items: center; gap: 4px; }
.ct-dir .ct-p__t { font-size: 0.875rem; justify-self: end; }
@media (max-width: 900px) {
  .ct-dir .ct-p { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n t" "r r" "c c"; }
  .ct-dir .ct-p__n { grid-area: n; } .ct-dir .ct-p__t { grid-area: t; } .ct-dir .ct-p__r { grid-area: r; } .ct-dir .ct-p__c { grid-area: c; }
}

/* tehnologija */

/* logotip */
.lg-dl__svg { display: block; width: min(60%, 240px); color: #fff; }
.lg-dl__svg svg { width: 100%; height: auto; display: block; }

/* dokumenti: pregled politike, oznake skupin, razširljive vrstice */
.doc .policy-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 1.6em 0 2.4em; }
.doc .policy-feature { padding: 20px; border-radius: 14px; background: #f2f3f4; border: 1px solid rgba(11, 12, 14, 0.06); }
.doc .policy-feature span, .doc .general-terms__eyebrow { display: block; margin: 2em 0 0.4em; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; color: var(--red-2); }
.doc .policy-feature span { margin-top: 0; }
.doc .policy-feature h3 { margin: 0.3em 0 0.5em; font-size: 1.15rem; font-weight: 640; font-stretch: 110%; }
.doc .policy-feature p { font-size: 0.9375rem; }
.doc .policy-detail-grid { display: grid; gap: 0; }
.doc p, .doc li { max-width: 68ch; }
.doc details { border-top: 1px solid var(--rule); padding: 4px 0; }
.doc details:last-of-type { border-bottom: 1px solid var(--rule); }
.doc summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; cursor: pointer; list-style: none; font-weight: 600; }
.doc summary::-webkit-details-marker { display: none; }
.doc summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--rule); font-weight: 400; transition: transform 0.3s var(--ease); }
.doc details[open] summary::after { transform: rotate(45deg); }
@media (max-width: 760px) { .doc .policy-features { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .ca-offer .wrap { grid-template-columns: 1fr; } .ca-offer__img { min-height: 0; aspect-ratio: 16 / 10; } }


/* =========================== POPRAVKI PO KRITIKIH (krog 3) =========================== */
/* vrstni red razkrivanja: naslov hitro in prvi, vsebina rahlo za njim */
body:not([data-page="home"]) .lm__in { transition-duration: 0.55s; transition-delay: 0s; }
body:not([data-page="home"]) .js [data-rv], .js body:not([data-page="home"]) [data-rv] { transition-delay: max(var(--d, 0s), 0.12s); }
.js body:not([data-page="home"]) .lt__aside[data-rv] { transition-delay: 0.14s; }
@media (max-width: 700px) {
  body:not([data-page="home"]) .lm__in { transform: translate3d(0, 0.35em, 0); opacity: 0; transition: transform 0.4s var(--ease), opacity 0.35s ease; }
  body:not([data-page="home"]) .in .lm__in, body:not([data-page="home"]) .is-in .lm__in { transform: none; opacity: 1; }
}
.pg-hero__after { margin-top: clamp(20px, 2.2vw, 30px); }
.js .pg-hero__after { opacity: 0; transform: translate3d(0, 12px, 0); transition: opacity 0.8s ease 0.5s, transform 1s var(--ease) 0.5s; }
.js .pg-hero.is-in .pg-hero__after { opacity: 1; transform: none; }
.pg-crumbs a { display: inline-block; padding: 8px 2px; margin: -8px -2px; }

/* šport: vrednote kot kinetična tipografija */
.sp-goals__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px var(--g); align-items: start; }
.sp-goals__aside { position: sticky; top: calc(var(--hd-h) + 32px); display: grid; gap: 20px; }
.sp-goals__aside p { color: rgba(255, 255, 255, 0.74); max-width: 44ch; font-size: clamp(1.02rem, 1.15vw, 1.15rem); }
.sp-goals__aside .sp-goals__s { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.14); color: #fff; }
.sp-vals2 { display: grid; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.sp-vals2 li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: clamp(18px, 2.4vw, 34px) 0; border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.sp-vals2 h3 { font-size: clamp(2rem, 5vw, 4.6rem); font-weight: 640; font-stretch: 118%; line-height: 0.95; letter-spacing: -0.01em; text-transform: uppercase; overflow-wrap: break-word; min-width: 0; }
.sp-vals2 svg { width: clamp(34px, 3.4vw, 52px); height: auto; fill: none; stroke: var(--red); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.6s var(--ease); }
.sp-vals2 li:hover svg { transform: translate3d(-6px, 0, 0) scale(1.06); }
@media (max-width: 900px) { .sp-goals__grid { grid-template-columns: 1fr; } .sp-goals__aside { position: static; } }

/* politika: pregled kot povezave na razdelke */
.doc a.policy-feature { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 14px; padding: 16px 44px 16px 16px; text-decoration: none; color: inherit; transition: background-color 0.25s, border-color 0.25s; }
.doc a.policy-feature:hover { background: #fff; border-color: rgba(11, 12, 14, 0.18); }
.doc .policy-features { grid-template-columns: 1fr; gap: 8px; }
.doc .policy-feature__icon { display: block; width: 44px; height: 44px; }
.doc .policy-feature__icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: var(--red); stroke-width: 3; stroke-linejoin: round; }
.doc a.policy-feature span:not(.policy-feature__go) { margin: 0 0 2px; }
.doc .policy-feature__t { margin: 0; font-size: 1.05rem; font-weight: 640; font-stretch: 110%; line-height: 1.2; }
.doc .policy-feature__go { position: absolute; right: 14px; top: 50%; translate: 0 -50%; width: 18px; height: 18px; color: var(--red); margin: 0 !important; transition: transform 0.3s var(--ease); }
.doc .policy-feature__go svg { width: 100%; height: 100%; }
.doc a.policy-feature:hover .policy-feature__go { transform: translate3d(4px, 0, 0); }
.doc p + p { margin-top: 1em; }
.doc .general-terms__privacy-heading > span { display: block; margin: 2em 0 0.4em; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; color: var(--red-2); }

/* EU: fotografija pod besedilom (zunaj kartice) */
.eu-fig { margin-top: clamp(32px, 4vw, 56px); overflow: hidden; border-radius: 16px; aspect-ratio: 16 / 9; clip-path: inset(calc((1 - min(1, var(--p, 1) * 2.2)) * 10%) round 16px); }
.eu-fig img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.1 - min(1, var(--p, 1) * 2.2) * 0.1)); }
@media (prefers-reduced-motion: reduce) { .eu-fig { clip-path: none; } .eu-fig img { transform: none; } }

/* kontakt: zemljevid — gumb v kotu, slika ostane berljiva */
.pg-embed .embed--corner .embed__play { inset: auto auto 18px 18px; padding: 6px 18px 6px 6px; border-radius: 999px; background: rgba(11, 12, 14, 0.74); backdrop-filter: blur(8px); gap: 12px; }
.pg-embed .embed--corner .embed__icon { width: 44px; height: 44px; border: 0; background: var(--red); }
.pg-embed .embed--corner .embed__poster { opacity: 1; }
@media (max-width: 700px) { .pg-embed--map .embed__poster { object-position: 30% 60% !important; } }

/* galerija: barvno ozadje do naložitve, nežnejši začetek razkritja */
.ga__item { background: var(--bg, var(--ink-2)); }
.js .ga__item { clip-path: inset(8% 0 0 0 round 12px); opacity: 0.001; }

/* tehnologija: kartica ERP s ponazoritvijo kapacitet, enako visoke vrstice materialov */
.te-mini { position: relative; display: grid; gap: 7px; padding: 14px 0; border-block: 1px solid rgba(255, 255, 255, 0.1); }
.te-mini span { position: relative; height: 8px; border-radius: 4px; background: rgba(255, 255, 255, 0.05); }
.te-mini i { position: absolute; top: 0; bottom: 0; left: var(--x); width: var(--w); border-radius: 4px; background: rgba(255, 255, 255, 0.28); }
.te-mini span:nth-child(3) i { background: var(--red); }
@media (prefers-reduced-motion: no-preference) {
  .te-mini i { transform: scaleX(0); transform-origin: 0 50%; transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1) calc(0.3s + var(--i) * 0.08s); }
  .te-card--c.is-in .te-mini i { transform: none; animation: te-slide 6s ease-in-out calc(1.6s + var(--i) * 0.4s) infinite alternate; }
  @keyframes te-slide { 0%, 30% { left: var(--x); } 70%, 100% { left: calc(var(--x) + 12%); } }
}
.te-flow__t { font-size: clamp(1.15rem, 1.6vw, 1.6rem); }
.rod { min-height: 96px; align-content: start; }

/* kariera: fotografija ekipe v okvirju vsebine */
.ca-team-fig { max-width: var(--max); margin-inline: auto; padding-inline: var(--g); }
.ca-team-fig .pg-reveal__frame { height: min(72svh, 52vw); border-radius: var(--pg-r); }
.ca-team-fig figcaption.wrap { padding-inline: 0; }
@media (max-width: 640px) { .ca-offer__grid { grid-template-columns: 1fr; } }

/* logotip: rastlina se odkrije od spodaj navzgor */
.lg-origin__img img { clip-path: inset(calc((1 - clamp(0, (var(--p, 1) - 0.06) * 2.4, 1)) * 100%) 0 0 0); }

/* proizvodnja: brez šiva na vrhu razdelka dodelav */
.pr-fin__bg { inset: -1px 0; }

/* o podjetju: manjša izjava, ploščice na telefonu v vodoravnem traku */
.ab-intro .pg-scan__text { font-size: clamp(1.35rem, 2.3vw, 2.4rem); }
@media (max-width: 640px) {
  .pg-more__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-inline: calc(var(--g) * -1); padding-inline: var(--g); scrollbar-width: none; }
  .pg-more__grid::-webkit-scrollbar { display: none; }
  .pg-more__grid li { flex: 0 0 72%; scroll-snap-align: start; }
}

/* sponzorstvo: kultura kot uredniški prikaz (brez belih kartic) */
.sp-cul .sp-card { padding: 0; border: 0; border-radius: 0; background: none; gap: 18px; }
.sp-cul .sp-card__img { border-radius: var(--pg-r); aspect-ratio: 4 / 3; }
.sp-cul .sp-card__t, .sp-cul .sp-card p { padding: 0; }
.sp-cul .sp-card__t { padding-top: 6px; border-top: 1px solid var(--rule); padding-top: 18px; }
@media (min-width: 901px) { .sp-cul .sp-card:nth-child(2) { margin-top: clamp(60px, 8vw, 140px); } }

/* certifikati: dolge nemške besede */
.ce-sys__grid > * { min-width: 0; overflow-wrap: break-word; }

/* datoteke: obvestilo o neupoštevanih datotekah */
.drop__skip { margin-top: 10px; font-size: 0.875rem; color: var(--red-2, #c21d27); }
.drop__skip[hidden] { display: none; }
.form__msg:focus { outline: none; }
.form__msg:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) {
  .ops__live i { animation: none; }
  .js body:not([data-page="home"]) [data-rv] { transition: none; }
}
.doc .policy-feature-strip:first-child .policy-features { margin-top: 0; }


/* =========================== POPRAVKI PO KRITIKIH (krog 4) =========================== */
/* enoten znak nad naslovi razdelkov (rdeča poševnica) tudi pri samostojnih naslovih */
.ca-intro__q::before, .ce-sys__grid .h2::before, .sp-goals__aside .h2::before, .eu__txt .h2::before, .ct-rfq__aside .h2::before, .apply__aside .h2::before, .lg-origin__txt .h2::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 22px; background: var(--red); transform: skewX(-24deg); }
.eu__kick { font-family: inherit; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.02em; color: rgba(255, 255, 255, 0.6); }

/* naslednja stran: širina pisave kot pri vseh naslovih, puščica ima svoj stolpec */
.pg-next__t { font-stretch: 118%; }
.pg-next:hover .pg-next__t { font-stretch: 125%; }
.pg-next__a { column-gap: clamp(24px, 4vw, 64px); }

/* skeniranje besedila: zatemnjen del bolj berljiv */
.js .pg-scan .pg-scan__text { -webkit-mask-image: linear-gradient(180deg, #000 calc(var(--s, 1) * 100% - 2px), rgba(0, 0, 0, 0.32) calc(var(--s, 1) * 100% + 2px)); mask-image: linear-gradient(180deg, #000 calc(var(--s, 1) * 100% - 2px), rgba(0, 0, 0, 0.32) calc(var(--s, 1) * 100% + 2px)); }

/* o podjetju: kartice vrednot — besedilo sredinsko, večje, brez težke sence */
.ab-card__in { box-shadow: 0 -20px 50px -44px rgba(11, 12, 14, 0.35); }
.ab-card__txt { justify-content: center; }
.ab-card__txt p { font-size: clamp(1rem, 1.1vw, 1.0625rem); line-height: 1.6; }
.ab-team .pg-reveal__frame img { object-position: 50% 30% !important; }
@media (prefers-reduced-motion: reduce) { .ab-ind__d { max-height: none !important; opacity: 1 !important; margin-top: 10px; } }

/* proizvodnja: aktivni postopek označen s puščico (ni harmonika), večje besedilo zavihkov */
.ops__tab { font-size: 0.9375rem; }
.ops__tab i { width: 8px; height: 8px; background: none; border-top: 2px solid var(--red); border-right: 2px solid var(--red); transform: rotate(45deg) scale(0); transform-origin: 50% 50%; }
.ops__tab.is-on i { transform: rotate(45deg) scale(1); }
@media (max-width: 900px) { .pr-asm__img { min-height: 62vw; } }
@media (min-width: 901px) { .pr-asm__grid { align-items: stretch; } .pr-asm__img { min-height: 100%; } .pr-asm__img img { height: 100%; } }

/* tehnologija */
.te-card__code { font-family: var(--f); font-weight: 640; font-stretch: 118%; text-transform: uppercase; letter-spacing: -0.01em; }
.te-card figcaption b { font-size: clamp(1.25rem, 1.8vw, 1.9rem); }
.rod__bar { background: repeating-linear-gradient(90deg, rgba(11, 12, 14, 0.1) 0 1px, transparent 1px 10%); border-radius: 3px; }
.rod__bar i { width: calc(var(--v) * 1%); }
.te-mini span { height: 10px; border-radius: 5px; }
@media (max-width: 900px) {
  .te-dev .dev__grid { display: block; }
  .te-dev .dev__stage { position: sticky; top: var(--hd-h); height: 42svh; z-index: 2; margin-bottom: 24px; }
  .te-dev .dev__step, .te-dev .dev__step:first-child { min-height: 34svh; }
}

/* galerija: dva stolpca na telefonu */
@media (max-width: 600px) { .ga__grid { columns: 2; column-gap: 8px; } .ga__item { margin-bottom: 8px; border-radius: 10px; } .ga__cap { display: none; } }
.ga-hero__n b { font-size: clamp(2.4rem, 4vw, 3.4rem); }

/* kariera: vprašanje v sistemu naslovov */
.ca-intro__q { font-size: clamp(1.75rem, 3.3vw, 3.25rem); max-width: 18ch; }
.ca-intro__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); align-items: end; }
.ca-offer__grid { border-bottom: 0; }
.ca-offer__grid li { font-size: clamp(1rem, 1.15vw, 1.125rem); }
.choices--sm { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.choices--sm .choices__k { flex-basis: 100%; font-size: 0.8125rem; font-weight: 600; color: var(--steel); }
.jb__loc { font-stretch: 100%; text-transform: none; letter-spacing: 0; }

/* kontakt */
@media (max-width: 760px) { .ct-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--g) * -1); padding-inline: var(--g); } .ct-filter::-webkit-scrollbar { display: none; } .ct-filter button { flex: none; } }
.ct-rfq { padding-bottom: clamp(100px, 11vw, 180px); }

/* certifikati: znak v vrstici opisa (ne prekriva dokumenta), 2 stolpca na telefonu, opisi povezav */
.ce-doc__body { position: relative; }
.ce-doc__seal { right: 16px; top: 16px; bottom: auto; width: 36px; height: 36px; background: #f2f3f4; box-shadow: none; }
.ce-doc__seal svg { width: 24px; height: 24px; stroke: #0b0c0e; }
@media (max-width: 520px) { .ce__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ce-doc__body { padding: 14px !important; } .ce-doc__body p { display: none; } .ce-doc__seal { display: none; } }
.ce-links__t { display: grid; gap: 6px; }
.ce-links__t small { font-size: 0.9375rem; font-weight: 400; font-stretch: 100%; color: rgba(255, 255, 255, 0.6); max-width: 52ch; }
.ce-std li { min-width: 15ch; text-align: center; }

/* sponzorstvo / šport */
.sp-feat__t { font-size: clamp(1.8rem, 2.8vw, 2.7rem); }
.sp-chips li:first-child { border-color: rgba(255, 255, 255, 0.24); }
@media (min-width: 901px) { .sp-cul .sp-card:nth-child(2) { margin-top: 0; } .sp-cul .sp-card:nth-child(2) .sp-card__img { margin-top: clamp(40px, 6vw, 100px); } .sp-cul .sp-card:nth-child(1) .sp-card__img { margin-bottom: clamp(40px, 6vw, 100px); } }
.sp-goals__aside p, .sp-goals__aside .sp-goals__s { color: rgba(255, 255, 255, 0.78); }
.sp-hero .pg-hero__shade { background: linear-gradient(0deg, rgba(11, 12, 14, 0.92) 0, rgba(11, 12, 14, 0.4) 45%, rgba(11, 12, 14, 0.15) 70%, rgba(11, 12, 14, 0.55) 100%); }

/* EU: temna kartica financiranja */
.eu-fin { background: #14161a; color: #fff; border: 1px solid #262a30; }
.eu-fin__h, .eu-fin__k, .eu-fin__total small { color: rgba(255, 255, 255, 0.6); }
.eu-fin__bar { background: rgba(255, 255, 255, 0.1); }
.eu-fin__bar i:last-child { background: #fff; }
.eu-fin dl, .eu-fin dl div { border-color: rgba(255, 255, 255, 0.12); }
.eu-fin dt { color: rgba(255, 255, 255, 0.78); }
.eu-fin dt i { border-color: rgba(255, 255, 255, 0.35); }
.eu-fin dl div:nth-child(2) dt i { background: #fff; }
.eu-fig { aspect-ratio: 16 / 10; max-width: 560px; }
@media (max-width: 760px) { .eu__strip { grid-template-columns: auto minmax(0, 1fr); } .eu__strip > div:nth-of-type(2) { grid-column: 2; } }

/* glava brez fotografije (dokumenti, logotip): manjši rdeči trak, na telefonu brez prazne višine */
.pg-hero--plain::before { width: 30vw; height: 5.6vw; right: -2vw; top: 22%; }
@media (max-width: 760px) { .pg-hero--plain { min-height: 0; padding-top: calc(var(--hd-h) + 64px); } .pg-hero--plain::before { width: 42vw; height: 9vw; top: calc(var(--hd-h) + 12px); } }

/* logotip */
.lg-origin { padding-top: clamp(64px, 7vw, 110px); }
.lg-origin__img { background: #1a1c20; }
.lg-dl__card.is-red { background: #ef413c; border-color: #ef413c; }

/* dokumenti: kazalo — napredek kot črta, zloženo na telefonu */
.pg-toc__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pg-toc__h { display: inline-flex; align-items: center; gap: 4px; font: inherit; font-size: 0.8125rem; font-weight: 600; color: #0b0c0e; cursor: default; }
.pg-toc__h i { display: none; }
.pg-toc__bar { display: block; height: 2px; background: var(--rule); position: relative; overflow: hidden; }
.pg-toc__bar::after { content: ""; position: absolute; inset: 0; background: var(--red); transform: scaleX(var(--r, 0)); transform-origin: 0 50%; }
.pg-toc__acts { justify-content: flex-start; }
.pg-toc__acts .pg-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
@media (max-width: 900px) {
  .pg-toc { position: sticky !important; top: var(--hd-h); z-index: 5; padding: 12px 0; background: #fff; border-bottom: 1px solid var(--rule); }
  .pg-toc__h { cursor: pointer; min-height: 40px; }
  .pg-toc__h i { display: block; width: 8px; height: 8px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 0.3s var(--ease); }
  .pg-toc.is-open .pg-toc__h i { transform: rotate(225deg); }
  .pg-toc:not(.is-open) .pg-toc__list, .pg-toc:not(.is-open) .pg-toc__acts { display: none; }
  .pg-toc.is-open .pg-toc__list { max-height: 60svh; overflow: auto; }
}
.doc .general-terms__privacy-heading > span, .doc .general-terms__eyebrow { margin: 4em 0 10px; }
.doc .general-terms__privacy-heading h2, .doc .general-terms__eyebrow + h2 { margin-top: 0; }
.doc .policy-detail-grid h3 { margin: 1.6em 0 0.5em; font-size: 1.15rem; font-weight: 640; font-stretch: 108%; }
.doc .policy-detail .lead, .doc p.lead { font-size: 1.0625rem; }
.doc { hyphens: auto; }

/* dostopnost: večje tarče za drobne povezave, povečava brez lastnega pomika */
.pg-link { min-height: 24px; }
.lb__stage { overflow: hidden; }
.ca-team-fig { max-width: calc(1040px + 2 * var(--g)); }
@media (max-width: 640px) { .pg-more__grid { scroll-padding-inline: var(--g); } }


/* =========================== KROG 5 — zgradba po 3001 / 3003 / 8081 =========================== */
/* krajša glava podstrani (kot 3003) */
.pg-hero { min-height: clamp(460px, 70svh, 760px); }
@media (max-width: 760px) { .pg-hero { min-height: clamp(440px, 72svh, 640px); } }

/* oznaka z rdečo poševnico (kot 3003) */
.pg-mark { display: inline-flex; align-items: center; gap: 12px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--steel); }
.pg-mark::before { content: ""; flex: none; width: 18px; height: 2px; background: var(--red); transform: skewX(-24deg); }

/* besedilo, ki se obarva ob pomiku (kot 8081) */
.pg-words { font-size: clamp(1.5rem, 2.75vw, 2.85rem); font-weight: 420; font-stretch: 104%; line-height: 1.2; letter-spacing: -0.016em; text-wrap: pretty; max-width: 32ch; }
.js [data-words].is-words .w { opacity: 0.14; transition: opacity 0.12s linear; }

/* O podjetju: uvod (struktura 3003) + kolektiv levo od besedila */
.ab-st__grid { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 3.2fr); gap: 24px var(--g); align-items: start; }
.ab-st__grid > .pg-mark { margin-top: 1.1em; }
.ab-st__media { display: grid; grid-template-columns: 60vw minmax(0, 1fr); gap: clamp(32px, 4vw, 72px); align-items: center; margin-top: clamp(64px, 7vw, 120px); padding-right: max(var(--g), calc((100vw - var(--max)) / 2 + var(--g))); }
.ab-st__team { margin: 0; }
.ab-st__team a { display: block; overflow: hidden; border-radius: 0 var(--pg-r) var(--pg-r) 0; aspect-ratio: 16 / 10; cursor: zoom-in; clip-path: inset(0 calc((1 - min(1, var(--p, 1) * 2.2)) * 18%) 0 0 round 0 var(--pg-r) var(--pg-r) 0); }
.ab-st__team img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.1 - min(1, var(--p, 1) * 2.2) * 0.1)); transition: transform 1.2s var(--ease); }
.ab-st__team a:hover img { transform: scale(1.03); }
.ab-st__team figcaption { padding: 16px 0 0 var(--g); }
.ab-st__cols { display: grid; gap: 20px; max-width: 52ch; color: #3b4048; font-size: clamp(1rem, 1.05vw, 1.0625rem); line-height: 1.65; }
@media (max-width: 900px) {
  .ab-st__grid { grid-template-columns: 1fr; }
  .ab-st__grid > .pg-mark { margin-top: 0; }
  .ab-st__media { grid-template-columns: 1fr; padding-right: 0; }
  .ab-st__team a { border-radius: 0; clip-path: none; }
  .ab-st__cols { padding-inline: var(--g); max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .ab-st__team a { clip-path: none; } .ab-st__team img { transform: none; } }

/* O podjetju: partner zahtevnim industrijam (kot 3001 — fotografija v ozadju, steklena lista) */
.ab-pi { overflow: hidden; isolation: isolate; color: #fff; }
.ab-pi__bg { position: absolute; inset: 0; z-index: -2; }
.ab-pi__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; transform: scale(calc(1.15 - var(--p, 0.5) * 0.15)); }
.ab-pi::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.62) 46%, rgba(11, 12, 14, 0.86) 100%); }
.ab-pi__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 120px); align-items: center; min-height: clamp(560px, 72svh, 900px); }
.ab-pi__copy { display: grid; gap: 22px; align-content: center; }
.ab-pi__copy .pg-mark { color: rgba(255, 255, 255, 0.66); }
.ab-pi__copy p { color: rgba(255, 255, 255, 0.74); max-width: 50ch; font-size: clamp(1.02rem, 1.15vw, 1.15rem); line-height: 1.6; }
.ab-pi__list { padding: 6px 28px; border-radius: var(--pg-r); border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(11, 12, 14, 0.42); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.ab-pi__list li { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 4px; padding: clamp(18px, 1.8vw, 26px) 0; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.ab-pi__list li:first-child { border-top: 0; }
.ab-pi__list li::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--red); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.6s var(--ease); }
.ab-pi__list li:first-child::before { display: none; }
.ab-pi__list li:hover::before { transform: none; }
.ab-pi__list .pg-n { padding-top: 0.55em; color: #ff5a60; }
.ab-pi__list h3 { font-size: clamp(1.2rem, 1.7vw, 1.85rem); font-weight: 640; font-stretch: 112%; line-height: 1.05; text-transform: uppercase; transition: transform 0.45s var(--ease); }
.ab-pi__list li:hover h3 { transform: translateX(6px); }
.ab-pi__list p { margin-top: 8px; color: rgba(255, 255, 255, 0.66); font-size: 0.9375rem; line-height: 1.5; max-width: 52ch; }
@media (max-width: 900px) { .ab-pi__grid { grid-template-columns: 1fr; min-height: 0; } .ab-pi__list { padding: 4px 18px; } }

/* O podjetju: izjava direktorja */
.ab-quote { background: var(--ink); color: #fff; }
.ab-quote__in { position: relative; margin-inline: auto; display: grid; gap: clamp(24px, 3vw, 40px); justify-items: start; }
.ab-quote__mark { font-family: Georgia, "Times New Roman", serif; font-size: clamp(5rem, 9vw, 9rem); line-height: 0.6; height: 0.5em; color: var(--red); }
.ab-quote blockquote { margin: 0; }
.ab-quote blockquote p { font-size: clamp(1.9rem, 4.4vw, 4.6rem); font-weight: 500; font-stretch: 108%; line-height: 1.08; letter-spacing: -0.02em; max-width: 22ch; text-wrap: balance; }
.ab-quote figcaption { display: grid; gap: 4px; padding-top: 18px; border-top: 2px solid var(--red); min-width: 240px; }
.ab-quote figcaption b { font-size: 1.0625rem; font-weight: 600; }
.ab-quote figcaption span { font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }

/* O podjetju: potencial, vrednote, filozofija, okolje (kot 3001 — pripeta slika, tirnica) */
.ab-chap__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 120px); align-items: start; }
.ab-chap__visual { position: sticky; top: calc(var(--hd-h) + 3vh); aspect-ratio: 1 / 1; max-height: 74svh; border-radius: var(--pg-r); overflow: hidden; background: #dfe1e4; }
.ab-chap__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 0.8s var(--ease), transform 1.4s var(--ease); }
.ab-chap__img.is-on { opacity: 1; transform: none; }
.ab-chap__count { position: absolute; left: 16px; bottom: 16px; padding: 7px 11px; border-radius: 6px; background: rgba(11, 12, 14, 0.72); color: rgba(255, 255, 255, 0.7); font-family: var(--mono); font-size: 0.75rem; }
.ab-chap__count b { color: #fff; font-weight: 500; }
.ab-chap__list { position: relative; padding-left: clamp(22px, 2.4vw, 44px); }
.ab-chap__rail { position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: rgba(11, 12, 14, 0.12); }
.ab-chap__rail i { position: absolute; inset: 0; background: var(--red); transform-origin: top; transform: scaleY(var(--p, 0)); }
.ab-chap__item { display: flex; flex-direction: column; justify-content: center; gap: 16px; min-height: 56svh; padding-block: 32px; border-top: 1px solid rgba(11, 12, 14, 0.12); opacity: 0.4; transition: opacity 0.5s var(--ease); }
.ab-chap__item:first-child { border-top: 0; }
.ab-chap__item.is-on { opacity: 1; }
.ab-chap__t { font-size: clamp(1.75rem, 3.1vw, 3.1rem); font-weight: 640; font-stretch: 118%; line-height: 1; text-transform: uppercase; letter-spacing: -0.008em; text-wrap: balance; }
.ab-chap__item p { max-width: 50ch; color: #3b4048; font-size: clamp(1.02rem, 1.15vw, 1.15rem); line-height: 1.6; }
.ab-chap__inline { display: none; }
@media (max-width: 900px) {
  .ab-chap__grid { grid-template-columns: 1fr; }
  .ab-chap__visual, .ab-chap__rail { display: none; }
  .ab-chap__list { padding-left: 0; }
  .ab-chap__item { min-height: 0; opacity: 1; padding-block: 0 44px; border: 0; }
  .ab-chap__inline { display: block; margin: 0 0 8px; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; }
  .ab-chap__inline img { width: 100%; height: 100%; object-fit: cover; }
}
@media (prefers-reduced-motion: reduce) { .ab-chap__item { opacity: 1; } }

/* Proizvodnja: uvod (3003 + 8081), povzetek v štirih stolpcih in štiri fotografije (3001), kartice podrobnosti (3001) */
.pr-st .ab-st__grid { margin-bottom: clamp(48px, 6vw, 96px); }
.pr-facts--l { margin-top: clamp(40px, 5vw, 72px); }
.pr-facts--l .pr-fact::before { background: rgba(11, 12, 14, 0.14); }
.pr-facts--l .pr-fact dd small, .pr-facts--l .pr-fact dd em { color: #5a6069; }
.pr-facts--l .pr-fact dt { color: #5a6069; }
.pr-sum { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: var(--pg-r); overflow: hidden; background: linear-gradient(135deg, #e3262f, #b8141d); color: #fff; box-shadow: 0 30px 60px -40px rgba(185, 20, 29, 0.6); }
.pr-sum__col { position: relative; display: grid; align-content: start; gap: 12px; padding: clamp(22px, 2.2vw, 32px); border-left: 1px solid rgba(255, 255, 255, 0.18); transition: background-color 0.3s; }
.pr-sum__col:first-child { border-left: 0; }
.pr-sum__col:hover { background: rgba(0, 0, 0, 0.12); }
.pr-sum__top { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 0.75rem; color: rgba(255, 255, 255, 0.72); }
.pr-sum__top span:last-child { display: grid; place-items: center; min-width: 22px; height: 22px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; }
.pr-sum__col h3 { font-size: clamp(1.15rem, 1.5vw, 1.5rem); font-weight: 640; font-stretch: 112%; text-transform: uppercase; line-height: 1.05; }
.pr-sum__col p { font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, 0.86); padding-right: 24px; }
.pr-sum__go { position: absolute; right: clamp(18px, 2vw, 28px); bottom: clamp(18px, 2vw, 28px); width: 18px; height: 18px; transition: transform 0.35s var(--ease); }
.pr-sum__go svg { width: 100%; height: 100%; }
.pr-sum__col:hover .pr-sum__go { transform: translateX(4px); }
.pr-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 14px; align-items: start; }
.pr-photo { position: relative; margin: 0; overflow: hidden; border-radius: 14px; aspect-ratio: 3 / 4; background: #e3e5e8; }
.pr-photo:nth-child(even) { margin-top: clamp(24px, 3vw, 48px); }
.pr-photo img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.12 - var(--p, 0.5) * 0.12)); }
.pr-photo figcaption { position: absolute; left: 12px; bottom: 12px; display: flex; gap: 8px; padding: 6px 10px; border-radius: 6px; background: rgba(11, 12, 14, 0.72); color: #fff; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; }
.pr-photo figcaption span { color: #ff5a60; }
@media (max-width: 900px) { .pr-sum, .pr-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pr-sum__col:nth-child(3) { border-left: 0; } .pr-sum__col:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.18); } .pr-photo:nth-child(even) { margin-top: 0; } }
@media (max-width: 520px) { .pr-sum { grid-template-columns: 1fr; } .pr-sum__col { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); } .pr-sum__col:first-child { border-top: 0; } }

.pr-det__stack { display: grid; gap: clamp(20px, 2vw, 28px); }
.pr-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(460px, 56svh, 620px); overflow: hidden; border-radius: var(--pg-r); background: #fff; border: 1px solid rgba(11, 12, 14, 0.08); box-shadow: 0 30px 60px -44px rgba(11, 12, 14, 0.4); }
.pr-card--flip .pr-card__media { order: 2; }
.pr-card__media { position: relative; margin: 0; overflow: hidden; background: #dfe1e4; }
.pr-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.1 - var(--p, 0.5) * 0.1)); }
.pr-card__copy { display: grid; align-content: center; gap: 18px; padding: clamp(28px, 4vw, 64px); }
.pr-card__copy .h2 { font-size: clamp(1.75rem, 3vw, 3rem); }
.pr-card__lead { color: #3b4048; max-width: 46ch; font-size: clamp(1.02rem, 1.15vw, 1.15rem); line-height: 1.6; }
.pr-idx { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin-top: 6px; }
.pr-idx li { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: baseline; padding: 11px 0; border-top: 1px solid rgba(11, 12, 14, 0.12); font-size: 0.9375rem; font-weight: 600; }
.pr-card--dark { background: #131519; color: #fff; border-color: rgba(255, 255, 255, 0.08); }
.pr-card--dark .pg-mark { color: rgba(255, 255, 255, 0.6); }
.pr-card--dark .pr-card__lead { color: rgba(255, 255, 255, 0.74); }
.pr-card--dark .pr-idx li { border-color: rgba(255, 255, 255, 0.12); }
.pr-card--dark .pr-rule__scale { border-color: rgba(255, 255, 255, 0.6); }
.pr-card--dark .pr-rule__read small, .pr-card--dark .pr-rule__cap { color: rgba(255, 255, 255, 0.6); }
.pr-card .pr-rule { margin-top: 10px; }
@media (max-width: 900px) { .pr-card { grid-template-columns: 1fr; } .pr-card--flip .pr-card__media { order: 0; } .pr-card__media { aspect-ratio: 16 / 10; } }
@media (max-width: 520px) { .pr-idx { grid-template-columns: 1fr; } }
.pr-card--dark .pr-rule__scale { background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 1px, transparent 1px) 0 100% / 10% 100% repeat-x, linear-gradient(90deg, rgba(255, 255, 255, 0.4) 1px, transparent 1px) 0 100% / 2% 40% repeat-x; }

/* Tehnologija: uvod in materiali (kot 3001 — oznake, fotografija, kartica z deleži) */
.te-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.te-mat2__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px var(--g); align-items: end; margin-bottom: clamp(36px, 4vw, 60px); }
.te-mat2__top .h2 { margin-top: 20px; }
.te-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.te-chips li { padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.12); font-size: 0.875rem; font-weight: 600; }
.te-chips .te-chips__more { background: none; border-style: dashed; color: #5a6069; font-weight: 500; }
.te-mat2__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 16px; align-items: stretch; }
.te-mat2__img { position: relative; margin: 0; overflow: hidden; border-radius: var(--pg-r); min-height: 420px; background: #dfe1e4; }
.te-mat2__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.1 - var(--p, 0.5) * 0.1)); }
.te-chart { display: grid; align-content: start; gap: 20px; padding: clamp(24px, 3vw, 44px); border-radius: var(--pg-r); background: #fff; border: 1px solid rgba(11, 12, 14, 0.08); box-shadow: 0 30px 60px -44px rgba(11, 12, 14, 0.4); }
.te-chart__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.te-chart__head h3 { font-size: clamp(1.1rem, 1.4vw, 1.4rem); font-weight: 640; font-stretch: 108%; }
.te-chart__head span { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; color: #5a6069; text-transform: uppercase; }
.te-chart__stack { display: flex; height: 14px; gap: 3px; border-radius: 7px; overflow: hidden; }
.te-chart__stack span { flex: var(--v) 0 0; background: var(--c); transform: scaleX(0); transform-origin: 0 50%; transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1) calc(0.15s + var(--i) * 0.09s); }
.te-chart.is-in .te-chart__stack span { transform: none; }
.te-chart__rows li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid rgba(11, 12, 14, 0.1); font-size: 0.9375rem; font-weight: 600; }
.te-chart__rows i { width: 10px; height: 10px; border-radius: 2px; background: var(--c); }
.te-chart__rows b { font-family: var(--mono); font-size: 1.05rem; font-weight: 500; }
.te-chart :is(span, li):nth-child(1) { --c: #e3262f; } .te-chart :is(span, li):nth-child(2) { --c: #8f1219; } .te-chart :is(span, li):nth-child(3) { --c: #f07a7f; }
.te-chart :is(span, li):nth-child(4) { --c: #5a6069; } .te-chart :is(span, li):nth-child(5) { --c: #9aa1aa; } .te-chart :is(span, li):nth-child(6) { --c: #c9cdd2; }
.te-chart__rows b span { --c: none; }
@media (max-width: 900px) { .te-mat2__top, .te-mat2__grid { grid-template-columns: 1fr; } .te-mat2__img { min-height: 62vw; } .te-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .te-chart__stack span { transform: none; } }

/* Kariera: uvod kot O podjetju (vprašanje, obarvano besedilo, ekipa levo, ponudba desno) */
.ca-st__body { display: grid; gap: 28px; justify-items: start; }
.ca-st__body .pg-words { font-size: clamp(1.3rem, 2.2vw, 2.25rem); max-width: 36ch; }
.ca-st__acts { display: flex; flex-wrap: wrap; gap: 12px; }
.ca-st__h { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #5a6069; margin-bottom: 8px; }
.ca-st__list li { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 14px; padding: 15px 0; border-top: 1px solid rgba(11, 12, 14, 0.12); font-size: clamp(1rem, 1.1vw, 1.0625rem); font-weight: 600; }
.ca-st__list li:last-child { border-bottom: 1px solid rgba(11, 12, 14, 0.12); }
.ca-st__list .ca-ico { width: 26px; height: 26px; fill: none; stroke: var(--red); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .ca-st__offer { padding-inline: var(--g); } }

/* glava: ključni podatki (kot 3001 / 3003 Kontakt) */
.pg-hero__facts { display: flex; flex-wrap: wrap; gap: 14px clamp(28px, 4vw, 56px); padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.pg-hero__facts li { display: grid; gap: 4px; }
.pg-hero__facts a, .pg-hero__facts span { font-size: clamp(1.15rem, 1.8vw, 1.75rem); font-weight: 600; font-stretch: 104%; letter-spacing: -0.01em; color: #fff; }
.pg-hero__facts a { background: linear-gradient(var(--red), var(--red)) 0 100% / 0 2px no-repeat; transition: background-size 0.4s var(--ease); }
.pg-hero__facts a:hover { background-size: 100% 2px; }
.pg-hero__facts small { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }

/* Certifikati: dokumenti 2 × 2 (kot 3001), kako zagotavljamo kakovost, stik službe za kakovost */
.ce__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ce__grid--2 .ce-doc { grid-template-rows: none; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); }
.ce__grid--2 .ce-doc__paper { height: 100%; min-height: 300px; }
.ce__grid--2 .ce-doc__body { align-content: center; padding: clamp(22px, 2.6vw, 36px) !important; }
.ce__grid--2 .ce-doc__t { font-size: clamp(1.3rem, 1.9vw, 1.9rem); }
@media (max-width: 760px) { .ce__grid--2 { grid-template-columns: 1fr; } .ce__grid--2 .ce-doc { grid-template-columns: 0.8fr 1fr; } .ce__grid--2 .ce-doc__body p { display: block; } .ce__grid--2 .ce-doc__paper { min-height: 220px; } }
.ce-sys__grid { align-items: start; }
.ce-sys__grid .pg-mark { color: rgba(255, 255, 255, 0.6); margin-bottom: 20px; }
.ce-sys__grid .h2::before { display: none; }
.ce-qa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 16px; overflow: hidden; }
.ce-qa li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 4px; padding: clamp(18px, 2vw, 28px); border-right: 1px solid rgba(255, 255, 255, 0.12); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.ce-qa li:nth-child(2n) { border-right: 0; } .ce-qa li:nth-child(n+3) { border-bottom: 0; }
.ce-qa b { display: block; font-size: 1.0625rem; font-weight: 600; margin-bottom: 6px; }
.ce-qa p { font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, 0.66); }
.ce-who { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: clamp(40px, 5vw, 72px); padding: 14px 14px 14px 18px; border-radius: 999px; background: #131519; border: 1px solid rgba(255, 255, 255, 0.1); font-size: 0.9375rem; }
.ce-who__av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--red); font-family: var(--mono); font-size: 0.75rem; }
.ce-who > div { display: grid; margin-right: auto; }
.ce-who > div span { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.ce-who > a:not(.ce-who__btn) { color: rgba(255, 255, 255, 0.8); } .ce-who > a:not(.ce-who__btn):hover { color: #fff; text-decoration: underline; }
.ce-who__btn { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 6px 0 18px; border-radius: 999px; background: #fff; color: #0b0c0e; font-weight: 600; }
.ce-who__btn span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--red); color: #fff; }
.ce-who__btn svg { width: 15px; height: 15px; }
.ce-links--row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; margin-top: clamp(28px, 3vw, 44px); border-top: 0; }
.ce-links--row a { align-items: flex-start; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.ce-links--row .ce-links__t b { font-size: clamp(1rem, 1.25vw, 1.2rem); }
@media (max-width: 900px) { .ce-qa, .ce-links--row { grid-template-columns: 1fr; } .ce-qa li { border-right: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important; } .ce-who { border-radius: 18px; } }
.ab-chap__t, .ab-pi__list h3, .pr-sum__col h3, .te-mat2__top .h2, .pr-card__copy .h2 { overflow-wrap: break-word; min-width: 0; } .ab-chap__item, .ab-chap__list, .pr-card__copy, .te-mat2__top > div { min-width: 0; }

/* O podjetju: kolektiv v celoti (brez obrezovanja po širini) */
.ab-st__team a { aspect-ratio: 2320 / 1078; }
.ab-st__team a:hover img { transform: none; }
.ab-st__team img { object-position: 50% 50% !important; }

/* O podjetju: kolektiv v celoti (brez obrezovanja po širini) */
.ab-st__team a { aspect-ratio: 2320 / 1078; }
.ab-st__team a:hover img { transform: none; }
.ab-st__team img { object-position: 50% 50% !important; }

/* O podjetju: fotografija panoge ob kazalcu */
.ab-pi__peek { position: absolute; left: 0; top: 0; z-index: 3; width: clamp(220px, 20vw, 320px); aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; pointer-events: none; opacity: 0; scale: 0.82; transition: opacity 0.3s ease, scale 0.45s var(--ease); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.7); background: #1a1c20; will-change: transform; }
.ab-pi__peek.is-on { opacity: 1; scale: 1; }
.ab-pi__peek img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.35s ease; }
.ab-pi__peek img.is-on { opacity: 1; }
.ab-pi__list li { cursor: default; }
@media (hover: none), (pointer: coarse) { .ab-pi__peek { display: none; } }

/* O podjetju: izjava direktorja s fotografijo */
.ab-quote__in { grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 6vw, 110px); justify-items: stretch; }
.ab-quote__ph { position: relative; overflow: hidden; border-radius: var(--pg-r); aspect-ratio: 4 / 5; background: #1a1c20; clip-path: inset(calc((1 - min(1, var(--p, 1) * 2.2)) * 12%) 0 0 0 round var(--pg-r)); }
.ab-quote__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; filter: grayscale(1) contrast(1.05); transform: scale(calc(1.12 - min(1, var(--p, 1) * 2.2) * 0.12)); }
.ab-quote__txt { display: grid; gap: clamp(22px, 2.6vw, 36px); justify-items: start; }
.ab-quote blockquote p { font-size: clamp(1.8rem, 3.6vw, 3.8rem); max-width: 20ch; }
@media (max-width: 760px) { .ab-quote__in { grid-template-columns: 1fr; } .ab-quote__ph { max-width: 320px; } }
@media (prefers-reduced-motion: reduce) { .ab-quote__ph { clip-path: none; } .ab-quote__ph img { transform: none; } }

/* Logotip: neposredni prenos posamezne različice */
.lg-dl__card figcaption { display: flex; justify-content: space-between; align-items: center; gap: 12px; align-self: end; width: 100%; }
.lg-dl__files { display: flex; gap: 6px; }
.lg-dl__files a { padding: 4px 9px; border-radius: 999px; border: 1px solid currentColor; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; opacity: 0.8; transition: opacity 0.2s, background-color 0.2s; }
.lg-dl__files a:hover { opacity: 1; background: rgba(127, 127, 127, 0.18); }
@media (min-width: 761px) { .ab-quote__in { grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr); } }
.ab-quote__ph { aspect-ratio: 860 / 630; }
.ab-quote__ph img { object-position: 50% 40%; filter: grayscale(1) contrast(1.08); }

/* Logotip: rastlina se le rahlo poveča (brez odkrivanja) */
.lg-origin__img img { clip-path: none !important; transform: scale(calc(1 + min(1, var(--p, 0.5)) * 0.08)); transition: none; }
@media (prefers-reduced-motion: reduce) { .lg-origin__img img { transform: none; } }
/* direktor – nova fotografija (Podjetno, april 2026) */
.ab-quote__ph { aspect-ratio: 1166 / 854; }
.ab-quote__ph img { object-position: 60% 20%; }
/* direktor – nazaj na sliko 2 (Svet24) */
.ab-quote__ph { aspect-ratio: 860 / 630; }
.ab-quote__ph img { object-position: 50% 40%; }
/* direktor – slika 1 (8081) */
.ab-quote__ph { aspect-ratio: 800 / 533; }
.ab-quote__ph img { object-position: 50% 30%; }
/* direktor – slika 1 v prejšnji velikosti */
.ab-quote__ph { aspect-ratio: 860 / 630; }
.ab-quote__ph img { object-position: 50% 20%; }
@media (min-width: 761px) { .ab-quote__in { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr); } }
/* Certifikati – kartica dovolj visoka, da je ob lebdenju viden cel certifikat */
.ce__grid--2 .ce-doc__paper { height: auto; min-height: 0; aspect-ratio: auto; padding: 22px; align-self: stretch; display: flex; align-items: center; }
.ce__grid--2 .ce-doc__paper img { display: block; transform: translate3d(0, 10%, 0); }
.ce__grid--2 .ce-doc.is-in .ce-doc__paper img { transform: translate3d(0, 4%, 0); }
.ce__grid--2 .ce-doc:hover .ce-doc__paper img { transform: none; }
html:not(.js) .ce__grid--2 .ce-doc__paper img { transform: none; }
.ce-sys .ce-who { margin-top: 0; }
.ce-sys { padding-block: clamp(48px, 5vw, 80px); }
/* Certifikati – služba za kakovost + dokumenti v svetlem slogu kartic certifikatov */
.ce-sys--light { padding-block: 0 clamp(64px, 7vw, 110px); color: #0b0c0e; }
.ce-sys--light .ce-who { border-radius: 16px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.1); padding: 18px 18px 18px 22px; color: #0b0c0e; }
.ce-sys--light .ce-who > div span { color: var(--steel, #5a6069); }
.ce-sys--light .ce-who > div b { font-size: 1.05rem; }
.ce-sys--light .ce-who > a:not(.ce-who__btn) { color: #3b4048; } .ce-sys--light .ce-who > a:not(.ce-who__btn):hover { color: #0b0c0e; }
.ce-sys--light .ce-who__btn { background: #0b0c0e; color: #fff; }
.ce-sys--light .ce-links--row { gap: 18px; margin-top: 18px; }
.ce-sys--light .ce-links--row a { height: 100%; padding: 24px 24px 26px; border: 1px solid rgba(11, 12, 14, 0.1); border-radius: 16px; background: #fff; color: #0b0c0e; transition: box-shadow 0.5s var(--ease), border-color 0.3s; }
.ce-sys--light .ce-links--row a:hover { padding-left: 24px; color: #0b0c0e; box-shadow: 0 30px 60px -36px rgba(11, 12, 14, 0.35); border-color: rgba(11, 12, 14, 0.18); }
.ce-sys--light .ce-links__t small { color: #5a6069; }
.ce-sys--light .ce-links--row svg { color: var(--red); }
section.ce:has(+ .ce-sys--light) { padding-bottom: 18px; }
/* O podjetju – Več o podjetju: 4 ploščice (EU projekti samo v nogi) */
@media (min-width: 1101px) { .pg-more__grid:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Footgolf: okvir v razmerju fotografije, da nihče iz ekipe ni odrezan */
#footgolf .sp-feat__img { aspect-ratio: 1600 / 519; align-self: center; }
#footgolf .sp-feat__img img { object-position: 50% 50% !important; }
/* Footgolf: fotografija čez celo širino vsebine pod besedilom (naslov levo, besedilo desno) */
#footgolf.sp-feat { grid-template-columns: 1fr; }
#footgolf .sp-feat__img { order: 2; width: 100%; }
@media (min-width: 901px) {
  #footgolf .sp-feat__txt { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); column-gap: var(--g); align-items: start; }
  #footgolf .sp-feat__txt > * { grid-column: 2; }
  #footgolf .sp-feat__t { grid-column: 1; grid-row: 1 / span 9; }
}
/* Footgolf: slika se ob pomiku odmegli iz črne — najprej povsem črna, nato vse svetlejša, dokler ni prikazana normalno
   (brez obrezovanja in povečave; ko je slika malo pod sredino zaslona, je v celoti prikazana) */
#footgolf .sp-feat__img { --q: min(1, var(--p, 1) * 2.4); background: #000; }
#footgolf .sp-feat__img img { clip-path: none; transform: none; opacity: var(--q); }
@media (prefers-reduced-motion: reduce) { #footgolf .sp-feat__img img { opacity: 1; } }

/* ===== Proizvodnja v razporeditvi kot na 3001 (z grafiko 3002):
   glava z oznako, naslovom, opisom in številkami → rdeč povzetek, ki prekrije spodnji rob glave → 4 fotografije v ravni vrsti ===== */
.pr-hero { --ov: clamp(64px, 6vw, 104px); min-height: clamp(620px, 96svh, 1040px); }
.pr-hero .pg-hero__in { padding-bottom: calc(clamp(36px, 4vw, 60px) + var(--ov)); }
.pr-hero__tag { display: flex; align-items: center; gap: 10px; margin-bottom: clamp(12px, 1.4vw, 20px); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: #ff5a60; }
.pr-hero__tag i { width: 6px; height: 6px; background: var(--red); }
.js .pr-hero__tag { opacity: 0; transform: translate3d(0, 12px, 0); transition: opacity 0.8s ease 0.25s, transform 1s var(--ease) 0.25s; }
.js .pg-hero.is-in .pr-hero__tag { opacity: 1; transform: none; }
.pr-hero .pg-hero__lead { max-width: 46ch; }
.pr-facts--hero { margin-top: 0; max-width: 980px; }
.pr-hero .pg-hero__after { margin-top: clamp(28px, 3.2vw, 48px); }
.pr-facts--hero .pr-fact dd .num { font-size: clamp(2.2rem, 3.4vw, 3.6rem); }
.pr-facts--hero .pr-fact dt { font-size: 0.875rem; }
.pr-st--over { padding-top: 0; display: flow-root; }
.pr-st--over .pr-sum { position: relative; z-index: 3; margin-top: calc(-1 * var(--ov, clamp(64px, 6vw, 104px))); box-shadow: 0 34px 70px -34px rgba(120, 10, 16, 0.55); }
.pr-st--over .pr-photos { margin-top: clamp(14px, 1.4vw, 22px); align-items: stretch; }
.pr-st--over .pr-photo:nth-child(even) { margin-top: 0; }
@media (max-width: 900px) { .pr-hero { --ov: 48px; } }
@media (max-width: 760px) { .pr-hero { min-height: 0; padding-top: calc(var(--hd-h) + 36px); } .pr-hero__tag { align-items: flex-start; } .pr-hero__tag i { margin-top: 5px; flex: none; } }

/* Proizvodnja: slika v glavi malo temnejša (boljša berljivost besedila in številk) */
.pr-hero .pg-hero__media img { filter: brightness(0.7) saturate(0.92); }

/* Proizvodnja: predpona pred številko (npr. EN 9100) */
.pr-fact dd .pr-fact__pre { order: -1; font-style: normal; font-family: var(--mono); font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
.pr-facts .pr-fact dd .pr-fact__tight { margin-left: -8px; }

/* Proizvodnja – glava: trije ključni podatki (brez 5-osne obdelave) */
.pr-facts--hero { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 760px; }
@media (max-width: 900px) { .pr-facts--hero { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Tehnologija – materiali kot besedilo namesto oznak */
.te-mat2__txt { max-width: 46ch; font-size: clamp(1.1rem, 1.35vw, 1.35rem); line-height: 1.6; color: #3b4048; }

/* Tehnologija – glava 1:1 po različici 3003 (.ph, .crumbs, .h1, .lead, .subnav) */
.p3ph { position: relative; isolation: isolate; min-height: clamp(460px, 70svh, 760px); display: flex; align-items: flex-end; overflow: hidden; padding-top: var(--hd-h); background: #0b0c0e; color: #fff; }
.p3ph__media, .p3ph__shade { position: absolute; inset: 0; z-index: -2; }
.p3ph__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.88) contrast(1.03); }
.p3ph__shade { z-index: -1; background:
  linear-gradient(180deg, rgba(11, 12, 14, 0.6) 0%, rgba(11, 12, 14, 0) 26%),
  linear-gradient(0deg, rgba(11, 12, 14, 0.9) 0%, rgba(11, 12, 14, 0.35) 48%, rgba(11, 12, 14, 0.1) 100%),
  linear-gradient(90deg, rgba(11, 12, 14, 0.5) 0%, rgba(11, 12, 14, 0) 55%); }
.p3ph__in { display: grid; gap: 22px; padding-block: 48px clamp(44px, 5.6vw, 84px); width: 100%; }
.p3ph__title { margin: 0; font-size: clamp(2.1rem, 6.8vw, 6.6rem); font-weight: 640; font-stretch: 122%; line-height: 0.96; letter-spacing: -0.012em; text-transform: uppercase; text-wrap: balance; }
.p3ph__lead { margin: 0; max-width: 52ch; font-size: clamp(1.125rem, 1.35vw, 1.375rem); line-height: 1.55; font-weight: 400; color: rgba(255, 255, 255, 0.74); text-wrap: pretty; }
.p3crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.p3crumbs a:hover, .p3crumbs [aria-current] { color: #fff; }
@media (prefers-reduced-motion: no-preference) {
  .p3ph__title { animation: p3rise 1.1s var(--ease) 0.05s both; }
  .p3ph__lead { animation: p3fadeup 1s var(--ease) 0.35s both; }
  .p3ph__media img { animation: p3settle 2.2s var(--ease) both; }
  @keyframes p3rise { from { clip-path: inset(0 0 100% 0); transform: translateY(24px); } to { clip-path: inset(0 0 0 0); transform: none; } }
  @keyframes p3fadeup { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  @keyframes p3settle { from { transform: scale(1.06); } to { transform: none; } }
}
@media (max-width: 700px) { .p3ph__media img { object-position: 55% 50% !important; } }
.p3sub { position: relative; z-index: 30; background: #fff; border-bottom: 1px solid rgba(11, 12, 14, 0.14); }
.p3sub__in { display: flex; gap: 8px 36px; overflow-x: auto; scrollbar-width: none; }
.p3sub__in::-webkit-scrollbar { display: none; }
.p3sub a { flex: none; padding: 20px 0 18px; font-size: 0.8125rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.13em; text-transform: uppercase; color: #5f6670; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; }
.p3sub a:hover { color: #0b0c0e; border-color: #ee2d38; }
@media (max-width: 760px) { .p3sub__in { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); padding-right: 48px; } }

/* O podjetju – drobtinice v slogu 3003 */
.pg-hero.p3c .pg-crumbs { font-family: var(--f); font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); gap: 10px; }
.pg-hero.p3c .pg-crumbs a { color: rgba(255, 255, 255, 0.6); }
.pg-hero.p3c .pg-crumbs a:hover { color: #fff; text-decoration: none; }
.pg-hero.p3c .pg-crumbs__sep { color: inherit; }
.pg-hero.p3c .pg-crumbs [aria-current] { color: #fff; }

/* Drobtinice na vseh podstraneh: slog 3003, »/« rdeča, povezava bela, trenutna stran siva */
.pg-hero .pg-crumbs, .p3crumbs { font-family: var(--f); font-size: 0.75rem; font-weight: 600; font-stretch: 110%; letter-spacing: 0.14em; text-transform: uppercase; gap: 10px; }
.pg-hero .pg-crumbs a, .pg-hero.p3c .pg-crumbs a, .p3crumbs a { color: #fff; }
.pg-hero .pg-crumbs a:hover, .p3crumbs a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.pg-hero .pg-crumbs__sep, .pg-hero.p3c .pg-crumbs__sep, .p3crumbs > span[aria-hidden] { color: var(--red); }
.pg-hero .pg-crumbs [aria-current], .pg-hero.p3c .pg-crumbs [aria-current], .p3crumbs [aria-current] { color: rgba(255, 255, 255, 0.6); }

/* Kazalo pod glavo na vseh podstraneh: bela vrstica kot pri 3003 (brez številk) */
.pg-hero__toc { z-index: 2; background: #fff; border-top: 0; border-bottom: 1px solid rgba(11, 12, 14, 0.14); }
.pg-hero__toc ol { gap: 8px 36px; }
.pg-hero__toc .pg-n { display: none; }
.pg-hero__toc a { min-height: 0; padding: 20px 0 18px; font-size: 0.8125rem; letter-spacing: 0.13em; color: #5f6670; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; }
.pg-hero__toc a::after { display: none; }
.pg-hero__toc a:hover { color: #0b0c0e; border-color: var(--red); }
@media (max-width: 760px) { .pg-hero__toc a { min-height: 0; } }

/* Kazalo pod glavo (vse podstrani): ostane prilepljeno pod menijem kot pri 3003 */
.pg-subnav { --surface: #fff; --steel: #5f6670; --fg: #0b0c0e; --rule: rgba(11, 12, 14, 0.14); background: #fff; color: #0b0c0e; }
.pg-subnav .subnav__in { gap: 8px 36px; }
.pg-subnav a:hover { border-color: var(--red); }

/* Tehnologija – kamera za obrabo orodja (po 8081) */
.te-ai { background: #0b0c0e; color: #fff; }
.te-ai__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 110px); align-items: center; }
.te-ai__media { position: relative; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--pg-r, 16px); background: #131519; }
.te-ai__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.te-ai__hud { position: absolute; inset: 0; pointer-events: none; }
.te-ai__box { position: absolute; left: 34%; top: 32%; width: 9%; height: 45%; border: 1.5px solid #3ddc84; box-shadow: 0 0 0 1px rgba(61, 220, 132, 0.25), 0 0 24px rgba(61, 220, 132, 0.25); overflow: hidden; }
.te-ai__lbl { position: absolute; left: -1.5px; bottom: 100%; margin-bottom: 6px; padding: 3px 7px; background: #3ddc84; color: #0b0c0e; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.08em; white-space: nowrap; }
.te-ai__box { overflow: visible; }
.te-ai__scan { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: #3ddc84; box-shadow: 0 0 12px #3ddc84; animation: teAiScan 2.6s ease-in-out infinite alternate; }
@keyframes teAiScan { from { top: 0; } to { top: calc(100% - 2px); } }
@media (prefers-reduced-motion: reduce) { .te-ai__scan { animation: none; top: 50%; } }
.te-ai__txt .pg-mark { color: rgba(255, 255, 255, 0.6); }
.te-ai__pill { display: inline-block; margin: 22px 0 18px; padding: 6px 12px; border-radius: 999px; background: var(--red); color: #fff; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; }
.te-ai__txt .h2 { color: #fff; }
.te-ai__p { margin-top: 22px; max-width: 46ch; font-size: clamp(1.05rem, 1.25vw, 1.25rem); line-height: 1.6; color: rgba(255, 255, 255, 0.72); }
@media (max-width: 900px) { .te-ai__grid { grid-template-columns: 1fr; } }

/* Tehnologija – kako poteka povpraševanje (po 8081) + gumb na kontakt */
.te-rfq__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: clamp(32px, 4vw, 56px); }
.te-rfq__head .h2 { margin-top: 20px; }
.te-rfq__btn { background: #0b0c0e; color: #fff; }
.te-rfq__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.te-rfq__list li { display: grid; align-content: start; gap: 10px; padding: 22px 22px 26px; border-radius: 16px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.1); }
.te-rfq__n { font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 560; font-stretch: 112%; line-height: 1; color: var(--red); }
.te-rfq__list h3 { margin-top: 18px; font-size: 1.05rem; font-weight: 640; color: #0b0c0e; }
.te-rfq__list p { font-size: 0.9375rem; line-height: 1.55; color: #5a6069; }
@media (max-width: 1100px) { .te-rfq__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .te-rfq__list { grid-template-columns: 1fr; } }
.te-ai__box { left: 61%; top: 14%; width: 18%; height: 46%; }
.te-ai__pill { display: table; }

/* Tehnologija – »Kamera, ki vidi obrabo orodja« 1:1 po 8081 (.ai, .tag, .pill, .h2, .lead) */
.p8ai { position: relative; background: #070809; color: #f1f0ec; padding-block: clamp(64px, 7vw, 110px) clamp(84px, 10vw, 160px); }
.p8ai__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: center; }
.p8ai__media { position: relative; border-radius: 4px; overflow: hidden; aspect-ratio: 4 / 3.4; }
.p8ai__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p8ai__hud { position: absolute; inset: 0; pointer-events: none; }
/* okvir stalne velikosti se počasi in tekoče premika (transform, brez preračunavanja postavitve);
   robovi vedno ostanejo zunaj reznega orodja (orodje ≈ x 30,9–39,8 %, y 33,5–78 %) */
.p8ai__hud { animation: p8aibox 10s ease-in-out infinite; will-change: transform; }
.p8ai__box { position: absolute; left: 28.4%; top: 30.5%; width: 13%; height: 50%; border: 1.5px solid #3ddc84; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); }
.p8ai__lbl { position: absolute; left: 28.4%; top: calc(30.5% - 24px); white-space: nowrap; background: #3ddc84; color: #06180d; padding: 3px 7px; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.06em; text-transform: uppercase; }
.p8ai__scan { position: absolute; left: -2%; right: -2%; height: 2px; background: rgba(61, 220, 132, 0.8); box-shadow: 0 0 20px rgba(61, 220, 132, 0.8); animation: p8aiscan 6.5s linear infinite; }
@keyframes p8aiscan { from { top: 0; } to { top: 100%; } }
@keyframes p8aibox {
  0%, 100% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(0.6%, -0.8%, 0); }
  50% { transform: translate3d(-0.4%, 0.9%, 0); }
  75% { transform: translate3d(-0.7%, -0.3%, 0); }
}
@media (prefers-reduced-motion: reduce) { .p8ai__hud, .p8ai__box, .p8ai__lbl, .p8ai__scan { animation: none; } .p8ai__scan { top: 50%; } }
.p8tag { display: flex; align-items: center; gap: 0.9em; margin: 0 0 clamp(22px, 2.4vw, 36px); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(241, 240, 236, 0.64); }
.p8tag__idx { display: inline-flex; align-items: center; }
.p8tag__idx::before { content: ""; width: 7px; height: 7px; background: var(--red); display: inline-block; }
.p8tag__txt { position: relative; padding-left: 1.1em; }
.p8tag__txt::before { content: ""; position: absolute; left: 0; top: 50%; width: 0.6em; height: 1px; background: currentColor; opacity: 0.6; }
.p8pill { display: inline-block; margin: 16px 0 18px; padding: 6px 12px; border-radius: 100px; background: var(--red); color: #fff; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
.p8h2 { margin: 0; font-size: clamp(2.2rem, 4.9vw, 5.4rem); font-weight: 560; font-stretch: 108%; letter-spacing: -0.035em; line-height: 1; text-wrap: balance; color: #f1f0ec; }
.p8lead { margin-top: 24px; max-width: 493px; font-size: clamp(1.12rem, 1.3vw, 1.38rem); line-height: 1.5; color: rgba(241, 240, 236, 0.64); text-wrap: pretty; }
@media (max-width: 900px) { .p8ai__grid { grid-template-columns: 1fr; } }

/* Tehnologija – digitalna sledljivost in planiranje na beli podlagi, IT podpora brez oštevilčenja */
.te-dig--light { background: #fff; color: #0b0c0e; }
.te-dig--light .te-flow { border-bottom-color: rgba(11, 12, 14, 0.12); }
.te-dig--light .te-flow__line { padding-left: 0; gap: 0; }
.te-dig--light .te-flow__line::before, .te-dig--light .te-flow__line::after { display: none; }
.te-dig--light .te-flow__line li { grid-template-columns: 40px minmax(0, 1fr); align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(11, 12, 14, 0.1); }
.te-dig--light .te-flow__line li:first-child { border-top: 1px solid rgba(11, 12, 14, 0.1); }
.te-flow__ic { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(238, 45, 56, 0.1); }
.te-flow__ic svg { width: 15px; height: 15px; fill: none; stroke: var(--red); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.te-dig--light .te-flow__line strong { color: #0b0c0e; }
.te-dig--light .te-result { border-top-color: rgba(11, 12, 14, 0.12); }
.te-dig--light .te-result p { color: #0b0c0e; }
.te-result__btn { background: #0b0c0e; color: #fff; }

/* ==========================================================================
   KARIERA — prenova 2026-10-13 (Zaposlitev po reseda.si, razredi zp-*)
   ========================================================================== */
/* glava: oznaka RESEDA nad naslovom (kot na reseda.si) — velja tudi za Kontakt */
.zp-hero .pg-hero__row, .ko-hero .pg-hero__row { flex-direction: column-reverse; align-items: flex-start; gap: 14px; }
.zp-hero .pg-hero__title, .ko-hero .pg-hero__title { align-self: stretch; }
.zp-hero .pg-hero__in, .ko-hero .pg-hero__in { padding-top: clamp(28px, 6vh, 80px); }
.zp-tag { display: inline-flex; align-items: center; gap: 12px; font-family: var(--mono); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.24em; color: #fff; text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5); }
.zp-tag i { width: 26px; height: 3px; background: var(--red); transform: skewX(-24deg); }

/* uvod: besedilo + vprašanje levo, fotografija desno */
.zp-first { color: var(--ink); }
.zp-first__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 48px clamp(40px, 7vw, 120px); align-items: center; }
.zp-first__txt { display: grid; gap: clamp(24px, 2.6vw, 36px); }
.zp-first__p { font-size: clamp(1.12rem, 1.5vw, 1.45rem); line-height: 1.6; color: #2b3036; max-width: 46ch; text-wrap: pretty; }
.zp-first__q { position: relative; padding-top: 22px; font-size: clamp(1.45rem, 2.4vw, 2.4rem); font-weight: 640; font-stretch: 114%; line-height: 1.04; letter-spacing: -0.01em; text-transform: uppercase; max-width: 22ch; text-wrap: balance; }
.zp-first__q::before { content: ""; position: absolute; left: 0; top: 0; width: 34px; height: 4px; background: var(--red); transform: skewX(-24deg); }
.zp-first__fig { position: relative; margin: 0; width: 100%; max-width: 480px; justify-self: end; }
.zp-first__fig a { display: block; overflow: hidden; aspect-ratio: 1 / 1; border-radius: var(--pg-r); box-shadow: 0 40px 80px -42px rgba(11, 12, 14, 0.55); cursor: zoom-in; }
.zp-first__fig img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.zp-first__fig a:hover img { transform: scale(1.04); }
@media (max-width: 860px) { .zp-first__grid { grid-template-columns: 1fr; } .zp-first__fig { max-width: 520px; justify-self: start; } }

/* odprta delovna mesta: razširljivi kartici */
.zp-open { padding-top: 0; }
.zp-h { position: relative; margin-bottom: clamp(28px, 3vw, 44px); color: var(--ink); }
.zp-h::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 22px; background: var(--red); transform: skewX(-24deg); }
.zp-jobs { display: grid; gap: 12px; }
.zp-job { border-radius: 16px; overflow: hidden; background: var(--pg-light); box-shadow: 0 1px 0 rgba(11, 12, 14, 0.04); }
.zp-job__sum { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(18px, 2vw, 26px) clamp(20px, 2.4vw, 32px); background: var(--ink); color: #fff; cursor: pointer; list-style: none; transition: background-color 0.35s; }
.zp-job__sum::-webkit-details-marker { display: none; }
.zp-job__sum::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--red); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.7s var(--ease); }
.zp-job__sum:hover { background: #1a1d22; }
.zp-job[open] > .zp-job__sum::after { transform: scaleX(1); }
.zp-job__sum:focus-visible { outline: 2px solid var(--red); outline-offset: -2px; }
.zp-job__name { font-size: clamp(1.15rem, 2.1vw, 1.9rem); font-weight: 640; font-stretch: 114%; line-height: 1.05; letter-spacing: -0.005em; text-transform: uppercase; }
.zp-job__tog { position: relative; flex: none; width: 44px; height: 44px; border-radius: 10px; background: #fff; color: var(--ink); transition: background-color 0.3s, color 0.3s, transform 0.5s var(--ease); }
.zp-job__tog::before, .zp-job__tog::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; margin: -1px 0 0 -8px; background: currentColor; transition: transform 0.45s var(--ease); }
.zp-job__tog::after { transform: rotate(90deg); }
.zp-job__sum:hover .zp-job__tog { background: var(--red-2); color: #fff; }
.zp-job[open] .zp-job__tog { transform: rotate(180deg); }
.zp-job[open] .zp-job__tog::after { transform: rotate(0); }
.zp-job__body { display: grid; gap: clamp(26px, 3vw, 44px); padding: clamp(26px, 3.6vw, 60px); background: #fff; color: var(--ink); border: 1px solid rgba(11, 12, 14, 0.08); border-top: 0; border-radius: 0 0 16px 16px; }
.js .zp-job[open] .zp-job__body > * { animation: zp-up 0.6s var(--ease) both; }
.js .zp-job[open] .zp-job__body > :nth-child(2) { animation-delay: 0.06s; }
.js .zp-job[open] .zp-job__body > :nth-child(3) { animation-delay: 0.12s; }
@keyframes zp-up { from { opacity: 0; transform: translate3d(0, 12px, 0); } to { opacity: 1; transform: none; } }
.zp-job__lead { display: grid; gap: 16px; max-width: 70ch; }
.zp-job__loc { order: -1; display: inline-flex; align-items: center; gap: 10px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--steel); }
.zp-job__loc svg { width: 16px; height: 16px; fill: none; stroke: var(--red-2); stroke-width: 1.8; }
.zp-job__t { font-size: clamp(1.45rem, 2.5vw, 2.5rem); font-weight: 640; font-stretch: 118%; line-height: 1; letter-spacing: -0.008em; text-transform: uppercase; text-wrap: balance; }
.zp-job__intro { font-size: clamp(1.02rem, 1.15vw, 1.15rem); line-height: 1.6; color: #3b4048; text-wrap: pretty; }
.zp-job__cols { display: grid; }
.zp-col { display: grid; grid-template-columns: minmax(0, 0.38fr) minmax(0, 1fr); gap: 14px clamp(24px, 4vw, 72px); padding: clamp(22px, 2.4vw, 34px) 0; border-top: 1px solid rgba(11, 12, 14, 0.12); }
.zp-col__h { position: relative; padding-top: 18px; font-size: clamp(1.05rem, 1.35vw, 1.4rem); font-weight: 640; font-stretch: 116%; line-height: 1.05; text-transform: uppercase; }
.zp-col__h::before { content: ""; position: absolute; left: 0; top: 0; width: 22px; height: 3px; background: var(--red); transform: skewX(-24deg); }
.zp-col__ul li { position: relative; padding: 12px 0 12px 30px; border-top: 1px solid rgba(11, 12, 14, 0.1); font-size: clamp(0.98rem, 1.05vw, 1.0625rem); font-weight: 600; line-height: 1.45; color: var(--ink); }
.zp-col__ul li::before { content: ""; position: absolute; left: 0; top: calc(12px + 0.62em); width: 14px; height: 3px; background: var(--red); transform: skewX(-24deg); }
.zp-col__ul li:first-child { border-top: 0; padding-top: 0; }
.zp-col__ul li:first-child::before { top: 0.62em; }
@media (max-width: 760px) { .zp-col { grid-template-columns: 1fr; } }
.zp-apply { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px clamp(20px, 3vw, 48px); align-items: start; padding: clamp(20px, 2.4vw, 30px) clamp(20px, 2.6vw, 34px); border-radius: 14px; background: var(--ink); color: #fff; }
.zp-apply__h { grid-row: span 3; font-size: clamp(1.3rem, 2vw, 1.9rem); font-weight: 640; font-stretch: 116%; text-transform: uppercase; line-height: 1; }
.zp-apply__h::before { content: ""; display: block; width: 22px; height: 3px; margin-bottom: 12px; background: var(--red); transform: skewX(-24deg); }
.zp-apply p { display: flex; gap: 12px; align-items: flex-start; font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, 0.86); }
.zp-apply p svg { flex: none; width: 20px; height: 20px; margin-top: 1px; fill: none; stroke: #ff5a60; stroke-width: 1.7; stroke-linejoin: round; }
.zp-apply small { font-size: 0.875rem; color: rgba(255, 255, 255, 0.8); }
.zp-apply a { color: #fff; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.35); text-underline-offset: 3px; }
.zp-apply a:hover { text-decoration-color: #ff5a60; }
.zp-apply .zp-apply__conf { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.6); padding-left: 32px; }
@media (max-width: 640px) { .zp-job__name { font-size: 1.08rem; } .zp-job__sum { padding: 16px 16px 16px 18px; } .zp-apply { grid-template-columns: 1fr; } .zp-apply__h { grid-row: auto; } .zp-apply a { display: inline-block; padding-block: 6px; } }
@media (prefers-reduced-motion: reduce) { .js .zp-job[open] .zp-job__body > * { animation: none; } }

/* obrazec za prošnje: en okvir, rdeč naslov, levo spol in osebni podatki, desno delovno mesto, priponke in potrditev */
.zp-apply-sec { padding-top: 0; }
.zp-form { padding: clamp(26px, 4.4vw, 72px); border: 1px solid rgba(11, 12, 14, 0.14); border-radius: 22px; background: #fff; color: var(--ink); box-shadow: 0 50px 100px -70px rgba(11, 12, 14, 0.5); }
.zp-form__h { margin-bottom: clamp(26px, 3vw, 44px); font-size: clamp(1.8rem, 3.6vw, 3.4rem); font-weight: 640; font-stretch: 118%; line-height: 0.98; letter-spacing: -0.01em; text-transform: uppercase; color: var(--red-2); }
.zp-form__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px clamp(32px, 5vw, 80px); align-items: start; }
.zp-form__l { display: grid; gap: 14px; align-content: start; }
.zp-form__r { display: flex; flex-direction: column; gap: 14px; }
.zp-set { border: 0; padding: 0; margin: 0 0 8px; }
.zp-lbl { margin-bottom: 12px; font-size: 0.8125rem; font-weight: 640; font-stretch: 110%; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); }
.zp-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.zp-opts--col { display: grid; }
.zp-opt { position: relative; display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 18px 10px 14px; border: 1px solid rgba(11, 12, 14, 0.16); border-radius: 10px; background: #fff; font-size: 0.9375rem; font-weight: 500; cursor: pointer; transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s; }
.zp-opt:hover { border-color: var(--ink); }
.zp-opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--red-2); flex: none; }
.zp-opt:has(input:checked) { border-color: var(--ink); background: #f6f7f8; box-shadow: inset 3px 0 0 var(--red); }
.zp-opt:has(input:focus-visible) { outline: 2px solid var(--red); outline-offset: 2px; }
.zp-opts.is-invalid .zp-opt { border-color: var(--red); }
.zp-form .zp-f { position: relative; display: block; gap: 0; }
.zp-form .zp-f input, .zp-form .zp-f textarea { width: 100%; min-height: 58px; padding: 24px 14px 8px; border: 0; border-bottom: 1.5px solid rgba(11, 12, 14, 0.35); border-radius: 8px 8px 0 0; background: #f4f5f6; font: inherit; font-size: 1rem; color: var(--ink); box-shadow: none; transition: border-color 0.2s, background-color 0.2s; }
.zp-form .zp-f textarea { min-height: 120px; resize: vertical; }
.zp-form .zp-job-other { margin-top: 10px; }
.zp-form .zp-job-other[hidden] { display: none; }
.zp-form .zp-f input:hover, .zp-form .zp-f textarea:hover { background: #eef0f2; }
.zp-form .zp-f input:focus, .zp-form .zp-f textarea:focus { outline: none; border-color: var(--red-2); background: #fff; box-shadow: 0 2px 0 0 var(--red-2); }
.zp-form .zp-f > span:not(.field__err) { position: absolute; left: 14px; top: 19px; font-size: 0.75rem; font-weight: 640; font-stretch: 110%; letter-spacing: 0.12em; text-transform: uppercase; color: #5b626b; pointer-events: none; transition: top 0.2s var(--ease), font-size 0.2s var(--ease), color 0.2s; }
.zp-form .zp-f:has(input:focus, textarea:focus) > span:not(.field__err), .zp-form .zp-f:has(input:not(:placeholder-shown), textarea:not(:placeholder-shown)) > span:not(.field__err) { top: 7px; font-size: 0.625rem; color: var(--red-2); }
.zp-form .zp-f .field__err { display: block; margin-top: 6px; }
/* »Drugo«: ob kliku in vpisu ostane enakih barv kot neaktivno polje */
.zp-form .zp-job-other input:focus { background: #f4f5f6; border-color: rgba(11, 12, 14, 0.35); box-shadow: none; }
.zp-form .zp-job-other:has(input:focus, input:not(:placeholder-shown)) > span:not(.field__err) { color: #5b626b; }
.zp-form .zp-f.is-invalid input, .zp-form .zp-f.is-invalid textarea { border-color: var(--red); box-shadow: 0 2px 0 0 var(--red); }
.zp-drop { margin-top: 6px; }
.zp-drop .drop__zone b { font-weight: 600; }
.zp-check { margin-top: 6px; }
.zp-check a { text-decoration: underline; text-underline-offset: 3px; }
.zp-send { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 10px; }
.zp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 40px; border: 0; border-radius: 4px; background: var(--red-2); color: #fff; font-size: 0.8125rem; font-weight: 640; font-stretch: 116%; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: background-color 0.25s, transform 0.25s var(--ease); }
.zp-btn:hover { background: var(--ink); }
.zp-btn:active { transform: translateY(1px); }
.zp-btn:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.zp-btn[disabled] { opacity: 0.6; cursor: progress; }
@media (max-width: 860px) { .zp-form__grid { grid-template-columns: 1fr; } .zp-btn { width: 100%; } }
@media (max-width: 560px) { .zp-drop .drop__zone b { font-size: 0.9rem; } }

/* skupni popravki obrazcev: dolga besedila ne širijo strani; napaka potrditve pod besedilom */
.drop__zone b { overflow-wrap: anywhere; }
.check { flex-wrap: wrap; }
.check > span:not(.field__err) { flex: 1 1 0; min-width: 0; }
.check .field__err { flex-basis: 100%; padding-left: 30px; }
/* /KARIERA */

/* Tehnologija – IT podpora: namesto kljukic navpične rdeče črte */
.te-dig--light .te-flow__line li { grid-template-columns: 26px minmax(0, 1fr); }
.te-dig--light .te-flow__ic { width: 3px; height: 24px; border-radius: 0; background: var(--red); }
.te-dig--light .te-flow__ic svg { display: none; }


/* Tehnologija – IT podpora: ploščice z ikonami namesto seznama */
.te-dig--light .te-flow__line { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; }
.te-dig--light .te-flow__line li, .te-dig--light .te-flow__line li:first-child { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 16px; padding: 18px 20px; border: 1px solid rgba(11, 12, 14, 0.1); border-radius: 14px; background: #f7f8f9; transition: border-color 0.25s, background-color 0.25s, transform 0.35s var(--ease); }
.te-dig--light .te-flow__line li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.te-dig--light .te-flow__line li:hover { background: #fff; border-color: rgba(238, 45, 56, 0.45); transform: translateY(-2px); }
.te-dig--light .te-flow__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.1); }
.te-dig--light .te-flow__ic svg { display: block; width: 24px; height: 24px; fill: none; stroke: #0b0c0e; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.te-dig--light .te-flow__line li:hover .te-flow__ic svg { stroke: var(--red); }
.te-dig--light .te-flow__line strong { font-size: clamp(1rem, 1.15vw, 1.15rem); line-height: 1.3; }
@media (max-width: 640px) { .te-dig--light .te-flow__line { grid-template-columns: 1fr; } }

/* Tehnologija – kamera: enaka širina vsebine kot pri 8081 (slika enako velika) */
.p8ai__grid.wrap { max-width: 1680px; padding-inline: clamp(20px, 4.2vw, 64px); }


/* ==========================================================================
   KONTAKT — prenova 2026-10-13 (po reseda.si, razredi ko-*)
   ========================================================================== */
/* glava: slika hale malo nižje (pokaže več zgornjega dela) */
.ko-hero .pg-hero__media img { transform: translateY(7%) scale(1.24); }
.ko-hero.is-in .pg-hero__media img { transform: translateY(7%) scale(1.15); }

/* zemljevid levo, štiri polja desno */
.ko-ref { color: var(--ink); }
.ko-ref__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.ko-boxes { align-self: start; }
.ko-box p .ko-nw { display: inline; min-width: 0; white-space: nowrap; font: inherit; letter-spacing: normal; color: inherit; }
.ko-map__embed.is-granted .pg-embed__bar { display: none; }
.ko-map { position: relative; display: flex; flex-direction: column; min-width: 0; }
.ko-map__embed { flex: 1; display: flex; flex-direction: column; margin: 0; }
.ko-map__embed .embed { flex: 1 1 auto; height: auto !important; min-height: 340px; border-radius: 18px; }
.ko-map__embed .pg-embed__bar { padding-top: 12px; }
.ko-map__embed .pg-embed__note { color: #5b626b; }
.ko-boxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ko-box { position: relative; display: flex; flex-direction: column; gap: 6px; padding: clamp(22px, 2.2vw, 32px); border: 1px solid rgba(11, 12, 14, 0.1); border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -48px rgba(11, 12, 14, 0.45); overflow: hidden; transition: border-color 0.3s, transform 0.45s var(--ease), box-shadow 0.45s var(--ease); }
.ko-box::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: var(--red); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.6s var(--ease); }
.ko-box:hover { border-color: rgba(11, 12, 14, 0.2); transform: translateY(-3px); box-shadow: 0 34px 60px -40px rgba(11, 12, 14, 0.5); }
.ko-box:hover::before { transform: scaleX(1); }
.ko-box__h { min-height: 2.16em; margin-bottom: 12px; font-size: clamp(0.98rem, 1.15vw, 1.2rem); font-weight: 640; font-stretch: 114%; line-height: 1.08; text-transform: uppercase; text-wrap: balance; }
.ko-box__n { margin-bottom: 12px; font-size: 0.75rem; }
.ko-box address, .ko-box p { font-style: normal; font-size: clamp(1rem, 1.1vw, 1.1rem); line-height: 1.65; color: #2b3036; }
.ko-box a { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; text-decoration: underline; text-decoration-color: rgba(11, 12, 14, 0.25); text-underline-offset: 3px; transition: text-decoration-color 0.2s, color 0.2s; }
.ko-box a:hover { color: var(--red-2); text-decoration-color: var(--red-2); }
.ko-box p span { display: inline-block; min-width: 5.6em; font-family: var(--mono); font-size: 0.8125rem; letter-spacing: 0.06em; color: #5b626b; }
.ko-box p b { font-weight: 640; }
.ko-social { display: flex; gap: 10px; }
.ko-social a { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #f2f3f4; color: var(--ink); text-decoration: none; transition: background-color 0.25s, color 0.25s, transform 0.35s var(--ease); }
.ko-social a:hover { background: var(--red-2); color: #fff; transform: translateY(-2px); }
.ko-social svg { width: 20px; height: 20px; fill: currentColor; }
@media (max-width: 1100px) { .ko-ref__grid { grid-template-columns: 1fr; } .ko-map__embed .embed { flex: none; min-height: 0; height: min(480px, 60vw) !important; } }
@media (max-width: 560px) { .ko-boxes { grid-template-columns: 1fr; } .ko-map__embed .embed { height: 74vw !important; } }

/* Imate vprašanje? — 12 kartic (ikona z reseda.si, ime, vloga, e-pošta, telefon) v slogu kartic nove strani */
.ko-team .pg-head .h2 { color: var(--ink); }
.ko-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ko-p { position: relative; display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: clamp(22px, 2.2vw, 30px); border-radius: 18px; background: #fff; border: 1px solid rgba(11, 12, 14, 0.16); box-shadow: 0 34px 60px -40px rgba(11, 12, 14, 0.5); overflow: hidden; }
.ko-p::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: var(--red);  transform-origin: 0 50%; }
.ko-p__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ko-p__badge { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #0b0c0e; }
.ko-p__ico { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.ko-p__no { font-size: 0.75rem; color: #9aa1aa; }
.ko-p__n { font-size: clamp(1.15rem, 1.45vw, 1.45rem); font-weight: 640; font-stretch: 112%; line-height: 1.1; text-transform: uppercase; color: var(--ink); }
.ko-p__r { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 18px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--steel); }
.ko-p__r::before { content: ""; flex: none; width: 16px; height: 2px; background: var(--red); transform: skewX(-24deg); }
.ko-p__c { display: grid; gap: 2px; margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(11, 12, 14, 0.1); }
.ko-p__e, .ko-p__t { width: fit-content; max-width: 100%; font-size: 0.9375rem; color: var(--ink); overflow-wrap: anywhere; transition: color 0.2s; }
.ko-p__t { font-weight: 600; font-variant-numeric: tabular-nums; }
.ko-p__e:hover, .ko-p__t:hover { color: var(--red-2); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1000px) { .ko-people { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ko-people { grid-template-columns: 1fr; gap: 10px; } .ko-p { padding: 20px 18px; } .ko-p__top { margin-bottom: 14px; } .ko-p__e, .ko-p__t { padding-block: 4px; } }
/* /KONTAKT */


/* ==========================================================================
   PROIZVODNJA — Dodelave / Meritve / Montaža v slogu 8081 (2026-10-13)
   slika z izrezom od zgoraj navzdol + rahla povečava, oznaka (rdeč kvadrat + številka),
   velika izjava, ki se dvigne vrstico za vrstico, opis in oštevilčene vrstice
   ========================================================================== */
.pf { --pf-fg2: rgba(255, 255, 255, 0.64); --pf-line: rgba(255, 255, 255, 0.1); --pf-line2: rgba(255, 255, 255, 0.18); --pf-num: #ee2d38; background: var(--ink); color: #fff; }
.pf.pf--light { background: var(--pg-light); }
.pf--light { --pf-fg2: rgba(11, 12, 14, 0.68); --pf-line: rgba(11, 12, 14, 0.12); --pf-line2: rgba(11, 12, 14, 0.24); --pf-num: #c9121e; color: #0b0c0e; }
.pf__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: center; }
.pf--rev .pf__media { order: 2; }
.pf__media { position: relative; margin: 0; border-radius: 4px; aspect-ratio: 4 / 4.4; }
.pf__clip { background: #131519; }
.pf--light .pf__clip { background: #dfe1e4; }
.pf__clip { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; }
.pf__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pf__copy { min-width: 0; }
.pf__tag { display: inline-flex; align-items: center; gap: 0.9em; margin: 0 0 clamp(22px, 2.4vw, 36px); font-family: var(--mono); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pf-fg2); }
.pf__idx { display: inline-flex; align-items: center; gap: 0.7em; color: var(--pf-num); }
.pf__idx::before { content: ""; width: 7px; height: 7px; background: var(--pf-num); }
.pf__txt { position: relative; padding-left: 1.1em; }
.pf__txt::before { content: ""; position: absolute; left: 0; top: 50%; width: 0.6em; height: 1px; background: currentColor; opacity: 0.6; }
.pf__h { margin: 0; font-size: clamp(2.2rem, 4.9vw, 5.4rem); font-weight: 560; font-stretch: 108%; letter-spacing: -0.035em; line-height: 1; text-transform: none; text-wrap: balance; overflow-wrap: break-word; }
.pf__lead { margin: clamp(22px, 2.2vw, 32px) 0 0; max-width: 46ch; font-size: clamp(1.12rem, 1.3vw, 1.38rem); line-height: 1.5; color: var(--pf-fg2); }
.pf__rows { margin: 36px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--pf-line2); }
.pf__rows li { display: flex; gap: 22px; align-items: baseline; padding: 15px 0; border-bottom: 1px solid var(--pf-line); font-size: 1.02rem; }
.pf__rows .pg-n { flex: none; color: var(--pf-num); }
.pf__rule { margin-top: 36px; }
.pf:not(.pf--light) .pr-rule__scale { border-color: rgba(255, 255, 255, 0.6); background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 1px, transparent 1px) 0 100% / 10% 100% repeat-x, linear-gradient(90deg, rgba(255, 255, 255, 0.4) 1px, transparent 1px) 0 100% / 2% 40% repeat-x; }
.pf:not(.pf--light) .pr-rule__read small, .pf:not(.pf--light) .pr-rule__cap { color: rgba(255, 255, 255, 0.6); }

/* gibanje (kot 8081: expo.out) */
.pf-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.pf-w__in { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  .js .pf__clip { clip-path: inset(0 0 100% 0); transition: clip-path 1.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .js .pf__media img { transform: scale(1.25); transition: transform 1.8s cubic-bezier(0.19, 1, 0.22, 1); }
  .js .pf__media.is-in .pf__clip { clip-path: inset(0 0 0% 0); }
  .js .pf__media.is-in img { transform: scale(1); }
  .js .pf-w__in { transform: translate3d(0, 110%, 0); transition: transform 1.25s cubic-bezier(0.19, 1, 0.22, 1); transition-delay: calc(var(--l, 0) * 0.085s); }
  .js .pf__h.is-in .pf-w__in { transform: none; }
  .js .pf__lead { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity 1.1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, transform 1.1s cubic-bezier(0.19, 1, 0.22, 1) 0.1s; }
  .js .pf__lead.is-in { opacity: 1; transform: none; }
  .js .pf__rows li { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity 1.1s cubic-bezier(0.19, 1, 0.22, 1), transform 1.1s cubic-bezier(0.19, 1, 0.22, 1); transition-delay: calc(var(--i, 0) * 0.08s); }
  .js .pf__rows.is-in li { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .pf__grid { grid-template-columns: 1fr; }
  .pf--rev .pf__media { order: 0; }
  .pf__media { aspect-ratio: 4 / 3; }
}

/* ==========================================================================
   Tehnologija – digitalno planiranje (ponazoritev plana, različica 5)
   vrstice = delovna mesta, odseki = operacije delovnih nalogov, »Danes« fiksno,
   planirano / v teku / izvedeno, roki dobave in potreba po materialu (MRP)
   ========================================================================== */
@media (max-width: 1200px) { .te-plan { grid-template-columns: 1fr; } }
@media (min-width: 1201px) {
  .te-plan__txt { position: sticky; top: 94px; transition: top 0.5s var(--ease); }
  .hd:not(.is-hidden) ~ main .te-plan__txt { top: calc(var(--hd-h) + 88px); }
}
.te-gantt-wrap { container-type: inline-size; display: grid; gap: 14px; min-width: 0; }
.tg { --lab: 104px; --tg-bg: #f2f3f4; --hop: -18px; --grid: rgba(11, 12, 14, 0.1); --hatch: rgba(255, 255, 255, 0.32); --n2: var(--pg-red, #d91f2b);
  position: relative; min-width: 0; display: grid; gap: 12px; padding: 20px 22px 16px; border-radius: var(--pg-r, 16px); background: var(--tg-bg); border: 1px solid rgba(11, 12, 14, 0.08); color: #0b0c0e; font-synthesis: none; }
.tg__head { display: grid; gap: 8px; padding-bottom: 6px; }
.tg__tag { font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: #5a6069; }
.tg__legends { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.tg__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 0.75rem; line-height: 1.3; color: #3b4048; }
.tg__legend li { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.tg__oth { flex-wrap: wrap; row-gap: 4px; }
.tg__oth > .tg__sw:not(:nth-child(2)) { margin-left: 4px; }
.tg__sw { flex: none; width: 18px; height: 10px; border-radius: 2px; background: #4b5058; }
.tg__sw--n2 { background: var(--n2); }
.tg__sw--n3 { background: #868c94; }
.tg__sw--n4 { background: #2c3036; }
/* stanja so narisana enako kot odseki (nevtralni nalog) */
.tg__sw--plan { background: #5a6069; }
.tg__sw--done { background: repeating-linear-gradient(135deg, transparent 0 4px, rgba(255, 255, 255, 0.32) 4px 7px), #5a6069; }
.tg__sw--run { background: repeating-linear-gradient(135deg, transparent 0 4px, rgba(255, 255, 255, 0.32) 4px 7px) 0 0 / 50% 100% no-repeat, linear-gradient(90deg, #5a6069 0 50%, color-mix(in srgb, #5a6069 40%, #fff) 50%); box-shadow: inset 0 0 0 1.5px #5a6069; }
.tg__sw--due { width: 9px; height: 9px; border-radius: 1px; background: #0b0c0e; transform: rotate(45deg); margin-inline: 4px; }
.tg__sw--mat { width: 0; height: 0; border-radius: 0; background: none; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 10px solid #0b0c0e; margin-inline: 3px; }
.tg__body { position: relative; display: grid; gap: 7px; margin-top: 24px; }
.tg__body::before { content: ""; position: absolute; inset: 0 0 -12px var(--lab); pointer-events: none;
  background:
    linear-gradient(90deg, transparent 50%, rgba(11, 12, 14, 0.28) 50% calc(50% + 1px), transparent calc(50% + 1px)),
    repeating-linear-gradient(90deg, var(--grid) 0 1px, transparent 1px 10%);
  box-shadow: inset -1px 0 0 var(--grid); }
.tg__row { position: relative; display: grid; grid-template-columns: var(--lab) minmax(0, 1fr); align-items: center; }
.tg__k { font-size: 0.8125rem; color: #3b4048; }
.tg__row--m .tg__k { font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: #5a6069; }
.tg__track { position: relative; height: 28px; }
.tg__track--m { height: 22px; }
.tg__b { --c: #4b5058; position: absolute; top: 3px; bottom: 3px; left: calc(var(--x) * 10%); width: calc(var(--w) * 10%); display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 3px; background: var(--c); color: #fff; transition: left 0.6s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.25s ease; }
.tg__b > span { padding: 0 3px; font-family: var(--mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; }
.tg__b--n4 { --c: #2c3036; }
.tg__b--n3 { --c: #868c94; --hatch: rgba(11, 12, 14, 0.26); color: #0b0c0e; }
.tg__b--n2 { --c: var(--n2); z-index: 1; }
.tg__b.is-done { background: repeating-linear-gradient(135deg, transparent 0 4px, var(--hatch) 4px 7px), var(--c); }
.tg__b.is-run { background:
    repeating-linear-gradient(135deg, transparent 0 4px, var(--hatch) 4px 7px) 0 0 / var(--p) 100% no-repeat,
    linear-gradient(90deg, var(--c) 0 var(--p), color-mix(in srgb, var(--c) 40%, #fff) var(--p));
  box-shadow: inset 0 0 0 1.5px var(--c); }
/* oznaka odseka v teku je v izvedenem delu (levo od črte »Danes«) */
.tg__b.is-run > span { margin-right: calc(100% - var(--p)); }
.tg__b.is-done > span, .tg__b.is-run > span { text-shadow: 0 0 2px var(--c), 0 0 2px var(--c), 0 0 1px var(--c); }
.tg.is-alt .tg__b { left: calc(var(--x2) * 10%); }
.tg.is-swap .tg__b--n2 { opacity: 0; transition: left 0s, opacity 0.25s ease; }
.tg.is-pulse .tg__b--n2 { animation: tgPulse 0.9s ease; }
@keyframes tgPulse { 0% { box-shadow: 0 0 0 0 rgba(217, 31, 43, 0.45); } 100% { box-shadow: 0 0 0 6px rgba(217, 31, 43, 0); } }
.tg__m { position: absolute; top: 50%; left: calc(var(--x) * 10%); display: flex; align-items: center; gap: 4px; transition: left 0.6s cubic-bezier(0.65, 0, 0.35, 1); }
.tg__m::before { content: ""; flex: none; }
.tg__m > span { font-family: var(--mono); font-size: 0.6875rem; font-weight: 500; color: #3b4048; }
.tg__m--due { flex-direction: row-reverse; transform: translate(calc(-100% + 5px), -50%); transition-duration: 0.5s; }
.tg__m--due::before { width: 9px; height: 9px; background: #0b0c0e; transform: rotate(45deg); border-radius: 1px; }
.tg__m--mat { transform: translate(-6px, -50%); }
.tg__m--mat::before { width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 10px solid #0b0c0e; }
.tg__m.is-n2 { z-index: 1; }
.tg__m.is-n2 > span { color: var(--n2); background: var(--tg-bg); padding: 0 2px; border-radius: 2px; }
.tg__m--due.is-n2::before { background: var(--n2); }
.tg__m--mat.is-n2::before { border-bottom-color: var(--n2); }
.tg.is-alt-m .tg__m--due { left: calc(var(--x2) * 10%); }
.tg.is-alt .tg__m--mat { left: calc(var(--x2) * 10%); }
/* rok N2 med pomikom preskoči rok N3 (ga ne prekrije) */
.tg.is-hop .tg__m--due.is-n2 { animation: tgHop 0.5s cubic-bezier(0.65, 0, 0.35, 1); }
@keyframes tgHop { 0%, 100% { translate: 0 0; } 50% { translate: 0 var(--hop); } }
.tg__now { position: absolute; top: -16px; bottom: -12px; left: calc(var(--lab) + (100% - var(--lab)) * var(--now) / 10); border-left: 2px solid #3b4048; transform: translateX(-1px); pointer-events: none; z-index: 2; }
.tg__now span { position: absolute; top: -10px; left: 0; transform: translateX(-50%); padding: 2px 6px; border-radius: 3px; background: #3b4048; color: #fff; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.tg__axis { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); margin-left: var(--lab); border-top: 1px solid rgba(11, 12, 14, 0.2); }
.tg__axis > span { padding-top: 6px; text-align: center; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.04em; text-transform: uppercase; color: #5a6069; }
.tg__axis > span:nth-child(6) { box-shadow: inset 1px 0 0 rgba(11, 12, 14, 0.28); }
.tg__axis > span.is-now { color: #0b0c0e; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.tg__axis b { font-weight: inherit; }
.tg__ds { display: none; }
.tg__weeks { display: grid; grid-template-columns: 1fr 1fr; margin-left: var(--lab); margin-top: -4px; }
.tg__weeks span { text-align: center; font-family: var(--mono); font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: #5a6069; }
.tg__ctl { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; gap: 12px; }
.tg__stack { display: grid; }
.tg__stack > * { grid-area: 1 / 1; margin: 0; }
.tg__stack > :not(.is-on) { visibility: hidden; }
/* gumb = gumb strani (.btn), tu samo postavitev in ikona */
.te-gantt__btn { padding-block: 10px; line-height: 1.25; text-align: center; }
.te-gantt__btn .tg__stack > * { display: inline-flex; align-items: center; gap: 12px; justify-self: center; }
.te-gantt__btn .tg__stack > * > span { text-wrap: balance; }
@media (hover: hover) { .pg-w .te-gantt__btn:hover svg { stroke: var(--red, #e2222d); } }
.te-gantt__btn svg { flex: none; width: 16px; height: 16px; fill: none; stroke: var(--red-2, #d91f2b); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.te-plan__state { max-width: 68ch; }
.te-plan__state > :not(.is-on), .te-plan__state > :empty { display: none; }
.te-plan__state > p { align-self: start; padding-left: 12px; border-left: 2px solid #0b0c0e; font-size: 0.875rem; line-height: 1.5; color: #3b4048; text-wrap: pretty; }
.te-plan__state b { font-weight: 600; color: #0b0c0e; }
@container (max-width: 620px) {
  .tg { --lab: 74px; --hop: -24px; padding: 16px 12px 12px; }
  .tg__k { font-size: 0.75rem; }
  .tg__track--m { height: 32px; }
  .tg .tg__m--mat, .tg .tg__m--due { flex-direction: column; gap: 1px; transform: translate(-50%, -50%); }
  .tg__m > span { line-height: 1; }
  .te-gantt__btn { justify-self: stretch; padding-inline: 16px; }
  .te-gantt__btn .tg__stack > * { gap: 10px; }
  .te-plan__state > :not(.is-on) { display: none; }
}
@container (max-width: 440px) {
  .tg__dl { display: none; } .tg__ds { display: inline; }
}
@container (max-width: 340px) {
  .tg__axis > span, .tg__m > span, .tg__b > span { letter-spacing: 0; }
}
@media (forced-colors: active) { .tg { forced-color-adjust: none; } }
@media (prefers-reduced-motion: reduce) {
  .tg__b, .tg__m, .tg.is-swap .tg__b--n2 { transition: none; opacity: 1; }
  .tg.is-pulse .tg__b--n2, .tg.is-hop .tg__m--due.is-n2 { animation: none; }
}

/* PROIZVODNJA — vrstice brez številk: poševna rdeča črtica (kot oznake in logotip), ob prihodu se izrišejo zaporedno;
   brez odziva na miško (Aljaž, 16. 10.) */
.pf__rows li { position: relative; align-items: center; gap: 18px; padding: 16px 0; }
.pf__rows li::before { content: ""; flex: none; width: 16px; height: 3px; background: var(--pf-num); transform: skewX(-24deg); transform-origin: left center; transition: width 0.35s cubic-bezier(0.19, 1, 0.22, 1); }
.pf__rows li::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--pf-num); transform: scaleX(0); transform-origin: left; transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1); }
.pf__rows li > span { transition: transform 0.35s cubic-bezier(0.19, 1, 0.22, 1); }
@media (prefers-reduced-motion: no-preference) {
  .js .pf__rows li::before { width: 0; transition: width 0.7s cubic-bezier(0.19, 1, 0.22, 1) calc(0.25s + var(--i, 0) * 0.08s); }
  .js .pf__rows.is-in li::before { width: 16px; }
}

/* Tehnologija — razvoj izdelka v 3D: prekrivni sloj (kote, legenda MKE, operacije, G-koda) */
.d3 { position: absolute; inset: 0; pointer-events: none; font-family: var(--mono); }
.d3__dims { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.d3__dims line { stroke: var(--red); stroke-width: 1; }
.d3__dims line.thin { stroke: rgba(255, 255, 255, 0.35); stroke-dasharray: 3 3; }
.d3__dims circle { fill: var(--red); }
.d3__dims text { fill: #fff; font: 500 11px var(--mono); letter-spacing: 0.04em; paint-order: stroke; stroke: #0b0c0e; stroke-width: 3px; }
.d3__dims text.sm { font-size: 10px; }
.d3__dims text.dim { fill: rgba(255, 255, 255, 0.55); }
.d3__dims .dat rect { fill: #0b0c0e; stroke: #fff; stroke-width: 1; }
.d3__dims .dat line { stroke: #fff; }
.d3__legend { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); display: grid; gap: 8px; justify-items: end; font-size: 10px; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.7); opacity: 0; }
.d3__legend b { font-weight: 500; color: #fff; text-transform: uppercase; }
.d3__legend em { font-style: normal; }
.d3__ramp { position: relative; display: grid; align-content: space-between; justify-items: end; height: 140px; padding-right: 18px; }
.d3__ramp::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 8px; border-radius: 2px; background: linear-gradient(to top, #1a38d9, #0da6f2 25%, #26cc59 50%, #fad926 75%, #ed2e33); }
.d3__ramp i { font-style: normal; }
.d3__ops { position: absolute; left: 20px; bottom: 40px; margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; font-size: 11px; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.5); opacity: 0; }
.d3__ops li { display: flex; align-items: center; gap: 10px; transition: color 0.3s; }
.d3__ops li i { width: 10px; height: 10px; border-radius: 2px; background: #cdd3da; }
.d3__ops li:nth-child(2) i { background: var(--red); }
.d3__ops li:nth-child(3) i { background: #6e94c7; }
.d3__ops li:nth-child(4) i { background: #fff; }
.d3__ops li b { font-weight: 500; color: rgba(255, 255, 255, 0.7); }
.d3__ops li.is-on { color: #fff; }
.d3__ops li.is-on b { color: var(--red); }
.d3__code { position: absolute; right: 20px; bottom: 40px; margin: 0; font: 400 10.5px/1.55 var(--mono); color: rgba(255, 255, 255, 0.6); white-space: pre; opacity: 0; }
.d3__code::first-line { color: #fff; }
.d3__spec { position: absolute; left: 20px; bottom: 40px; margin: 0; display: grid; gap: 4px; font-size: 11px; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.65); opacity: 0; }
.d3__spec b { color: #fff; font-weight: 500; font-size: 13px; }
.d3.is-narrow .d3__code { display: none; }
.d3.is-narrow .d3__ramp { height: 84px; }
.d3.is-narrow .d3__legend { right: 12px; }
.d3.is-narrow .d3__ops, .d3.is-narrow .d3__spec { left: 12px; bottom: 30px; font-size: 10px; gap: 4px; }
.d3__dims circle.x { fill: none; stroke: #fff; stroke-width: 1.5; }

/* Dodelave: obroč na sredini slike — vodoravno in navpično (slika je 20 % višja od okvirja, zamaknjena navzgor) */
#dodelave .pf__media img { top: -20%; height: 120%; object-position: 57% 50%; }
@media (max-width: 900px) { #dodelave .pf__media img { object-position: 59% 50%; } }

/* ==========================================================================
   CAPS-BAR — 2026-10-16: črta zavihka se zapelje do konca, rdeča konica izgine za desnim robom
   ========================================================================== */
.caps__tab { clip-path: inset(-4px 0 -4px 0); }
.caps__tab.is-on::before { width: calc(min(var(--f, 0), 1) * 100%); }
/* /CAPS-BAR */

/* PROIZVODNJA — lupa nad slikami Dodelave / Meritve / Montaža (samo miška): bel krog namesto kazalca, slika pod njim 2,2 × povečana */
.pf__media.is-lens, .pf__media.is-lens * { cursor: none; }
.pf-lens { position: absolute; left: 0; top: 0; z-index: 3; width: clamp(150px, 13vw, 210px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; pointer-events: none; opacity: 0; border: 2px solid #fff; background: #0b0c0e; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25), 0 18px 40px -12px rgba(0, 0, 0, 0.55); transition: opacity 0.2s ease; will-change: transform; }
.pf__media.is-lens .pf-lens { opacity: 1; }
.pf-lens__in { position: absolute; left: 0; top: 0; transform-origin: 0 0; will-change: transform; }
.pf__media .pf-lens__in img, .js .pf__media.is-in .pf-lens__in img { transform: none; transition: none; }

/* Proizvodnja: trak fotografij — vse enako visoke, nič obrezano (polna širina in višina vsake slike), vozi z desne proti levi */
.pr-trak { --th: clamp(220px, 26vw, 460px); position: relative; overflow: hidden; width: 100%; margin-top: clamp(14px, 1.4vw, 22px); height: var(--th); }
.pr-trak__tr { display: flex; gap: 14px; height: 100%; width: max-content; will-change: transform; }
.pr-trak__f { flex: none; height: 100%; margin: 0; border-radius: 0; overflow: hidden; background: #1a1c20; }
.pr-trak__f picture { display: block; height: 100%; }
.pr-trak__f img { display: block; height: 100%; width: auto; max-width: none; }
/* direktor – fotografija s prostorom nad glavo (stena podaljšana navzgor): okvir v razmerju slike, nič obrezano */
.ab-quote__ph { aspect-ratio: 800 / 557; }
.ab-quote__ph img { object-position: 50% 0; }

/* 2026-10-31: izjava direktorja — besedilo v pravih narekovajih glede na jezik (SL »…«, EN “…”, DE „…“); začetni narekovaj na računalniku visi levo od besedila */
.ab-quote blockquote p { quotes: "“" "”"; }   /* 2026-10-31: v vseh jezikih rdeča narekovaja “ ” (želja Aljaža) */
.ab-quote blockquote p::before { content: open-quote "\00a0"; color: var(--red); }   /* presledek med narekovajem in besedilom */
.ab-quote blockquote p::after { content: "\00a0" close-quote; color: var(--red); }
@media (min-width: 761px) { .ab-quote blockquote p { position: relative; } .ab-quote blockquote p::before { position: absolute; right: 100%; padding-right: 0.08em; } }

/* Strojni park: brez oštevilčenja 01–10 v seznamu (računalnik in telefon) */
.ops__tab .pg-n { display: none; }
.ops__tab { grid-template-columns: minmax(0, 1fr) 18px; }
@media (max-width: 980px) { .ops__tab { grid-template-columns: auto; } }
@media (min-width: 1280px) {
  .ops__tab { padding-left: 18px; }   /* napisi v seznamu malo bolj desno */
  .ops__tab:hover { padding-left: 24px; }
  .ops__tab.is-on { padding-left: 32px; }
}
@media (min-width: 1280px) {
  #montaza .pf__media img { object-position: 0% 50%; }   /* montaža: slika do levega roba, kos ni odrezan */
}

/* css/uporabnik.css */
/* Ročne prilagoditve (Aljaž) — nalagajo se ZADNJE; tu so popravki, ki jih drugi procesi niso smeli povoziti. */
/* certifikat: povečana slika se scrolla gor/dol */
.lb__stage { overflow-x: hidden; overflow-y: auto; }
/* panoge: ploščice ujamejo miško, video v ozadju je ne lovi */
.stage__video, .stage__video * { pointer-events: none; }
.ind--tiles .ind__row li { pointer-events: auto; }
/* statični del (številke + panoge): krajši pomik */
@media (min-width: 1101px) { .reveal { height: calc(130svh + 105svh + var(--hold) + 100svh + 100px); } }

/* css/zmogljivosti.css */
/* AI/SEO 2026-10 — podatki o podjetju v nogi (zaprto; odpre se ob kliku) in podstran /zmogljivosti */
.pg-facts { background: var(--ink, #0b0c0e); color: var(--fg-3, rgba(255, 255, 255, 0.55)); }
.pg-facts .wrap { padding-top: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.1)); }
.pg-facts__s { display: inline-flex; margin: 0; padding: 0; border: 0; background: none; color: inherit; line-height: inherit; text-align: left; gap: 6px; list-style: none; cursor: pointer; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; transition: color 0.2s; }
.pg-facts__s:hover, .pg-facts__d.is-open .pg-facts__s { color: #fff; }
.pg-facts__s:focus-visible { outline: 1px solid #fff; outline-offset: 4px; }
.pg-facts__s::-webkit-details-marker { display: none; }
.pg-facts__s::after { content: "+"; }
.pg-facts__d.is-open .pg-facts__s::after { content: "–"; }
/* zaprto: vizualno skrito, a v strani (kot pri zložljivih razdelkih) — AI in bralniki zaslona berejo takoj */
.pg-facts__d:not(.is-open) > .pg-facts__in { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.pg-facts__in { padding-top: 18px; color: rgba(255, 255, 255, 0.78); font-size: 0.8125rem; line-height: 1.55; }
.pg-facts__in { display: grid; gap: 6px; }
.pg-facts__p { position: relative; max-width: 110ch; margin: 0; padding-left: 16px; }
.pg-facts__p::before { content: ""; position: absolute; left: 0; top: 10px; width: 7px; height: 1px; background: #ee2d38; }
.pg-facts__in > p:last-child { margin-top: 8px; }
.pg-facts__in a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.zm__date { font-size: 0.8125rem; color: var(--steel, #5a6069); margin-bottom: 1.4em; }
.zm .table-wrap { overflow-x: auto; }
.zm th[scope="row"] { width: 30%; min-width: 120px; }
.zm small { color: var(--steel, #5a6069); }
@media print { .pg-facts { display: none; } }
/* 2026-10-31: glava strani Zmogljivosti — rdeče ozadje, brez slike in brez vzorca (vse širine) */
.zm-hero.pg-hero--plain { background: var(--red); }
.zm-hero.pg-hero--plain::before { content: none; }
.zm-hero .pg-hero__grid { display: none; }
.zm-hero .pg-crumbs__sep { color: rgba(255, 255, 255, 0.65); }
.zm-hero .pg-hero__lead { color: #fff; }
/* 2026-10-31: na strani Zmogljivosti je glava (meni) vedno polno črna, ne prozorna (vse širine) */
body[data-page="zmogljivosti"] .hd, body[data-page="zmogljivosti"] .hd.is-solid { background: var(--ink, #0b0c0e); }
/* 2026-10-31: krajša rdeča glava — manj praznega prostora nad napisom (vse širine) */
.pg-hero.zm-hero.pg-hero--plain { min-height: 0; padding-top: var(--hd-h); }
/* enako prostora nad potjo (Domov / Podjetje / …) in pod uvodnim besedilom — izmerjeno po robovih besedila */
.pg-hero.zm-hero .pg-hero__in { padding-top: clamp(28px, 5vw, 88px); padding-bottom: calc(clamp(28px, 5vw, 88px) - 13px); }
@media (max-width: 760px) { .pg-hero.zm-hero .pg-hero__in { padding-top: 36px; padding-bottom: 20px; } }
.zm-hero .pg-crumbs, .zm-hero .pg-crumbs * { text-shadow: none; background: none; }

/* css/telefon.css */
/* =====================================================================
   RESEDA v2 — TELEFON IN TABLICA (29. 10. 2026)
   Vse v tej datoteki velja SAMO pod 1280 px. Računalnik (1280/1440/1920) je nespremenjen.
   Razponi:  tablica ležeče 1101–1279 · tablica pokonci 761–1100 · telefon ≤ 760 · majhen/nizek telefon
   ===================================================================== */

@media (max-width: 1279px) {
  /* --- robovi: ležeče na telefonih z zarezo besedilo ne sme pod zarezo --- */
  .wrap { padding-left: max(var(--g), env(safe-area-inset-left, 0px)); padding-right: max(var(--g), env(safe-area-inset-right, 0px)); }

  /* --- cilji za prst ≥ 44 px (videz ostane, poveča se območje dotika) --- */
  .pg-hero .pg-crumbs a, .p3crumbs a, .crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  .pg-hero .pg-crumbs, .p3crumbs, .crumbs { row-gap: 0; }
  .hero__link { min-height: 44px; }
  .pg-link { min-height: 44px; }
  .ce-who > a { display: inline-flex; align-items: center; min-height: 44px; }
  .ko-p__e, .ko-p__t { display: flex; align-items: center; min-height: 44px; }
  .pg-toc__h { min-height: 44px; }
  .pg-toc__list a { min-height: 44px; align-items: center; }
  .lg-sw__rows button { min-height: 44px; padding-inline: 10px; }
  .ga__filters button { min-height: 44px; }
  .lg-dl__files { gap: 8px; }
  .lg-dl__files a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; font-size: 0.75rem; }
  .zm p > a, .zm td a { display: inline-flex; align-items: center; min-height: 44px; }
  .zm small { font-size: 0.75rem; }
  .caps__tab { min-height: 44px; }
  .hero__certs { min-height: 44px; align-items: center; }
  .cookie-consent a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 2px; }
  .drop__list button { width: 44px; height: 44px; margin: -6px -8px -6px 0; }

  /* meni */
  .menu__sub { gap: 0 26px; }
  .menu__sub a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 0; }
  .menu__foot { gap: 0; }
  .menu__foot > a { display: flex; align-items: center; min-height: 44px; }

  /* noga */
  .ftr__col li + li { margin-top: 0; }
  .ftr__col a { display: flex; align-items: center; min-height: 44px; }
  .ftr__h { margin-bottom: 4px; }
  .ftr__social { gap: 10px; margin-top: 16px; }
  .ftr__social a { width: 44px; height: 44px; }
  .ftr__bottom .linkbtn { min-height: 44px; }
  .ftr__bottom { row-gap: 0; }

  /* podatki o podjetju (zaprt razdelek na koncu vsake strani) */
  .pg-facts .wrap { padding-top: 6px; padding-bottom: 6px; }
  .pg-facts__s { align-items: center; min-height: 44px; }
  .pg-facts__in a { display: inline-flex; align-items: center; min-height: 44px; }

  /* --- berljiva pisava: nič pod 12 px --- */
  .ftr__h { font-size: 0.75rem; }
  .ftr__bottom { font-size: 0.8125rem; }
  .ftr__reg, .ftr__status time { font-size: 0.75rem; }
  .pg-mark { font-size: 0.75rem; }
  .pg-hero__facts small { font-size: 0.75rem; }
  .ko-p__r { font-size: 0.75rem; }
  .tg__b > span, .tg__row--m .tg__k { font-size: 0.75rem; }
  .tg__axis > span, .tg__now span { font-size: 0.75rem; }
  .p8ai__lbl { font-size: 0.75rem; }
  .d3__spec span { font-size: 0.75rem; }

  /* --- dolge nemške besede: deljenje namesto odreza --- */
  html[lang="de"] .cert__body, html[lang="de"] .ce-doc__body, html[lang="de"] .ko-p, html[lang="de"] .pg-tile, html[lang="de"] .pf__copy, html[lang="de"] .zp-first__txt { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }

  /* --- obrazec: ime naložene datoteke je bilo temno na temnem --- */
  .pg-w .drop__list li, .pg-l .drop__list li { background: #f4f5f6; border-color: rgba(11, 12, 14, 0.14); color: var(--ink); }
  .pg-w .drop__list li .num, .pg-l .drop__list li .num { color: #5a6069; }

  /* --- naslov glave: merilo »najdaljša beseda« potrebuje celo širino vrstice (sicer se je na nekaterih straneh stisnil na 26 px) --- */
  .pg-hero__row > .pg-hero__title { flex: 1 1 100%; }
}

/* =====================================================================
   TABLICA POKONCI (761–1100): premišljena postavitev namesto raztegnjenega telefona
   ===================================================================== */
@media (min-width: 761px) and (max-width: 1100px) {
  /* Domov: zavihki področij — trije v vidnem delu, brez deljenja besed */
  .caps__tab { flex-basis: calc((100% - 2 * var(--gap)) / 3); }
  .caps__t { -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; }

  /* »Več o podjetju« in podobne ploščice: štiri v vrsti namesto 3 + 1 */
  .pg-more__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  /* noga: štirje stolpci pod znamko */
  .ftr__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; }
}

@media (min-width: 761px) and (max-width: 900px) {
  /* Proizvodnja: Dodelave / Meritve / Montaža — slika in besedilo drug ob drugem */
  .pf__grid { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr); gap: 40px; align-items: center; }
  .pf--rev .pf__media { order: 2; }
  .pf__media { aspect-ratio: 4 / 5.4; }
  .pf__h { font-size: clamp(2rem, 5.2vw, 2.8rem); }

  /* Tehnologija: materiali — fotografija ob kartici z deleži */
  .te-mat2__grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
  .te-mat2__img { min-height: 0; }

  /* O podjetju: Potencial / Vrednote / Filozofija / Okolje — fotografija levo, besedilo desno */
  .ab-chap__item { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 32px; align-items: start; padding-block: 0 48px; }
  .ab-chap__inline { grid-row: 1 / span 2; margin: 0; aspect-ratio: 4 / 4.2; }
  .ab-chap__item > .ab-chap__t { align-self: end; margin-top: 8px; }

  /* Zaposlitev: uvod in fotografija drug ob drugem */
  .zp-first__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 40px; }
  .zp-first__fig { justify-self: end; }
}

/* =====================================================================
   TELEFON (≤ 760)
   ===================================================================== */
@media (max-width: 760px) {
  /* noga: dva enakomerna stolpca */
  .ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .ftr__social { display: grid; grid-template-columns: repeat(2, 44px); gap: 8px; }

  /* Domov: video »Spoznaj podjetje« — višje polje, napis in opomba se ne prekrivata */
  .home-film .embed { height: auto; aspect-ratio: 4 / 4.25; }
  .home-film .embed__play { padding-bottom: 64px; }
  .home-film .embed__note { left: 16px; right: 16px; bottom: 12px; }

  /* vodoravni trakovi: mehak rob kot namig, da se trak da povleči */
  /* vodoravni trak: zadnji zavihek odrezan na robu = namig za poteg; zabris (mask) le pri mirujočih filtrih galerije —
     pri postopkih Proizvodnje se zavihki animirajo in maska bi upočasnila izris (Lighthouse) */
  .ops__list { padding-right: 40px; }
  .ga__filters { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); padding-right: 40px; }
}

/* Proizvodnja: številke v glavi na ozkih telefonih — število in enota v isti vrstici */
@media (max-width: 480px) {
  .pr-facts--hero .pr-fact { padding-right: 10px; gap: 8px; }
  .pr-facts--hero .pr-fact dd { gap: 4px 6px; }
  .pr-facts--hero .pr-fact dd .num { font-size: 1.85rem; }
  .pr-facts--hero .pr-fact dd em { font-size: 0.75rem; }
  .pr-facts--hero .pr-fact dt { font-size: 0.8125rem; line-height: 1.35; }
}

/* certifikati na Domov: ena kartica v vrsti (dokument levo, opis desno) */
@media (max-width: 560px) {
  .lt .certs { grid-template-columns: 1fr; gap: 10px; }
  .lt .cert { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); grid-template-rows: none; }
  .lt .cert__doc { aspect-ratio: auto; height: 100%; min-height: 168px; padding: 14px 16px 10px; }
  .lt .cert__body { border-top: 0; border-left: 1px solid rgba(10, 11, 13, 0.12); padding: 16px; align-content: center; }
  .lt .cert__body b { font-size: 1.0625rem; }
}

/* piškotno okno na majhnih telefonih: kompaktnejše */
@media (max-width: 480px) {
  .cookie-consent__banner { left: max(8px, env(safe-area-inset-left)); right: max(8px, env(safe-area-inset-right)); bottom: max(8px, env(safe-area-inset-bottom)); width: auto; gap: 12px; padding: 18px 18px 16px; }
  .cookie-consent__banner p { font-size: 0.8125rem; line-height: 1.45; margin-top: 6px; }
  .cookie-consent__actions { gap: 6px; }
  .cookie-consent__banner .cookie-consent__secondary { min-height: 44px; }
  .cookie-consent__settings { padding: 24px 20px; }
}

/* meni na nizkih telefonih (iPhone SE, S25): jezik in kontakti brez pomikanja */
@media (max-width: 760px) and (max-height: 820px) {
  .menu__in { gap: 18px; padding-block: 10px 20px; }
  .menu__nav a { padding: 9px 0; font-size: clamp(1.4rem, 6.2vw, 2rem); }
  .menu__foot { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
  .menu__foot > a { grid-column: 1; }
  .lang--menu { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; }
}

/* Kontakt: zgoščene kartice na telefonu (12 oseb brez dolgega pomikanja) */
@media (max-width: 560px) {
  .ko-people { gap: 8px; }
  .ko-p { padding: 16px 16px 8px; border-radius: 14px; }
  .ko-p__top { display: none; }
  .ko-p__n { font-size: 1.125rem; }
  .ko-p__r { margin: 4px 0 8px; }
  .ko-p__c { padding-top: 4px; gap: 0; }
  .ko-p__e, .ko-p__t { padding-block: 0; }
}

/* Zmogljivosti: besedilo glave čez svetlo fotografijo — temnejši preliv za kontrast */
@media (max-width: 760px) {
  .zm-hero .pg-hero__in { padding-top: calc(var(--hd-h) + 24px); }
  .zm-hero .pg-hero__shade { background: linear-gradient(180deg, rgba(11, 12, 14, 0.82) 0%, rgba(11, 12, 14, 0.62) 38%, rgba(11, 12, 14, 0.78) 70%, rgba(11, 12, 14, 0.94) 100%); }
}

/* Zaposlitev: obrazec čez celo širino telefona (širša polja) */
@media (max-width: 560px) {
  .zp-form { margin-inline: calc(var(--g) * -1); padding: 30px var(--g) 28px; border-radius: 0; border-inline: 0; box-shadow: none; }
}

/* Tablica pokončno (761–900): kartice kulture in barve logotipa v dveh stolpcih */
@media (min-width: 761px) and (max-width: 900px) {
  .sp-cul__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg-sw { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg-sw__card { grid-template-columns: 1fr; }
  .lg-sw__chip { min-height: 150px; }
}

/* ===== Popravki po neodvisnem pregledu (kritik) — samo pod 1280 px ===== */
@media (max-width: 1279px) {
  /* noga: ikone omrežij okrogle in na sredini (pravilo .ftr__col a jih ne sme raztegniti) */
  .ftr__social { flex-wrap: wrap; }
  .ftr__social a { display: grid; place-items: center; flex: none; min-height: 0; }
  /* drobtine Tehnologija: vse v isti višini */
  .p3crumbs { align-items: center; }
  /* dolgi pravni in podatkovni besedili: brez deljenja naslovov, imen in kratkih besed */
  .doc { -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; hyphenate-limit-chars: 10 4 4; }
  .doc h1, .doc h2, .doc h3, .doc h4, .doc th, .doc b, .doc strong, .doc dt, .doc blockquote { -webkit-hyphens: manual; hyphens: manual; }
  /* Zmogljivosti: »µm« ne sme postati »MM« (velike črke) */
  .pg-hero__facts .mu { text-transform: none; white-space: nowrap; }
  /* Zaposlitev: naslov brez osamljene besede; delovno mesto brez »(M/« + »Ž)« */
  .zp-first__q { max-width: none; text-wrap: pretty; line-height: 1.1; }
  .zp-job__name { text-wrap: balance; }
  /* Zmogljivosti: manj praznine pred kartico kontakta */
  .zm-ask.pg-sec { padding-top: 8px; }
  /* glava podstrani: drobtine nikoli tik pod menijem, trenutna stran berljiva tudi čez svetlo fotografijo */
  .pg-hero__in { padding-top: 24px; }
  .pg-hero .pg-crumbs [aria-current] { color: rgba(255, 255, 255, 0.9); }
  .pg-hero:not(.pg-hero--plain) .pg-crumbs { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55); }
  /* Logotip: oznake prenosov berljive */
  .lg-dl__files a { opacity: 1; }
  .lg-dl__card figcaption { color: rgba(255, 255, 255, 0.82); }
  .lg-dl__card.is-light figcaption { color: #3b4048; }
  .lg-dl__card.is-red figcaption { color: #fff; }
}
@media (max-width: 900px) {
  /* kazalo pravnih strani: ko se glava skrije, se kazalo pomakne na vrh (kot podnavigacija) */
  .pg-toc { transition: top 0.5s var(--ease); }
  .hd.is-hidden ~ main .pg-toc { top: 0; }
  /* pravne strani: besedilo bližje glavi */
  .doc-sec.pg-sec { padding-top: 28px; }
  .doc-sec .doc__grid { row-gap: 24px; }
}
/* tablica pokončno (761–1100) */
@media (min-width: 761px) and (max-width: 1100px) {
  .ftr__social { display: grid; grid-template-columns: repeat(2, 44px); gap: 8px; }
  .ga__grid { columns: 3; }
  .pg-hero__facts { column-gap: 22px; }
  .lg-dl__card figcaption { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ce__grid--2 .ce-doc { grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr); }
  .ce__grid--2 .ce-doc__t { font-size: 1.25rem; }
  .say__scan, .say__text { font-size: 1.85rem; }
  .pg-hero__media img[src*="building"] { object-position: 82% 50% !important; }
}
@media (min-width: 761px) and (max-width: 1279px) {
  .pg-hero.pg-hero--plain { min-height: clamp(420px, 42svh, 560px); }
}
@media (min-width: 761px) and (max-width: 900px) {
  .eu__strip { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) auto; column-gap: 24px; }
  .eu__strip > div:nth-of-type(2) { grid-column: auto; }
  .eu__strip .btn { grid-column: auto; justify-self: end; }
  .zp-form__l { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
  .zp-form__l > .zp-set, .zp-form__l > .zp-f--area { grid-column: 1 / -1; }
}
/* telefoni */
@media (max-width: 760px) {
  .pg-hero.pg-hero--plain { min-height: clamp(400px, 58svh, 520px); }
  /* Zmogljivosti, Certifikati, EU: številke glave v dveh enakih stolpcih */
  .pg-hero__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
  /* drobtine v eni vrsti; dolga trenutna stran se konča s tremi pikami */
  .pg-hero .pg-crumbs { flex-wrap: nowrap; }
  .pg-hero .pg-crumbs > * { flex: none; }
  .pg-hero .pg-crumbs [aria-current] { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  /* Domov, zmogljivosti v drsniku: besedilo vedno na temni podlagi */
  .caps__slide .scr::before { background: linear-gradient(0deg, rgba(11, 12, 14, 0.95) 0%, rgba(11, 12, 14, 0.82) 42%, rgba(11, 12, 14, 0.45) 60%, rgba(11, 12, 14, 0) 78%), linear-gradient(180deg, rgba(11, 12, 14, 0.5) 0%, rgba(11, 12, 14, 0) 22%); }
  .caps .scr__eyebrow { color: rgba(255, 255, 255, 0.82); }
  /* O podjetju: napis na stavbi nad naslovom, ne za njim */
  .pg-hero__media img[src*="building"] { position: relative; top: -27%; height: 127%; }
  /* virtualni ogled: napis čez svetlo fotografijo berljiv */
  .pg-embed--film .embed--bright .embed__poster { opacity: 0.58; }
  .pg-embed--film .embed__play { gap: 22px; }
}
@media (max-width: 560px) {
  /* noga: stanje proizvodnje v svoji vrsti, deli se ne lomijo */
  .ftr__status { flex: 1 1 100%; flex-wrap: wrap; column-gap: 8px; row-gap: 2px; }
  .ftr__status > span, .ftr__status time { white-space: nowrap; }
  /* Certifikati (stran): ožji predogled, širše besedilo — oznaka standarda v eni vrsti */
  .ce__grid--2 .ce-doc { grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr); }
  .ce__grid--2 .ce-doc__t { font-size: 1.125rem; }
  .ce__grid--2 .ce-doc__body { padding: 16px !important; }
}
@media (max-width: 480px) {
  /* Proizvodnja: enota vedno pod številko */
  .pr-facts--hero .pr-fact dd > em:not(.pr-fact__pre) { flex-basis: 100%; }
  /* Zmogljivosti: tabela s tremi stolpci (kakovost) kot zložene vrstice — brez :has(), ki na Domov upočasni izris */
  .zm #kakovost table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .zm #kakovost table, .zm #kakovost table tbody { display: block; }
  .zm #kakovost table tr { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid rgba(11, 12, 14, 0.12); }
  .zm #kakovost table tr > * { display: block; width: auto; min-width: 0; padding: 0; border: 0; }
  .zm #kakovost table tr > :first-child { font-weight: 640; }
  .zm #kakovost table tr > :not(:first-child) { color: #3b4048; }
}

/* ---------- Fotografije, prirejene zaslonu (izrezi -tel / -tab dobijo data-art samo pod 1280 px) ---------- */
@media (max-width: 760px) and (orientation: portrait) {
  /* Domov: pokončen uvodni posnetek je že izrezan po dogajanju */
  .hero__media video[data-pv], .hero__media img[data-pv] { object-position: 40% 50%; }
  /* Domov: glava na vrhu črna (ne prozorna) */
  body[data-page="home"] .hd { background-color: #050505; }
  body[data-page="home"] .hd:not(.is-solid)::after { opacity: 0; }
  /* Domov: posnetek nižji od zaslona (manj obrezan po širini), spodaj preide v temno ozadje pod naslovom */
  .stage__video .hero__media--pv { --pv-top: calc(var(--hd-h) + env(safe-area-inset-top, 0px)); top: var(--pv-top); bottom: auto; height: calc(min(100%, max(160vw, 78svh)) - var(--pv-top)); overflow: hidden; } /* pod črno glavo, nižji za višino glave */
  .stage__video .hero__media--pv::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 24%; background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0%, rgba(5, 5, 5, 0.72) 62%, #050505 100%); pointer-events: none; }
  .pg-hero__media img[data-art*="t"], .ph__media img[data-art*="t"], .p3ph__media img[data-art*="t"] { object-position: 50% 50% !important; }
  .caps .scr__img[data-art*="t"] { object-position: 50% 50%; }
  /* O podjetju, industrije: pokončna fotografija merilne mize je vidna za naslovom, nato preide v temno */
  .ab-pi { background: #0b0c0e; }
  .ab-pi__bg { bottom: auto; height: min(120svh, 960px); }
  .ab-pi__bg img[data-art*="t"] { opacity: 1; }
  .ab-pi::after { background: linear-gradient(180deg, rgba(11, 12, 14, 0.5) 0, rgba(11, 12, 14, 0.66) 260px, rgba(11, 12, 14, 0.9) 600px, #0b0c0e min(120svh, 960px)); }
}
@media (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  .pg-hero__media img[data-art*="b"], .ph__media img[data-art*="b"], .p3ph__media img[data-art*="b"], .pf__media img[data-art*="b"] { object-position: 50% 50% !important; }
  .caps .scr__img[data-art*="b"] { object-position: 50% 50%; }
}
@media (min-width: 761px) and (max-width: 1279px) {
  .pf__media img[data-art*="B"] { object-position: 50% 50% !important; }
}

/* ---------- Tehnologija, razvoj izdelka: oder v razmerju posnetka »mali« (940 × 780) — kos ni obrezan ob straneh ---------- */
@media (max-width: 900px) {
  /* oder se prilepi tik pod zavihke (prej je med njima ostala reža, skozi katero je teklo besedilo) */
  .te-dev .dev__stage { top: 60px; }
}
@media (max-width: 760px) {
  .te-dev .d3__legend { right: 14px; gap: 4px; }
  .te-dev .d3__legend b { display: none; }
  .te-dev .d3__ramp { height: 96px; }
  .te-dev .dev__stage { height: auto; aspect-ratio: 940 / 780; max-height: 42svh; }
  /* manj napisov čez model: ime koraka je pod odrom, operacije samo z oznakami v eni vrsti */
  .te-dev .te-dev__hud { left: 14px; right: 14px; top: 12px; }
  .te-dev .te-dev__hud [data-dev-cap] { display: none; }
  .te-dev .te-dev__bar { left: 14px; right: 14px; bottom: 12px; }
  .te-dev .d3__ops { left: 14px; right: 14px; bottom: 24px; grid-auto-flow: column; justify-content: start; gap: 14px; }
  .te-dev .d3__ops li { gap: 6px; }
  .te-dev .d3__ops li span { display: none; }
  .te-dev .d3__spec { left: 14px; bottom: 24px; gap: 2px; font-size: 10.5px; }
  .te-dev .d3__spec span:last-child { display: none; }
}

/* ---------- Proizvodnja, strojni park: posnetek postopka vedno cel v okvirju (brez obrezovanja ob straneh), enako merilo na vseh telefonih ---------- */
@media (max-width: 760px) and (orientation: portrait) {
  .ops--3d .ops__viz, .ops--3d-wait .ops__viz { min-height: 0; aspect-ratio: 0.93; }   /* okvir v razmerju kompleta »ozko« (872 × 920) */
  .ops__panel { row-gap: 16px; }   /* spodnji rob posnetka (tuljava žice) ne seže v naslov */
}
@media (min-width: 761px) and (max-width: 980px) {
  /* pokončna tablica: posnetek ob opisu (kot na računalniku), okvir v razmerju osnovnega kompleta */
  .ops__panel { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 0 18px; }
  .ops--3d .ops__viz, .ops--3d-wait .ops__viz { min-height: 0; aspect-ratio: 1.04; }
}

/* ---------- Telefon: manj besedila — drugotni odstavki in opisi niso prikazani (v strani ostanejo za iskalnike, AI in večje zaslone) ---------- */
@media (max-width: 760px) {
  /* O podjetju: od treh odstavkov ostane prvi; industrije samo z imeni */
  .ab-st__cols p:not(:first-child) { display: none; }
  .ab-pi__list p { display: none; }
  /* Proizvodnja: povzetek v uvodu samo s področji (seznam postopkov je spodaj) */
  .pr-sum__col p { display: none; }
  /* Sponzorstva: drugi odstavek ponovi dosežke iz oznak; opombe o drugih donacijah */
  .sp-feat__txt p ~ p, .sp-feat__txt p ~ p + .m-more, .sp-note { display: none; }
  /* Logotip: drugi odstavek o barvah (barve so prikazane spodaj) */
  .lg-mark__txt p + p { display: none; }
  /* Domov: certifikati z oznako standarda, brez opisa */
  .certs .cert__body p { display: none; }
}

/* =====================================================================================================
   Krog 1 strogih kritikov (estetika; lepota in funkcionalnost) — vse pod 1280 px, namizje nespremenjeno
   ===================================================================================================== */
@media (max-width: 760px) {
  /* glave s fotografijo: temen prehod pod glavo strani — logotip, MENI in drobtinice niso več na svetlem delu slike */
  .pg-hero::before, .p3ph::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: -1; height: 240px; background: linear-gradient(180deg, rgba(11, 12, 14, 0.72) 0, rgba(11, 12, 14, 0.4) 46%, rgba(11, 12, 14, 0) 100%); pointer-events: none; }
  .pg-hero--plain::before { content: none; }
  /* Tehnologija: kos v glavi ni več pod glavo strani */
  .p3ph__media { top: 64px; }
  .p3ph__media::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 1; height: 90px; background: linear-gradient(180deg, #0b0c0e, rgba(11, 12, 14, 0)); }
  /* O podjetju: svetleči napis RESEDA višje, daleč nad drobtinicami */
  .pg-hero__media img[src*="building"] { top: 19%; height: 100%; } /* znak nižje (bližje naslovu), zgoraj se vidi stavba */
  /* Kontakt: pročelje s prapori (brez povečave in zamika iz namizne različice) */
  .ko-hero .pg-hero__media img[data-art*="t"], .ko-hero.is-in .pg-hero__media img[data-art*="t"] { transform: none; }
  /* Zmogljivosti: manj temna glava */
  .zm-hero .pg-hero__shade { background: linear-gradient(180deg, rgba(11, 12, 14, 0.74) 0%, rgba(11, 12, 14, 0.46) 34%, rgba(11, 12, 14, 0.7) 64%, rgba(11, 12, 14, 0.94) 100%); }

  /* Domov: opis levo poravnan (sredinska poravnava je na ozkem zaslonu nazobčana na obeh straneh) */
  .reveal__text { place-items: center start; }
  .say__wrap { justify-items: start; }
  .say__text { margin-inline: 0; text-align: left; text-wrap: pretty; }
  /* Domov: krajši pripeti drsnik zmogljivosti */
  .caps { --step: 180px; }
  /* Domov: certifikati v mreži 2 × 2 */
  .lt .certs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lt .cert { grid-template-columns: none; grid-template-rows: auto auto; }
  .lt .cert__doc { height: auto; min-height: 0; aspect-ratio: 4 / 4.6; padding: 12px 14px 8px; }
  .lt .cert__body { border-left: 0; border-top: 1px solid rgba(10, 11, 13, 0.12); padding: 12px 14px; }
  .lt .cert__body b { font-size: 0.9375rem; }
  /* Domov: kariera — kraj berljiv na rdeči */
  .kband__loc { color: rgba(255, 255, 255, 0.88); }

  /* drobne oznake: najmanj 12 px */
  .fx-stage--s .fx__k, .fx-stage--t .fx__l { font-size: 0.75rem; }
  .pg-hero__facts small { font-size: 0.75rem; letter-spacing: 0.12em; }
  .pr-fact dd small, .pr-fact dd em { font-size: 0.75rem; }

  /* glave brez fotografije: brez praznega temnega pasu nad drobtinicami */
  .pg-hero.pg-hero--plain { min-height: 0; }
  .pg-hero--plain .pg-hero__in { padding-top: 36px; }

  /* O podjetju: fotografije vrednot nižje (16 : 10), delavka v kadru z glavo */
  .ab-chap__inline { aspect-ratio: 16 / 10; }
  .ab-chap__item:last-child .ab-chap__inline img { object-position: 50% 15%; }

  /* Proizvodnja: postopki dodelav, meritev in montaže kot oznake v vrsticah */
  .pf__rows { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; border-top: 0; }
  .pf__rows li { padding: 9px 14px; border: 1px solid var(--pf-line2); border-radius: 999px; font-size: 0.9375rem; line-height: 1.25; }
  .pf__rows li::before { content: none; }

  /* Tehnologija: materiali so v kartici z deleži; Logotip: pomen je zapisan ob znaku; Certifikati: standardi so v karticah spodaj */
  .te-mat2__txt, .lg-mark__txt, body[data-page="certifikati"] .pg-hero__facts { display: none; }

  /* Sponzorstva: dosežki kot vrstica besedila, ne kot gumbi */
  .sp-chips { display: block; line-height: 1.5; }
  .sp-chips li { display: inline; padding: 0; border: 0 !important; font-size: 0.875rem; color: rgba(255, 255, 255, 0.82); }
  .sp-chips li + li::before { content: "·"; margin-inline: 8px; color: var(--red); }

  /* Kontakt: najprej telefon in e-pošta, nato zemljevid; ekipa kot zgoščen seznam z gumboma za klic in e-pošto */
  .ko-ref__grid { display: flex; flex-direction: column; }
  .ko-boxes { order: -1; }
  .ko-team__head p { display: none; }
  .ko-people { gap: 0; border-top: 1px solid rgba(11, 12, 14, 0.12); }
  .ko-p { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; grid-template-rows: auto auto; column-gap: 8px; align-items: center; padding: 12px 0 !important; border: 0; border-bottom: 1px solid rgba(11, 12, 14, 0.12); border-radius: 0; background: transparent; box-shadow: none; }
  .ko-p::before, .ko-p__top { display: none; }
  .ko-p__n { grid-area: 1 / 1; font-size: 1.0625rem; }
  .ko-p__r { grid-area: 2 / 1; margin: 4px 0 0; }
  .ko-p__c { display: contents; }
  .ko-p__e, .ko-p__t { grid-row: 1 / span 2; width: 44px; height: 44px; min-height: 44px; padding: 0 !important; overflow: hidden; border-radius: 12px; font-size: 0; color: transparent; background: #0b0c0e center / 22px no-repeat; }
  .ko-p__e { grid-column: 2; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
  .ko-p__t { grid-column: 3; background-color: var(--red); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
  .ko-p__e:hover, .ko-p__t:hover { color: transparent; }

  /* Zaposlitev: fotografija ob uvodu (ponovi se drugje) ni prikazana — delovna mesta so višje */
  .zp-first__fig { display: none; }

  /* noga: nižji znak RESEDA */
  .ftr__mark { margin-top: 16px; }
  .ftr__mark .logo-svg { display: block; width: 100%; margin-inline: auto; margin-bottom: -2.2%; }   /* telefon: znak čez celo širino (do robov besedila), na sredini; pod črto enak delež kot na računalniku */
  .ftr__bottom .linkbtn, .ftr__bottom a { min-height: 44px; display: inline-flex; align-items: center; }
  /* drobtinice: večja površina za dotik brez spremembe postavitve */
  .pg-crumbs a { padding-block: 12px; margin-block: -12px; }
}
/* Domov, drsnik: besedilo na vseh pokončnih zaslonih na temni podlagi (tudi tablica) */
@media (max-width: 1279px) and (orientation: portrait) {
  .caps__slide .scr::before { background: linear-gradient(0deg, rgba(11, 12, 14, 0.96) 0%, rgba(11, 12, 14, 0.9) 38%, rgba(11, 12, 14, 0.62) 56%, rgba(11, 12, 14, 0) 80%), linear-gradient(180deg, rgba(11, 12, 14, 0.55) 0%, rgba(11, 12, 14, 0) 24%); }
  .caps .scr__box .h2, .caps .scr__text { text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55); }
}
/* podnavigacija ne ostane nad »Naslednja stran«, podatki o podjetju in nogo */
@media (max-width: 1279px) {
  .pg-next, .pg-facts { position: relative; z-index: 31; }
  .ftr { position: relative; z-index: 31; }
  /* Proizvodnja: hitre kartice v glavi berljive na rdeči */
  .pr-sum__col p { color: #fff; font-size: 0.875rem; }
}
/* Tehnologija, pokončna tablica: oder v razmerju osnovnega posnetka — model večji */
@media (min-width: 761px) and (max-width: 900px) {
  .te-dev .dev__stage { height: auto; aspect-ratio: 1196 / 1140; max-height: 64svh; }
}
@media (max-width: 760px) {
  /* Tehnologija: besedilo pod odrom zbledi (ni trdega reza), oznake berljive, znak za vrtenje v kotu */
  .te-dev .dev__stage { box-shadow: 0 22px 18px 4px #0b0c0e; }
  .te-dev .d3__dims text { font-size: 12px; }
  .te-dev .d3__dims text.sm { font-size: 11px; }
  .te-dev .d3__legend { display: none; }
  .te-dev [style*="width: 96px"] { left: auto !important; top: auto !important; right: 12px !important; bottom: 28px !important; width: 52px !important; height: 52px !important; margin: 0 !important; }
  .te-dev [style*="width: 96px"] svg { width: 38px; height: 38px; }
}
/* Proizvodnja, strojni park: stalna višina kartice (vsi postopki v isti celici — ob preklopu stran ne poskoči),
   mehak rob posnetka (posnetki s svojim ozadjem niso »škatla v škatli«), enotnejše merilo predmetov */
@media (max-width: 980px) {
  .ops__screen { grid-template-columns: minmax(0, 1fr); }
  .ops__panel { min-height: var(--ops-h, 0px); }   /* višina najvišjega postopka (production.js) — skriti postopki se ne izrisujejo */
  .ops__viz::after { content: ""; position: absolute; inset: -8px; z-index: 3; pointer-events: none; background: radial-gradient(ellipse 72% 68% at 50% 50%, rgba(11, 12, 14, 0) 62%, rgba(11, 12, 14, 0.55) 84%, #0b0c0e 100%); }
  /* manjši predmeti (žična erozija, brušenje, balansiranje, 3D tisk) večji; prevelik (graviranje) manjši */
  .ops__panel[data-op-panel="4"] .p3d__vid { transform: translateX(-50%) scale(1.28); }
  .ops__panel[data-op-panel="5"] .p3d__vid { transform: translateX(-50%) scale(1.4); }
  .ops__panel[data-op-panel="7"] .p3d__vid { transform: translateX(-50%) scale(1.32); }
  .ops__panel[data-op-panel="8"] .p3d__vid { transform: translateX(-50%) scale(1.18); }
  .ops__panel[data-op-panel="9"] .p3d__vid { transform: translateX(-50%) scale(0.86); }
}
@media (max-width: 760px) {
  /* kartica postopka se prilega zaslonu: največ tri alineje */
  .ops__spec { gap: 12px; align-content: start; }
  .ops__spec .pg-ticks li:nth-child(n + 4) { display: none; }
  .ops__big b { font-size: 2.6rem; }
}
@media (max-width: 760px) {
  .ops__spec .pg-ticks li:nth-child(3) { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
}
@media (max-width: 1100px) {
  /* Domov: opis po branju ne ostane pripet skoraj dva zaslona (JS: podatki se pokažejo prej) */
  .reveal { height: calc(90svh + 105svh + var(--hold) + 100svh); }
}
/* telefon: »Preberi več« (js/core.js, R.more) */
@media (max-width: 760px) {
  .m-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
  .m-more { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 2px; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; }
  .m-more::after { content: ""; width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform 0.3s var(--ease); }
  .m-more[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
  .m-more:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
}
/* telefon: hitri gumbi v glavi (Kontakt: klic in e-pošta; Zaposlitev: delovna mesta in obrazec) */
@media (max-width: 760px) {
  .m-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
  .m-quick__a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 10px; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px; color: #fff; font-size: 0.8125rem; font-weight: 600; text-align: center; line-height: 1.2; background: rgba(11, 12, 14, 0.35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .m-quick__a--tel { border-color: var(--red); background: var(--red); }
}
/* naslovi brez osirotele zadnje besede (namizje nespremenjeno) */
@media (max-width: 1279px) {
  main h1, main h2, main h3 { text-wrap: balance; }
}
@media (max-width: 760px) {
  /* Zaposlitev: vprašanje pred uvodnim odstavkom; oznake polj temnejše */
  .zp-first__txt { display: flex; flex-direction: column; gap: 18px; }
  .zp-first__q { order: -1; }
  .zp-form .zp-f > span:not(.field__err) { color: #4a4f57; }
}
/* pokončna tablica: krajše vrstice daljših besedil */
@media (min-width: 761px) and (max-width: 1100px) {
  .ab-st__cols { display: block; columns: 2; column-gap: 40px; }
  .ab-st__cols p { break-inside: avoid; margin-bottom: 20px; }
  .sp-feat__txt p { max-width: 62ch; }
}

/* =====================================================================================================
   Krog 2 strogih kritikov — vse pod 1280 px
   ===================================================================================================== */
/* Proizvodnja, kartica postopka: nič ne sega čez rob; naslov vedno na istem mestu; merilo predmetov (indeks 0 = razrez … 9 = graviranje) */
@media (max-width: 980px) {
  .ops__panel { min-width: 0; align-content: start; }
  .ops__panel > * { min-width: 0; }
  .ops__spec, .ops__spec * { overflow-wrap: anywhere; }
  .ops__panel[data-op-panel="0"] .p3d__vid { transform: translateX(-50%) scale(0.86); }
  .ops__panel[data-op-panel="2"] .p3d__vid { transform: translateX(-50%) scale(0.9); }
  .ops__panel[data-op-panel="3"] .p3d__vid { transform: translateX(-50%) scale(0.8); }
  .ops__panel[data-op-panel="5"] .p3d__vid { transform: translateX(-50%) scale(0.86); }
  .ops__panel[data-op-panel="8"] .p3d__vid { transform: translateX(-50%) scale(1.36); }
  .ops__panel[data-op-panel="9"] .p3d__vid { transform: translateX(-50%) scale(0.78); }
}
@media (max-width: 760px) {
  /* Proizvodnja: postopki dodelav, meritev in montaže kot mirna dvostolpčna lista (ne kot gumbi) */
  .pf__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; margin-top: 24px; border-top: 1px solid var(--pf-line2); }
  .pf__rows li { display: flex; gap: 10px; align-items: baseline; padding: 11px 0; border: 0; border-bottom: 1px solid var(--pf-line); border-radius: 0; font-size: 0.9375rem; line-height: 1.3; }
  .pf__rows li::before { content: ""; flex: none; width: 10px; height: 2px; margin-bottom: 0.3em; background: var(--pf-num); transform: skewX(-24deg); }
  .js .pf__rows li::before { width: 10px; }
  /* Proizvodnja: povzetek v glavi kot temne vrstice (rdeča le puščica), ne kot rdeč blok */
  .pr-st--over .pr-sum { background: #141418; box-shadow: 0 30px 60px -36px rgba(0, 0, 0, 0.6); }
  .pr-sum__col { padding: 16px 18px; border-top-color: #2a2a30 !important; }
  .pr-sum__col h3 { font-size: 0.9375rem; letter-spacing: 0.08em; }
  .pr-sum__go { top: 50%; bottom: auto; right: 18px; margin-top: -9px; color: var(--red); }

  /* Kontakt: kartice čez vso širino, telefon in e-pošta prva; gumba ekipe obrobljena (manj vizualnega hrupa) */
  .ko-boxes { align-self: stretch; width: 100%; grid-template-columns: minmax(0, 1fr); }
  .ko-boxes > :nth-child(2) { order: -1; }
  .ko-p__e, .ko-p__t { background-color: #fff; border: 1px solid #d5d7dc; }
  .ko-p__e { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0c0e' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
  .ko-p__t { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d0202b' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
  .ko-p__n { font-size: 1rem; }

  /* gumbi v glavah v slogu strani: pravokotni, velike črke */
  .m-quick__a { border-radius: 2px; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(11, 12, 14, 0.55); }
  .m-quick__a--tel { background: var(--red); }

  /* Domov: opis večji (manj praznine okoli), certifikati enako visoki */
  .say__text { font-size: 1.5rem; line-height: 1.32; }
  .lt .cert__body b { font-size: 0.875rem; white-space: nowrap; }

  /* Tehnologija: večji oder (model ≈ 70 % širine, obrezava ob straneh le ~5 %), večje oznake operacij, drobtinice berljive na kovini */
  .te-dev .dev__stage { aspect-ratio: 1.07; max-height: 44svh; }
  .te-dev .d3__ops { font-size: 12px; }
  .te-dev .dev__stage { box-shadow: 0 30px 24px 10px #0b0c0e; }
  .p3ph .pg-crumbs, .p3crumbs { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.85), 0 0 2px rgba(0, 0, 0, 0.6); }
  .p3ph .pg-crumbs [aria-current], .p3crumbs [aria-current] { color: #fff; }
}
/* Tehnologija na tablicah: G-koda ne prekriva modela, znak 360° v kotu */
@media (min-width: 761px) and (max-width: 1279px) {
  .te-dev .d3__code { display: none; }
  .te-dev [style*="width: 96px"] { left: auto !important; top: auto !important; right: 16px !important; bottom: 36px !important; width: 56px !important; height: 56px !important; margin: 0 !important; }
  .te-dev [style*="width: 96px"] svg { width: 40px; height: 40px; }
}
/* Domov, drsnik na pokončni tablici: besedilo nižje in na temni podlagi */
@media (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  .caps .scr__in { padding-bottom: calc(clamp(40px, 5vh, 72px) + 64px); }
  .caps__slide .scr::before { background: linear-gradient(0deg, rgba(11, 12, 14, 0.96) 0%, rgba(11, 12, 14, 0.92) 30%, rgba(11, 12, 14, 0.7) 46%, rgba(11, 12, 14, 0) 72%), linear-gradient(180deg, rgba(11, 12, 14, 0.55) 0%, rgba(11, 12, 14, 0) 24%); }
}
/* Domov do 1100 px: opis levo; krajši prazni deli (višina in JS) */
@media (max-width: 1100px) {
  .reveal { --hold: 60px; height: calc(85svh + 120svh + var(--hold) + 100svh); }
  .reveal__text { place-items: center start; }
  .say__wrap { justify-items: start; }
  .say__text { margin-inline: 0; text-align: left; }
}
/* tablice: Kontakt in Zaposlitev kot na telefonu (telefon in e-pošta pred zemljevidom, zgoščena ekipa, vprašanje pred odstavkom) */
@media (min-width: 761px) and (max-width: 1100px) {
  .ko-ref__grid { display: flex; flex-direction: column; gap: 14px; }
  .ko-boxes { order: -1; align-self: stretch; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ko-boxes > :nth-child(2) { order: -1; }
  .ko-team__head p { display: none; }
  .ko-people { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .ko-p { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; grid-template-rows: auto auto; column-gap: 8px; align-items: center; padding: 14px 0 !important; border: 0; border-bottom: 1px solid rgba(11, 12, 14, 0.12); border-radius: 0; background: transparent; box-shadow: none; }
  .ko-p::before, .ko-p__top { display: none; }
  .ko-p__n { grid-area: 1 / 1; font-size: 1.0625rem; }
  .ko-p__r { grid-area: 2 / 1; margin: 4px 0 0; }
  .ko-p__c { display: contents; }
  .ko-p__e, .ko-p__t { grid-row: 1 / span 2; width: 44px; height: 44px; min-height: 44px; padding: 0 !important; overflow: hidden; border-radius: 12px; font-size: 0; color: transparent; background: #fff center / 22px no-repeat; border: 1px solid #d5d7dc; }
  .ko-p__e { grid-column: 2; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0c0e' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
  .ko-p__t { grid-column: 3; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d0202b' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
  .ko-p__e:hover, .ko-p__t:hover { color: transparent; }
  .zp-first__txt { display: flex; flex-direction: column; gap: 22px; }
  .zp-first__q { order: -1; }
}
/* gumbi v glavah na tablicah */
@media (min-width: 761px) and (max-width: 1279px) {
  .m-quick { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  .m-quick__a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 2px; color: #fff; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; background: rgba(11, 12, 14, 0.55); }
  .m-quick__a--tel { border-color: var(--red); background: var(--red); }
  /* noga: manjši znak RESEDA */
  .ftr__mark .logo-svg { width: 56%; margin-bottom: -1.23%; }   /* pod črto enak delež znaka kot na računalniku (-2,2 % × 0,56) */
}
@media (max-width: 760px) {
  :root { --sec: 64px; }   /* enoten, nižji ritem razdelkov na telefonu */
}
@media (max-width: 760px) {
  /* noga: krajša (manj praznine nad znakom in v vrhnjem delu) */
  .ftr__grid { padding-top: 44px; padding-bottom: 8px; row-gap: 22px; }
  .ftr__mark { margin-top: 4px; }
}

/* =====================================================================================================
   Krog 3 strogih kritikov — vse pod 1280 px
   ===================================================================================================== */
/* Domov, drsnik na tablicah (obe legi): besedilo vedno na temni podlagi, gumb jasno obrobljen */
@media (min-width: 761px) and (max-width: 1279px) {
  .caps .scr__text { color: rgba(255, 255, 255, 0.9); }
  .caps .scr .btn { border-color: rgba(255, 255, 255, 0.9); border-width: 1.5px; }
  .caps__slide:last-child .scr__img { object-position: 30% 50% !important; }
}
@media (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) {
  .caps__slide .scr::before { background: linear-gradient(90deg, rgba(11, 12, 14, 0.92) 0%, rgba(11, 12, 14, 0.78) 38%, rgba(11, 12, 14, 0.3) 62%, rgba(11, 12, 14, 0) 80%), linear-gradient(0deg, rgba(11, 12, 14, 0.85) 0%, rgba(11, 12, 14, 0) 45%); }
}
@media (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  .caps__slide .scr::before { background: linear-gradient(0deg, rgba(11, 12, 14, 0.97) 0%, rgba(11, 12, 14, 0.93) 34%, rgba(11, 12, 14, 0.8) 50%, rgba(11, 12, 14, 0) 76%), linear-gradient(180deg, rgba(11, 12, 14, 0.55) 0%, rgba(11, 12, 14, 0) 24%); }
  /* Domov: opis večji in v ožjem stolpcu (manj praznega) */
  .say__scan, .say__text { font-size: 2.2rem; line-height: 1.25; }
  .say__text { max-width: 680px; }
}
@media (max-width: 760px) {
  /* Domov: opis lažji (22 px) */
  .say__text { font-size: 1.375rem; line-height: 1.35; }
}

/* Proizvodnja, postopki — merilo in rob (telefon) */
@media (max-width: 980px) {
  .ops__viz::after { background: radial-gradient(ellipse 66% 64% at 50% 50%, rgba(11, 12, 14, 0) 50%, rgba(11, 12, 14, 0.62) 76%, #0b0c0e 96%); }
}
@media (max-width: 760px) {
  .ops__panel[data-op-panel="2"] .p3d__vid { transform: translateX(-50%) scale(0.82); }
  .ops__panel[data-op-panel="5"] .p3d__vid { transform: translateX(-50%) scale(0.96); }
  .ops__panel[data-op-panel="9"] .p3d__vid { transform: translateX(-50%) scale(0.72); }
}
/* Proizvodnja, postopki na pokončni tablici: osnovni komplet (večji predmeti) — svoje merilo, naslov vedno na vrhu stolpca */
@media (min-width: 761px) and (max-width: 980px) {
  .ops__viz { overflow: hidden; border-radius: 12px; }
  .ops__spec { align-self: start; align-content: start; padding-top: 28px; }
  .ops__panel[data-op-panel="0"] .p3d__vid { transform: translateX(-50%) scale(0.9); }
  .ops__panel[data-op-panel="2"] .p3d__vid { transform: translateX(-50%) scale(0.88); }
  .ops__panel[data-op-panel="3"] .p3d__vid { transform: translateX(-50%) scale(0.86); }
  .ops__panel[data-op-panel="4"] .p3d__vid { transform: translateX(-50%) scale(0.86); }
  .ops__panel[data-op-panel="5"] .p3d__vid { transform: translateX(-50%) scale(1.12); }
  .ops__panel[data-op-panel="7"] .p3d__vid { transform: translateX(-50%) scale(0.92); }
  .ops__panel[data-op-panel="8"] .p3d__vid { transform: translateX(-50%) scale(1.15); }
  .ops__panel[data-op-panel="9"] .p3d__vid { transform: translateX(-50%) scale(0.8); }
}
/* Proizvodnja: povzetek v glavi tudi na tablicah temen (enako kot telefon), seznami berljivi */
@media (min-width: 761px) and (max-width: 1279px) {
  .pr-st--over .pr-sum { background: #141418; box-shadow: 0 30px 60px -36px rgba(0, 0, 0, 0.6); }
  .pr-sum__col { border-left-color: #2a2a30; border-top-color: #2a2a30; }
  .pr-sum__col p { color: #c3c7ce; font-size: 0.875rem; }
  .pr-sum__go { color: var(--red); }
}
@media (max-width: 760px) {
  /* Proizvodnja: vrstica številk v glavi bolj zračna, oznake svetlejše; manj praznine pred Strojnim parkom */
  .pr-facts--hero { column-gap: 18px; }
  .pr-facts--hero .pr-fact dd .num { font-size: 1.7rem; }
  .pr-fact dd em, .pr-fact dd small, .ops__big span { color: rgba(255, 255, 255, 0.74); }
  .pr-st--over { padding-bottom: 8px; }

  /* Tehnologija: manj praznine pod odrom in za zadnjim korakom; daljši preliv pod odrom */
  .te-dev .dev__stage { margin-bottom: 8px; box-shadow: 0 40px 30px 16px #0b0c0e; }
  .te-dev .dev__step:last-child { min-height: 24svh; }
  .te-dev.pg-sec { padding-bottom: 24px; }

  /* O podjetju: vodilni odstavek lažji; kolektiv višji izrez; drobtinice na fotografiji berljive */
  .ab-st .pg-words { font-size: 1.25rem; line-height: 1.38; }
  .ab-st__team a { aspect-ratio: 16 / 9; }
  .ab-st__team img { object-position: 50% 40% !important; }
  .pg-hero .pg-crumbs { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.85); }

  /* Sponzorstva: Footgolf višji izrez, brez praznine pod fotografijo */
  #footgolf .sp-feat__img { aspect-ratio: 1600 / 702; height: auto; min-height: 0; margin-bottom: 0; }
  #footgolf .sp-feat__img img { height: 100%; object-position: 50% 50% !important; object-fit: cover; }

  /* Certifikati: e-pošta in telefon v kartici kontakta kot povezavi */
  .ce-who > a:not(.ce-who__btn) { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-decoration-color: rgba(11, 12, 14, 0.35); text-underline-offset: 3px; }

  /* glave brez fotografije: še nižji vrh */
  .pg-hero--plain .pg-hero__in { padding-top: 14px; }

  /* noga: skupine povezav kot harmonika (js/core.js, R.ftrAcc) */
  .ftr__grid { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .ftr__col--brand { padding-bottom: 20px; }
  .ftr__col--acc { border-top: 1px solid rgba(255, 255, 255, 0.12); }
  .ftr__col--acc .ftr__h { margin: 0; }
  .ftr__acc { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
  .ftr__acc::after { content: ""; width: 8px; height: 8px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform 0.3s var(--ease); }
  .ftr__col--acc.is-open .ftr__acc::after { transform: translateY(2px) rotate(-135deg); }
  .ftr__col--acc > ul { display: none; padding-bottom: 10px; }
  .ftr__col--acc.is-open > ul { display: block; }
  .ftr__col--acc > .ftr__social { display: none; }
  .ftr__col--acc.is-open > .ftr__social { display: flex; padding-bottom: 16px; }
  .ftr__col:not(.ftr__col--brand):not(.ftr__col--acc) { padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
  .ftr__social { display: flex; gap: 10px; }
}
/* Tehnologija na tablicah: drobtinice v glavi berljive na kovini */
@media (min-width: 761px) and (max-width: 1279px) {
  .p3ph .pg-crumbs, .p3crumbs { text-shadow: 0 1px 10px rgba(0, 0, 0, 0.85); }
  .p3ph .pg-crumbs [aria-current], .p3crumbs [aria-current] { color: #fff; }
  /* Zmogljivosti: glava temnejša pod besedilom */
  .zm-hero .pg-hero__shade { background: linear-gradient(180deg, rgba(11, 12, 14, 0.7) 0%, rgba(11, 12, 14, 0.5) 34%, rgba(11, 12, 14, 0.78) 62%, rgba(11, 12, 14, 0.95) 100%); }
}
/* Zaposlitev tudi na ležeči tablici: vprašanje pred odstavkom */
@media (min-width: 1101px) and (max-width: 1279px) {
  .zp-first__txt { display: flex; flex-direction: column; gap: 24px; }
  .zp-first__q { order: -1; }
}
@media (max-width: 900px) {
  /* kazalo pravnih strani: ena črta (vrstica napredka), brez dodatne spodnje obrobe */
  .pg-toc { border-bottom: 0 !important; padding-bottom: 0 !important; }
}

/* ---------- Domov telefon: številke in panoge (mirnejše) ---------- */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  /* številke: čista mreža 2 × 2, samo oznaka in število, brez opisov */
  .fx-stage--t { gap: 34px; }
  .fx-stage--t .fx-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255, 255, 255, 0.14); }
  .fx-stage--t .fx { gap: 12px; padding: 18px 0 20px; }
  .fx-stage--t .fx:nth-child(even) { padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, 0.14); }
  .fx-stage--t .fx:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, 0.14); }
  .fx-stage--t .fx::before { content: none; }
  .fx-stage--t .fx::after { top: -1px; width: 22px; }
  .fx-stage--t .fx:nth-child(even)::after { left: 20px; }
  .fx-stage--t .fx__top { margin: 0; font-size: 0.6875rem; letter-spacing: 0.16em; }
  .fx-stage--t .fx__n { font-size: clamp(2.5rem, 12vw, 3.25rem); }
  .fx-stage--t .fx__l { margin: -4px 0 0; font-size: 0.75rem; line-height: 1.3; letter-spacing: 0.01em; color: rgba(255, 255, 255, 0.6); white-space: nowrap; }
  /* panoge: poteg levo/desno, aktivna kartica je širša */
  .ind--tiles .ind__t { display: none; }
  .ind--tiles { gap: 14px; overflow: hidden; width: calc(100% + 2 * var(--g, 20px)); max-width: none; margin: 0 calc(-1 * var(--g, 20px)); padding: 0 var(--g, 20px); }
  .ind--tiles .ind__row { --iw: 24vw; --aw: 76vw; display: flex; gap: 6px; margin: 0; padding: 0; overflow: visible; will-change: transform; touch-action: pan-y; -webkit-user-select: none; user-select: none; } /* poteg levo/desno vodi položaj in širine (home.js) */
  .ind--tiles .ind__row li { flex: 0 0 var(--iw); min-width: 0; height: clamp(190px, 30svh, 260px); padding: 12px; }
  .ind--tiles .ind__row li:first-child { flex-basis: var(--aw); }
  .ind--tiles .ind__row img { -webkit-user-drag: none; pointer-events: none; }
  .ind--tiles .ind__row li:last-child { grid-column: auto; }
  .fx-stage .ind--tiles .ind__k { font-size: 0.75rem; line-height: 1.15; font-stretch: 104%; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: anywhere; }
  .fx-stage .ind--tiles .ind__row li .ind__k { opacity: clamp(0, var(--on, 0) * 1.6 - 0.6, 1); }
  .ind--tiles .ind__k::before { width: 18px; margin-bottom: 8px; }
}

/* ---------- Meni (telefon, tablica ≤ 1240 px): kot na reseda.si v slogu nove strani ---------- */
@media (max-width: 1240px) {
  .menu--m .menu__in { display: flex; flex-direction: column; gap: 0; min-height: 100%; padding-block: 12px 0; }
  .menu--m .menu__nav { flex: 1 0 auto; align-content: start; gap: 2px; border-top: 0; padding-bottom: 24px; }
  .menu--m .menu__nav > a, .menu--m .menu__row > a { display: flex; align-items: center; min-height: 48px; padding: 0 12px; border: 0; font-size: 1.3125rem; font-weight: 600; font-stretch: 110%; letter-spacing: -0.005em; line-height: 1.1; color: #fff; }
  .menu--m .menu__nav a.is-active { color: var(--red); background: rgba(215, 25, 32, 0.12); box-shadow: inset 3px 0 0 var(--red); padding-left: 12px; }
  .menu--m .menu__row { display: grid; grid-template-columns: minmax(0, 1fr) 48px; min-height: 48px; border: 0; }
  .menu--m .menu__tg { position: relative; display: block; width: 48px; padding: 0; border: 0; background: none; color: rgba(255, 255, 255, 0.85); cursor: pointer; }
  .menu--m .menu__tg i { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -7px 0 0 -5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 0.3s var(--ease); }
  .menu--m .menu__grp.is-open .menu__tg i { transform: rotate(-135deg); margin-top: -2px; }
  .menu--m .menu__subl { display: grid; margin: 2px 0 8px 14px; padding-left: 8px; border-left: 1px solid rgba(255, 255, 255, 0.18); }
  .menu--m .menu__subl[hidden] { display: none; }
  .menu--m .menu__nav .menu__subl a { display: flex; align-items: center; min-height: 44px; padding: 6px 12px; border: 0; font-size: 0.8125rem; font-weight: 640; font-stretch: 110%; letter-spacing: 0.1em; line-height: 1.3; text-transform: uppercase; color: rgba(255, 255, 255, 0.82); }
  .menu--m .menu__nav .menu__subl a.is-active { color: var(--red); }
  .menu--m:not([hidden]) .menu__nav > a, .menu--m:not([hidden]) .menu__grp { animation: none; }
  .menu--m .menu__foot { position: sticky; bottom: 0; display: grid; grid-template-columns: 1fr; justify-items: center; gap: 2px; margin: 0 calc(-1 * var(--g, 20px)); padding: 14px var(--g, 20px) calc(14px + env(safe-area-inset-bottom, 0px)); background: var(--ink); border-top: 1px solid var(--rule-d); }
  .menu--m .menu__foot .lang--menu { order: -1; grid-column: 1; grid-row: auto; margin: 0 0 6px; }
  .menu--m .menu__foot > a { grid-column: 1; display: flex; align-items: center; min-height: 40px; font-size: 1rem; color: rgba(255, 255, 255, 0.85); }
}

/* ---------- Domov telefon: drsnik zmogljivosti — zgoraj slika (čim večja), pod njo naslov in besedilo, čisto spodaj črte čez vso širino ---------- */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  .caps { --th: 238px; --bh: 52px; --tt: calc(100% - var(--th) - var(--bh)); --mh: calc(var(--tt) + 100px); }
  .caps .scr { flex-direction: column; align-items: stretch; justify-content: flex-end; }
  .caps .scr__media { --h: min(var(--mh), max(calc(100vw / var(--a, 0.75)), calc(var(--mh) * 0.72))); position: absolute; inset: 0 0 auto; height: var(--h); } /* izrez po predmetu (--a), slika se začne na vrhu */
  .caps .scr__media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(11, 12, 14, 0) 66%, rgba(11, 12, 14, 0.7) 86%, #0b0c0e 100%); pointer-events: none; } /* spodnji rob slike se zlije s temnim ozadjem, zgoraj brez zatemnitve */
  .caps .caps__slide .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0) calc(var(--tt) - 50px), rgba(11, 12, 14, 0.6) calc(var(--tt) + 30px), rgba(11, 12, 14, 0.9) calc(var(--tt) + 75px), #0b0c0e var(--mh), #0b0c0e 100%); }
  .caps .scr__in { flex: none; display: flex; align-items: flex-end; height: calc(var(--th) + var(--bh)); margin: 0; padding-top: 0; padding-bottom: calc(var(--bh) + 16px); }
  .caps .scr__box { gap: 10px; }
  .caps .scr__eyebrow { margin: 0; }
  .caps .scr__text { margin: 0; font-size: 0.9375rem; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .caps .scr .btn { margin-top: 6px; min-height: 44px; padding-block: 0; }
  /* spodaj čez vso širino 6 črt (napredek), brez puščic */
  .caps__bar { bottom: 0; height: var(--bh); gap: 0; padding-block: 0 8px; align-items: center; }
  .caps__nav { display: none; }
  .caps__pin { touch-action: pan-y; }
  .caps .scr--right .scr__box, .caps .caps__slide--narrow .scr__box { margin-left: 0; max-width: 34rem; } /* besedilo vedno levo */
  .caps__count { display: none; }
  .caps__tabs { display: block; -webkit-mask-image: none; mask-image: none; padding-top: 0; }
  .caps__strip { gap: 6px; transform: none !important; }
  .caps__tab { flex: 1 1 0; min-width: 0; height: 44px; padding: 0; pointer-events: none; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-top: 0; }
  .caps__tab > span { display: none; }
  .caps__tab::before, .caps__tab.is-done::before, .caps__tab.is-on::before { top: 21px; height: 2px; }
  .caps__tab, .caps__tab.is-on, .caps__tab.is-done { background: linear-gradient(rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.22)) 0 21px / 100% 2px no-repeat; } /* siva podlaga ostane tudi desno od bele na aktivni črti */
  .caps__tab.is-on::after { left: calc(var(--f, 0) * 100% - 9px); right: auto; top: 20.5px; width: 9px; height: 3px; z-index: 1; }
  .caps__arrow { width: 44px; height: 44px; }
  /* izrez vsake slike: predmet cel v vidnem delu nad črtami */
  /* 1–3: zgoraj zatemnitev kot prej */
  .caps .caps__slide:nth-child(1) .scr__media { top: calc((var(--mh) - var(--h)) / 2); } .caps .caps__slide:nth-child(1) .scr__media::before { background: linear-gradient(180deg, #0b0c0e 0%, rgba(11, 12, 14, 0) 12%, rgba(11, 12, 14, 0) 66%, rgba(11, 12, 14, 0.7) 86%, #0b0c0e 100%); } .caps .caps__slide:nth-child(1) .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0.35) 0%, rgba(11, 12, 14, 0) 14%, rgba(11, 12, 14, 0) calc(var(--tt) - 50px), rgba(11, 12, 14, 0.6) calc(var(--tt) + 30px), rgba(11, 12, 14, 0.9) calc(var(--tt) + 75px), #0b0c0e var(--mh), #0b0c0e 100%); }
  .caps .caps__slide:nth-child(2) .scr__media { top: calc((var(--mh) - var(--h)) / 2); } .caps .caps__slide:nth-child(2) .scr__media::before { background: linear-gradient(180deg, #0b0c0e 0%, rgba(11, 12, 14, 0) 12%, rgba(11, 12, 14, 0) 66%, rgba(11, 12, 14, 0.7) 86%, #0b0c0e 100%); } .caps .caps__slide:nth-child(2) .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0.35) 0%, rgba(11, 12, 14, 0) 14%, rgba(11, 12, 14, 0) calc(var(--tt) - 50px), rgba(11, 12, 14, 0.6) calc(var(--tt) + 30px), rgba(11, 12, 14, 0.9) calc(var(--tt) + 75px), #0b0c0e var(--mh), #0b0c0e 100%); }
  .caps .caps__slide:nth-child(3) .scr__media { top: calc((var(--mh) - var(--h)) / 2); } .caps .caps__slide:nth-child(3) .scr__media::before { background: linear-gradient(180deg, #0b0c0e 0%, rgba(11, 12, 14, 0) 12%, rgba(11, 12, 14, 0) 66%, rgba(11, 12, 14, 0.7) 86%, #0b0c0e 100%); } .caps .caps__slide:nth-child(3) .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0.35) 0%, rgba(11, 12, 14, 0) 14%, rgba(11, 12, 14, 0) calc(var(--tt) - 50px), rgba(11, 12, 14, 0.6) calc(var(--tt) + 30px), rgba(11, 12, 14, 0.9) calc(var(--tt) + 75px), #0b0c0e var(--mh), #0b0c0e 100%); }
  .caps .caps__slide:nth-child(1) { --a: 1.05; } .caps .caps__slide:nth-child(1) .scr__img { object-position: 79% 50% !important; } .caps .caps__slide:nth-child(1) .scr__media { --h: min(var(--mh), calc(100vw / 0.95)); }
  .caps .caps__slide:nth-child(2) { --a: 0.73; } .caps .caps__slide:nth-child(2) .scr__img { object-position: 79% 50% !important; } .caps .caps__slide:nth-child(2) .scr__media { --h: min(var(--mh), calc(100vw / 0.8)); }
  .caps .caps__slide:nth-child(3) { --a: 0.8; } .caps .caps__slide:nth-child(3) .scr__img { object-position: 28% 50% !important; }
  .caps .caps__slide:nth-child(4) { --a: 0.85; } .caps .caps__slide:nth-child(4) .scr__img { object-position: 79% 50% !important; } .caps .caps__slide:nth-child(4) .scr__media { --h: min(var(--mh), calc(100vw / 0.88)); top: 0; } .caps .caps__slide:nth-child(4) .scr__media::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0) 78%, rgba(11, 12, 14, 0.7) 92%, #0b0c0e 100%); } .caps .caps__slide:nth-child(4) .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0) calc(var(--tt) - 10px), rgba(11, 12, 14, 0.6) calc(var(--tt) + 60px), rgba(11, 12, 14, 0.9) calc(var(--tt) + 95px), #0b0c0e var(--mh), #0b0c0e 100%); }
  .caps .caps__slide:nth-child(5) { --a: 1; } .caps .caps__slide:nth-child(5) .scr__img { object-position: 27% 50% !important; } .caps .caps__slide:nth-child(5) .scr__media { --h: min(var(--mh), calc(100vw / 0.95)); top: 0; } .caps .caps__slide:nth-child(5) .scr__media::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0) 66%, rgba(11, 12, 14, 0.7) 86%, #0b0c0e 100%); } .caps .caps__slide:nth-child(5) .scr::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0) calc(var(--tt) - 50px), rgba(11, 12, 14, 0.6) calc(var(--tt) + 30px), rgba(11, 12, 14, 0.9) calc(var(--tt) + 75px), #0b0c0e var(--mh), #0b0c0e 100%); }
  .caps .caps__slide:nth-child(6) { --a: 0.8; } .caps .caps__slide:nth-child(6) .scr__img { object-position: 45% 50% !important; }
}

/* Domov telefon: certifikati v kvadratih večji (manj roba okoli dokumenta) */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  .lt .certs .cert__doc { padding: 3px 6px 2px; overflow: hidden; aspect-ratio: 4 / 5.1; }
  .lt .certs .cert__doc img { width: 90%; height: auto; align-self: start; justify-self: center; } /* vsi papirji čez vso širino, zgornji rob na isti višini */
  .js .lt .certs .cert.in .cert__doc img { translate: 0 12px; animation-name: cert-in-m; } /* telefon: papir manj skrit pod spodnjim delom */
  @keyframes cert-in-m { from { translate: 0 230px; } to { translate: 0 12px; } }
}

/* Domov telefon: »Spoznaj podjetje« samo ikona in napis, brez opombe o piškotkih */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  body[data-page="home"] .embed__note { display: none; }
  .home-film .embed__play { padding-bottom: 0; }
  .home-film .lt__aside { display: none; }
  .home-film .lt__head { margin-bottom: 25px; } /* video 30 % bližje naslovu */
}

/* ---------- Tablica pokonci: naslovna stran kot na telefonu (glava, uvodni posnetek, »Spoznaj podjetje«) ---------- */
@media (min-width: 761px) and (max-width: 1279px) and (orientation: portrait) {
  .hero__media video[data-pv], .hero__media img[data-pv] { object-position: 40% 50%; }
  body[data-page="home"] .hd { background-color: #050505; }
  body[data-page="home"] .hd:not(.is-solid)::after { opacity: 0; }
  .stage__video .hero__media--pv { --pv-top: calc(var(--hd-h) + env(safe-area-inset-top, 0px)); top: var(--pv-top); bottom: auto; height: calc(min(100%, max(160vw, 78svh)) - var(--pv-top)); overflow: hidden; }
  .stage__video .hero__media--pv::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 24%; background: linear-gradient(180deg, rgba(5, 5, 5, 0) 0%, rgba(5, 5, 5, 0.72) 62%, #050505 100%); pointer-events: none; }
  .home-film .embed { height: auto; aspect-ratio: 16 / 11.25; } /* kot na telefonu: 25 % višji kot prej */
  .home-film .lt__aside, .home-film .embed__note { display: none; }
  .home-film .embed__play { padding-bottom: 0; }
  .certs .cert__body p { display: none; } /* certifikati z oznako standarda, brez opisa */
}

/* ==========================================================================
   Noga pod znakom (2026-10-31): urejena razporeditev za telefon in tablico.
   Računalnik (≥ 1280 px) ostane nespremenjen.
   ========================================================================== */
/* telefon: stanje proizvodnje → registrski podatki v dveh stolpcih → © → povezavi levo/desno */
@media (max-width: 760px) {
  .ftr__bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; row-gap: 0; padding-top: 18px; }
  .ftr__bottom > :first-child { margin-right: 0; }
  .ftr__bottom > .ftr__status { order: -1; grid-column: 1 / -1; padding-bottom: 14px; }
  .ftr__bottom > .ftr__reg { order: 0; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.78); }
  .ftr__rs { display: none; }
  .ftr__ri { display: flex; flex-direction: column; gap: 4px; }
  .ftr__ri > span { font-size: 0.625rem; letter-spacing: 0.1em; color: var(--fg-3); }
  .ftr__bottom > p:first-child { order: 1; grid-column: 1 / -1; padding-top: 14px; }
  .ftr__bottom > .linkbtn { order: 2; }
  .ftr__bottom > [data-cookie-settings-link] { grid-column: 1; justify-self: start; }
  .ftr__bottom > [data-top] { grid-column: 2; justify-self: end; }
}
/* tablica: dve urejeni vrstici — © levo, registrski podatki desno; stanje levo, povezavi desno */
@media (min-width: 761px) and (max-width: 1279px) {
  .ftr__bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; column-gap: 28px; row-gap: 12px; }
  .ftr__bottom > :first-child { margin-right: 0; grid-column: 1; grid-row: 1; }
  .ftr__bottom > .ftr__reg { grid-column: 2 / 4; grid-row: 1; justify-self: end; }
  .ftr__bottom > .ftr__status { grid-column: 1; grid-row: 2; }
  .ftr__bottom > [data-cookie-settings-link] { grid-column: 2; grid-row: 2; justify-self: end; }
  .ftr__bottom > [data-top] { grid-column: 3; grid-row: 2; justify-self: end; }
}


/* ---------- O podjetju (telefon, tablica pokonci): manj besedila, cela fotografija kolektiva ---------- */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait), (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) and (pointer: coarse) {
  body[data-page="o-podjetju"] .pg-hero__lead { display: none; }
  .ab-st__team a { aspect-ratio: 2320 / 1078; } /* cela fotografija – nobena oseba ni odrezana */
  .ab-st__team img { transform: none !important; object-position: 50% 50% !important; }
  .ab-st__team figcaption { display: none; }
  .ab-st { padding-top: 144px; } /* več prostora nad uvodnim besedilom */
  .ab-st__grid { grid-template-columns: minmax(0, 1fr); } /* uvodna izjava čez celo širino (tudi ležeča tablica) */
  .ab-st__media { row-gap: 14px; margin-top: 144px; } /* besedilo bližje fotografiji kolektiva; več prostora pod uvodnim besedilom */
  .m-more { margin-top: -10px; } /* »Preberi več« bližje besedilu (cilj ostane 44 px) */
  .ab-st .pg-mark { display: none; } /* brez oznake »Podjetje« */
  /* pod fotografijo celotno besedilo kot na računalniku, skrito pod »Preberi več« že po dveh vrsticah (tretja zbledi) */
  .ab-st__cols { display: flex; flex-direction: column; }
  .ab-st__cols p:not(:first-child) { display: block; }
  .ab-st__cols p.m-clamp { max-height: 3lh; }
  .ab-st__cols p.m-clamp ~ p { display: none; }
  .ab-st__cols .m-more { order: 99; align-self: flex-start; }
  .ab-pi__list li[role="button"] { cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .ab-pi__list li[role="button"] > div:not(.ab-pi__ph)::after { content: "+"; position: absolute; right: 0; top: 50%; translate: 0 -50%; font-size: 1.4rem; font-weight: 300; color: rgba(255, 255, 255, 0.6); transition: rotate 0.35s ease; }
  .ab-pi__list li.is-open > div:not(.ab-pi__ph)::after { rotate: 45deg; }
  .ab-pi__list li > div:not(.ab-pi__ph) { position: relative; padding-right: 28px; }
  .ab-pi__ph { grid-column: 1 / -1; display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.45s cubic-bezier(0.2, 0.7, 0.1, 1); }
  .ab-pi__ph > div { min-height: 0; overflow: hidden; }
  .ab-pi__list li.is-open .ab-pi__ph { grid-template-rows: 1fr; }
  .ab-pi__ph img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin-top: 14px; border-radius: 10px; } /* dotik na panogo odpre fotografijo */
  .ab-pi__copy .pg-mark { display: none; } /* naslov »Partner zahtevnim industrijam« kot na računalniku, brez oznake nad njim */
  .ab-tour .pg-head p { display: none; }
  .ab-tour .pg-head .lt__aside { display: none; } .ab-tour .pg-head { margin-bottom: 32px; } /* naslov pol bližje oknu ogleda */
  body[data-page="o-podjetju"] .pg-more .pg-head p { display: none; } /* »Več o podjetju« brez opisa */
  body[data-page="o-podjetju"] .pg-more .pg-head .lt__aside { display: none; }
  body[data-page="o-podjetju"] .pg-more .pg-head { margin-bottom: 16px; } /* naslov bližje karticam */
  .ab-tour .pg-embed__note { display: none; } .ab-tour .pg-embed__bar { padding-top: 0; } /* gumba takoj pod oknom ogleda */
  .ab-tour .pg-embed__acts { flex: 1; display: flex; justify-content: space-between; } /* nastavitve levo, novo okno desno */
  .ab-tour .pg-embed__acts .pg-link { align-items: flex-start; padding-top: 7px; } /* napisa višje, dotik ostane 44 px */
  .ab-quote__in { row-gap: 24px; } /* citat bližje fotografiji */
  /* Potencial, Vrednote, Filozofija, Podpiramo: štiri kartice v eni vrsti, poteg levo/desno */
  .ab-chap__grid { display: block; }
  .ab-chap__visual, .ab-chap__rail { display: none; }
  .ab-chap__list { display: flex; align-items: stretch; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--g); scrollbar-width: none; margin-inline: calc(-1 * var(--g)); padding: 0 var(--g) 4px; }
  .ab-chap__list::-webkit-scrollbar { display: none; }
  .ab-chap__item { display: flex !important; flex-direction: column; justify-content: flex-start; gap: 12px; flex: 0 0 min(82%, 380px); scroll-snap-align: start; min-height: 0; padding: 0; border: 0; opacity: 1 !important; }
  .ab-chap__inline { display: block; grid-row: auto; margin: 0 0 4px; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; }
  .ab-chap__inline img { width: 100%; height: 100%; object-fit: cover; }
  .ab-chap__item > .ab-chap__t { align-self: auto; margin-top: 0; }
}
/* O podjetju, nizki telefoni (iPhone SE): znak ne sme prekriti drobtinic */
@media (max-width: 760px) and (max-height: 700px) {
  .pg-hero__media img[src*="building"] { top: 2%; }
}
/* skrajšano besedilo pred »Preberi več«: zadnja vrstica zbledi (namesto odreza s tropičjem) */
@media (max-width: 1279px) {
  .m-clamp { display: block; -webkit-line-clamp: unset; line-clamp: none; max-height: 5lh; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 1lh), transparent 95%); mask-image: linear-gradient(180deg, #000 calc(100% - 1lh), transparent 95%); } /* 4 cele vrstice, peta zbledi */
}

/* ---------- »Naslednja stran« (telefon, tablica pokonci): brez opisa, nižji odsek; puščica v isti vrsti kot naslov ---------- */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait), (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) and (pointer: coarse) {
  .pg-next__d { margin-top: 10px; align-self: center; color: rgba(255, 255, 255, 0.85); font-size: 0.9rem; line-height: 1.4; } /* opis levo od puščice */
  .pg-next__a { grid-template-areas: "k k" "t t" "d go"; grid-template-columns: minmax(0, 1fr) auto; padding-block: 60px 60px; row-gap: 0; }
  .pg-next { background: var(--pg-red); border-top: 0; } .pg-next::before { display: none; } /* naslednja stran: rdeča, ožja */
  .pg-next__t { margin-top: 2px; } .pg-next__k { color: #fff; } .pg-next__go { width: 52px; height: 52px; border-color: rgba(255, 255, 255, 0.7); }
  .pg-next__go { margin-top: 10px; margin-right: 14px; } /* puščica pod naslovom, desno, malo zamaknjena levo */
}


/* ---------- Podstrani (telefon, tablica pokonci), 1. 11. 2026: enaka pravila kot pri predelavi Domov in O podjetju ----------
   brez uvodnega stavka v glavi, brez opisov pod naslovi razdelkov in brez malih oznak nad naslovi; naslov tesno nad vsebino */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait), (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) and (pointer: coarse) {
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-hero__lead, .p3ph__lead { display: none; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]):not([data-page="logotip"]) .pg-head .lt__aside > p { display: none; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-head { row-gap: 0; margin-bottom: 24px; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-head .lt__aside > :not(p) { margin-top: 16px; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-sec .pg-mark, .p8tag { display: none; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .m-clamp { max-height: 3lh; } /* »Preberi več« že po dveh vrsticah, tretja zbledi */
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .m-more { margin-top: -10px; } /* »Preberi več« bližje besedilu (cilj ostane 44 px) */
  /* vgrajene vsebine (zemljevid, video): brez opombe o piškotkih, gumba tik pod oknom – levo in desno (kot virtualni ogled) */
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-embed__note { display: none; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-embed__bar { padding-top: 0; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-embed__acts { flex: 1; display: flex; justify-content: space-between; }
  body:not([data-page="home"]):not([data-page="o-podjetju"]) .pg-embed__acts .pg-link { align-items: flex-start; padding-top: 7px; }
  /* Logotip: brez podnapisa na fotografiji in brez opisa pod »Logotip RESEDA« (navodilo za barve in pravica do uporabe ostaneta) */
  .lg-origin__img figcaption { display: none; }
  .lg-origin__img { aspect-ratio: 1122 / 1402; } .lg-origin__img img { transform: none !important; object-position: 50% 50% !important; } /* rastlina cela, brez obreza zgoraj in spodaj */
  body[data-page="logotip"] #lm-h + .lt__aside > p { display: none; }
  /* Kontakt: naslov okvirja tesno nad vsebino */
  .ko-box__h { margin-bottom: 4px; }
  /* Certifikati: dokument velik čez celo širino okvirja, besedilo pod njim */
  .ce__grid--2 .ce-doc { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
  .ce__grid--2 .ce-doc__paper { height: auto; min-height: 0; aspect-ratio: auto; display: flex; justify-content: center; padding: 22px 22px 0; }
  .ce__grid--2 .ce-doc__paper img { width: 84%; max-width: 420px; }
  .ce__grid--2 .ce-doc__body { padding: 18px 20px 20px !important; border-top: 1px solid rgba(11, 12, 14, 0.08); }
  /* Certifikati: okvirji pod dokumenti (služba za kakovost, politika, kodeks, pogoji) v eni vrsti, poteg levo/desno */
  .ce-sys--light .wrap { display: flex; align-items: stretch; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--g); scrollbar-width: none; padding-bottom: 4px; }
  .ce-sys--light .wrap::-webkit-scrollbar { display: none; }
  .ce-sys--light .ce-links--row { display: contents; }
  .ce-sys--light .ce-who, .ce-sys--light .ce-links--row > li { flex: 0 0 min(82%, 340px); scroll-snap-align: start; margin: 0; }
  .ce-sys--light .ce-who { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; gap: 4px; border-radius: 16px; }
  .ce-sys--light .ce-who .ce-who__btn { margin-top: auto; white-space: nowrap; }
  .ce-sys--light .ce-links--row a { height: 100%; }
}
@media (max-width: 760px) {
  .ko-box__h { min-height: 0; }
}
/* »Naslednja stran« na tablici pokonci: 25 % višji pas */
@media (min-width: 761px) and (max-width: 1279px) and (orientation: portrait), (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) and (pointer: coarse) {
  .pg-next__a { padding-block: 63px 63px; }
}
/* Vrste kartic s potegom levo/desno (3. 11. 2026): Tehnologija – IT podpora, Sponzorstva – kultura, Logotip – barve in prenos */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait), (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) and (pointer: coarse) {
  .te-flow__line, .sp-cul__grid, .lg-sw, .lg-dl__grid { display: flex !important; align-items: stretch; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--g); scrollbar-width: none; margin-inline: calc(-1 * var(--g)); padding: 0 var(--g) 4px !important; }
  .te-flow__line::-webkit-scrollbar, .sp-cul__grid::-webkit-scrollbar, .lg-sw::-webkit-scrollbar, .lg-dl__grid::-webkit-scrollbar { display: none; }
  .te-flow__line > li, .sp-cul__grid > *, .lg-sw > *, .lg-dl__grid > * { flex: 0 0 min(82%, 360px); scroll-snap-align: start; margin: 0; }
  /* IT podpora: manjše kartice, ikona zgoraj */
  .te-flow__line > li { flex-basis: min(58%, 240px); display: flex !important; flex-direction: column; align-items: flex-start !important; gap: 12px; padding: 18px !important; border: 1px solid rgba(11, 12, 14, 0.1) !important; border-radius: 16px; background: #f4f5f6; }
  .te-flow__line > li strong { font-size: 1rem; line-height: 1.3; }
  .te-flow__line::before, .te-flow__line::after { display: none; }
}
/* Namig za poteg levo/desno (vodoravno drsni deli, kjer poteg ni očiten): po ena tanka puščica na vsaki strani, rahlo se premika; izgine ob prvem potegu */
@media (max-width: 760px), (min-width: 761px) and (max-width: 1279px) and (orientation: portrait), (min-width: 761px) and (max-width: 1279px) and (orientation: landscape) and (pointer: coarse) {
  .sw-hint { position: absolute; z-index: 6; display: block; color: inherit; opacity: 0.55; pointer-events: none; translate: 0 -50%; transition: opacity 0.35s ease; filter: drop-shadow(0 0 3px rgba(128, 128, 128, 0.35)); }
  .sw-hint svg { display: block; width: 16px; height: 16px; }
  .sw-hint svg path { stroke-width: 1.8; }
  .sw-hint--l { animation: sw-l 1.8s ease-in-out infinite; }
  .sw-hint--r { animation: sw-r 1.8s ease-in-out infinite; }
  .sw-hint.is-off { opacity: 0; }
}
@keyframes sw-l { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-4px); } }
@keyframes sw-r { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .sw-hint { animation: none !important; } }
/* Galerija: zid fotografij v glavi ne sme segati čez rob zaslona (2 px vodoravnega drsenja) */
@media (max-width: 1279px) {
  .ga-hero { overflow: clip; }
}
/* Logotip, tablica: rastlina cela, a ne prevelika */
@media (min-width: 761px) and (max-width: 1279px) {
  .lg-origin__img { max-width: 520px; }
}
/* Proizvodnja, glava (vse širine, tudi računalnik – želja 5. 11.): kratka oznaka nad številko – Ustanovitev L. 2003 · Standard EN 9100 · Izvoz 99 % */
@media all {
  .pr-facts--hero .pr-fact { flex-direction: column; gap: 6px; }
  .pr-facts--hero .pr-fact dt { min-height: 1lh; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72); white-space: nowrap; }
  .pr-facts--hero .pr-fact dd { flex-wrap: nowrap; align-items: baseline; white-space: nowrap; }
  .pr-facts--hero .pr-fact dd > em:not(.pr-fact__pre) { flex-basis: auto; }
  .pr-facts--hero .pr-fact dd em.num { font-family: var(--f); font-style: normal; color: #ef413c; scale: 0.9; transform-origin: 0 50%; align-self: center; margin-right: -0.1em; } /* telefon, tablica: »L.«, »EN«, »%« 10 % manjši, rdeči, po višini na sredini */
}
/* Proizvodnja, glava (telefon): stolpci po vsebini, da se »EN 9100« ne dotika »99 %« */
@media (max-width: 760px) {
  .pr-facts--hero { grid-template-columns: repeat(3, auto); justify-content: space-between; column-gap: 14px; }
  .pr-facts--hero .pr-fact { padding-right: 0; }
}
/* Proizvodnja, glava – samo računalnik: »Leto«, »EN« in »%« beli, pol manjši od številke (zoom, da ne segajo v sosednji stolpec), stolpci po vsebini */
@media (min-width: 1280px) {
  .pr-facts--hero .pr-fact dd em.num { color: #fff; scale: none; margin-right: 0; zoom: 0.9; } /* razmerje kot na telefonu: 10 % manjši od številke */
  .pr-facts--hero .pr-fact dd { column-gap: 0.32em; }
  .pr-facts--hero { grid-template-columns: repeat(3, auto); justify-content: start; column-gap: clamp(28px, 5vw, 72px); }
  .pr-facts--hero .pr-fact { padding-right: 0; }
  .pr-facts--hero .pr-fact dt { font-size: 0.875rem; letter-spacing: 0.12em; } /* oznake večje */
  .pr-facts--hero .pr-fact dd .num { font-size: clamp(2.2rem, 2.6vw, 2.8rem); } /* številke manjše – skladno z oznakami */
}
/* Proizvodnja (telefon): glava s fotografijo enako visoka kot na O podjetju */
@media (max-width: 760px) {
  .pg-hero.pr-hero { min-height: clamp(440px, 72svh, 640px); }
}
/* Proizvodnja (telefon): fotografija robota malo desno (brez povečave) */
@media (max-width: 760px) {
  .pr-hero .pg-hero__media img { object-position: 80% 50% !important; translate: 0 -5%; scale: 1.1; } /* ista fotografija kot na računalniku, robot na sredini */
}
/* Proizvodnja, strojni park (telefon): zavihki kot na računalniku – združeni pravokotniki v vrsti, izbrani z rdečo črto na levem robu */
@media (max-width: 980px) {
  .ops__list { gap: 0; padding-bottom: 0; padding-right: 0 !important; border-top: 0; border-bottom: 0; } /* zadnji zavihek enako daleč od desnega roba kot prvi od levega */
  .ops__list .ops__tab { border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); } /* črte samo pod/nad pravokotniki, brez podaljška za zadnjim */
  .ops__list .ops__tab:first-child { border-left: 1px solid var(--rule); }
  .ops__tab { position: relative; border: 0; border-radius: 0; border-right: 1px solid var(--rule); min-height: 52px; padding: 0 18px !important; background: none; color: rgba(11, 12, 14, 0.6); }
  .ops__tab::before { display: block; content: ""; position: absolute; left: 0; right: auto; top: 0; bottom: 0; width: 3px; height: auto; background: var(--red); transform: scaleY(0); transition: transform 0.35s ease; }
  .ops__tab.is-on { background: none; color: #0b0c0e; border-color: var(--rule); }
  .ops__tab.is-on::before { transform: none; }
  .ops__tab.is-on .pg-n { color: var(--red); }
}
/* Ikona menija (telefon, tablica): tri črte namesto dveh; srednja ob odprtju izgine (ostane križec) */
@media (max-width: 1279px) {
  .hd__burger { height: 21.5px; } /* tri črte, razmik 10 px kot prej med dvema */
  .hd__burger i:last-child { top: 20px; }
  .hd__burger::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 1.5px; background: currentColor; transition: opacity 0.25s ease; }
  .menu-open .hd__burger::before { opacity: 0; }
  .menu-open .hd__burger i:first-child, .menu-open .hd__burger i:last-child { top: 10px; }
}
/* Proizvodnja (telefon): trak fotografij pod glavo 10 px nižje */
@media (max-width: 760px) {
  .pr-st--over .pr-trak { margin-top: 44px; } /* prej 14 px */
  .pg-sec.pr-st--over { padding-bottom: 58px; } /* pod trakom +50 px */
}
/* Proizvodnja, strojni park: brez zgornje vrstice konzole (»01 / 10 … CNC RAZREZ«) – računalnik in telefon (želja 5. 11.) */
.ops__bar { display: none !important; }
.ops__screen { grid-template-rows: 1fr; } /* brez vrstice: vsebina spet na sredini okvirja po višini */
@media (min-width: 981px) { .ops__screen { padding-block: 26px; } } /* računalnik: animacija enako velika kot prej (z vrstico) */
/* Proizvodnja, strojni park (telefon, tablica): posnetek prikazan točno kot na računalniku – okvir v razmerju posnetka (970 × 916), brez lastnih povečav in robnega senčenja */
@media (max-width: 980px) {
  .ops--3d .ops__viz, .ops--3d-wait .ops__viz { aspect-ratio: 970 / 916 !important; min-height: 0 !important; }
  .ops__panel .p3d__vid { transform: translateX(-50%) !important; }
  .ops__viz::after { display: none !important; }
}
/* Proizvodnja, brušenje: posnetek po višini na sredini v vsaki fazi (--b-ty nastavlja production.js po času posnetka; vse naprave) */
.ops__panel[data-op-panel="5"] .p3d__vid { transform: translateX(-50%) translateY(var(--b-ty, 4%)) !important; }
.ops__panel[data-op-panel="5"] .p3d__vid.b-anim { transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1); } /* premik samo med fazami, ne ob izbiri */
/* Proizvodnja, strojni park (vse naprave): brez velike številke z napisom – isti podatek je že prva alineja spodaj */
.ops__big { display: none !important; }
/* Proizvodnja, Meritve: brez merila »0–2000 mm« (računalnik in telefon, želja 6. 11.) – podatek ostane v seznamu */
.pf__rule { display: none !important; }
/* Proizvodnja (telefon): več prostora pod strojnim parkom, preden se začnejo Dodelave */
@media (max-width: 760px) {
  .pg-sec.pr-park { padding-bottom: 96px; }
}

/* Proizvodnja, strojni park (telefon): okvir z animacijo in opisom z ostrimi robovi */
@media (max-width: 760px) {
  .ops__screen, .ops__viz { border-radius: 0 !important; }
  .ops__screen { background: #000; }   /* enaka črna kot ozadje posnetkov */
  .ops__panel > .ops__viz { margin: -18px -18px 0; }
  .ops__panel > .ops__viz > .p3d { inset: 0; }   /* cel kader posnetka kot na računalniku (brez obreza ob robovih) */   /* posnetek do zgornjega, levega in desnega roba okvirja */
  .ops__panel[data-op-panel="0"] .p3d__vid { transform: translateX(calc(-50% + 5px)) !important; }   /* CNC razrez: video 5 px desno */
}

/* Proizvodnja (telefon): fotografije dodelav, meritev in montaže – kos v kadru kot na računalniku */
@media (max-width: 760px) {
  #dodelave .pf__media img { scale: 1.45; transform-origin: 52% 66%; translate: 0 5px; }   /* obroč večji, manj praznega ozadja; slika malo višje */
  #meritve .pf__media img { object-position: 50% 100% !important; scale: 1.375; transform-origin: 50% 85%; }   /* kos večji, spodnji rob slike rahlo obrezan */
  #meritve .pf__media { aspect-ratio: 1 / 1; }   /* višji okvir, slika enako velika */
  #montaza .pf__media img { object-position: 50% 100% !important; scale: 1.1; transform-origin: 0% 100%; }   /* fotografija montaže z reseda.si (domov → montaža) */
}

/* Proizvodnja, hero (telefon): na sliki le pot in naslov; statistika v svojem pasu pod sliko, nato seznam 4 področij (ne prekriva več slike) */
@media (max-width: 760px) {
  .pr-hero .pg-hero__media img, .pg-hero.is-in.pr-hero .pg-hero__media img { translate: none; scale: none; transform: none; }   /* fotografija cela po višini (zgornji in spodnji rob nista odrezana) */
  .pg-hero.pr-hero { --ov: 0px; --pr-band: 128px; min-height: calc(clamp(460px, 70svh, 760px) * 0.935 + 4.16px + var(--pr-band)); background: #0b0c0e; }   /* okvir slike 15 % nižji, slika ostane enako velika (zgoraj in spodaj obrezana) */
  .pr-hero .pg-hero__media, .pr-hero .pg-hero__shade { top: 64px; bottom: var(--pr-band); height: auto; }
  .pr-hero .pg-hero__media::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 1; height: 72px; background: linear-gradient(180deg, #0b0c0e, rgba(11, 12, 14, 0.55) 30%, rgba(11, 12, 14, 0)); }
  .pr-hero .pg-hero__in { padding-bottom: 28px; }
  .pr-hero .pg-hero__media img, .pg-hero.is-in.pr-hero .pg-hero__media img { position: absolute; left: 0; top: 50%; height: calc(100% / 0.85); transform: translateY(calc(-50% + 15px)); }
  .pr-hero .pg-hero__shade { background: linear-gradient(180deg, rgba(11, 12, 14, 0.41) 0, rgba(11, 12, 14, 0) 23%, rgba(11, 12, 14, 0.08) 52%, rgba(11, 12, 14, 0.63) 100%), linear-gradient(90deg, rgba(11, 12, 14, 0.45) 0, rgba(11, 12, 14, 0.13) 52%, rgba(11, 12, 14, 0) 80%); }   /* zatemnitev: sredina med prvotno in blago */
  .pg-hero.pr-hero::before { background: linear-gradient(180deg, rgba(11, 12, 14, 0.57) 0, rgba(11, 12, 14, 0.27) 46%, rgba(11, 12, 14, 0) 100%); }
  .pr-hero .pg-hero__media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 90px; background: linear-gradient(180deg, rgba(11, 12, 14, 0), rgba(11, 12, 14, 0.55) 70%, #0b0c0e); }   /* spodnji rob slike se zlije v črno */
  .pr-hero .pg-hero__after { margin-top: 34px; }   /* manjši razmik med naslovom in statistiko */
  .pr-st--over .pr-sum { margin: 0 calc(50% - 50vw); grid-template-columns: 1fr 1fr; border-radius: 0; background: linear-gradient(135deg, #e3262f, #b8141d); box-shadow: none; }   /* 4 področja v dveh vrstah po dve, rdeč pas čez celo širino, takoj pod glavo */
  .pr-sum__col { border-left: 0 !important; border-top: 0 !important; }
  .pr-sum__col:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, 0.22) !important; }
  .pr-sum__col:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.22) !important; }
  .pr-sum__go { display: none !important; }   /* brez puščic */
  .pr-sum__col { padding: 16px 14px; gap: 8px; }
  .pr-sum__col { display: flex; align-items: center; justify-content: center; }
  .pr-sum__col h3 { font-size: 0.875rem; letter-spacing: 0.05em; text-align: center; margin: 0; }   /* napis na sredini */
}

/* Tehnologija, hero (telefon): slika 25 px nižje */
@media (max-width: 760px) {
  .p3ph .p3ph__media img[src], .p3ph .p3ph__media img[data-art] { object-position: 50% calc(50% + 25px) !important; }
  .p3ph__media::before { height: 72px; }   /* zgornja zatemnitev 20 % krajša */
}

/* Tehnologija – digitalno planiranje: na telefonu in tablici se ob gumbu »Zgodnejši rok dobave« opis ne odpre (6. 11. 2026) */
@media (max-width: 1279px) {
  .te-plan__state { display: none; }
}

/* Tehnologija – razvoj izdelka: senca pod odrom ne sme segati čez konec razdelka v naslednji (svetli) razdelek (6. 11. 2026) */
@media (max-width: 1279px) {
  .te-dev.pg-sec { overflow: clip; }
  .te-dev .dev__stage { box-shadow: none; }   /* brez zatemnitve pod videom */
}

/* Tehnologija – razvoj izdelka: oder z videom čez celo širino zaslona (6. 11. 2026) */
@media (max-width: 900px) {
  .te-dev .dev__stage { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: 0; border-radius: 0; border-bottom: 20px solid #000; }   /* črn rob pod videom */
}

/* Tehnologija – razvoj izdelka: večji oder na telefonu (kos večji; razmerje ≥ 0,9, da ostane kader »mali«) (6. 11. 2026) */
@media (max-width: 760px) {
  .te-dev .dev__stage { aspect-ratio: 0.95; max-height: 56svh; }
}

/* Tehnologija – razvoj izdelka: brez nadomestne fotografije (rezkanje) pred videom/3D na telefonu in tablici (6. 11. 2026) */
@media (max-width: 1279px) {
  .te-dev .dev__fallback { display: none; }
}

/* Zaposlitev – hero: fotografija 80 px levo (širša za 80 px, da desno ni praznine) (6. 11. 2026) */
@media (max-width: 1279px) {
  .zp-hero .pg-hero__media img { position: relative; left: -80px; width: calc(100% + 80px); max-width: none; }
  .zp-hero .pg-hero__media img, .zp-hero .pg-hero__media img[data-art] { object-position: 50% calc(50% + 30px) !important; }   /* fotografija 30 px nižje */
}

/* Kontakt – hero: fotografija 30 px gor in 20 px levo (večja, da ni praznine) (7. 11. 2026) */
@media (max-width: 1279px) {
  .ko-hero .pg-hero__media img { position: relative; top: -30px; left: -20px; height: calc(100% + 30px); width: calc(100% + 20px); max-width: none; }
}

/* Kontakt – štiri kartice se dajo strniti/razpreti (puščica kot harmonika v nogi), zemljevid v kartici Lokacija; slog kartic nespremenjen (7. 11. 2026) */
@media (max-width: 1279px) {
  .ko-ref .ko-boxes { align-items: start; }
  .ko-box--disc { gap: 0; padding-block: 6px; }
  .ko-box--disc:hover { transform: none; }
  .ko-box--disc::before, .ko-box--disc:hover::before { transform: scaleX(0); }   /* rdeča črta zgoraj le pri odprti kartici (na dotik »hover« ostane) */
  .ko-box--disc.is-open::before { transform: scaleX(1); }
  .ko-box--disc .ko-box__h { min-height: 0; margin: 0; }
  .ko-box__tg { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: left; cursor: pointer; }
  .ko-box__tg::after { content: ""; flex: none; width: 8px; height: 8px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform 0.3s var(--ease); }
  .ko-box--disc.is-open .ko-box__tg::after { transform: translateY(2px) rotate(-135deg); }
  .ko-box--disc .ko-box__body { display: none; }
  .ko-box--disc.is-open .ko-box__body { display: flex; flex-direction: column; gap: 6px; padding: 4px 0 16px; }
  .ko-box__body .ko-map { margin-top: 10px; width: 100%; }
  .ko-box__body .ko-map__embed .embed { height: 260px !important; min-height: 0; border-radius: 12px; }
}

/* Kontakt – »Imate vprašanje?«: obiskovalec išče po funkciji – vloga je glavna vrstica, ime pod njo (7. 11. 2026) */
@media (max-width: 1279px) {
  .ko-people .ko-p__r { grid-area: 1 / 1; margin: 0; font-size: 1rem; font-weight: 640; font-stretch: 112%; letter-spacing: 0.01em; line-height: 1.15; text-transform: uppercase; color: var(--ink); }
  .ko-people .ko-p__r::before { display: none; }
  .ko-people .ko-p__n { grid-area: 2 / 1; margin-top: 4px; font-size: 0.875rem; font-weight: 520; font-stretch: 112%; letter-spacing: 0.02em; line-height: 1.3; text-transform: uppercase; color: #5b626b; }
}

/* Kontakt – »Imate vprašanje?«: vsaka oseba se odpre z dotikom (puščica desno), odprta pokaže e-pošto in telefon (7. 11. 2026) */
@media (max-width: 1279px) {
  .ko-people .ko-p { position: relative; grid-template-columns: minmax(0, 1fr) 44px 44px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .ko-people .ko-p a { -webkit-tap-highlight-color: transparent; }
  .ko-people .ko-p:not(.is-open) .ko-p__e:active, .ko-people .ko-p:not(.is-open) .ko-p__t:active { background-color: rgba(208, 32, 43, 0.12); border-color: rgba(208, 32, 43, 0.45); }   /* zaprto: ob dotiku se osvetli le ikona */
  .ko-people .ko-p.is-open .ko-p__e:active, .ko-people .ko-p.is-open .ko-p__t:active { color: var(--red); background: rgba(208, 32, 43, 0.08) !important; }   /* ob dotiku se osvetli pripadajoči pravokotnik (e-pošta oz. telefon) */   /* zaprto: ikoni za e-pošto in telefon kot prej */
  .ko-people .ko-p__tg { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; }   /* za bralnike zaslona; vrstica se odpre z dotikom */
  .ko-people .ko-p.is-open .ko-p__c { display: grid; grid-column: 1 / -1; grid-row: 3; gap: 0; margin-top: 12px; padding: 0; overflow: hidden; border: 1px solid #d5d7dc; border-radius: 14px; background: #f3f4f5; }
  .ko-people .ko-p.is-open .ko-p__e, .ko-people .ko-p.is-open .ko-p__t { grid-row: auto; grid-column: auto; display: flex; align-items: center; gap: 12px; width: 100%; max-width: 100%; height: auto; min-height: 56px; padding: 0 14px !important; border: 0; border-radius: 0; background: none !important; font-size: 0.9375rem; font-weight: 600; color: var(--ink); overflow: visible; overflow-wrap: anywhere; text-decoration: none; }
  .ko-people .ko-p.is-open .ko-p__t { border-top: 1px solid rgba(11, 12, 14, 0.08); font-variant-numeric: tabular-nums; }
  .ko-people .ko-p.is-open .ko-p__e::before, .ko-people .ko-p.is-open .ko-p__t::before { content: ""; flex: none; width: 40px; height: 40px; border: 1px solid #d5d7dc; border-radius: 12px; background: #fff center / 20px 20px no-repeat; }
  .ko-people .ko-p.is-open .ko-p__e::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0c0e' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
  .ko-people .ko-p.is-open .ko-p__t::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d0202b' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
}

/* Tehnologija – razvoj izdelka (telefon): po izdelanem kosu krajši pomik do naslednjega razdelka (7. 11. 2026) */
@media (max-width: 760px) {
  .te-dev .dev__step:last-child { min-height: 0; padding-bottom: max(40px, calc(40svh - 180px)); }   /* spodaj črn prostor: kot med koraki + 20 px */
}

/* Vsi zavihki s pripetim menijem na vrhu (podnavigacija, kazalo): ko se ob pomiku gor pokaže črna glava, meni prekrije (ne potisne ga navzdol) (7. 11. 2026) */
@media (max-width: 1279px) {
  .hd:not(.is-hidden) ~ main .subnav, .hd ~ main .pg-toc, .hd:not(.is-hidden) ~ main .ga__bar { top: 0; }
  body:has(.subnav, .pg-toc, .ga__bar) .hd.is-solid { background: #0b0c0e; }   /* polna črna: meni pod glavo ne presveti */
  .hd:not(.is-hidden) ~ main .dev__stage { top: var(--hd-h); transition: top 0.34s var(--ease) 0.19s; }   /* Tehnologija: oder takoj pod glavo; premakne se šele, ko ga glava doseže (spodnji rob glave pri 60 px po 150 ms) – brez reže */
}
/* temni način telefona (Chrome/Samsung samodejno temnenje): svetli razdelki ostanejo kot so – »only light« brskalniku prepove pretvorbo barv */
@media (max-width: 1279px) {
  .lt, .pg-l, .pg-w { color-scheme: only light; }
}

/* Temni način telefona: brskalnik (npr. Samsung Internet) stran samodejno »potemni« (bleda rdeča, sivi beli napisi), če ne zazna,
   da ima stran svoj videz za temni način. Ta poizvedba to sporoči; videz ostane enak (stran je že temno-svetla po zasnovi). (7. 11. 2026) */
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; }
}
