/* =============================================================================
   MONVIQ — STRANA: SERVICES hub (/services)
   Hero model A · Bento Grid (tamna podloga, zlatne hairline ivice).
   WOW 1: grid-lock reveal bento tile-ova.  WOW 2: dijagram povezanosti
   stubova sa fazama Metoda (linije se crtaju na ulazak u viewport).
   Sve vrednosti preko var(--mv-*) iz /public/css/tokens.css. Prefiks: .mv-sv-
   ========================================================================== */

/* ---------- 1. HERO — bento grid ---------- */
.mv-sv-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--mv-grad-hero);
  color:var(--mv-on-dark);
  padding:calc(var(--mv-header-h) + clamp(48px,6vw,88px)) 0 clamp(70px,9vw,124px)}
.mv-sv-hero__rail{position:absolute;right:var(--mv-pad);top:0;bottom:0;width:1px;
  background:var(--mv-line-gold);z-index:1}

.mv-sv-bento{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);
  gap:1px;margin-top:var(--mv-sp-e5);background:var(--mv-line-gold);
  border:1px solid var(--mv-line-gold)}
.mv-sv-bento>*{min-width:0}

.mv-sv-say{grid-column:span 6;grid-row:span 2;background:rgba(7,10,17,.58);
  padding:clamp(26px,2.6vw,44px) clamp(24px,2.4vw,42px) clamp(30px,3vw,48px)}
.mv-sv-say h1{font-size:var(--mv-fs-h2-xl);line-height:var(--mv-lh-tight);
  letter-spacing:var(--mv-ls-h1);max-width:11ch;margin-top:var(--mv-sp-e3)}
.mv-sv-say .mv-sv-say__lead{margin-top:var(--mv-sp-e4);max-width:46ch;padding-left:var(--mv-sp-e2);
  border-left:1px solid var(--mv-line-gold-strong);font-size:var(--mv-fs-hero-sub);
  line-height:var(--mv-lh-lead);color:var(--mv-on-dark-mut)}
.mv-sv-say__btns{margin-top:var(--mv-sp-e5);gap:var(--mv-sp-3)}
.mv-sv-say__btns .mv-btn--pri{padding:17px 28px}
.mv-sv-say__btns .mv-btn--sec{padding:17px 24px}

.mv-sv-tile{position:relative;z-index:0;overflow:hidden;display:flex;flex-direction:column;
  justify-content:space-between;gap:var(--mv-sp-5);grid-column:span 2;
  min-height:clamp(148px,13vw,196px);padding:clamp(18px,1.7vw,28px);
  background:rgba(7,10,17,.58);color:inherit;text-decoration:none}
.mv-sv-tile:nth-of-type(4),.mv-sv-tile:nth-of-type(5){grid-column:span 3}
.mv-sv-tile::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(160deg,rgba(212,175,55,.13),rgba(212,175,55,0) 62%);
  opacity:0;transition:opacity var(--mv-dur-row) var(--mv-ease)}
.mv-sv-tile:hover::before{opacity:1}
.mv-sv-tile__top{display:flex;align-items:flex-start;justify-content:space-between;
  gap:var(--mv-sp-4)}
.mv-sv-tile__n{font-size:var(--mv-fs-micro);font-weight:var(--mv-fw-semi);
  letter-spacing:var(--mv-ls-micro);color:var(--mv-accent)}
.mv-sv-tile__t{display:block;font-family:var(--mv-font-display);font-weight:var(--mv-fw-bold);
  font-size:var(--mv-fs-title-sm);line-height:var(--mv-lh-h3);letter-spacing:var(--mv-ls-tight);
  transition:color var(--mv-dur-base)}
.mv-sv-tile:hover .mv-sv-tile__t{color:var(--mv-accent)}
.mv-sv-tile__p{display:block;margin-top:var(--mv-sp-2);padding-right:26px;
  font-size:var(--mv-fs-body-xs);line-height:var(--mv-lh-prose);color:var(--mv-on-dark-soft);
  max-width:30ch}
.mv-sv-tile__go{position:absolute;right:clamp(16px,1.6vw,26px);bottom:clamp(16px,1.6vw,26px);
  font-size:15px;color:var(--mv-accent);opacity:.55;
  transition:transform var(--mv-dur-nav) var(--mv-ease),opacity var(--mv-dur-base)}
.mv-sv-tile:hover .mv-sv-tile__go{opacity:1;transform:translate(4px,-4px)}

/* WOW 1 — grid-lock: tile-ovi ulaze razmaknuti i „zaključaju" se u mrežu */
.mv-sv-tile.mv-rv,.mv-sv-say.mv-rv{transform:translate(var(--mv-sv-dx,0),var(--mv-sv-dy,18px))
  scale(.94)}
.mv-sv-tile.mv-rv.is-visible,.mv-sv-say.mv-rv.is-visible{transform:none}
.mv-sv-say.mv-rv{--mv-sv-dx:-16px;--mv-sv-dy:14px}
.mv-sv-tile:nth-of-type(1){--mv-sv-dx:-18px;--mv-sv-dy:-22px}
.mv-sv-tile:nth-of-type(2){--mv-sv-dx:14px;--mv-sv-dy:-24px}
.mv-sv-tile:nth-of-type(3){--mv-sv-dx:24px;--mv-sv-dy:-14px}
.mv-sv-tile:nth-of-type(4){--mv-sv-dx:-20px;--mv-sv-dy:24px}
.mv-sv-tile:nth-of-type(5){--mv-sv-dx:22px;--mv-sv-dy:22px}

/* ---------- 2. WHY FIVE — svetla izjava (tekst 60% / prazno 40%) ---------- */
.mv-sv-why__in{display:grid;grid-template-columns:.6fr .4fr;gap:var(--mv-gap-col);
  margin-top:var(--mv-sp-e5)}
.mv-sv-why__in>*{min-width:0}
.mv-sv-why h2{max-width:16ch}
.mv-sv-why__in .mv-sv-why__p{margin-top:clamp(30px,3.4vw,48px)}
.mv-sv-why__aside{align-self:end;padding-bottom:var(--mv-sp-2)}

/* ---------- 3. STUBOVI — široki redovi sa isporukama ---------- */
.mv-sv-rows{background:var(--mv-surface-light)}
.mv-sv-list{margin-top:clamp(46px,6vw,80px);border-top:1px solid var(--mv-line-light)}
.mv-sv-row{position:relative;z-index:0;display:grid;
  grid-template-columns:clamp(58px,5vw,74px) minmax(0,.86fr) minmax(0,1.14fr) auto;
  gap:var(--mv-gap-row);align-items:start;padding:clamp(26px,3vw,42px) 2px;
  border-bottom:1px solid var(--mv-line-light);text-decoration:none;color:inherit;
  overflow:hidden}
.mv-sv-row::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,var(--mv-accent-soft),rgba(212,175,55,0) 70%);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--mv-dur-row) var(--mv-ease)}
.mv-sv-row:hover::before,.mv-sv-row:focus-visible::before{transform:scaleX(1)}
.mv-sv-row__ic{display:flex;flex-direction:column;gap:var(--mv-sp-3);color:var(--mv-accent-deep)}
.mv-sv-row__ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.75;
  stroke-linecap:round;stroke-linejoin:round}
.mv-sv-row__n{font-size:var(--mv-fs-micro);font-weight:var(--mv-fw-semi);
  letter-spacing:var(--mv-ls-micro);color:var(--mv-accent-deep)}
.mv-sv-row__t{font-size:var(--mv-fs-h3);text-transform:uppercase;line-height:var(--mv-lh-h3);
  letter-spacing:var(--mv-ls-tight);transition:color var(--mv-dur-base)}
.mv-sv-row:hover .mv-sv-row__t{color:var(--mv-accent-deep)}
.mv-sv-row__p{display:block;font-size:var(--mv-fs-body-sm);line-height:var(--mv-lh-prose);
  color:var(--mv-on-light-mut);max-width:54ch}
.mv-sv-row__go{align-self:center;justify-self:end;font-size:17px;color:rgba(138,107,24,.6);
  transition:transform var(--mv-dur-nav) var(--mv-ease),color var(--mv-dur-base)}
.mv-sv-row:hover .mv-sv-row__go{color:var(--mv-accent-deep);transform:translate(4px,-4px)}

/* isporuke — otvaraju se na hover / fokus (na dodir su uvek otvorene, ≤1000px) */
.mv-sv-row__more{display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows var(--mv-dur-row) var(--mv-ease),
             opacity var(--mv-dur-base) var(--mv-ease)}
.mv-sv-row:hover .mv-sv-row__more,.mv-sv-row:focus-visible .mv-sv-row__more{
  grid-template-rows:1fr;opacity:1}
.mv-sv-row__more>div{overflow:hidden;min-height:0}
.mv-sv-row__more ul{list-style:none;margin:var(--mv-sp-5) 0 var(--mv-sp-1);padding:0;
  display:grid;gap:var(--mv-sp-2);max-width:50ch}
.mv-sv-row__more li{position:relative;padding-left:var(--mv-sp-5);
  font-size:var(--mv-fs-body-sm);line-height:var(--mv-lh-prose);color:var(--mv-on-light)}
.mv-sv-row__more li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;
  background:var(--mv-accent-deep)}

/* ---------- 4. MAPA — kako se stubovi kače na faze Metoda (full-bleed, dark) ---------- */
.mv-sv-map{background:var(--mv-canvas);color:var(--mv-on-dark);
  padding:clamp(84px,10vw,140px) 0 clamp(74px,9vw,120px)}
.mv-sv-map__in{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--mv-gap-col);
  align-items:end;margin-top:var(--mv-sp-e4)}
.mv-sv-map__in>*{min-width:0}
.mv-sv-map h2{font-size:var(--mv-fs-h2);max-width:14ch}
.mv-sv-map .mv-sv-map__note{margin-top:clamp(34px,4vw,52px);font-size:var(--mv-fs-small);
  line-height:var(--mv-lh-body);color:var(--mv-on-dark-soft);max-width:64ch}

.mv-sv-mx{margin-top:clamp(48px,6vw,86px)}
.mv-sv-mx__r,.mv-sv-mx__head{display:grid;
  grid-template-columns:clamp(190px,22vw,320px) minmax(0,1fr);
  gap:clamp(14px,2vw,34px);align-items:center}
.mv-sv-mx__head{padding-bottom:var(--mv-sp-3);border-bottom:1px solid var(--mv-line-gold)}
.mv-sv-mx__r{padding:clamp(16px,1.8vw,24px) 0;border-bottom:1px solid var(--mv-line-dark);
  text-decoration:none;color:inherit}
.mv-sv-mx__r:hover .mv-sv-mx__name{color:var(--mv-accent)}

.mv-sv-mx__name{display:block;font-family:var(--mv-font-display);font-weight:var(--mv-fw-bold);
  font-size:var(--mv-fs-title-sm);line-height:var(--mv-lh-h3);letter-spacing:var(--mv-ls-tight);
  transition:color var(--mv-dur-base)}
.mv-sv-mx__name i{display:block;font-style:normal;font-family:var(--mv-font-body);
  font-size:var(--mv-fs-micro);font-weight:var(--mv-fw-semi);letter-spacing:var(--mv-ls-micro);
  color:var(--mv-accent);margin-bottom:var(--mv-sp-2)}

.mv-sv-mx__track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);
  align-items:center;min-height:22px}
.mv-sv-mx__ph{display:block;text-align:center;font-size:var(--mv-fs-micro);
  font-weight:var(--mv-fw-semi);letter-spacing:var(--mv-ls-micro);text-transform:uppercase;
  color:var(--mv-on-dark-mut)}
.mv-sv-mx__ph i{display:block;font-style:normal;color:var(--mv-accent);opacity:.7;
  margin-bottom:5px}

/* zlatna veza — crta se na ulazak (WOW 2) */
.mv-sv-mx__line{position:absolute;top:50%;height:1px;
  left:calc((var(--a) + .5) * 100% / 6);
  width:calc((var(--b) - var(--a)) * 100% / 6);
  background:linear-gradient(90deg,var(--mv-accent),var(--mv-gold-light));
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--mv-dur-hero) var(--mv-ease) .18s}
.mv-sv-mx__r.is-visible .mv-sv-mx__line{transform:scaleX(1)}
.mv-sv-mx__d{position:relative;justify-self:center;width:9px;height:9px;
  border-radius:var(--mv-r-circle);background:var(--mv-surface);
  border:1px solid var(--mv-line-dark-strong);
  transition:background var(--mv-dur-fast) var(--mv-ease),
             border-color var(--mv-dur-fast) var(--mv-ease),
             box-shadow var(--mv-dur-fast) var(--mv-ease)}
.mv-sv-mx__r.is-visible .mv-sv-mx__d.is-on{background:var(--mv-accent);
  border-color:var(--mv-accent);box-shadow:0 0 20px 4px rgba(212,175,55,.22)}
.mv-sv-mx__d:nth-child(2){transition-delay:.30s}
.mv-sv-mx__d:nth-child(3){transition-delay:.42s}
.mv-sv-mx__d:nth-child(4){transition-delay:.54s}
.mv-sv-mx__d:nth-child(5){transition-delay:.66s}
.mv-sv-mx__d:nth-child(6){transition-delay:.78s}
.mv-sv-mx__d:nth-child(7){transition-delay:.90s}

.mv-sv-mx .mv-sv-mx__legend{display:none;margin-top:var(--mv-sp-5);font-size:var(--mv-fs-micro);
  font-weight:var(--mv-fw-semi);letter-spacing:var(--mv-ls-micro);text-transform:uppercase;
  line-height:2;color:var(--mv-on-dark-soft)}

/* ---------- 5. Responsive ---------- */
@media(max-width:1180px){
  .mv-sv-say h1{max-width:13ch}
}
@media(max-width:1000px){
  .mv-sv-hero__rail{display:none}
  .mv-sv-bento{grid-template-columns:repeat(2,1fr)}
  .mv-sv-say{grid-column:span 2;grid-row:auto}
  .mv-sv-tile{grid-column:span 1}
  .mv-sv-tile:nth-of-type(4),.mv-sv-tile:nth-of-type(5){grid-column:span 1}
  .mv-sv-tile:nth-of-type(5){grid-column:span 2}
  .mv-sv-why__in,.mv-sv-map__in{grid-template-columns:1fr;gap:var(--mv-sp-e3);align-items:start}
  .mv-sv-why__aside{align-self:start;padding-bottom:0}
  .mv-sv-row{grid-template-columns:clamp(52px,7vw,64px) minmax(0,1fr) auto;
    row-gap:var(--mv-sp-4)}
  .mv-sv-row__ic{grid-column:1;grid-row:1/3}
  .mv-sv-row__t{grid-column:2;grid-row:1}
  .mv-sv-row__go{grid-column:3;grid-row:1}
  .mv-sv-row__body{grid-column:2/-1;grid-row:2}
  .mv-sv-row__more{grid-template-rows:1fr;opacity:1}
  .mv-sv-mx__r,.mv-sv-mx__head{grid-template-columns:1fr;gap:var(--mv-sp-3);align-items:start}
  .mv-sv-mx__head .mv-sv-mx__name{display:none}
  .mv-sv-mx__ph b{display:none}
  .mv-sv-mx .mv-sv-mx__legend{display:block}
}
@media(max-width:760px){
  .mv-sv-bento{grid-template-columns:1fr}
  .mv-sv-say,.mv-sv-tile,.mv-sv-tile:nth-of-type(4),.mv-sv-tile:nth-of-type(5){grid-column:span 1}
  .mv-sv-tile{min-height:0}
  .mv-sv-row{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--mv-sp-4)}
  .mv-sv-row__ic{grid-column:1/-1;grid-row:1;flex-direction:row;align-items:center;
    gap:var(--mv-sp-4)}
  .mv-sv-row__t{grid-column:1;grid-row:2}
  .mv-sv-row__go{grid-column:2;grid-row:2;align-self:center}
  .mv-sv-row__body{grid-column:1/-1;grid-row:3}
}

@media(prefers-reduced-motion:reduce){
  .mv-sv-tile.mv-rv,.mv-sv-say.mv-rv{transform:none}
  .mv-sv-mx__line{transform:scaleX(1)}
  .mv-sv-mx__d.is-on{background:var(--mv-accent);border-color:var(--mv-accent)}
  .mv-sv-row__more{grid-template-rows:1fr;opacity:1}
}

/* Zaključna rečenica ispod liste stubova (finalni copy klijenta, 20.09.2026). */
.mv-sv-closing{margin-top:clamp(28px,3.4vw,46px);max-width:70ch}
