/* ═══════════════════════════════════════════════════════════════
   Biroplast Solutions — V2 domača stran, postavitve po sekcijah
   ═══════════════════════════════════════════════════════════════ */

/* ── HERO V3 — GreenTill flagship (dvajseti krog, avgust 2026) ───────────
   Hero je zdaj skoraj polnozaslonski: `min-height` sega do dna glave
   (izmerjena dejanska višina `.glava`: 114px pri ≥768px, 109px pri ≤760px
   — Playwright meritev). `100dvh` je prednosten (upošteva mobilne UI-baze
   naslovne/orodne vrstice), `100vh` je deklariran PRED njim kot varnostna
   mreža za brskalnike brez podpore za dvh. ─────────────────────────────── */
.hero{
  position:relative; overflow:hidden; display:flex; align-items:center;
  min-height:calc(100vh - 114px);
  min-height:calc(100dvh - 114px);
  background:linear-gradient(175deg, var(--navy) 0%, var(--navy-deep) 78%);
  color:#fff; padding:var(--sp-6) 0 var(--sp-5);
}
.hero > .wrap{ position:relative; z-index:2; width:100%; }
@media (max-width:760px){
  .hero{
    min-height:calc(100vh - 109px);
    min-height:calc(100dvh - 109px);
  }
}

/* ── globinski sistem: 7 neodvisnih plasti, glej index.html za razporeditev.
   Vsaka plast se giblje po drugem vektorju in z drugo hitrostjo (data-depth-*),
   kar upravlja js/motion.js. Kompozicija je namenoma "plastena" že v mirovanju
   (prekrivanje, obrez, prosojnost) — scroll gibanje jo samo še poglobi. ──── */
.hero-depth{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1; }
.hero-layer{ position:absolute; }

/* plast 2 — circuit, najgloblja, tonalna, pokriva velik del heroja.
   Dvajseti krog: opacity znižana .09→.05, nato v refinement prehodu →.04 —
   CGP ozadje naj bo v novi kompoziciji skoraj podzavestno prisotno, ne
   opazna "vezje" ilustracija. */
.hero-layer--circuit{
  inset:-12% -20% -30% -15%;
  color:var(--lime); opacity:.04;
  -webkit-mask-position:22% 35%; mask-position:22% 35%;
}
/* plast 5 — sekundarna tehnična podrobnost: drug izrez istega vzorca, cian,
   manjša, drugačna pozicija — da se plasti ne zdijo enake. Dvajseti krog:
   opacity znižana .07→.04, nato v refinement prehodu →.032. */
.hero-layer--tehnika{
  top:-6%; right:-18%; width:62%; height:75%;
  color:var(--cyan); opacity:.032;
  -webkit-mask-position:68% 60%; mask-position:68% 60%;
  -webkit-mask-size:180%; mask-size:180%;
}
/* plast 4 — CGP gradientni sij (že definiran v components.css: .glow) */
.hero .glow-green{ width:640px; height:640px; left:-220px; bottom:-260px; }
.hero .glow-blue{ width:560px; height:560px; right:-180px; top:-220px; }
/* plast 3 — velik obrezan uradni BP znak, delno zunaj desnega/spodnjega roba
   — glavni znamčni element ozadja. Dvajseti krog: opacity znižana .19→.12,
   nato v refinement prehodu →.09, da ostane komaj zaznaven "environmental"
   naglas in ne tekmuje z GreenTill videom, ki je dominanten vizualni
   element heroja. Prejšnji `destination-out` popravek za BIG SEE zaščiten
   prostor je bil vezan na STARO pozicijo bloka (desno ob videu) — v
   asimetrični postavitvi je BIG SEE blok v LEVEM stolpcu, ta znak pa
   ostaja desno ob/pod videom, zato se območji ne prekrivata in popravek
   ni potreben (preverjeno tudi po premiku BIG SEE bloka navzgor v
   refinement prehodu, glej dnevnik). */
.hero-layer--bp{
  right:-11%; bottom:-15%; width:64%; max-width:720px; aspect-ratio:1494/902;
  opacity:.09;
}

/* ── oživljen circuit naglas: nekaj vozlišč diha, dve pičici počasi potujeta
   po poti od besedila proti GreenTillu. Namenoma zadržano — 80–90% mreže
   (glavna gfx-circuit plast) ostaja povsem mirna, samo ta majhen naglas
   "diha". Nikoli ne izgleda kot gaming/RGB — počasni cikli, nizka prosojnost,
   samo cian/limeta iz CGP palete. ──────────────────────────────────────── */
.hero-circuit-svg-vez{ position:absolute; inset:0; pointer-events:none; }
.hero-circuit-svg{
  top:6%; left:34%; width:64%; height:82%;
  overflow:visible; opacity:.6;
}
/* Dvajseti krog: prejšnji mask-popravek za to SVG plast (izrezana luknja
   nad BIG SEE blokom) je bil pozicioniran za STARO postavitev bloka. V novi
   asimetrični kompoziciji je BIG SEE blok v levem besedilnem stolpcu, ta
   SVG pot pa teče po ozadju desno/pod videom — območji se ne prekrivata
   več (preverjeno pri vseh 5 zahtevanih širinah, glej dnevnik). Če bi se v
   prihodnji postavitvi znova prekrila, uporabi enako `mask-image` tehniko
   (NE `mix-blend-mode:destination-out` — na tej redki/tanki SVG vsebini je
   v enem od brskalnikov nepredvidljivo izrisal poln črn oval namesto luknje,
   glej opombo pri poprejšnjem popravku v dnevniku). */
.cvez-pot{ stroke:var(--cyan); opacity:.32; }
.cvez-vozlisce circle{ fill:var(--cyan); opacity:.22; animation:cvez-dihanje 3.8s ease-in-out infinite; }
.cvez-vozlisce circle:nth-child(2){ animation-delay:.5s; animation-duration:4.4s; }
.cvez-vozlisce circle:nth-child(3){ animation-delay:1.1s; animation-duration:3.4s; }
.cvez-vozlisce circle:nth-child(4){ animation-delay:.2s; animation-duration:4.8s; }
.cvez-vozlisce circle:nth-child(5){ animation-delay:1.6s; animation-duration:3.9s; }
.cvez-vozlisce circle:nth-child(6){ animation-delay:.9s; animation-duration:4.1s; }
@keyframes cvez-dihanje{ 0%,100%{ opacity:.18; } 50%{ opacity:.7; } }
.cvez-utrip{
  fill:var(--lime); opacity:0; offset-rotate:0deg;
  animation:cvez-potovanje 6.5s linear infinite;
}
.cvez-utrip--b{ fill:var(--cyan); animation-duration:7.4s; animation-delay:1.8s; }
@keyframes cvez-potovanje{
  0%{ offset-distance:0%; opacity:0; }
  8%{ opacity:.75; }
  90%{ opacity:.75; }
  100%{ offset-distance:100%; opacity:0; }
}
@media (max-width:760px){ .hero-circuit-svg{ display:none; } }

/* Namizni prelom naslova v heroju (glej opombo ob ".hero-v3-naslov h1" v
   namizni media poizvedbi spodaj) na ožjih zaslonih ne velja — tam se
   naslov prelamlja naravno glede na razpoložljivo širino. */
@media (max-width:960px){ .hero-v3-naslov h1 br.hero-h1-prelom{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .cvez-vozlisce circle{ animation:none; opacity:.4; }
  .cvez-utrip{ animation:none; opacity:0; }
}

/* ── HERO V3 postavitev — dvajseti krog, TRETJA prilagoditev ("preserve
   native 16:9, full-screen cinematic presentation"). Aleš je opozoril, da
   izvorni GreenTill video je nativno 16:9 in da ga NIKOLI ne smemo obrezati/
   raztegniti — namesto prejšnjega "besedilo | video" stolpičnega para
   (kjer je bil video prisiljen v ~4:3.4 okvir, kar je pri `object-fit:cover`
   neizogibno obrezovalo levi/desni rob 16:9 posnetka, PLUS omejen na ozek
   desni stolpec) je video zdaj TEMELJ CELOTNE Hero sekcije na namizju: poln,
   nespremenjen 16:9 kader, čez CEL zaslon (ne le znotraj `.wrap`-ove 1280px
   omejitve — glej index.html za DOM razlago, zakaj je `.hero-video-stage`
   neposreden otrok `.hero`, med dvema `.wrap` elementoma), z besedilom
   NALOŽENIM čez njegov levi del. Na mobilnem/tabličnem (kjer navodilo
   izrecno ne velja — brief govori o "DESKTOP HERO") ostane preprosta, varna,
   navpično zložena postavitev: naslov → video (poln 16:9, brez obreza) →
   opis → CTA → BIG SEE, natanko v tem vrstnem redu — isti DOM, ista logika
   kot pri `.hero-scroll-cue` (glej opombo tam): `.hero` je `flex-direction:
   column` s `justify-content:center`, zato njegovi trije neposredni tok-otroci
   (`.wrap` #1, `.hero-video-stage`, `.wrap` #2) preprosto naravno padejo
   drug pod drugega, navpično centrirano kot skupina — na namizju
   `.hero-video-stage` postane `position:absolute` (izvzet iz toka, zato
   oba `.wrap`-a "zlezeta skupaj" tik enega pod drugim, video pa leži ČEZ
   CEL hero za njima/pod njima prek `z-index`). ─────────────────────────── */
.hero{ flex-direction:column; justify-content:center; align-items:stretch; row-gap:var(--sp-2); }
.hero-v3-opis .lead{ color:var(--muted-on-navy); max-width:480px; margin:0; font-size:19px; }
.hero-eyebrow{ color:var(--lime); }
.hero h1{ margin:var(--sp-2) 0 0; }
.hero-v3-cta-vez{ margin:var(--sp-2) 0; }
.hero-v3-cta-vez .btn{ display:inline-flex; align-items:center; gap:8px; }
.hero-v3-cta-vez .btn svg{ transition:transform var(--dur-fast) var(--ease-premium); }
.hero-v3-cta-vez .btn:hover svg, .hero-v3-cta-vez .btn:focus-visible svg{ transform:translateX(3px); }

/* video kot navaden tok-blok — mobilno/tablično (≤960px), glej opombo zgoraj.
   Širina/margin ročno posnema `.wrap`-ov lasten gutter (`calc(100% - gutter*2)`
   + `margin:0 gutter`), ker `.hero-video-stage` tu ni znotraj `.wrap`, ampak
   njegov neposreden sosed — brez tega bi na mobilnem segal do golega roba
   zaslona, medtem ko besedilo nad/pod njim ostaja znotraj gutter-ja.
   `overflow:hidden` je neškodljiva varnostna mreža (video sam nikoli ne
   preseže svojega točno-16:9 okvirja). Barva ozadja elementa je nastavljena
   na navy (namesto privzeto prosojne/črne), da morebitna zaokrožitev robov
   širine/višine zaradi zaokroževanja px vrednosti ne pusti vidnega roba. */
/* nadaljevanje 34 — brif "Replace ONLY the GreenTill HERO video": nov
   posnetek je nativno 2560×1080 (širši od prejšnjega 16:9), zahtevan
   `object-fit:cover` (namesto prejšnjega `contain`) na VSEH širinah, da
   video vedno zapolni svojo škatlo brez praznih robov/črnih pasov.
   `aspect-ratio` škatle je zato usklajen z NATIVNIM razmerjem novega
   videa (namesto prejšnjega trdo kodiranega 16/9) — na mobilnem/tabličnem
   to pomeni `cover` brez odvečnega obreza (škatla ima isto razmerje kot
   video), na namizju (glej media query spodaj) `cover` izkoristi širok
   zaslon in po potrebi obreže samo zgoraj/spodaj (video je širši od
   skoraj vsakega zaslona), nikoli levo/desno. */
.hero-video-stage{
  position:relative;
  width:calc(100% - var(--gutter) * 2); margin:0 var(--gutter);
  aspect-ratio:2560/1080; overflow:hidden;
  background:var(--navy-deep);
}
.hero-video{
  display:block; width:100%; height:100%; object-fit:cover; object-position:center center;
  background:transparent;
}

/* ── namizna postavitev (≥961px): `.hero-video-stage` postane polnozaslonska
   prekrivka glede na `.hero` (edini pozicioniran prednik brez ožje omejitve
   — obe `.wrap` besedilni skupini ostaneta znotraj svoje običajne 1280px
   omejitve in ostaneta levo poravnani, video pa sega čez CEL hero). ────── */
@media (min-width:961px){
  .hero-v3-naslov, .hero-v3-opis, .hero-v3-cta-vez, .hero-nagrada-blok{
    position:relative; z-index:2; max-width:480px;
  }
  /* 22. 9. 2026 — Alešev brief "CHANGE ONLY THE GREENTILL HERO HEADLINE".
     Nov naslov ("Blagajna, ustvarjena iz našega znanja in izkušenj.") je
     precej daljši od prejšnjega in se v 480 px stolpcu razlomi na pet
     drobnih vrstic. Brief izrecno dovoljuje prilagoditev SAMO prelamljanja
     oziroma širine besedilnega stolpca in izrecno prepoveduje zmanjšanje
     pisave — zato je tu razširjen IZKLJUČNO stolpec naslova. Podnaslov,
     gumb in blok z nagrado ostajajo pri 480 px (pravilo zgoraj), zato se
     njihova postavitev ni spremenila.

     Zakaj je prelom v index.html zapisan z <br>, ne samo s širino: želeni
     namizni prelom je "Blagajna, ustvarjena / iz našega znanja / in
     izkušenj.", prva vrstica pa je pri tej pisavi ŠIRŠA (~664 px pri 72 px)
     od druge skupaj z besedico "in" (~618 px). Vsaka širina, pri kateri
     prva vrstica ostane cela, torej samodejno potegne "in" v drugo vrstico.
     Želenega preloma s samo širino ni mogoče doseči — mogoč je le
     eksplicitno. Na ≤960 px se ta prelom izklopi (pravilo pod to
     poizvedbo) in naslov se prelamlja povsem naravno, kot zahteva brief.

     Omejitev širine je zapisana na samem <h1> in v `em`, torej glede na
     njegovo LASTNO velikost pisave `clamp(42px, 5vw, 72px)`: stolpec se
     skrči skupaj s pisavo, zato pri 1280 px naslov ne zleze v štiri
     vrstice, kot bi se zgodilo pri širini v px.

     Vrednost 11em je IZMERJENA, ne ocenjena: najdaljša vrstica naslova
     ("Blagajna, plod našega") je v pisavi Exo 2 široka 10,06em, kar je
     bilo pri prejšnjih 10em za las premalo in bi se vrstica prelomila še
     enkrat. 11em pusti slab em rezerve, da se to ne zgodi niti ob
     drobnih razlikah v izrisu pisave med brskalniki. */
  .hero-v3-naslov{ max-width:none; }
  .hero-v3-naslov h1{ max-width:11em; }
  .hero-nagrada-blok{ margin-top:var(--sp-3); }
  /* nadaljevanje 34 — poenostavljeno iz prejšnjega "contain + zamegljena
     ambientna kopija za zapolnitev robov" sistema: nov 2560×1080 video s
     `cover` prek CELE `.hero-video-stage` (=cel hero) sam po sebi zapolni
     širok zaslon brez praznih robov, zato ambientna kopija (prej tu kot
     LAYER 1) ni več potrebna in je odstranjena (glej index.html opombo). */
  .hero-video-stage{
    position:absolute; inset:0; z-index:1;
    width:auto; height:auto; aspect-ratio:auto; margin:0; overflow:hidden;
    background:none;
  }
  /* `mask-image:none !important` tu NAMENOMA prepiše morebitno inline
     `mask-image` vrednost, ki jo ob nalaganju/resize še vedno izračuna in
     nastavi `js/main.js` (`posodobiVideoFeather`, NEspremenjen — izven
     obsega tega brifa, "do not modify any other part"). Ta funkcija je
     bila napisana za PREJŠNJI contain+ambient sistem (računa "letterbox"
     režo ob 16:9 videu, ki je zdaj z `cover`/2560:1080 vsebinsko
     brezpredmetna) — namesto da bi jo spreminjali/brisali, njen učinek tu
     preprosto ničimo, kar je varen, ozko omejen način, da stara skripta
     ostane nedotaknjena, a brez vidnega učinka na nov video. Za Vida: če
     se `posodobiVideoFeather` kdaj odstrani/prepiše, je to pravilo varno
     odstraniti skupaj z njo. */
  .hero-video-stage .hero-video{
    position:relative; z-index:1;
    width:100%; height:100%; object-fit:cover; object-position:center center;
    mask-image:none !important; -webkit-mask-image:none !important;
  }
  /* subtilen prehod za berljivost besedila — BOLJ prosojen (temnejši) skrajno
     levo, proti sredini/produktu popolnoma izgine. Produkt sam ni nikoli
     zatemnjen — preliv se konča precej pred sredino kadra. z-index nad obema
     video plastema (ambientno in ostro). */
  .hero-video-stage::before{
    content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(90deg, rgba(38,58,79,.62) 0%, rgba(38,58,79,.34) 20%, rgba(38,58,79,0) 46%);
  }
}

/* ── BIG SEE Product Design Award 2026 v heroju — samo logotip + ena
   vrstica naziva ("Mednarodno nagrajen dizajn"), brez opisa/CTA (poln opis
   ostaja v sekciji "GreenTill" nižje na strani). Blok nima nobenega
   lastnega ozadja/obrobe/sence — stoji neposredno na osnovnem `.hero`
   gradientu, enako kot preostalo besedilo v heroju. Generozen razmik od
   ostalih elementov (`row-gap` zgoraj) mu daje prostor, da "diha". Logotip
   nikoli ne dobi filtra/sence/žara/obrobe/prebarvanja/okvirja/kartice nase
   — samo `width` + sorazmerna višina; edini hover učinek (rahlo zbledi) je
   na OVOJNI povezavi. ─────────────────────────────────────────────────── */
.hero-nagrada-blok{ position:relative; max-width:300px; }
.hero-nagrada-logo-vez{
  display:block; width:clamp(190px, 22vw, 260px);
  opacity:.97; transition:opacity var(--dur-fast) var(--ease-premium);
}
.hero-nagrada-logo-vez img{ display:block; width:100%; height:auto; }
.hero-nagrada-logo-vez:hover, .hero-nagrada-logo-vez:focus-visible{ opacity:1; }
/* Dvajseti krog ("final premium refinement"): razmik med logotipom in
   nazivom skrčen (bil var(--sp-2)=16px) — zdaj berejo kot EN sklenjen
   "nagradni" blok namesto dveh ločenih elementov. Logotip sam ostaja
   popolnoma nespremenjen. */
.hero-nagrada-naziv{
  display:block; margin-top:6px;
  font-family:var(--fh); font-weight:600; font-size:15px; color:var(--muted-on-navy);
}
@media (max-width:760px){
  .hero-nagrada-logo-vez{ width:clamp(170px, 46vw, 240px); }
}
/* ── subtilen "Raziščite ↓" kazalec pri dnu CELOTNE Hero sekcije (ne več
   znotraj/ob videu — glej opombo v index.html, kazalec je zdaj neposreden
   otrok `.hero`, izven `.wrap`, zato je pozicioniran glede na pravi dno
   heroja). Namenoma zelo majhen in umirjen — ena mikro-animacija (počasen,
   rahel navpičen "dih" puščice), izklopljena pri prefers-reduced-motion.
   Ker je `.hero{ display:flex; align-items:center }`, ta absolutno
   pozicionirani element ne sodeluje v flex postavitvi (izvzet iz toka) in
   ne vpliva na centriranje `.wrap`. Če vsebina na ozkih/nizkih zaslonih
   preseže `min-height` heroja (`.hero` se v tem primeru samo raztegne, da
   jo ubere), kazalec ostane tik nad spodnjim robom TE raztegnjene škatle —
   torej vedno POD vso vsebino, nikoli čez njo. Na zelo nizkih višinah
   (kratki zasloni v ležečem položaju) se skrije, da ne trči ob vsebino. ── */
.hero-scroll-cue{
  position:absolute; left:50%; bottom:var(--sp-3); z-index:3;
  transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:4px;
  font-family:var(--fh); font-weight:600; font-size:11.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--muted-on-navy);
  opacity:.7; transition:opacity var(--dur-fast) var(--ease-premium);
}
.hero-scroll-cue:hover, .hero-scroll-cue:focus-visible{ opacity:1; }
.hero-scroll-cue svg{ width:16px; height:16px; animation:hero-cue-dih 2.2s ease-in-out infinite; }
@keyframes hero-cue-dih{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(4px); } }
@media (prefers-reduced-motion:reduce){ .hero-scroll-cue svg{ animation:none; } }
@media (max-height:560px){ .hero-scroll-cue{ display:none; } }

/* ── HERO mobilno poenostavljanje: obdrži circuit + BP + zelo rahel
   premik GreenTilla; ostalo (sekundarna tehnika, ospredna pika, drugi
   sij) izklopi za manj natrpanosti in boljšo hitrost. ─────────────── */
@media (max-width:760px){
  .hero-layer--tehnika, .hero .glow-blue{ display:none; }
  .hero-layer--circuit{ opacity:.035; }
  .hero-layer--bp{ width:78%; opacity:.07; }
  .hero-scroll-cue{ bottom:var(--sp-2); }
}

/* ── mehak prehod iz heroja v SOLUTIONS (glej index.html section-veza) ── */
.hero-izhod{
  top:-190px; left:6%; width:520px; height:340px;
  color:var(--navy); opacity:.045;
}
@media (max-width:960px){ .hero-izhod{ width:300px; height:200px; top:-100px; } }

/* ── nadaljevanje 18 — rahla "light/cyan" tonalna podlaga za to sekcijo
   (brif t. 2/22: takoj za herojem je stran prej padla nazaj na čisto
   belo — "LIGHT TECH → WHITE" je bil prehiter/oster skok). Zelo blaga
   diagonalna preliv (skoraj bela → --ice → skoraj bela), NE en raven
   barvni blok — vizualno komaj zaznaven premik tona, viden šele v
   primerjavi s sosednjima (belima) sekcijama pred/po. Novi ambientni
   elementi so v LASTNEM, s section-veza NEPOVEZANEM overflow:hidden
   ovoju (".sv-ambient", inline v HTML) — section sama obdrži
   overflow:visible (".section-veza", components.css), ki ga potrebuje
   obstoječi ".hero-izhod" bleed iz heroja nad njo; če bi overflow:hidden
   postavili na SAMO sekcijo, bi ta bleed po nepotrebnem obrezali. */
.sekcija-svetlo-cian{
  /* nadaljevanje 27 — brif "MULTI-LAYER TECH ENVIRONMENT" v2: "light
     sections must not be plain white" — hladnejša, bolj tehnična osnova
     (obstoječa --surface-alt/--ice/--mid lestvica, depth-system.css) namesto
     skoraj-belega prehoda. */
  background:linear-gradient(175deg, var(--surface-alt) 0%, var(--ice) 45%, var(--mid) 100%);
}

/* ── REŠITVE — 6 glavnih kategorij kot premium vstopne točke v podstrani ──
   Namenoma ločeno od splošnega .card/.icon-box sistema (ta se še uporablja
   drugod) — te kartice so "solution hub", ne generične SaaS kartice: nižja
   senca, večji ikonografski poudarek, ena skupna subtilna BP grafika v
   ozadju vsake (isti sistem na vseh 6 — ne šest različnih tem), celotna
   kartica je klikljiva (<a>) in dostopna prek tipkovnice. ─────────────── */
/* nadaljevanje 25 — brif "REAL LAYOUT REDESIGN": prejšnja enakomerna 3×2
   mreža (šest enakih ploščic) je bila glavna pritožba — ne glede na to,
   kako "premium" je bila dekoracija okoli nje, je ostala vizualno "šest
   enakih kvadratkov". Spodnji "bento" razpored je STRUKTURNA sprememba:
   dve karti ("Davčne blagajne" in "Servis opreme") postaneta glavna
   vizualna sidra z EKSPLICITNO drugačno velikostjo/obliko, preostale
   štiri postanejo manjši, podporni moduli. Uporabljam poimenovana
   `grid-template-areas` (ne golo `grid-column/row` po vrstnem redu) —
   bralnejše in nedvoumno pokaže namerno postavitev. DOM vrstni red
   kartic OSTAJA nespremenjen (dostopnost prek tipkovnice/bralnika sledi
   logičnemu vrstnemu redu: blagajne→tiskalniki→programska→aplikacije→
   servis→strani), samo VIZUALNA pozicija je preurejena prek `grid-area`
   (glej razrede `.rk-bento-*` spodaj) — to je namenoma dovoljeno
   (CSS Grid postavitev sme odstopati od DOM vrstnega reda). ───────────

   Dva "pasova": zgornji ima veliko "Davčne blagajne" levo (širina+višina
   obeh vrstic) + "Najem tiskalnikov"/"Programske rešitve" zloženi eden
   nad drugim desno. Spodnji pas je ENA vrstica s tremi kartami v isti
   vrsti (Spletne aplikacije / Servis opreme / Spletne strani) — Servis
   dobi dvakrat več stolpcev (6/12) kot aplikacije/strani (3/12 vsaka),
   zato je širši, ne pa tudi 2× višji. ───────────────────────────────────
   POPRAVEK (9. 9. 2026, hrošč): prvotna različica je "servis" postavila
   v isto (2-vrstično) razpeto celico kot "apl"/"stran", zloženi eno nad
   drugo — CSS Grid privzeti `align-self:stretch` je nato razpeto kartico
   raztegnil čez VIŠINO OBEH vrstic skupaj (~830px), kar je "vodoravno"
   fotografsko kartico (flex-direction:row, slika obdrži object-fit:cover)
   spremenilo v visoko/ozko obliko — slika se je zato prikazala kot skrajno
   zoomiran/obrezan navpičen izsek namesto kratkega vodoravnega pasu. Zdaj
   so vse tri kartice v ENI VRSTICI (ista logika kot zgornji pas: širina,
   ne višina, dela razliko), zato "servis" dobi naravno kratko/širino
   obliko, primerno za "photo beside text" postavitev. */
.resitve-grid{
  position:relative; display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:repeat(3,minmax(0,auto));
  gap:24px;
  grid-template-areas:
    "blag blag blag blag blag blag blag tisk tisk tisk tisk tisk"
    "blag blag blag blag blag blag blag prog prog prog prog prog"
    "apl  apl  apl  serv serv serv serv serv serv stran stran stran";
}
.rk-bento-blag{ grid-area:blag; min-height:560px; }
.rk-bento-tisk{ grid-area:tisk; }
.rk-bento-prog{ grid-area:prog; }
.rk-bento-apl{ grid-area:apl; }
.rk-bento-serv{ grid-area:serv; min-height:340px; }
.rk-bento-stran{ grid-area:stran; }

/* pod ~1100px razpade natančna geometrija bento mreže prehitro (kartice bi
   postale preozke za berljivo horizontalno "Servis opreme" postavitev) —
   vrnemo se na preprosto, varno 2-stolpčno/1-stolpčno zlaganje v DOM
   vrstnem redu, enako kot prej. Feature razreda tedaj nimata posebne
   vloge (glej tudi `.rk-bento-horizontal` spodaj, ki se prav tako izklopi). */
@media (max-width:1100px){
  .resitve-grid{
    grid-template-columns:repeat(2,1fr); grid-template-areas:none; gap:22px;
  }
  .rk-bento-blag, .rk-bento-tisk, .rk-bento-prog, .rk-bento-apl, .rk-bento-serv, .rk-bento-stran{
    grid-area:auto; min-height:0;
  }
}
@media (max-width:600px){ .resitve-grid{ grid-template-columns:1fr; gap:16px; } }

/* nadaljevanje 24 — brif t. 7: kartice naj delujejo bolj "substantial/
   premium", ne kot šest osamljenih belih ploščic na skoraj beli podlagi.
   Rahlo prosojna, hladno modro-siv tonirana površina (NE glassmorphism —
   opacity ostaja visoka, .88, samo dovolj, da se skozi rob kartice čuti
   ozadje sekcije za njo) + tanek "tehničen" rob (privzeto komaj viden
   `--rk-1` odtenek namesto nevtralne sive, ne šele na hover) + nekoliko
   globlja/mehkejša senca. */
.resitev-kartica{
  position:relative; display:flex; flex-direction:column;
  background:rgba(255,255,255,.88);
  border:1px solid color-mix(in srgb, var(--rk-1, var(--navy)) 16%, rgba(51,72,97,.12));
  border-radius:20px;
  overflow:hidden; box-shadow:0 2px 5px rgba(23,52,80,.05), 0 14px 32px -18px rgba(23,52,80,.16);
  transition:transform .4s var(--ease-premium), border-color .4s var(--ease-premium), box-shadow .4s var(--ease-premium);
}
/* dve izmenjujoči se kromatski družini — NE šest različnih barv, samo
   cyan→blue proti lime→green, dosledno prek atmosfere/vezja/obrobe */
.resitev-kartica.rk-cyan{ --rk-1:var(--cyan); --rk-2:var(--blue); }
.resitev-kartica.rk-lime{ --rk-1:var(--lime); --rk-2:var(--green); }

/* ── brif "DAVČNE BLAGAJNE — FEATURE" / "SERVIS OPREME — FEATURE": obe
   sidrni kartici dobita VEČ prostora za sliko (ne fiksno 16/11 razmerje
   kot podporne kartice) — vizual raste, dokler vsebina (naslov/opis/CTA)
   ne dobi dovolj prostora, prek `flex` namesto `aspect-ratio`. Krepkejša
   tipografija (brif: "strong typography") + rahlo večji notranji odmik,
   ker imata kartici dejansko prostor zanj. ─────────────────────────── */
.rk-bento-feature{ display:flex; flex-direction:column; }
.rk-bento-feature .resitev-vizual{ aspect-ratio:auto; flex:1 1 auto; min-height:220px; }
.rk-bento-feature .resitev-vsebina{ padding:30px 36px 34px; flex:0 0 auto; }
.rk-bento-feature h3{ font-size:clamp(24px,2vw,30px); }
.rk-bento-feature p{ max-width:46ch; }
.rk-bento-blag .resitev-vsebina{ padding-bottom:38px; }

/* "Servis opreme" — edina kartica s SLIKO OB BESEDILU (ne nad njim). Ista
   dva otroka (`.resitev-vizual` + `.resitev-vsebina`), samo `.resitev-
   kartica` postane vrstični (ne stolpčni) flex — foto postane resničen
   del kompozicije, ne pravokotna sličica nad besedilom (brif t. "Servis
   opreme — feature"). Slika obdrži `object-fit:cover` (tip-foto), zato se
   nič ne obreže/spremeni, samo VEČ vidnega kadra pri širšem/nižjem okvirju. */
.rk-bento-horizontal{ flex-direction:row; align-items:stretch; }
.rk-bento-horizontal .resitev-vizual{
  flex:1 1 56%; aspect-ratio:auto; min-height:0;
}
.rk-bento-horizontal .resitev-vsebina{
  flex:1 1 44%; justify-content:center; padding:34px 38px;
}
.rk-bento-horizontal .tip-foto .resitev-vizual::after{
  /* prehod je bil spodaj (image→text SPODAJ njo) — tu je slika OB
     besedilu (desno), zato preliv teče vodoravno proti vsebini namesto
     navpično; barva/logika ista, samo os obrnjena. */
  inset:0 0 0 auto; width:36%; height:auto;
  background:linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.94));
}
@media (max-width:1100px){
  .rk-bento-horizontal{ flex-direction:column; }
  .rk-bento-horizontal .resitev-vizual{ flex:none; aspect-ratio:16/10; }
  .rk-bento-horizontal .resitev-vsebina{ flex:1 1 auto; }
  .rk-bento-horizontal .tip-foto .resitev-vizual::after{
    inset:auto 0 0 0; width:auto; height:44%;
    background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  }
  .rk-bento-feature .resitev-vizual{ aspect-ratio:16/11; flex:none; min-height:0; }
}

/* ── štirje "podporni" moduli (Najem tiskalnikov / Programske rešitve /
   Spletne aplikacije / Spletne strani) — polovica višine ene "feature"
   kartice (glej bento vrstice zgoraj), zato krajše razmerje slike + malce
   tesnejši odmik vsebine, da naslov/opis/CTA ne "dušijo" v premalo
   prostora. Brif t. "SOFTWARE / DIGITAL CARDS": Programske rešitve,
   Spletne aplikacije in Spletne strani naj delujejo bolj "digitalno" —
   zaslonski posnetek sega bliže robu kartice (manjši/brez notranji
   odmik na sliki) + tanek cian tehničen rob okoli slike namesto belega
   prostora. Davčne blagajne/Najem tiskalnikov (fizični produkti) obdržita
   obstoječ "tip-produkt" zračni prikaz (nespremenjeno). ─────────────── */
@media (min-width:1101px){
  .resitve-grid > .resitev-kartica:not(.rk-bento-feature) .resitev-vizual{ aspect-ratio:16/9; }
  .resitve-grid > .resitev-kartica:not(.rk-bento-feature) .resitev-vsebina{ padding:22px 26px 24px; }
  .rk-bento-prog .resitev-vizual, .rk-bento-apl .resitev-vizual, .rk-bento-stran .resitev-vizual{
    box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rk-1) 30%, transparent);
  }
}

/* brif t. 10 — droben "sistemski" identifikator na vsaki kartici (01…06),
   ne cenovna tabela — zato majhen, oddaljen, monospace, komaj viden. Prek
   `nth-child` na samem gridu (šest kartic je vedno v istem vrstnem redu),
   ne šest ročnih razredov. */
.resitve-grid > .resitev-kartica{ counter-increment:rk-stevec; }
.resitve-grid{ counter-reset:rk-stevec; }
.resitev-kartica .resitev-vsebina::before{
  content:'0' counter(rk-stevec);
  position:absolute; top:22px; right:26px; z-index:1;
  font-family:var(--fm, monospace); font-size:11px; letter-spacing:.08em;
  color:var(--rk-1); opacity:.4;
}

/* 9. 9. 2026 — "GLOBALNA ANIMACIJA KARTIC" brif: ta kartica je bila že
   pred tem najbolj dovršena na strani — tu samo rahlo (~20-30%) uglašena
   na nov globalni jezik (translateY -4→-5px, dodan rahel scale, glej
   dnevnik), NE na novo zgrajena. */
.resitev-kartica:hover, .resitev-kartica:focus-visible{
  transform:translateY(-5px) scale(1.006);
  box-shadow:0 22px 48px rgba(23,52,80,.11);
}
/* kartice imajo tudi razred .reveal — ko JS doda .je-vidno, ima ta pravilo
   (components.css) enako specifičnost kot zgornji hover in bi ga sicer
   lahko premagalo (3 razredi proti 2); spodaj eksplicitno povrnemo hover
   transform z enako specifičnostjo, poznejšo v vrstnem redu nalaganja */
.resitev-kartica.reveal:hover, .resitev-kartica.reveal:focus-visible{ transform:translateY(-5px) scale(1.006); }
.resitev-kartica.rk-cyan:hover, .resitev-kartica.rk-cyan:focus-visible{ border-color:rgba(23,185,236,.4); }
.resitev-kartica.rk-lime:hover, .resitev-kartica.rk-lime:focus-visible{ border-color:rgba(171,208,57,.45); }

/* ── VIZUAL — zgornji del kartice: pravi produktni/foto material namesto
   ikone. Tri obravnave glede na vrsto vira, a dosledno razmerje višine
   na vseh šestih, da kartice ohranijo skupen ritem. ─────────────────── */
.resitev-vizual{
  position:relative; overflow:hidden; aspect-ratio:16/11;
  background:linear-gradient(160deg,#f5f8f9,#eef2f4);
}
.resitev-slika{
  position:absolute; inset:0; width:100%; height:100%;
  transition:transform .45s var(--ease-premium);
}
.resitev-kartica:hover .resitev-slika, .resitev-kartica:focus-visible .resitev-slika{
  transform:translateY(-3px) scale(1.022);
}

/* produktne upodobitve (GreenTill, tiskalnik) — naprava plavajo na
   svetlem ozadju namesto v pravokotni fotografiji, mehka senca daje
   globino; za GreenTillom komaj zaznaven CGP vezje-vzorec */
.tip-produkt .resitev-vizual{ background:radial-gradient(circle at 50% 42%, #f8fafb, #edf1f3); }
.tip-produkt .resitev-slika{
  object-fit:contain; padding:10% 13% 6%;
  filter:drop-shadow(0 16px 20px rgba(23,52,80,.16));
}
.rv-ozadje{ position:absolute; inset:-16%; z-index:0; color:var(--rk-1); opacity:.05; }

/* fotografije (Programske rešitve, Servis opreme) — rob-do-roba, z
   mehkim prehodom proti vsebini spodaj namesto ostre reže */
.tip-foto .resitev-slika{ object-fit:cover; object-position:center 40%; }
.tip-foto .resitev-vizual::after{
  content:''; position:absolute; inset:auto 0 0 0; height:44%; pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* UI/produktni zasloni (Spletne aplikacije, Spletne strani) — nadzorovan
   izsek, zaslon ostaja glavni motiv, prehod nekoliko krajši */
.tip-ui .resitev-slika{ object-fit:cover; object-position:center 12%; }
.tip-ui .resitev-vizual::after{
  content:''; position:absolute; inset:auto 0 0 0; height:42%; pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* ── "Spletne strani" — RESNIČEN responsive showcase namesto generičnega
   beige mockupa (10. 9. 2026, glej dnevnik). Namesto ENE sestavljene
   rastrske slike so namizje/tablica/telefon TRIJE ločeni DOM elementi —
   vsak nosi svoj resnični posnetek trenutnega Biroplast V2 domačega
   heroja (GreenTill), zajet PRI DEJANSKEM breakpointu te naprave (ne
   desktop posnetek, mehansko pomanjšan), da vizual pošteno pokaže
   responsive postavitev. Ločeni elementi (namesto ene slike) omogočajo,
   da vsaka naprava na hover dobi RAHLO drugačen translateY (brief
   razdelek 11) — brez tega bi bil to en sam raster in "globinski" hover
   ne bi bil mogoč. Brez iframe-a (performance/nested-scroll tveganje za
   tako majhno kartico ni upravičeno) — samo optimizirani statični
   posnetki, `.naprava-zaslon{overflow:hidden}` maskira sliko natanko na
   obliko zaslona posamezne naprave. */
.rv-naprave{ position:absolute; inset:0; }
.rv-naprave-sij{
  position:absolute; inset:-14%; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 50% 62%, var(--cyan), transparent 62%);
  opacity:.07; transition:opacity .4s var(--ease-premium);
}
.resitev-kartica:hover .rv-naprave-sij, .resitev-kartica:focus-visible .rv-naprave-sij{ opacity:.16; }

.naprava{
  position:absolute; border-radius:10px; background:#1c2733; box-sizing:border-box;
  box-shadow:0 8px 18px rgba(15,28,43,.20);
  transition:transform var(--dur-med) var(--ease-premium), box-shadow var(--dur-med) var(--ease-premium);
}
.naprava-zaslon{ width:100%; height:100%; overflow:hidden; border-radius:5px; background:#0b131d; }
/* object-position: LEVO-zgoraj, ne sredinsko — pri tablici/telefonu je
   izsek precej ožji od zajetega posnetka (glej dnevnik), sredinski obrez
   je odrezal začetek naslova ("Blagajna" → "agajna"); levo-poravnana
   vsebina (logotip/nav/naslov) mora ostati cela, izgubi se lahko samo
   desni/spodnji del posnetka. */
.naprava-zaslon img{ width:100%; height:100%; object-fit:cover; object-position:left top; display:block; }

/* namizje — nazaj/na sredini, največje in najbolj čitljivo (brief razdelek
   7: "desktop monitor mora imeti najbolj čitljiv preview") + tanko
   stojalo (vrat + noga) prek ::before/::after, izven lastnega okvirja
   navzdol (nista obrezana — obreza samo `.resitev-vizual`, ki je precej
   nižje na kartici, glej zgoraj). */
.naprava-namizje{
  top:7%; left:50%; width:55%; height:59%; padding:3.4%;
  transform:translateX(-50%); z-index:1;
}
.naprava-namizje::before{
  content:''; position:absolute; top:100%; left:50%; width:8%; height:10%;
  transform:translateX(-50%); background:linear-gradient(180deg,#c7cfd6,#a7b1ba);
}
.naprava-namizje::after{
  content:''; position:absolute; top:calc(100% + 8%); left:50%; width:30%; height:4.5%;
  transform:translateX(-50%); background:linear-gradient(180deg,#c7cfd6,#a7b1ba); border-radius:3px;
}
/* tablica — spodaj levo, delno pred namizjem, portretna postavitev */
.naprava-tablica{
  bottom:4%; left:1%; width:27%; height:52%; padding:2.4%;
  border-radius:13px; z-index:2;
}
/* telefon — spodaj desno, najbolj spredaj, najmanjši, portreten */
.naprava-telefon{
  bottom:0; right:3%; width:15%; height:45%; padding:1.7%;
  border-radius:17px; z-index:3;
}
.naprava-tablica .naprava-zaslon{ border-radius:8px; }
.naprava-telefon .naprava-zaslon{ border-radius:11px; }

/* subtilna, NAMENOMA razlikujoča globinska animacija na hover kartice
   (brief razdelek 11: -2/-3/-4px, brez agresivnega zooma/3D nagiba) —
   vsaka naprava obdrži svoj obstoječi transform (namizje ima translateX
   za sredinjenje), zato se translateY DODA, ne nadomesti. */
.resitev-kartica:hover .naprava-namizje, .resitev-kartica:focus-visible .naprava-namizje{
  transform:translateX(-50%) translateY(-2px);
  box-shadow:0 14px 26px rgba(15,28,43,.26);
}
.resitev-kartica:hover .naprava-tablica, .resitev-kartica:focus-visible .naprava-tablica{
  transform:translateY(-3px);
  box-shadow:0 14px 26px rgba(15,28,43,.26);
}
.resitev-kartica:hover .naprava-telefon, .resitev-kartica:focus-visible .naprava-telefon{
  transform:translateY(-4px);
  box-shadow:0 14px 26px rgba(15,28,43,.26);
}

/* ── VSEBINA — naslov/opis/CTA + zdaj SEKUNDARNE, umirjene CGP dekoracije
   (atmosfera/BP/vezje) — podpirajo sliko zgoraj, ne tekmujejo z njo. ─── */
.resitev-vsebina{
  position:relative; z-index:1; flex:1;
  padding:26px 32px 30px;
  display:flex; flex-direction:column;
}

.resitev-atmosfera{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(circle at 88% 0%, var(--rk-1), transparent 55%);
  opacity:.04;
  transition:opacity .4s var(--ease-premium);
}
.resitev-kartica:hover .resitev-atmosfera, .resitev-kartica:focus-visible .resitev-atmosfera{ opacity:.07; }
.resitev-kartica.rk-pomembna .resitev-atmosfera{ opacity:.055; }
.resitev-kartica.rk-pomembna:hover .resitev-atmosfera, .resitev-kartica.rk-pomembna:focus-visible .resitev-atmosfera{ opacity:.09; }

/* en skupen BP grafični fragment — zdaj majhen in umirjen v spodnjem
   kotu vsebine (šest izsekov/pozicij rg-1…rg-6 za raznolikost) */
.resitev-grafika{
  position:absolute; z-index:0; aspect-ratio:1494/902;
  opacity:.035; pointer-events:none; background-repeat:no-repeat;
  transition:opacity .4s var(--ease-premium), transform .4s var(--ease-premium);
}
.resitev-kartica:hover .resitev-grafika, .resitev-kartica:focus-visible .resitev-grafika{ opacity:.06; }
.resitev-kartica.rk-pomembna .resitev-grafika{ opacity:.045; }
.resitev-kartica.rk-pomembna:hover .resitev-grafika, .resitev-kartica.rk-pomembna:focus-visible .resitev-grafika{ opacity:.075; }

.rg-1{ bottom:-30%; right:-18%; width:70%; background-size:220%; background-position:24% 20%; }
.rg-2{ top:-26%; right:-16%; width:66%; background-size:215%; background-position:66% 18%; transform:rotate(-3deg); }
.rg-3{ bottom:-32%; left:-17%; width:72%; background-size:225%; background-position:30% 60%; }
.rg-4{ top:-24%; left:-18%; width:68%; background-size:215%; background-position:58% 30%; transform:rotate(3deg); }
.rg-5{ bottom:-26%; right:-20%; width:64%; background-size:205%; background-position:16% 12%; transform:rotate(-2deg); }
.rg-6{ top:-25%; left:-16%; width:70%; background-size:220%; background-position:50% 45%; }

/* BP/vezje ozadje se ob hoverju premakne RAHLO V NASPROTNO smer kot slika
   zgoraj (ta se dvigne) — drobna, skoraj podzavestna paralaksa globine */
.resitev-kartica:hover .rg-1, .resitev-kartica:focus-visible .rg-1{ transform:translate(-4px,3px); }
.resitev-kartica:hover .rg-2, .resitev-kartica:focus-visible .rg-2{ transform:rotate(-3deg) translate(4px,3px); }
.resitev-kartica:hover .rg-3, .resitev-kartica:focus-visible .rg-3{ transform:translate(-4px,3px); }
.resitev-kartica:hover .rg-4, .resitev-kartica:focus-visible .rg-4{ transform:rotate(3deg) translate(4px,3px); }
.resitev-kartica:hover .rg-5, .resitev-kartica:focus-visible .rg-5{ transform:rotate(-2deg) translate(-4px,3px); }
.resitev-kartica:hover .rg-6, .resitev-kartica:focus-visible .rg-6{ transform:translate(4px,3px); }

/* drobna vezje sled + 2 vozlišči na kartico — v mirovanju komaj vidna,
   eno vozlišče (rv-b) se ob hoverju rahlo "aktivira" (utripne); statična
   sekcija ostane umirjena */
.resitev-vezje{ position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.rv-pot{ stroke:var(--rk-1); stroke-width:1.4; opacity:.12; transition:opacity .4s var(--ease-premium); }
.rv-vozlisce{ fill:var(--rk-1); opacity:.18; transition:opacity .4s var(--ease-premium); }
.rv-vozlisce.rv-b{ fill:var(--rk-2); }
.resitev-kartica:hover .rv-pot, .resitev-kartica:focus-visible .rv-pot{ opacity:.28; }
.resitev-kartica:hover .rv-vozlisce, .resitev-kartica:focus-visible .rv-vozlisce{ opacity:.42; }
.resitev-kartica:hover .rv-vozlisce.rv-b, .resitev-kartica:focus-visible .rv-vozlisce.rv-b{
  opacity:.68; animation:rv-utrip 1.8s ease-in-out infinite;
}
@keyframes rv-utrip{ 0%,100%{ opacity:.5; } 50%{ opacity:.85; } }

.resitev-kartica h3{
  position:relative; z-index:1;
  font-size:clamp(22px,1.7vw,26px); font-weight:700; line-height:1.15;
  margin-bottom:10px;
  transition:color var(--dur-med) var(--ease-premium);
}
.resitev-kartica:hover h3, .resitev-kartica:focus-visible h3{ color:var(--navy-deep); }
.resitev-kartica p{
  position:relative; z-index:1;
  font-size:16.5px; line-height:1.55; color:var(--muted);
  margin-bottom:22px; flex-grow:1;
}
.resitev-cta{
  position:relative; z-index:1;
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--fh); font-weight:700; font-size:15px; color:var(--blue);
}
.resitev-cta svg{ width:17px; height:17px; transition:transform .35s var(--ease-premium); }
.resitev-kartica:hover .resitev-cta svg, .resitev-kartica:focus-visible .resitev-cta svg{ transform:translateX(5px); }

@media (max-width:900px){
  .resitev-vizual{ aspect-ratio:16/10; }
}
@media (max-width:600px){
  .resitev-vizual{ aspect-ratio:16/11; }
  .resitev-vsebina{ padding:22px 24px 26px; }
}
@media (prefers-reduced-motion:reduce){
  .resitev-kartica, .resitev-slika, .resitev-cta svg, .resitev-grafika,
  .resitev-atmosfera, .rv-pot, .rv-vozlisce,
  .naprava, .rv-naprave-sij{ transition:none; }
  .resitev-kartica:hover .rv-vozlisce.rv-b, .resitev-kartica:focus-visible .rv-vozlisce.rv-b{ animation:none; }
  /* 9. 9. 2026 — "GLOBALNA ANIMACIJA KARTIC" brif t.18: translate/scale
     na kartici, sliki, ikoni in puščici popolnoma odstranjen (ne samo
     brez animacije), pusti samo barvo/senco/obrobo. */
  .resitev-kartica:hover, .resitev-kartica:focus-visible,
  .resitev-kartica.reveal:hover, .resitev-kartica.reveal:focus-visible{ transform:none; }
  .resitev-kartica:hover .resitev-slika, .resitev-kartica:focus-visible .resitev-slika,
  .resitev-kartica:hover .resitev-cta svg, .resitev-kartica:focus-visible .resitev-cta svg{ transform:none; }
  /* namizje ohrani svoj sredinjevalni translateX (drugače bi hover skočil
     v levo), samo translateY del hover animacije je odstranjen */
  .resitev-kartica:hover .naprava-namizje, .resitev-kartica:focus-visible .naprava-namizje{ transform:translateX(-50%); }
  .resitev-kartica:hover .naprava-tablica, .resitev-kartica:focus-visible .naprava-tablica,
  .resitev-kartica:hover .naprava-telefon, .resitev-kartica:focus-visible .naprava-telefon{ transform:none; }
}

/* ── HARDWARE moment (GreenTill flagship) ─────────────────── */
.hardware{ position:relative; overflow:hidden; }
/* nadaljevanje 27 — brif "MULTI-LAYER TECH ENVIRONMENT" v2: "MID/DEEP
   BLUE" stopnja, LASTEN (nekoliko svetlejši) gradient kot ".sw-sekcija"
   spodaj (steel→navy namesto steel→navy-deep) — isti "STRONG/DARK
   SEKCIJA Z GLOBINO" recept (depth-system.css, razdelek 13), obe temni
   sekciji naj se čutita kot dve RAZLIČNI stopnji, ne dve identični. */
.hardware{ background:linear-gradient(165deg, var(--steel) 0%, var(--navy-mid) 42%, var(--navy) 72%, var(--navy-deep) 100%); }
/* nadaljevanje 31 — brif "GreenTill background REPLACE": "make parts
   considerably darker... center/background can move toward very dark
   navy... do NOT make entire section one flat blue color" — gradient
   zdaj seže do `--navy-deep` (prej se je ustavil pri `--navy`), ostaja
   ISTA barvna lestvica (brez novih tokenov), samo globlji zaključek. */

/* prečkajoč BP motiv — vizualno poveže konec strojne opreme z začetkom
   programske opreme; child mehkega prehoda (software), z negativnim
   top-om "poseže" navzgor v hardware sekcijo nad seboj (paint order:
   software je kasneje v DOM-u, zato njegov motiv nariše čez spodnji
   del hardware sekcije). */
.motif-veza{
  top:-220px; right:6%; width:460px; height:460px; color:var(--lime); opacity:.08;
}
@media (max-width:960px){ .motif-veza{ width:300px; height:300px; top:-140px; } }
.hardware-split{
  display:grid; grid-template-columns:.95fr 1.05fr; gap:var(--sp-6); align-items:center;
}
.hardware-vizual{ position:relative; }
/* GreenTill v tej sekciji je zdaj isti video kot v heroju, a druga obravnava:
   tu OSTANE obstoječi zaobljeni temno-modri "product-moment" panel (uveljavljen
   vizualni jezik te sekcije) — video ga zapolni v celoti (object-fit:cover, brez
   odmika), zato ni vidnega pravokotnega roba, samo mehak zaobljen panel kot doslej. */
.hardware-vizual .product-moment{
  aspect-ratio:16/11; padding:0;
  /* "flagship product stage" — rahel cian rob-sij okrog obstoječe sence,
     glej opombo ob ambientnih plasteh v index.html; video sam ostaja
     nedotaknjen, samo okvir dobi malo več prisotnosti. */
  box-shadow:var(--sh-lg), 0 0 60px -14px rgba(23,185,236,.4);
}
.hardware-vizual .product-moment .hardware-video{
  display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%;
}
.hardware-badge{ margin-bottom:var(--sp-2); }
.hardware ul.kljuke{ margin:var(--sp-3) 0 var(--sp-4); }

/* ── BIG SEE Product Design Award 2026 — priznanje ob GreenTillu. Od
   sedemnajstega kroga (avgust 2026) uporablja večji, prominentnejši
   uraden VIJOLIČEN logotip namesto prejšnjega manjšega — glej dnevnik.
   Namenoma ni več "steklena" marketinška kartica (gradient/blur/senca ob
   mirovanju) — tanka zgornja CGP cian-modra črta in natančna poravnava
   dajeta bolj tehnično/arhitekturno občutje, skladno z ostalim "circuit"
   jezikom strani. `.nagrada-logo` (uradna slika) nikoli ne dobi filtra,
   sence, obrobe, prebarvanja ali animacije nase; samo širina +
   `object-fit:contain`, da se logotip vedno prikaže sorazmerno, brez
   obrezovanja. Cela kartica je povezava (nov zavihek) na uradno BIG SEE
   stran. ─────────────────────────────────────────────────────────── */
.nagrada-kartica{
  display:flex; align-items:center; gap:30px;
  background:var(--surface);
  border:1px solid var(--line); border-top:2px solid rgba(23,185,236,.5);
  border-radius:var(--r);
  padding:26px 30px; margin:var(--sp-2) 0 var(--sp-4);
  text-decoration:none; color:inherit;
  transition:border-color var(--dur-fast) var(--ease-premium);
}
.nagrada-kartica:hover, .nagrada-kartica:focus-visible{
  border-top-color:rgba(4,123,193,.75);
}
.nagrada-logo{
  flex-shrink:0; width:clamp(170px, 19vw, 228px); height:auto; max-width:100%;
  object-fit:contain; display:block;
}
.nagrada-crta{ align-self:stretch; width:1px; background:var(--line); flex-shrink:0; }
.nagrada-vsebina{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.nagrada-naziv{ font-family:var(--fh); font-weight:600; font-size:16px; color:var(--ink); }
.nagrada-opis{ font-size:13.5px; color:var(--muted); line-height:1.55; }
.nagrada-cta{ display:inline-flex; align-items:center; gap:6px; font-family:var(--fh); font-weight:700; font-size:13px; color:var(--blue); margin-top:5px; }
.nagrada-cta svg{ width:14px; height:14px; transition:transform var(--dur-fast) var(--ease-premium); }
.nagrada-kartica:hover .nagrada-cta svg, .nagrada-kartica:focus-visible .nagrada-cta svg{ transform:translate(2px,-2px); }
@media (max-width:480px){
  .nagrada-kartica{ flex-direction:column; align-items:flex-start; padding:22px 20px; gap:16px; }
  .nagrada-crta{ display:none; }
  .nagrada-logo{ width:clamp(150px, 46vw, 190px); }
}

@media (max-width:960px){
  .hardware-split{ grid-template-columns:1fr; }
  .hardware-vizual{ order:-1; max-width:440px; margin:0 auto; }
  .hardware-vizual .product-moment .hardware-video{ object-position:center 44%; }
}
@media (max-width:760px){
  /* mobilni mp4 vir (854px obreza) — neodvisna objektna točka od namizne,
     glej enako opombo pri .hero-video zgoraj */
  .hardware-vizual .product-moment .hardware-video{ object-position:center 47%; }
}

/* ── OWN SOFTWARE (aplikacije) — DeliMe / TAStudio / Booking Studio
   Prenovljeno avgust 2026 (štirinajsti krog) v premium "product showcase"
   format s pravimi zaslonskimi posnetki/fotografijo namesto dosedanjega
   abstraktnega placeholderja — glej dnevnik za brief. Izmenična postavitev
   (slika/vsebina, vsebina/slika, slika/vsebina), en editorial "vrsta" na
   izdelek namesto kartic, velika skoraj-transparentna številka ob vsaki
   sliki, subtilen barvni sij za CGP poudarek. Ozadje sekcije: obstoječi
   .circuit-field/.motif-cross (glej index.html) + nov umirjen
   .sw-vezje-svg spodaj, po vzoru že odobrenega heroja (".cvez-*" v HERO
   razdelku te datoteke) — ista logika dihajočih vozlišč + počasi potujoče
   pičice, a bolj umirjeno (nižja prosojnost, brez pointer-parallaxa), da
   sekcija ne izgleda kot ena statična ploskev, ne da bi motila branje. ─── */
.sw-vrsta{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.08fr .92fr; gap:var(--sp-6); align-items:center;
  padding:var(--sp-5) 0;
}
.sw-vrsta + .sw-vrsta{ margin-top:var(--sp-2); }
.sw-vrsta--obrni .sw-media{ order:2; }
.sw-vrsta--obrni .sw-vsebina{ order:1; }

.sw-media{ position:relative; padding:28px 0 0 30px; }
.sw-vrsta--obrni .sw-media{ padding:28px 30px 0 0; }
.sw-stevilka{
  position:absolute; top:-8px; left:-4px; z-index:0;
  font-family:var(--fh); font-weight:700; line-height:1;
  font-size:clamp(84px,8vw,132px); color:rgba(255,255,255,.055);
  pointer-events:none; user-select:none;
}
.sw-vrsta--obrni .sw-stevilka{ left:auto; right:-4px; }
.sw-glow{
  width:78%; height:78%; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:0; opacity:.5;
}
.sw-media-okvir{
  position:relative; z-index:1; border-radius:var(--r-lg); overflow:hidden;
  border:1px solid rgba(255,255,255,.14); box-shadow:var(--sh-lg);
  background:var(--navy-deep);
}
.sw-media-okvir img{
  display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:center;
  transition:transform var(--dur-med) var(--ease-premium);
}
.sw-vrsta:hover .sw-media-okvir img{ transform:scale(1.018); }

.sw-vsebina{ position:relative; z-index:1; max-width:480px; }
/* Devetindvajseti krog: kategorijske značke (TAStudio/Booking Studio/
   DeliMe) so bile na tej temni podlagi skoraj nečitljive — privzeta
   `.badge-lime`/`.badge-cyan` barvna shema je zasnovana za SVETLO
   ozadje (temno besedilo na komaj obarvanem prosojnem ozadju), tu pa
   ni bil dodan `.on-navy` modifikator, zato je temno besedilo pristalo
   na skoraj-črnem ozadju. Popravek je namenoma OMEJEN samo na značke
   znotraj te sekcije (`.sw-vsebina .badge`), ne spreminja splošnega
   `.badge`/`.badge-lime`/`.badge-cyan(.on-navy)` sistema, ki se
   uporablja drugod (npr. `.hardware-badge` v isti datoteki, ostane
   nedotaknjen). Novo obratna logika: svetlo/skoraj-neprosojno ozadje
   (uradna CGP barva, zmešana z belo prek `color-mix`, brez novih
   barv) + temno modro besedilo (`--navy-deep`) — namesto svetlega
   besedila na temnem. Preverjeno: kontrast temno-modro/svetla
   podlaga je pri obeh barvah precej nad WCAG AA (4.5:1). */
.sw-vsebina .badge{
  margin-bottom:var(--sp-2);
  padding:7px 12px; font-size:12px; font-weight:700; letter-spacing:.07em;
  line-height:1.3; color:var(--navy-deep);
}
.sw-vsebina .badge-lime{ background:color-mix(in srgb, var(--lime) 30%, #fff); }
.sw-vsebina .badge-cyan{ background:color-mix(in srgb, var(--cyan) 26%, #fff); }
.sw-vsebina h3{ font-size:var(--fs-h2); margin:0 0 var(--sp-2); }
.sw-opis{ color:var(--muted-on-navy); font-size:15.5px; line-height:1.6; margin-bottom:var(--sp-3); }

/* CTA na temno modri podlagi: privzeta .btn-text barva (--blue) ima na
   .navy ozadju prenizek kontrast (izmerjeno ~2:1) — zato tu uporabimo
   limeto (kot je bila že prej uporabljena za DeliMe) oz. za
   Booking Studio enak svetlejši cian, kot ga na tej isti podlagi že
   uporablja `.badge-cyan.on-navy` drugje na strani (#8fe0f7). Hkrati
   popravimo obstoječi predobstoječi hrošč: .btn-text nima
   display:inline-flex, zato se puščica brez tega prelomi v svojo
   vrstico — popravek ostaja scoped samo na to sekcijo. */
.sw-cta{
  display:inline-flex; align-items:center; color:var(--lime);
  transition:filter var(--dur-fast) var(--ease-premium);
}
.sw-cta:hover{ filter:brightness(1.18); }
.sw-cta--cyan{ color:#8fe0f7; }

/* ── VISUAL/UX UPGRADE, razdelek 4 — "Programske rešitve" NAZAJ v DARK
   TECH (obratno od "nadaljevanje 18" spodnjega zgodovinskega zapisa, ki
   je ohranjen kot dokumentacija spodaj v HTML komentarju): to je NAJ-
   POMEMBNEJŠA pretvorba tega kroga. Sekcija v HTML zdaj nosi
   "on-steel sw-sekcija" namesto "on-mid sw-sekcija" — osnovna barva/
   belo besedilo/h2,h3 pridejo iz ".on-steel" (depth-system.css), tu pa
   je ozadje NADOMEŠČENO z gradientom (recept "13. STRONG/DARK SEKCIJA
   Z GLOBINO" v depth-system.css — "gradient med dvema sosednjima
   toni iste družine", ne raven ".on-steel" pravokotnik). Selektor
   ".sw-sekcija" ima enako specifičnost kot ".on-steel", a pages.css se
   nalaga PO depth-system.css, zato ta gradient v cascade prevlada brez
   !important.
   Spodnji besedilni popravki OBRNEJO prejšnjo "nadaljevanje 18" logiko
   (ki je pretvarjala belo/on-navy besedilo v temno-na-svetlem) nazaj v
   svetlo-na-temnem, + nov "well-lit frame" sij okrog svetlih UI
   posnetkov (".sw-media-okvir"), da ti ne izgledajo kot oster bel
   pravokotnik na temni podlagi (brief, razdelek "Servis"/"Programske
   rešitve" — enako načelo). */
.sw-sekcija{ background:linear-gradient(165deg, var(--steel), var(--steel-deep) 65%, var(--navy-deep)); }
.sw-sekcija .sw-opis{ color:var(--muted-on-navy); }
.sw-sekcija .sw-cta{ color:var(--lime); }
.sw-sekcija .sw-cta--cyan{ color:#8fe0f7; }

/* nadaljevanje 33 — brif "generate this part also in darker theme as
   before... every other segment should be dark/light/dark/light" (Aleš,
   po referenčni sliki temno-navy/cian/zelene atmosfere). "Servis in
   podpora" je bil prej NAMERNO svetel ("on-ice-deep", glej opombo v
   index.html tik nad sekcijo) — ta odločitev je zdaj eksplicitno
   preglašena. `.servis-temna` je TRETJA lastna temna stopnja poleg
   ".hardware" (steel→navy-mid→navy→navy-deep) in ".sw-sekcija"
   (steel→steel-deep→navy-deep): tukaj brez "steel" uvoda, torej najtemnejša
   od treh že od vrha — najbližje referenčni skoraj-črni atmosferi znotraj
   obstoječih CGP žetonov (brez novih barv). Besedilna barva pride prek
   ".on-steel" (dodano na sam <section>, isti recept kot zgoraj), spodnji
   popravki so OZKO omejeni na `.servis-temna .xxx`, da ne vplivajo na
   istoimenske razrede drugod na strani (za Vida: nove vrstice, brez
   sprememb obstoječih pravil). */
.servis-temna{ background:linear-gradient(160deg, var(--navy-mid) 0%, var(--navy) 55%, var(--navy-deep) 100%); }
.servis-temna .servis-stat b{ color:#fff; }
.servis-temna .servis-stat small{ color:var(--muted-on-navy); }
.servis-temna .pot p{ color:var(--muted-on-navy); }
.servis-temna .icon-box{ background:rgba(255,255,255,.08); }
.sw-sekcija .sw-stevilka{ color:rgba(255,255,255,.07); }
.sw-sekcija .sw-media-okvir{
  border-color:rgba(255,255,255,.18);
  box-shadow:var(--sh-lg), 0 0 46px -14px rgba(23,185,236,.32);
}
/* nadaljevanje 28 — brif "MULTI-LAYER TECH ENVIRONMENT" v3: gostejši/
   vidnejši krogotok znotraj te sekcije (samo `.sw-sekcija`-scoped
   override, brez vpliva na skupno `.svezje-pot`/`.svezje-vozlisce`
   osnovo, ki jo souporablja `.sw-vezje-svg`). */
.sw-sekcija .svezje-pot{ opacity:.4; stroke-width:1.8px; }
.sw-sekcija .svezje-vozlisce circle{ opacity:.5; }

/* ── DeliMe vrstica (01) — dve ločeni interakciji, na Aleševo navodilo:
   besedilno območje je zdaj ena velika povezava na DeliMe podstran,
   slika pa samostojen "poveča ob kliku" gumb (lightbox), ki NE vodi na
   podstran. Obseg namenoma samo `.sw-vsebina--povezava` in
   `.sw-media-okvir--uvecljiva` (novi modifikatorji, samo na DeliMe
   vrstici) — TAStudio/Booking Studio ostaneta popolnoma nedotaknjena,
   obstoječ `.sw-vrsta:hover .sw-media-okvir img` (vrstica 577) velja
   zanju naprej nespremenjen.
   Popravek (drugi krog): Aleš je odstranil svetlejšo "kartično" podlago
   ob hoverju čez besedilno območje — namerno je zdaj NI, ob hoverju/
   fokusu se ne spremeni niti ozadje niti rob niti senca niti polmer
   robov, edini znaki klikljivosti so kazalec (privzet pri <a>), rahla
   posvetlitev naslova/CTA besedila in premik puščice. Enako restrained
   načelo (brez "kartice") že velja za TAStudio/Booking Studio, saj
   njuno besedilno območje sploh ni ena velika povezava — ostaja
   nedotaknjeno. `:focus-visible` obdrži tanek obris BREZ ozadja, ker
   gre za ločen tipkovnični signal (nikoli se ne sproži z miško), ne za
   hover-kartico, ki jo je Aleš izrecno prepovedal. ────────────────── */
a.sw-vsebina.sw-vsebina--povezava{
  display:block; text-decoration:none; color:inherit; cursor:pointer;
}
a.sw-vsebina.sw-vsebina--povezava:hover h3,
a.sw-vsebina.sw-vsebina--povezava:focus-visible h3{ filter:brightness(1.06); }
a.sw-vsebina.sw-vsebina--povezava:hover .sw-cta,
a.sw-vsebina.sw-vsebina--povezava:focus-visible .sw-cta{ filter:brightness(1.18); }
a.sw-vsebina.sw-vsebina--povezava:hover .sw-cta svg,
a.sw-vsebina.sw-vsebina--povezava:focus-visible .sw-cta svg{ transform:translateX(5px); }
a.sw-vsebina.sw-vsebina--povezava:focus-visible{ outline:2px solid var(--cyan); outline-offset:4px; }

button.sw-media-okvir.sw-media-okvir--uvecljiva{
  display:block; width:100%; margin:0; padding:0; font:inherit; color:inherit; text-align:left;
  cursor:zoom-in; outline:none; -webkit-appearance:none; appearance:none;
  transition:box-shadow var(--dur-med) var(--ease-premium);
}
button.sw-media-okvir.sw-media-okvir--uvecljiva:hover,
button.sw-media-okvir.sw-media-okvir--uvecljiva:focus-visible{
  box-shadow:0 28px 70px rgba(4,10,20,.45);
}
button.sw-media-okvir.sw-media-okvir--uvecljiva:focus-visible{
  box-shadow:inset 0 0 0 3px var(--cyan), 0 28px 70px rgba(4,10,20,.45);
}
button.sw-media-okvir.sw-media-okvir--uvecljiva:hover img,
button.sw-media-okvir.sw-media-okvir--uvecljiva:focus-visible img{
  transform:scale(1.045);
}

.sw-media-povecaj{
  position:absolute; z-index:2; right:14px; bottom:14px;
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(23,34,46,.72); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.22); color:#fff;
  opacity:0; transform:translateY(4px);
  transition:opacity var(--dur-fast) var(--ease-premium), transform var(--dur-fast) var(--ease-premium);
  pointer-events:none;
}
.sw-media-povecaj svg{ width:16px; height:16px; }
.sw-media-okvir--uvecljiva:hover .sw-media-povecaj,
.sw-media-okvir--uvecljiva:focus-visible .sw-media-povecaj{ opacity:1; transform:none; }
@media (hover:none){
  /* na dotik ni hoverja — ikona je vedno vidna kot znak dotakljivosti,
     ni pa edini način za odprtje (cela slika je dotakljiva). */
  .sw-media-povecaj{ opacity:1; transform:none; }
}
@media (prefers-reduced-motion:reduce){
  a.sw-vsebina.sw-vsebina--povezava,
  button.sw-media-okvir.sw-media-okvir--uvecljiva,
  button.sw-media-okvir.sw-media-okvir--uvecljiva img,
  .sw-media-povecaj{ transition:none; }
}

/* ── lightbox (splošen, ena instanca na stran — glej main.js) ────── */
.lightbox{ position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:24px; }
.lightbox[hidden]{ display:none; }
.lightbox-ozadje{ position:absolute; inset:0; background:rgba(10,15,22,.86); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); cursor:pointer; }
.lightbox-slika{
  position:relative; z-index:1; display:block; max-width:94vw; max-height:92vh; width:auto; height:auto;
  border-radius:var(--r); box-shadow:var(--sh-lg);
  opacity:0; transform:scale(.97);
  transition:opacity .3s var(--ease-premium), transform .3s var(--ease-premium);
}
.lightbox.je-odprt .lightbox-slika{ opacity:1; transform:scale(1); }
.lightbox-zapri{
  position:absolute; z-index:2; top:20px; right:20px;
  width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.22);
  background:rgba(23,34,46,.6); color:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background var(--dur-fast) var(--ease-premium);
}
.lightbox-zapri:hover{ background:rgba(23,34,46,.85); }
.lightbox-zapri:focus-visible{ outline:2px solid var(--cyan); outline-offset:2px; }
.lightbox-zapri svg{ width:20px; height:20px; }
@media (max-width:600px){
  .lightbox-zapri{ top:12px; right:12px; width:40px; height:40px; }
}
@media (prefers-reduced-motion:reduce){
  .lightbox-slika{ transition:none; }
}

@media (max-width:860px){
  .sw-vrsta{ grid-template-columns:1fr; gap:var(--sp-3); padding:var(--sp-4) 0; }
  .sw-vrsta--obrni .sw-media{ order:1; padding:22px 0 0 20px; }
  .sw-vrsta--obrni .sw-vsebina{ order:2; }
  .sw-media{ order:1; padding:22px 0 0 20px; }
  .sw-vsebina{ order:2; max-width:none; }
  .sw-stevilka, .sw-vrsta--obrni .sw-stevilka{ left:-2px; right:auto; font-size:clamp(56px,16vw,84px); }
}

/* ── sw-vezje-svg: umirjen "data-flow" naglas za ozadje te sekcije,
   po vzoru že odobrenega heroja (glej ".cvez-*" zgoraj v tej datoteki) —
   dihajoča vozlišča + počasi potujoče pičice vzdolž vezja, a manjše in
   bolj prosojno, saj gre za vsebinsko (ne hero) sekcijo. ─────────────── */
.sw-vezje-svg{ position:absolute; inset:0; z-index:0; opacity:.5; overflow:visible; pointer-events:none; }
.svezje-pot{ stroke:var(--cyan); opacity:.14; }
.svezje-vozlisce circle{ fill:var(--cyan); opacity:.16; animation:svezje-dihanje 4.2s ease-in-out infinite; }
.svezje-vozlisce circle:nth-child(2){ animation-delay:.6s; animation-duration:4.8s; }
.svezje-vozlisce circle:nth-child(3){ animation-delay:1.3s; animation-duration:3.9s; }
.svezje-vozlisce circle:nth-child(4){ animation-delay:.3s; animation-duration:5.1s; }
.svezje-vozlisce circle:nth-child(5){ animation-delay:1.7s; animation-duration:4.3s; }
.svezje-vozlisce circle:nth-child(6){ animation-delay:.9s; animation-duration:4.6s; }
@keyframes svezje-dihanje{ 0%,100%{ opacity:.10; } 50%{ opacity:.4; } }
.svezje-utrip{ fill:var(--lime); opacity:0; offset-rotate:0deg; animation:svezje-potovanje 8.5s linear infinite; }
.svezje-utrip--b{ fill:var(--cyan); animation-duration:9.5s; animation-delay:2.4s; }
@keyframes svezje-potovanje{
  0%{ offset-distance:0%; opacity:0; }
  8%{ opacity:.55; }
  90%{ opacity:.55; }
  100%{ offset-distance:100%; opacity:0; }
}
@media (max-width:760px){ .sw-vezje-svg{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .svezje-vozlisce circle{ animation:none; opacity:.12; }
  .svezje-utrip{ animation:none; opacity:0; }
}

/* ── DEJAVNOSTI — devetnajsti krog (avgust 2026): premium "sector
   navigation" namesto generičnih belih kartic. Ozadje sekcije dobi
   dve zelo umirjeni tehnične plasti (`.circuit-field`, `.motif-bp`) z
   rahlo različnim parallax tempom (glej `data-parallax` v HTML) —
   ista ponovna uporaba obstoječega [data-parallax] sistema kot drugod
   po strani, brez novega JS. Kartice ostajajo mirne/svetle (samo tanka
   CGP cian-modra črta se ob hoverju "prižge" na vrhu) — ne postanejo
   barvni ploščici. Izmenično zelen/cian ikonski naglas (obstoječ
   `.icon-box`/`.icon-box.blue` sistem, brez novih barv). ──────────── */
.dejavnosti-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3); }
@media (max-width:900px){ .dejavnosti-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .dejavnosti-grid{ grid-template-columns:1fr; } }
.dejavnost-kart{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; height:100%;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  padding:var(--sp-4) var(--sp-3) var(--sp-3);
  /* nadaljevanje 18 — rahla senca V MIROVANJU (ne le na hover): odkar
     sekcija dobi tonirano ".on-ice" podlago namesto čisto bele, mora
     kartica delovati kot da "lebdi" nad njo (brif t. 11 — "cards must
     visually appear to sit ABOVE the background"), ne le kot enak
     bel pravokotnik na rahlo drugačni beli. var(--sh-sm), obstoječ
     projektni token, enaka jakost kot drugod v mirovanju. */
  box-shadow:var(--sh-sm);
  transition:transform var(--dur-fast) var(--ease-premium),
             border-color var(--dur-fast) var(--ease-premium),
             box-shadow var(--dur-fast) var(--ease-premium);
}
/* NADALJEVANJE 12 — "GLOBALNA PORAVNAVA SPODNJEGA DELA KARTIC": naslovi
   (h3) so različno dolgi ("Gostinstvo" proti "Pisarne in javni zavodi")
   in se pri nekaterih širinah prelomijo v 2 vrstici — brez tega popravka
   se je puščica (.dejavnost-pusica) znašla na drugi Y znotraj iste
   vrstice kljub enako visokim karticam. Kartica je zdaj flex-column
   (glej depth-system.css ".dpt-card-col" za recept), puščica spodaj
   dobi `margin-top:auto`. Preverjeno s Playwright meritvijo (1024px/
   700px): prej do 22px odstopanje, po popravku 0px. */
.dejavnost-crta{
  position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--cyan), var(--blue));
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--dur-med) var(--ease-premium);
}
/* 9. 9. 2026 — "GLOBALNA ANIMACIJA KARTIC" brif: vrednosti uglašene na
   isti globalni jezik kot card-interactions.css (~20-30% bolj izrazito
   kot prejšnji krog), glej dnevnik. */
.dejavnost-kart:hover, .dejavnost-kart:focus-visible{
  transform:translateY(-4px) scale(1.008); border-color:rgba(23,185,236,.35); box-shadow:0 12px 30px rgba(42,61,80,.1);
}
.dejavnost-kart:hover .dejavnost-crta, .dejavnost-kart:focus-visible .dejavnost-crta{ transform:scaleX(1); }
.dejavnost-ikona{ margin-bottom:var(--sp-2); transition:transform var(--dur-med) var(--ease-premium); }
.dejavnost-kart:hover .dejavnost-ikona{ transform:translateY(-2px) scale(1.05); }
.dejavnost-kart h3{ font-size:18px; margin-bottom:6px; transition:color var(--dur-med) var(--ease-premium); }
.dejavnost-kart:hover h3, .dejavnost-kart:focus-visible h3{ color:var(--navy-deep); }
.dejavnost-kart p{ color:var(--muted); font-size:14.5px; line-height:1.5; margin-bottom:var(--sp-2); }
.dejavnost-pusica{ display:inline-flex; width:15px; height:15px; color:var(--blue); margin-top:auto; transition:transform .3s var(--ease-premium); }
.dejavnost-pusica svg{ width:100%; height:100%; }
.dejavnost-kart:hover .dejavnost-pusica, .dejavnost-kart:focus-visible .dejavnost-pusica{ transform:translateX(5px); }
@media (prefers-reduced-motion:reduce){
  .dejavnost-kart:hover, .dejavnost-kart:focus-visible{ transform:none; }
  .dejavnost-kart:hover .dejavnost-ikona, .dejavnost-kart:hover .dejavnost-pusica{ transform:none; }
}

/* ── SERVIS & PODPORA (human, not SaaS) — devetnajsti krog: ≤4h/24/7
   dobita lastno, samozavestnejšo tipografijo s tanko CGP črto ob levem
   robu (namesto generičnega `.stat-row`, ki ostane nespremenjen za
   uporabo drugod, npr. v heroju). `.pot-vrsta` dobi tanko navpično
   "pot" (::before), ki poteka skozi navpična središča vseh treh
   `.icon-box` — ikone same delujejo kot vozlišča na poti, zato ni
   dodatnih ločenih pik (ostaja umirjeno, ne infografika). ─────────── */
/* VISUAL/UX UPGRADE — "Servis" brief: 2-stolpčna postavitev
   (besedilo | poti podpore) je razširjena na 3 stolpce: besedilo | poti
   podpore | nov tehnični panel (glej ".servis-panel" spodaj + opomba v
   index.html, zakaj panel ni fotografija). Levi stolpec obdrži nekoliko
   več teže (headline+opis+statistike), panel je namenoma nekoliko ožji
   (vizualni naglas, ne glavna vsebina). Vmesna 2-stolpčna tablična stopnja
   (≤1100px): panel se razširi čez celotno širino druge vrstice namesto da
   se stisne v ozek tretji stolpec. Pod 900px se vse tri postavke
   preprosto zložijo druga pod drugo (kot prej). */
.servis-split{ display:grid; grid-template-columns:1.15fr 1fr .95fr; gap:var(--sp-5); align-items:stretch; }
@media (max-width:1100px){
  .servis-split{ grid-template-columns:1fr 1fr; }
  .servis-panel{ grid-column:1 / -1; }
}
@media (max-width:900px){
  .servis-split{ grid-template-columns:1fr; }
  .servis-panel{ grid-column:auto; }
}
.servis-stat-row{ display:flex; gap:var(--sp-5); flex-wrap:wrap; margin-top:var(--sp-4); }
.servis-stat{ position:relative; padding-left:14px; }
.servis-stat::before{
  content:''; position:absolute; left:0; top:2px; bottom:6px; width:2px; border-radius:1px;
  background:linear-gradient(180deg, var(--cyan), var(--blue));
}
.servis-stat b{ display:block; font-family:var(--fh); font-weight:700; font-size:36px; color:var(--navy); line-height:1; }
.servis-stat small{ display:block; margin-top:5px; font-size:12.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.pot-vrsta{ position:relative; display:flex; flex-direction:column; gap:var(--sp-3); }
.pot-vrsta::before{
  content:''; position:absolute; z-index:0; left:21px; top:22px; bottom:22px; width:1px;
  background:linear-gradient(180deg, rgba(41,183,232,.4), rgba(20,120,190,.4) 50%, rgba(40,167,72,.4));
}
.pot{ position:relative; z-index:1; display:flex; gap:var(--sp-2); align-items:flex-start; }
.pot h3{ margin-bottom:2px; }
.pot p{ color:var(--muted); font-size:14.5px; }

/* ── TRETJI STOLPEC — tehnični/grafični panel (ne fotografija, glej opombo
   v index.html: ni na voljo prave fotografije tehnika, zato Biroplastova
   "human/company presence" tu pride iz abstraktne, a namerne kompozicije:
   temen ".product-moment" panel (obstoječ, ponovno uporabljen razred),
   krogotok + delni grid v svetli "on-navy" barvi, en cian tehnični lok v
   vogalu, radar-podoben "signal" motiv (predstavlja "na daljavo"/
   povezljivost) in majhen utripajoč zelen "na voljo" indikator z napisom
   — brief zahteva "real visual weight", ne majhno ikono. ──────────── */
.servis-panel{ display:flex; }
.servis-panel-okvir{
  position:relative; width:100%; flex:1; min-height:320px;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:var(--sp-4);
}
/* nadaljevanje 34, 13. krog — prava fotografija serviserja nadomesti prejšnjo
   polno-panelno abstraktno ".circuit-field"/".dpt-grid" plast (razred
   ".servis-panel-plast" od takrat brez uporabe na tem panelu, a namenoma
   NEODSTRANJEN iz CSS — druge sekcije/strani ga ne uporabljajo, a je varno
   splošno ime, torej ni tveganja, samo mrtev selektor na tem mestu). Foto
   napolni cel okvir (isti `object-fit:cover` vzorec kot povsod na strani),
   temen preliv od spodaj poskrbi za berljivost eyebrow/status besedila ne
   glede na svetlost fotografije pod njim. */
.servis-panel-photo{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover; object-position:68% 38%;
}
.servis-panel-overlay{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(0deg, rgba(11,20,31,.88) 0%, rgba(11,20,31,.55) 42%, rgba(11,20,31,.18) 68%, rgba(11,20,31,.32) 100%);
}
.servis-panel-plast{ position:absolute; inset:0; }
.servis-panel-signal{
  position:absolute; left:-6px; bottom:-6px; z-index:0;
  width:62%; max-width:210px; height:auto; opacity:.6;
}
.servis-panel-eyebrow{
  position:relative; z-index:1;
  font-family:var(--fh); font-weight:700; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--lime); margin-bottom:auto;
}
.servis-panel-status{
  position:relative; z-index:1; margin-top:var(--sp-3);
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--fh); font-weight:600; font-size:13.5px; color:#fff;
}
.servis-panel-node{
  width:9px; height:9px; border-radius:50%; background:var(--green);
  box-shadow:0 0 0 4px rgba(24,165,75,.25); flex-shrink:0;
}
@media (prefers-reduced-motion:reduce){
  .servis-panel-signal{ opacity:.5; }
}

/* ── EKIPA / ZAUPAJO NAM / ZASTOPSTVA — devetnajsti krog: prvotno
   2-stolpčna "zaupanje-grid" postavitev (ekipa | reference).

   9. 9. 2026 POPRAVEK #1 ("ZAUPAJO NAM + ZASTOPAMO..." brief): Aleš je
   "chip" slog zavrnil kot premalo tipografsko premium — želel je
   "sophisticated typographic rail" namesto pilul/kartic. Imena so
   postala velika, samozavestna, ločena z majhno cyan piko namesto
   robno-obledelim pilulastim ozadjem (isti recept kot v reference.css).

   9. 9. 2026 POPRAVEK #2 (isti dan, "POPRAVEK SEKCIJE EKIPA / REFERENCE
   / ZASTOPSTVA" brief): 2-stolpčna "zaupanje-grid" postavitev je Alešu
   pustila desno stran (reference) videti prazno in ni imela prostora
   za nov razdelek "Zastopamo vodilne blagovne znamke". Zamenjana s TREMI
   ZAPOREDNIMI SEKCIJAMI V ENEM STOLPCU (glej index.html): Ekipa →
   Zaupajo nam → Zastopstva. ".zaupanje-grid"/".zaupanje-desno" (2-stolpčna
   mreža + navpična ločnica) sta zato ODSTRANJENA kot mrtva koda — nov
   layout je tri `<section>` prek cele širine vsebine, vsaka s svojim delom novega
   "Light Technology" background sistema (glej depth-system.css), zato
   ločnice med stolpcema ni več. ".zn-znamke"/".zn-znamka" (Zastopstva
   kartice) so podvojene iz reference.css za skladnost med stranema. ── */
.ekipa-vrsta{
  display:flex; gap:var(--sp-3); flex-wrap:wrap; justify-content:center;
  max-width:720px; margin:0 auto;
}
.oseba{
  display:flex; align-items:center; gap:12px; padding:6px 8px; margin:-6px -8px;
  border-radius:var(--r-sm);
  transition:background var(--dur-fast) var(--ease-premium);
}
.oseba:hover{ background:var(--surface-alt); }
.oseba .avatar{
  width:52px; height:52px; border-radius:50%; background:var(--surface-alt);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fh); font-weight:700; color:var(--green); flex-shrink:0;
  border:2px solid transparent;
  transition:border-color var(--dur-fast) var(--ease-premium);
}
.oseba:hover .avatar{ border-color:rgba(23,185,236,.4); }
.oseba b{ display:block; font-size:14.5px; }
.oseba small{ display:block; color:var(--muted); font-size:13px; }
.reference-vrsta{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  font-family:var(--fh); font-weight:600; text-transform:uppercase; letter-spacing:.03em;
  font-size:15.5px; color:var(--navy);
}
.reference-vrsta span{
  display:inline-flex; align-items:center;
  transition:color var(--dur-fast) var(--ease-premium);
}
.reference-vrsta span:hover{ color:var(--blue); }
.reference-vrsta span:not(:first-child)::before{
  content:''; flex:none; display:inline-block; width:5px; height:5px; border-radius:50%;
  background:var(--cyan); opacity:.55; margin:0 12px;
}
@media (max-width:600px){
  .reference-vrsta{ font-size:13.5px; }
  .reference-vrsta span:not(:first-child)::before{ margin:0 8px; }
}

/* ── zastopstva (domača stran) — isti recept kot reference.css
   ".zn-znamke"/".zn-znamka", podvojen zaradi istega razloga kot vedno:
   index.html nalaga pages.css, ne reference.css. ─────────────────── */
.zn-znamke{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--sp-2);
  max-width:760px; margin:var(--sp-5) auto 0;
}
.zn-znamka{
  position:relative; display:flex; align-items:center; justify-content:center;
  min-height:92px; padding:var(--sp-2);
  background:rgba(23,185,236,.05);
  border:1px solid var(--line); border-radius:var(--r-lg);
  transition:border-color var(--dur-med) var(--ease-premium),
             background var(--dur-med) var(--ease-premium),
             transform var(--dur-med) var(--ease-premium);
}
.zn-znamka::before{
  content:''; position:absolute; top:14px; left:14px; width:14px; height:2px;
  background:var(--cyan); opacity:.5;
}
.zn-znamka span{
  font-family:var(--fh); font-weight:700; font-size:16.5px; letter-spacing:.02em;
  text-transform:uppercase; color:var(--navy-deep);
}
.zn-znamka:hover{
  border-color:rgba(23,185,236,.4); background:rgba(23,185,236,.09); transform:translateY(-3px);
}
@media (max-width:700px){
  .zn-znamke{ grid-template-columns:repeat(2, 1fr); }
}
@media (prefers-reduced-motion:reduce){
  .zn-znamka{ transition:none; }
  .zn-znamka:hover{ transform:none; }
}

/* ── ZAKLJUČNI CTA — devetnajsti krog: nekoliko bolj prostoren
   "closing moment" panel (večji notranji odmik, malenkost večji
   naslov), tanka zgornja CGP naglasna črta za dodatno dovršenost.
   Ozadne plasti (glej index.html) dobijo vsaka svoj parallax tempo. */
.cta-band{
  position:relative; overflow:hidden; border-radius:var(--r-xl);
  background:linear-gradient(160deg, var(--navy-mid), var(--navy) 65%, var(--navy-deep));
  padding:var(--sp-7) var(--sp-5); text-align:center; color:#fff;
}
.cta-band::before{
  content:''; position:absolute; top:0; left:8%; right:8%; height:2px;
  background:linear-gradient(90deg, transparent, rgba(23,185,236,.55), rgba(171,208,57,.5), transparent);
}
.cta-band h2{ margin-bottom:var(--sp-2); font-size:clamp(30px, 3.2vw, 44px); }
.cta-band .lead{ margin:0 auto var(--sp-4); color:var(--muted-on-navy); }
.cta-btns{ display:flex; gap:var(--sp-2); justify-content:center; flex-wrap:wrap; }
.cta-znacke{ display:flex; gap:var(--sp-3); justify-content:center; flex-wrap:wrap; margin-top:var(--sp-4); font-size:13px; color:var(--muted-on-navy); }
