/* Evergreen landing za novembarske pozive (/prvi-novac = A, /pored-posla = B). Crna osnova, plava kao svetlo i
   sitni akcenti, narandžasta za dugme i ključne reči. U heroju Filip ispred zida monitora (studio van fokusa). Narandžasta samo na onom što mora da se vidi: dugme (jedini pun narandžast blok), ključne reči
   naslova, rezultati i odbrojavanje. Plava samo u formi i upitniku. Sve centrirano, telefon prvo. */
:root {
  --bg: #0a0a0c;
  --s1: #131316;
  --s2: #1b1b1f;
  --line: #2a2a30;
  --tx: #ffffff;
  --mu: #a7a7b0;
  --or: #ff4500;
  --or2: #ff6a2b;
  --bl: #2f6bff;
  --bl2: #7da2ff;
  --r: 18px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  background: var(--bg); color: var(--tx);
  font-family: Archivo, system-ui, -apple-system, sans-serif; font-size: 17px; line-height: 1.5;
  -webkit-font-smoothing: antialiased; text-align: center;
}
img, video { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; border: 0; background: none; }
.hl { color: var(--or); }
.wrap { width: 100%; max-width: 640px; margin: 0 auto; padding: 0 16px; }

/* A/B: duga strana (d) ima sekcije .duga, naslov n1 / n2, forma na strani (s) ili popup (p) */
[data-d="k"] .duga { display: none !important; }
[data-n="1"] .n2, [data-n="2"] .n1 { display: none; }
[data-f="p"] .samo-s, [data-f="s"] .samo-p { display: none !important; }

/* gornja traka: lepljiva, nosi odbrojavanje (na telefonu je to jedino što se uvek vidi). Ispod 24 h je jača. */
.bar {
  position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  background: rgba(10,10,12,.9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #d9d9de; border-bottom: 1px solid var(--line); padding: 9px 12px; font-weight: 700; font-size: 13.5px; line-height: 1.2; white-space: nowrap;
}
.bar-t { font-weight: 800; font-variant-numeric: tabular-nums; background: var(--s2); border: 1px solid #3a3a42; color: #fff; border-radius: 8px; padding: 4px 8px; font-size: 14px; letter-spacing: .02em; }
.bar-go { color: var(--or); text-decoration: underline; text-underline-offset: 3px; }
.hitno .bar { padding: 11px 12px; font-size: 14.5px; }
.hitno .bar-t { font-size: 17px; color: var(--or); border-color: rgba(255,69,0,.5); }
@media (max-width: 400px) { .bar-go { display: none; } }
.lc { display: inline-block; }
.lc::first-letter { text-transform: lowercase; }


.cta {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; max-width: 420px; margin: 0 auto; padding: 19px 20px; border-radius: 14px;
  background: linear-gradient(180deg, #ff6a2b, #ff4500); color: #fff; font-weight: 800; font-size: 17px; letter-spacing: .03em; text-transform: uppercase;
  transition: transform .08s;
}
.cta:active { transform: translateY(2px) scale(.99); }
.cta::after {
  content: ""; flex: none; width: 20px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;
}
.cta[disabled] { opacity: .6; cursor: default; }
.ticks { list-style: none; display: flex; justify-content: center; gap: 8px 18px; flex-wrap: wrap; margin: 16px auto 0; font-size: 14px; color: var(--mu); }
.ticks li { display: flex; align-items: center; gap: 6px; }
.ticks li::before { content: ""; width: 16px; height: 16px; border-radius: 50%; background: #2e2e35 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; flex: none; }

/* forma (na strani i u popupu) */
.forma { max-width: 420px; margin: 0 auto; text-align: left; }
.forma label { display: block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mu); margin: 0 0 6px 2px; }
.polje { margin-bottom: 12px; }
.forma input, .forma select, .forma textarea {
  width: 100%; background: var(--s2); border: 1.5px solid var(--line); border-radius: 12px; padding: 14px; font-size: 16px; outline: none;
}
.forma input:focus, .forma select:focus, .forma textarea:focus { border-color: var(--bl); }
.tel { display: flex; gap: 8px; }
.tel select { width: 108px; flex: none; padding-right: 6px; }
.forma .cta { margin-top: 6px; }
.fine { font-size: 13px; color: var(--mu); text-align: center; margin-top: 10px; }
.err { color: #ff8a65; font-size: 14px; text-align: center; margin-top: 8px; min-height: 1px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.termini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.termini label { margin: 0; }
.termini input { position: absolute; opacity: 0; pointer-events: none; }
.termini span {
  display: block; text-align: center; padding: 13px 8px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--s2);
  font-size: 15px; font-weight: 800; color: #fff; letter-spacing: 0; text-transform: none;
}
.termini small { display: block; font-size: 12px; font-weight: 600; color: var(--mu); margin-top: 2px; }
.termini input:checked + span { border-color: var(--bl); background: rgba(47,107,255,.14); }
.termini input:disabled + span { opacity: .35; text-decoration: line-through; }
.forma-strana { margin-top: 4px; }

/* sekcije */
section { padding: 46px 0; }
section { position: relative; }
.kick { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--bl2); margin-bottom: 8px; }
h2 { font-size: clamp(26px, 7vw, 38px); line-height: 1.12; font-weight: 800; letter-spacing: -.015em; margin: 0 auto 30px; max-width: 16em; }
.lead { color: var(--mu); max-width: 30em; margin: 0 auto 30px; }
h2 + .lead { margin-top: -18px; }
.karte { display: grid; gap: 12px; margin-bottom: 28px; }
.karta { background: var(--s1); border: 1px solid var(--line); border-radius: var(--r); padding: 22px 20px; }
.karta .br { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--bl); font-weight: 800; margin-bottom: 10px; }
.karta h3 { font-size: 20px; line-height: 1.25; margin-bottom: 6px; }
.karta p { color: #c9c9d0; font-size: 16px; }

.za { display: grid; gap: 12px; margin-bottom: 28px; text-align: left; }
.za > div { background: var(--s1); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; }
.za h3 { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; text-align: center; }
.za ul { list-style: none; display: grid; gap: 9px; }
.za li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; color: #e6e6ea; }
.za li::before { content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; margin-top: 2px; }
.za .da li::before { background: var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.za .ne li::before { background: #3a3a42 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 5.5l5 5m0-5l-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.za .ne p { font-size: 15px; color: var(--mu); text-align: center; margin-bottom: 12px; }

/* priča */
.prica { display: grid; gap: 14px; margin-bottom: 28px; text-align: left; }
.korak { background: var(--s1); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.korak img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.korak .t { padding: 18px 20px 20px; }
.korak .n { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--mu); margin-bottom: 4px; }
.korak h3 { font-size: 21px; line-height: 1.25; margin-bottom: 8px; }
.korak p { color: #cfcfd6; font-size: 16px; }
.korak p + p { margin-top: 8px; }
.korak .broj { color: var(--or); font-weight: 800; }

/* rezultati */
.rez { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.rez .klip { aspect-ratio: 3 / 4; }
.rez .osoba .t { padding: 12px 12px 14px; }
.rez .osoba h3 { font-size: 16px; }
.rez .osoba .vel { font-size: 26px; }
.rez .osoba p { font-size: 13.5px; }
.osoba { background: var(--s1); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; text-align: left; }
.klip { position: relative; aspect-ratio: 9 / 12; background: #000; }
.klip img, .klip video { width: 100%; height: 100%; object-fit: cover; }
.klip button { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; padding: 10px; }
.klip button::after { content: ""; width: 64px; height: 64px; border-radius: 50%; background: var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='%23fff'/%3E%3C/svg%3E") center/34px no-repeat; }
.osoba .t { padding: 16px 18px 18px; }
.osoba h3 { font-size: 19px; margin-bottom: 6px; }
.osoba p { font-size: 15px; color: #c9c9d0; }
.osoba .vel { font-size: 30px; font-weight: 800; color: var(--or); line-height: 1.1; margin: 6px 0 2px; }
.ekran img { width: 100%; }
.rez2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.rez2 .osoba .t { padding: 12px 12px 14px; }
.rez2 .osoba h3 { font-size: 16px; margin-bottom: 2px; }
.rez2 .rezultat { font-size: 14px; font-weight: 800; color: var(--or); line-height: 1.25; margin-bottom: 6px; }
.rez2 .citat { font-size: 13.5px; color: #c9c9d0; line-height: 1.4; }
.rez2 .klip { aspect-ratio: 3 / 4; }
.rez2 .klip button::after { width: 46px; height: 46px; background-size: 26px; }
.rez2 .broj-k { display: flex; flex-direction: column; justify-content: center; padding: 16px; text-align: center; }
.rez2 .broj-k b { font-size: 44px; font-weight: 800; color: #fff; line-height: 1; }
.rez2 .broj-k span { font-size: 14px; color: var(--mu); margin-top: 6px; }
.cifre { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 28px; }
.cifre div { background: var(--s1); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 10px; }
.cifre b { display: block; font-size: 34px; font-weight: 800; color: var(--bl2); line-height: 1.1; }
.cifre span { font-size: 14px; color: var(--mu); }

/* pitanja */
.faq { text-align: left; display: grid; gap: 10px; margin-bottom: 28px; }
.faq details { background: var(--s1); border: 1px solid var(--line); border-radius: 14px; padding: 0 18px; }
.faq summary { list-style: none; cursor: pointer; padding: 16px 28px 16px 0; font-weight: 700; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 0; top: 12px; font-size: 24px; color: var(--mu); font-weight: 500; }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: #c9c9d0; padding: 0 0 16px; font-size: 16px; }

footer { padding: 26px 16px 110px; font-size: 13px; color: #6f6f78; }
footer a { color: #8d8d96; }

/* popup */
.modal { position: fixed; inset: 0; z-index: 50; display: flex; align-items: flex-end; justify-content: center; background: rgba(0,0,0,.72); }
.modal[hidden] { display: none; }
.sheet {
  position: relative; width: 100%; max-width: 480px; max-height: 92vh; overflow: auto; background: var(--s1); border: 1px solid var(--line);
  border-radius: 22px 22px 0 0; padding: 26px 18px calc(22px + env(safe-area-inset-bottom));
  animation: gore .22s ease-out;
}
@keyframes gore { from { transform: translateY(40px); opacity: 0; } }
@media (min-width: 640px) { .modal { align-items: center; } .sheet { border-radius: 22px; } }
.x { position: absolute; right: 12px; top: 12px; width: 36px; height: 36px; border-radius: 50%; background: var(--s2); font-size: 20px; line-height: 1; color: var(--mu); }
.sheet h2 { font-size: 27px; margin-bottom: 6px; }
.sheet .lead { margin-bottom: 18px; font-size: 15px; }
.sheet h2 + .lead { margin-top: 0; }
.sheet .kick { color: var(--bl2); }
.prog { display: flex; gap: 6px; justify-content: center; margin-bottom: 14px; }
.prog i { width: 26px; height: 5px; border-radius: 3px; background: var(--line); }
.prog i.on { background: var(--bl); }

/* upitnik */
.pit { text-align: left; margin-bottom: 18px; }
.pit > p { font-weight: 800; font-size: 17px; margin-bottom: 9px; }
.opc { display: grid; gap: 8px; }
.opc.dve { grid-template-columns: 1fr 1fr; }
.opc button {
  text-align: left; padding: 13px 14px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--s2); font-size: 15px; font-weight: 600;
}
.opc.dve button { text-align: center; font-weight: 800; }
.opc button[aria-pressed="true"] { border-color: var(--bl); background: rgba(47,107,255,.16); }
.pit textarea { margin-top: 8px; min-height: 76px; resize: vertical; }
.pit .napomena { font-size: 14px; color: var(--mu); margin-top: 8px; }

/* lepljivo dugme na telefonu, posle heroja */
.lepljivo {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 15; padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: rgba(10,10,12,.94); border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .2s;
}
.lepljivo.on { transform: none; }
.lepljivo .cta { padding: 16px; font-size: 16px; }

@media (min-width: 720px) {
  .rez2 { grid-template-columns: repeat(3, 1fr); }
  .karte, .za { grid-template-columns: 1fr 1fr; }
  .karte .karta:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .wrap.siroko { max-width: 900px; }
  .lepljivo { display: none; }
}

/* hero: Filip u studiju, oznaka tipa poziva preko donje ivice slike, pa naslov, kratak tekst, odbrojavanje u kutijama i dugme */
.hero { position: relative; padding: 14px 0 34px; overflow: hidden; }
.hero > .wrap { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }
header.hero, main, footer { position: relative; z-index: 1; }
/* hero: Filip ispred zida monitora u montažerskom studiju (img/eg/studio-zid.webp, zamućen i ohlađen). Slika se polako
   približava, a pri skrolu ide sporije od strane (eg.js), pa scena dobija dubinu. Ka dnu nestaje maskom (bez ivice), sa strana tamni. */
.hero > .wrap { z-index: auto; }
/* ka dnu se ne boji u crno (ispod je pozadina sa mrljama, pa bi se videla ivica), nego nestaje maskom */
.scena-bg { position: absolute; z-index: 0; left: 0; right: 0; top: 0; height: 560px; overflow: hidden; pointer-events: none; will-change: transform;
  -webkit-mask-image: linear-gradient(#000 35%, rgba(0,0,0,.75) 52%, rgba(0,0,0,.35) 70%, rgba(0,0,0,.1) 85%, transparent 100%);
  mask-image: linear-gradient(#000 35%, rgba(0,0,0,.75) 52%, rgba(0,0,0,.35) 70%, rgba(0,0,0,.1) 85%, transparent 100%); }
.scena-bg i { position: absolute; inset: -4%; background: url(/img/eg/studio-zid.webp?v=2) 50% 40% / auto 118% no-repeat; animation: priblizi 26s ease-in-out infinite alternate; }
@keyframes priblizi { to { transform: scale(1.08) translateY(1.5%); } }
.scena-bg::after { content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse 90% 70% at 50% 35%, transparent 45%, rgba(10,10,12,.6) 100%),
    linear-gradient(rgba(10,10,12,.2), rgba(10,10,12,0) 25%, rgba(10,10,12,.5) 60%, rgba(10,10,12,.7)); }
.hero::before { content: ""; position: absolute; z-index: 0; left: 50%; top: 60px; width: 420px; height: 320px; margin-left: -210px; pointer-events: none;
  background: radial-gradient(ellipse at 50% 60%, rgba(47,107,255,.22), transparent 70%); }
.hero .lik { z-index: 1; }
.hero .wrap > :not(.lik) { position: relative; z-index: 3; }
@media (min-width: 720px) { .scena-bg { height: 760px; } .scena-bg i { background-position: 50% 30%; } }
@media (prefers-reduced-motion: reduce) { .scena-bg i { animation: none; } }

.lik { position: relative; height: 290px; margin: 0 auto -22px; }
.sel { position: relative; height: 100%; }
/* Filip oštar ispred zida: kratko utapanje samo na samom dnu i senka iza njega da se odvoji od pozadine */
.sel img { height: 100%; width: auto; display: block; filter: drop-shadow(0 18px 40px rgba(0,0,0,.65)) drop-shadow(0 0 1px rgba(0,0,0,.4));
  -webkit-mask-image: linear-gradient(#000 86%, transparent 100%); mask-image: linear-gradient(#000 86%, transparent 100%); }
/* oznaka: tamna pilula sa svetlim tekstom i crvenom tačkom koja pulsira (kao "uživo"), stoji odmah ispod svetle ivice planete */
.titl { white-space: nowrap; margin: 0 auto 4px; }
.titl span { display: inline-flex; align-items: center; gap: 9px; background: rgba(20,20,24,.88); border: 1px solid #3a3a42; color: #fff;
  font-weight: 700; font-size: 13.5px; letter-spacing: .08em; text-transform: uppercase; padding: 9px 16px; border-radius: 99px;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.titl i { width: 8px; height: 8px; border-radius: 50%; background: #ff3b30; box-shadow: 0 0 0 0 rgba(255,59,48,.6); animation: uzivo 1.8s infinite; }
@keyframes uzivo { 70% { box-shadow: 0 0 0 7px rgba(255,59,48,0); } 100% { box-shadow: 0 0 0 0 rgba(255,59,48,0); } }

/* naslov: manji, ključni deo u svom redu, narandžast i malo veći. Bez pravougaonika. */
h1 { font-size: clamp(25px, 7vw, 40px); line-height: 1.16; font-weight: 800; letter-spacing: -.02em; margin: 0 auto 12px; max-width: 15em; }
.hero h1 .hl { display: block; color: var(--or); font-size: 1.2em; line-height: 1.12; margin: 2px 0; }
.sub { color: var(--mu); font-size: 16px; max-width: 24em; margin: 0 auto 22px; }
.sub b { color: #fff; }

/* odbrojavanje: datum kao pilula, pa četiri kutije sa ciframa; sekunde narandžaste da se vidi da teče */
.vreme { margin: 0 auto 22px; }
.vreme-d { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #fff;
  border: 1px solid #3a3a42; background: rgba(255,255,255,.04); border-radius: 99px; padding: 7px 14px; margin-bottom: 12px; }
.vreme-d::before { content: ""; width: 15px; height: 15px; flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7a7b0' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/100% no-repeat; }
.tc { display: flex; justify-content: center; gap: 8px; font-variant-numeric: tabular-nums; font-weight: 800; line-height: 1; }
.tc b { width: 74px; height: 80px; display: flex; justify-content: center; padding-top: 14px; font-size: 38px; letter-spacing: -.01em;
  background: linear-gradient(#1b1b20, #121215); border: 1px solid #34343c; border-radius: 14px; }
.tc b:last-of-type { color: var(--or); }
.tc i { display: none; }
.tc-l { display: flex; justify-content: center; gap: 8px; margin-top: -25px; position: relative; pointer-events: none; }
.tc-l span { width: 74px; text-align: center; font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mu); }
.tc.bez-dana b:first-of-type, .tc-l.bez-dana span:first-child { display: none; }
.hitno .tc b { color: var(--or); border-color: rgba(255,69,0,.45); }
.hitno .vreme-d { color: var(--or); border-color: rgba(255,69,0,.45); }
@media (max-width: 360px) { .tc b { width: 64px; height: 72px; font-size: 32px; } .tc-l span { width: 64px; } }
@media (min-width: 720px) { .lik { height: 380px; } }

/* redosled: ispod 24 h odbrojavanje skače odmah ispod Filipa, pre naslova */
.lik { order: 0; } .titl { order: 1; } .hero h1 { order: 2; margin-top: 6px; } .sub { order: 3; } .vreme { order: 4; } .hero .cta, .forma-strana { order: 5; } .ticks { order: 6; }
.hitno .vreme { order: 1; margin: 4px auto 18px; }
.hero .cta, .forma-strana { width: 100%; }

/* ---------- ostatak strane: neutralno, narandžasta samo na rezultatima i dugmetu ---------- */
.kick { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 99px; background: rgba(255,255,255,.05); border: 1px solid #34343c; color: #d9d9de; margin-bottom: 14px; }
.kick::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--or); }
.sheet .kick { color: #d9d9de; }
.karta { padding: 26px 20px; }
.karta .br { width: auto; height: auto; background: none; font-size: 40px; line-height: 1; font-weight: 800; color: transparent; -webkit-text-stroke: 1.5px #6a6a72; margin-bottom: 12px; letter-spacing: .02em; }
.klip button::after { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='%230b0b0c'/%3E%3C/svg%3E"); }
.rez .klip button::after { width: 48px; height: 48px; background-size: 26px; }
/* priča kao linija sa tačkama */
.prica { position: relative; padding-left: 26px; }
.prica::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 2px; border-radius: 2px; background: #34343c; }
.prica .korak::before { content: ""; position: absolute; left: -25px; top: 22px; width: 14px; height: 14px; border-radius: 50%; background: var(--bg); border: 2px solid #8a8a92; }
.prica .korak:last-child::before { border-color: var(--or); }
.prica .korak { position: relative; overflow: visible; }
.prica .korak img { border-radius: 17px 17px 0 0; }
/* dugme: odsjaj koji prelazi preko svakih par sekundi i mek sjaj ispod (jedino što na strani svetli) */
.cta { overflow: hidden; box-shadow: 0 10px 30px rgba(255,69,0,.32); }
.cta::before { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-18deg); animation: odsjaj 4s ease-in-out infinite; }
@keyframes odsjaj { 0%, 55% { left: -60%; } 85%, 100% { left: 130%; } }
/* pojavljivanje pri skrolu (klasu dodaje eg.js, bez JS-a sve je vidljivo) */
.rv { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.rv.vid { opacity: 1; transform: none; }

/* kraj: kartica sa fotkom gore, emotivni naslov, odbrojavanje i dugme */
.kraj { padding: 20px 0 30px; }
.kraj-karta { background: var(--s1); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; max-width: 520px; margin: 0 auto; }
.kraj-foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.kraj-t { padding: 0 18px 24px; margin-top: -40px; position: relative; }
.kraj-t h2 { margin-bottom: 12px; }
.kraj-t h2 .hl { display: block; }
.kraj-t h2 + .lead { margin: 0 auto 22px; }
@media (prefers-reduced-motion: reduce) { .cta::before, .osoba .klip button::after, .titl i { animation: none; } }

/* interakcija: kartice na hover dobiju svetliju ivicu, mek beli sjaj oko sebe i svetlo koje prati kursor
   (--mx/--my postavlja eg.js). Samo za uređaje sa mišem; na telefonu nema hovera. */
@media (hover: hover) {
  .karta, .korak, .osoba, .za > div, .faq details, .kraj-karta { position: relative;
    transition: border-color .25s, box-shadow .25s, opacity .6s ease, transform .6s ease; }
  .karta::after, .korak::after, .osoba::after, .za > div::after, .faq details::after, .kraj-karta::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .25s;
    background: radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.09), transparent 70%); }
  .karta:hover, .korak:hover, .osoba:hover, .za > div:hover, .faq details:hover, .kraj-karta:hover {
    border-color: rgba(255,255,255,.28); box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 0 40px rgba(255,255,255,.1); }
  .karta:hover::after, .korak:hover::after, .osoba:hover::after, .za > div:hover::after, .faq details:hover::after, .kraj-karta:hover::after { opacity: 1; }
  .cta { transition: transform .08s, box-shadow .25s, filter .25s; }
  .cta:hover { filter: brightness(1.08); box-shadow: 0 12px 44px rgba(255,69,0,.5); }
  .cta:hover::after { transform: translateX(3px); }
  .cta::after { transition: transform .2s; }
  .klip button::after { transition: transform .2s; }
  .klip button:hover::after { transform: scale(1.08); }
  .tc b { transition: border-color .25s, box-shadow .25s; }
  .vreme:hover .tc b { border-color: #4a4a52; box-shadow: 0 0 24px rgba(255,255,255,.06); }
  .faq summary:hover { color: #fff; }
}

/* ---------- boja i život (deseti krug): plava se vraća kao drugi akcenat za sitne stvari (oznake, brojevi, štiklovi,
   linija priče, etikete tajmera), narandžasta ostaje za dugme i ključne reči. Tekst svetliji. ---------- */
:root { --mu: #b6b6c0; }
.karta p, .osoba p, .rez2 .citat, .faq details p, .korak p { color: #d8d8de; }
/* nasumičan sjaj u pozadini: velike meke mrlje (plave i narandžaste) na fiksnom sloju, eg.js ih polako seli */
.sjaj { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.sjaj i { position: absolute; left: 50%; top: 50%; width: 420px; height: 420px; margin: -210px 0 0 -210px; border-radius: 50%; opacity: 0;
  background: radial-gradient(circle, rgba(47,107,255,.26), rgba(47,107,255,.08) 40%, transparent 68%); will-change: transform, opacity;
  transition: transform 11s ease-in-out, opacity 5s ease-in-out; }
.sjaj i:nth-child(odd) { background: radial-gradient(circle, rgba(255,69,0,.19), rgba(255,69,0,.05) 40%, transparent 68%); }
.sjaj i:nth-child(3) { width: 560px; height: 560px; margin: -280px 0 0 -280px; }
@media (min-width: 720px) { .sjaj i { width: 620px; height: 620px; margin: -310px 0 0 -310px; } }
/* oznake iznad naslova: plava pilula, narandžasta tačka sa sjajem */
.kick { background: rgba(47,107,255,.12); border-color: rgba(47,107,255,.42); color: #d3deff; }
.kick::before { box-shadow: 0 0 8px var(--or); }
.sheet .kick { color: #d3deff; }
/* kratka crta ispod naslova sekcije, narandžasta ka plavoj */
main h2::after { content: ""; display: block; width: 46px; height: 3px; border-radius: 3px; margin: 14px auto 0; background: linear-gradient(90deg, var(--or), var(--bl)); }
.kraj-t h2::after { display: none; }
/* kartice: tanka svetla ivica gore levo (plavkasta) koja se gubi, blag odsjaj na vrhu */
.karta, .korak, .osoba, .za > div, .faq details, .kraj-karta {
  border: 1px solid transparent;
  background: linear-gradient(rgba(255,255,255,.03), transparent 120px) padding-box, linear-gradient(var(--s1), var(--s1)) padding-box,
    linear-gradient(160deg, rgba(125,162,255,.5), rgba(255,255,255,.07) 35%, rgba(255,255,255,.07) 70%, rgba(255,69,0,.28)) border-box; }
.karta .br { color: transparent; -webkit-text-stroke: 0; background: linear-gradient(135deg, #a9c1ff, var(--bl)); -webkit-background-clip: text; background-clip: text; }
.korak .n { color: var(--bl2); }
.za .da li::before { background-color: var(--bl); }
.ticks li::before { background-color: var(--bl); }
.faq summary::after { color: var(--bl2); }
.faq details[open] { background: linear-gradient(#15161c, #15161c) padding-box, linear-gradient(160deg, var(--bl), rgba(255,255,255,.08) 50%, rgba(255,69,0,.4)) border-box; }
.rez2 .broj-k b { background: linear-gradient(135deg, #fff, var(--bl2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* priča: linija od narandžaste ka plavoj sa sjajem, tačke naizmenično */
.prica::before { background: linear-gradient(var(--or), var(--bl)); box-shadow: 0 0 12px rgba(47,107,255,.35); }
.prica .korak::before { border-color: var(--or); box-shadow: 0 0 10px rgba(255,69,0,.55); }
.prica .korak:nth-child(even)::before { border-color: var(--bl); box-shadow: 0 0 10px rgba(47,107,255,.7); }
/* tajmer: plave etikete, tanak plav odsjaj na vrhu kutije, ikonica kalendara plava */
.tc-l span { color: var(--bl2); }
.tc b { box-shadow: inset 0 1px 0 rgba(125,162,255,.28), 0 8px 24px rgba(0,0,0,.35); }
.vreme-d::before { filter: hue-rotate(0); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237da2ff' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
/* dugme za video: beli krug sa talasom koji se širi */
.klip button::after { box-shadow: 0 0 0 0 rgba(255,255,255,.5); animation: talas 2.4s infinite; }
@keyframes talas { 70% { box-shadow: 0 0 0 12px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
@media (hover: hover) {
  .karta:hover, .korak:hover, .osoba:hover, .za > div:hover, .faq details:hover, .kraj-karta:hover {
    background: linear-gradient(rgba(255,255,255,.04), transparent 120px) padding-box, linear-gradient(#18181d, #18181d) padding-box,
      linear-gradient(160deg, rgba(160,185,255,.75), rgba(255,255,255,.18) 35%, rgba(255,255,255,.14) 70%, rgba(255,106,43,.5)) border-box; }
}
@media (prefers-reduced-motion: reduce) { .klip button::after { animation: none; } .sjaj i { transition: none; } }
