/* ============================================================
   web.collagen.hr — LIQUID METAL dizajn sustav
   ------------------------------------------------------------
   Tekući krom · brušeni aluminij · dimljeno staklo · biserno
   bijele editorial sekcije · filmsko svjetlo koje reagira na
   pokazivač, brzinu skrolanja i nagib uređaja.
   Sve klase su zadržane — redizajn ne dira sadržaj ni logiku.
   ============================================================ */

:root{
  /* — materijali — */
  --pearl:#f5f5f2;
  --crystal:#ffffff;
  --titanium:#c9ccd0;
  --alu:#a8adb3;
  --chrome-hi:#e9ecef;
  --graphite:#151719;
  --graphite-deep:#090a0b;
  --smoke:rgba(15,17,19,.72);
  --ice:#ddeeff;
  --violet:#e8e1ff;

  /* — tamna (grafitna) scena — */
  --bg:#0b0c0e;
  --bg-2:#0f1113;
  --panel:#14161a;
  --panel-2:#191c20;
  --line:#272b31;
  --line-soft:#1e2126;
  --txt:#eef0f2;
  --txt-soft:#c8ccd2;
  --mut:#969ca6;
  --mut-2:#6b717b;
  --silver-1:#f6f7f9;
  --silver-2:#bcc2ca;
  --silver-3:#82888f;
  --accent:#e9ecef;

  /* — svijetla (biserna) scena — */
  --l-bg:#f5f5f2;
  --l-panel:#ffffff;
  --l-line:#dcdfe2;
  --l-line-soft:#e6e8ea;
  --l-txt:#16181b;
  --l-txt-soft:#3c4147;
  --l-mut:#5b6169;
  --l-mut-2:#787f88;

  /* — kromirani gradijenti — */
  --chrome:linear-gradient(115deg,#f8f9fb 6%,#d5dae1 26%,#9aa2ac 44%,#dfe6ee 58%,#c3cad4 70%,#f2f4f7 92%);
  --chrome-text:linear-gradient(112deg,#fafbfc 6%,#c9cfd8 30%,#8d95a1 46%,#d6deea 58%,#b9bfd2 70%,#f0f2f6 92%);

  /* — globalno svjetlo (upravlja fx.js: pokazivač / scroll / nagib) — */
  --lx:.5;            /* 0–1 horizontalna pozicija svjetla   */
  --ly:.35;           /* 0–1 vertikalna pozicija svjetla     */
  --lxp:50%;          /* isto, kao postotak                  */
  --lyp:35%;
  --sweep:0deg;       /* smjer svjetla                       */
  --sv:0;             /* brzina skrolanja  −1 … 1            */

  /* — geometrija — */
  --radius:18px;
  --radius-sm:12px;
  --max:1180px;

  /* — motion tokeni — */
  --e-out:cubic-bezier(.22,1,.36,1);
  --e-io:cubic-bezier(.16,1,.3,1);
  --ease:var(--e-out);
  --d-micro:.18s;
  --d-ui:.32s;
  --d-rev:.8s;
  --d-cine:1s;
  --introd:1;         /* multiplikator kašnjenja hero intra (povratnici: kraće) */

  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono','Cascadia Code',Consolas,monospace;
}

/* ============================================================
   BAZA
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  background:var(--bg);
  color:var(--txt);
  font-family:var(--font);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--ice);color:#0b0c0e}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--graphite-deep)}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#3a3f46,#262a30);
  border-radius:5px;border:2px solid var(--graphite-deep);
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#565c66,#343940)}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

:focus-visible{
  outline:2px solid var(--ice);
  outline-offset:3px;
  border-radius:4px;
}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ============================================================
   TIPOGRAFIJA — švicarski editorial
   ============================================================ */
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.12}
.display{
  font-size:clamp(2.8rem,7.5vw,5.7rem);
  letter-spacing:-.035em;
  line-height:1.02;
}
/* tekući krom u naslovu — sjaj putuje prema globalnom svjetlu */
.grad-text{
  background:var(--chrome-text);
  background-size:230% auto;
  background-position:calc(var(--lx) * 130%) center;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

.kicker{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--mut);
  display:flex;align-items:center;gap:14px;
}
.kicker::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--silver-2),transparent);flex:none}
.sec-title{font-size:clamp(1.9rem,4vw,2.9rem);margin:.55em 0 .35em}
.sec-lead{color:var(--mut);max-width:640px;font-size:1.06rem}

/* ============================================================
   NAVIGACIJA — prozirno → dimljeno staklo s metalnim rubom
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  transition:background var(--d-ui),border-color var(--d-ui),backdrop-filter var(--d-ui),box-shadow var(--d-ui);
  border-bottom:1px solid transparent;
}
.nav::after{ /* metalna nit na donjem rubu — pali se pri skrolu */
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent 4%,rgba(201,204,208,.42) var(--lxp),transparent 96%);
  opacity:0;transition:opacity var(--d-ui);
}
.nav.scrolled{
  background:var(--smoke);
  backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);
  border-bottom-color:rgba(255,255,255,.05);
  box-shadow:0 12px 40px rgba(0,0,0,.28);
}
.nav.scrolled::after{opacity:1}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;line-height:1}
.brand-mark{
  height:32px;width:32px;flex:none;display:block;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.4));
  transition:transform .5s var(--e-out),filter .35s;
}
.brand:hover .brand-mark{transform:rotate(60deg) scale(1.05);filter:drop-shadow(0 3px 10px rgba(221,238,255,.28))}
.brand-wm{
  font-weight:800;letter-spacing:-.03em;font-size:1.14rem;
  display:inline-flex;align-items:baseline;
}
.brand-wm .bw-sub{color:var(--silver-3);font-weight:700;letter-spacing:-.01em}
/* podnožje: mark je veći, tekst svjetliji */
footer .brand-mark{height:34px;width:34px}
/* zadržano radi kompatibilnosti sa starim inline oznakama */
.brand .dot{color:var(--silver-3)}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{
  font-size:.9rem;color:var(--txt-soft);font-weight:600;
  position:relative;padding:6px 0;transition:color var(--d-micro);
}
.nav-links a::after{ /* metalni indikator aktivne sekcije */
  content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;border-radius:2px;
  background:linear-gradient(90deg,var(--titanium),var(--crystal),var(--titanium));
  transform:scaleX(0);transform-origin:50% 50%;
  transition:transform var(--d-ui) var(--e-out);
}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.lang{display:flex;gap:2px;border:1px solid var(--line);border-radius:99px;padding:3px;font-family:var(--mono);font-size:.68rem;background:rgba(255,255,255,.02)}
.lang a{padding:5px 9px;border-radius:99px;color:var(--mut);transition:var(--d-micro)}
.lang a:hover{color:#fff}
.lang a.on{background:var(--chrome);color:#0b0c0e;font-weight:700}
.burger{display:none;flex-direction:column;gap:5px;padding:10px;margin:-10px;z-index:130;position:relative}
.burger span{width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .35s var(--e-out),opacity .25s}

/* ============================================================
   GUMBI — polirani krom · staklo s metalnim rubom
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:99px;
  font-weight:700;font-size:.94rem;letter-spacing:.01em;
  position:relative;overflow:hidden;isolation:isolate;
  --bx:50%;--by:40%;
  transition:transform .25s var(--e-out),box-shadow .25s,background .25s,color .25s,border-color .25s;
  will-change:transform;
}
.btn:active{transform:scale(.975)}

/* — polirani krom (primarni) — */
.btn-solid{
  color:#0d0e10;
  background:
    radial-gradient(120% 160% at var(--bx) var(--by),rgba(255,255,255,.95),rgba(255,255,255,0) 55%),
    linear-gradient(160deg,#f4f6f8 8%,#cfd5dc 38%,#aab1ba 62%,#e6eaef 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(80,88,98,.35),0 6px 24px rgba(0,0,0,.35);
}
.btn-solid:hover{
  transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(80,88,98,.3),0 16px 44px rgba(180,200,225,.22),0 6px 20px rgba(0,0,0,.4);
}

/* — stakleni s metalnim rubom (sekundarni) — */
.btn-line{
  border:1px solid var(--line);color:var(--txt);
  background:rgba(255,255,255,.028);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.btn-line:hover{
  border-color:var(--silver-3);
  transform:translateY(-2px);
  background:rgba(255,255,255,.06);
  box-shadow:0 12px 34px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08);
}
.btn-sm{padding:11px 22px;font-size:.85rem}
.btn .arr{transition:transform .25s var(--e-out)}
.btn:hover .arr{transform:translateX(4px)}

/* svjetlosni prelet preko gumba */
.btn::before{
  content:"";position:absolute;top:-10%;bottom:-10%;width:42%;left:-70%;z-index:-1;
  transform:skewX(-22deg);pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(200,218,242,.5),transparent);
}
.btn:hover::before{left:130%;transition:left .6s var(--e-io)}
.btn-solid::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);mix-blend-mode:screen}

/* ============================================================
   HERO — duboki grafit · tekući krom · filmsko svjetlo
   ============================================================ */
.hero{
  min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  position:relative;padding:140px 0 80px;overflow:hidden;
  background:
    radial-gradient(120% 90% at 70% 12%,#101215 0%,transparent 55%),
    linear-gradient(180deg,var(--graphite-deep),var(--bg) 70%);
}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.hero-grid{
  position:absolute;inset:0;overflow:hidden;
  background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 30%,transparent 75%);
}
.hero-grid::after{ /* svjetlosni sken preko mreže */
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 38%,rgba(221,238,255,.05) 50%,transparent 62%);
  transform:translateY(-100%);
  animation:gridScan 11s ease-in-out infinite;
}
@keyframes gridScan{0%,18%{transform:translateY(-100%)}62%,100%{transform:translateY(100%)}}
.hero-glow{
  position:absolute;width:900px;height:900px;left:50%;top:-20%;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at calc(30% + var(--lx)*40%) calc(30% + var(--ly)*30%),rgba(221,238,255,.085),transparent 58%),
    radial-gradient(circle at 58% 55%,rgba(232,225,255,.05),transparent 62%),
    radial-gradient(circle,rgba(255,255,255,.055),transparent 62%);
  filter:blur(10px);
  animation:pulse 9s ease-in-out infinite alternate;
}
@keyframes pulse{from{opacity:.72}to{opacity:1;transform:translateX(-50%) scale(1.05)}}
.hero-helix{position:absolute;right:-140px;top:50%;transform:translateY(-50%);opacity:.4;pointer-events:none}

/* WebGL platno tekućeg kroma — METAL BLOOM (ubacuje fx.js) */
.hero-metal{
  position:absolute;inset:0;width:100%;height:100%;
  opacity:0;transition:opacity 1.6s var(--e-io) .2s;
}
.hero-metal.on{opacity:1}

/* čestice srebrne prašine (canvas iz fx.js) */
.hero-dust{position:absolute;inset:0;width:100%;height:100%}

/* filmska vinjeta; sadržaj iznad svega */
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 125% 95% at 50% 42%,transparent 52%,rgba(5,6,7,.62) 100%);
}
.hero .wrap{position:relative;z-index:2;will-change:transform}

.hero .kicker{margin-bottom:26px}
.hero p.lead{color:var(--mut);font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:560px;margin:28px 0 40px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{
  display:flex;gap:0;margin-top:76px;position:relative;flex-wrap:wrap;
}
.hero-stats::before{ /* brušena nit iznad statistike — svjetlo je prati */
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,204,208,.35) var(--lxp),transparent);
}
.hero-stats>div{padding:26px 44px 0 0;margin-right:44px}
.hero-stats b{font-size:1.7rem;letter-spacing:-.02em;display:block}
.hero-stats span{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut-2)}

/* — hero intro koreografija (samo uz JS; povratnici brže preko --introd) — */
html.js .hero .kicker,
html.js .hero p.lead,
html.js .hero .hero-cta,
html.js .hero .hero-stats{
  opacity:0;transform:translateY(26px);
  transition:opacity .9s var(--e-out),transform .9s var(--e-out);
}
html.js.fx-ready .hero .kicker{opacity:1;transform:none;transition-delay:calc(var(--introd)*.25s)}
html.js.fx-ready .hero p.lead{opacity:1;transform:none;transition-delay:calc(var(--introd)*.75s)}
html.js.fx-ready .hero .hero-cta{opacity:1;transform:none;transition-delay:calc(var(--introd)*.95s)}
html.js.fx-ready .hero .hero-stats{opacity:1;transform:none;transition-delay:calc(var(--introd)*1.15s)}

/* maskirani ulaz naslova (linije gradi fx.js) */
.hline{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hline-in{display:inline-block;transform:translateY(115%);transition:transform 1.05s var(--e-out)}
.fx-ready .hline-in{transform:none}
.hline:nth-child(1) .hline-in{transition-delay:calc(var(--introd)*.35s)}
.hline:nth-child(2) .hline-in{transition-delay:calc(var(--introd)*.5s)}

/* ============================================================
   MARQUEE — brušena aluminijska traka
   ============================================================ */
.marquee{
  border-block:1px solid var(--line-soft);
  padding:18px 0;overflow:hidden;white-space:nowrap;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,#0e1013,#0b0d0f);
  position:relative;
}
.marquee::after{ /* odsjaj koji putuje s globalnim svjetlom */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(221,238,255,.05) var(--lxp),transparent);
}
.marquee-track{display:inline-flex;gap:56px;animation:mq 34s linear infinite;padding-right:56px}
.marquee span{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--mut);display:inline-flex;align-items:center;gap:56px;
}
.marquee span::after{content:"◆";font-size:.5rem;color:var(--silver-3)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ============================================================
   SEKCIJE — ritam grafit ⇄ biserno bijelo
   ============================================================ */
.sec{padding:110px 0;position:relative}

/* — svijetla editorial scena — */
.sec-alt{
  background:
    radial-gradient(90% 60% at calc(var(--lx)*100%) 0%,rgba(255,255,255,.85),transparent 60%),
    var(--l-bg);
  color:var(--l-txt);
  border-block:1px solid rgba(0,0,0,.05);
}
.sec-alt::before{ /* kromirana nit na gornjem rubu — prijelaz materijala */
  content:"";position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 6%,rgba(201,204,208,.9) var(--lxp),transparent 94%);
}
.sec-alt .kicker{color:var(--l-mut)}
.sec-alt .kicker::before{background:linear-gradient(90deg,#9aa1a9,transparent)}
.sec-alt .sec-lead{color:var(--l-mut)}
.sec-alt ::selection{background:var(--graphite);color:#fff}

.sec-head{margin-bottom:56px}

/* ============================================================
   KARTICE — grafitni izlozi s tekućim odsjajem
   ============================================================ */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{
  background:linear-gradient(170deg,var(--panel-2),var(--panel) 60%);
  border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:32px 28px;position:relative;overflow:hidden;
  transition:transform .35s var(--e-out),border-color .35s,box-shadow .35s;
}
.card:hover{transform:translateY(-5px);border-color:#3a4048;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.card::before{ /* kromirana nit na vrhu */
  content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(233,236,239,.35) var(--lxp),transparent);
  opacity:0;transition:opacity .35s;
}
.card:hover::before{opacity:1}
.card .num{font-family:var(--mono);font-size:.7rem;color:var(--mut-2);letter-spacing:.2em}
.card h3{font-size:1.12rem;margin:14px 0 10px;font-weight:700}
.card p{color:var(--mut);font-size:.92rem}
.card .ico{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(120% 120% at 30% 20%,rgba(255,255,255,.09),transparent 55%),
    linear-gradient(160deg,#20242a,#14161a);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  margin-bottom:18px;
}
.card .ico svg{width:20px;height:20px;stroke:var(--silver-2)}

/* ============================================================
   PAKETI — bijeli izlozi + grafitni "hot" izlog
   ============================================================ */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{
  background:var(--l-panel);
  border:1px solid var(--l-line);border-radius:22px;
  padding:38px 32px;display:flex;flex-direction:column;position:relative;
  box-shadow:0 2px 10px rgba(9,10,11,.04),0 14px 44px rgba(9,10,11,.06);
  transition:transform .35s var(--e-out),border-color .35s,box-shadow .35s;
}
.plan:hover{
  transform:translateY(-6px);
  border-color:#c4c9cf;
  box-shadow:0 6px 18px rgba(9,10,11,.06),0 34px 80px rgba(9,10,11,.13);
}
.plan::before{ /* titanska nit na vrhu */
  content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(154,162,172,.75) var(--lxp),transparent);
  opacity:.55;transition:opacity .35s;
}
.plan:hover::before{opacity:1}
.plan .p-name{font-family:var(--mono);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--l-mut)}
.plan .p-price{font-size:2.9rem;font-weight:800;letter-spacing:-.03em;margin:16px 0 2px;color:var(--l-txt)}
.plan .p-price small{font-size:1.1rem;color:var(--l-mut);font-weight:600}
.plan .p-vat{font-size:.76rem;color:var(--l-mut-2);font-family:var(--mono)}
.plan .p-desc{color:var(--l-mut);font-size:.9rem;margin:16px 0 22px;min-height:44px}
.plan ul{border-top:1px solid var(--l-line-soft);padding-top:22px;margin-bottom:30px;flex:1}
.plan li{font-size:.9rem;color:var(--l-txt-soft);padding:7px 0 7px 28px;position:relative}
.plan li::before{
  content:"";position:absolute;left:2px;top:14px;width:12px;height:7px;
  border-left:2px solid #868d96;border-bottom:2px solid #868d96;
  transform:rotate(-45deg);
}
.plan li.no{color:var(--l-mut-2)}
.plan li.no::before{border:none;content:"—";top:7px;left:4px}
.plan .btn{justify-content:center}
.plan .btn-line{
  border-color:#c9ccd0;color:var(--l-txt);background:rgba(9,10,11,.02);
}
.plan .btn-line:hover{border-color:#82888f;background:rgba(9,10,11,.05);box-shadow:0 12px 30px rgba(9,10,11,.10)}
.plan .btn-line::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}

/* — istaknuti BUSINESS: grafitni izlog među bijelima — */
.plan.hot{
  background:
    radial-gradient(140% 90% at calc(var(--lx)*100%) -10%,rgba(221,238,255,.07),transparent 55%),
    linear-gradient(175deg,#1b1e23,#101214);
  border-color:#31363d;
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 30px 80px rgba(9,10,11,.35);
  color:var(--txt);
}
.plan.hot::before{background:linear-gradient(90deg,transparent,rgba(233,236,239,.8) var(--lxp),transparent)}
.plan.hot .p-name{color:var(--mut)}
.plan.hot .p-price{color:var(--txt)}
.plan.hot .p-price small{color:var(--mut)}
.plan.hot .p-vat{color:var(--mut-2)}
.plan.hot .p-desc{color:var(--mut)}
.plan.hot ul{border-top-color:#23272d}
.plan.hot li{color:var(--txt-soft)}
.plan.hot li::before{border-color:var(--silver-2)}
.plan .tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);z-index:2;
  background:var(--chrome);color:#0d0e10;font-family:var(--mono);font-size:.64rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;padding:6px 16px;border-radius:99px;white-space:nowrap;
  box-shadow:0 4px 14px rgba(9,10,11,.25),inset 0 1px 0 rgba(255,255,255,.8);
}

.plans-note{
  margin-top:34px;padding:22px 26px;border:1px solid var(--l-line);border-radius:var(--radius-sm);
  color:var(--l-mut);font-size:.88rem;
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.plans-note b{color:var(--l-txt)}
.plans-note a{color:var(--l-txt-soft)}

/* ============================================================
   TABLICE USLUGA (grafitne sekcije)
   ============================================================ */
.svc-table{width:100%;border-collapse:collapse;font-size:.94rem}
.svc-table th{
  text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mut-2);padding:0 18px 14px;font-weight:500;
}
.svc-table td{padding:18px;border-top:1px solid var(--line-soft)}
.svc-table tr:hover td{background:rgba(221,238,255,.02)}
.svc-table .price{font-weight:800;white-space:nowrap;text-align:right}
.svc-table .price small{display:block;font-family:var(--mono);font-size:.64rem;color:var(--mut-2);font-weight:400;letter-spacing:.08em}
.svc-table td:first-child{font-weight:700}
.svc-table td .sub{display:block;font-weight:400;color:var(--mut);font-size:.85rem;margin-top:3px}

/* ============================================================
   GARANCIJA (svijetla scena) — kromirana medalja
   ============================================================ */
.guarantee{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.g-badge{
  aspect-ratio:1;max-width:340px;margin:0 auto;border-radius:50%;
  border:1px solid rgba(9,10,11,.1);position:relative;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;
  background:
    radial-gradient(120% 120% at calc(20% + var(--lx)*40%) calc(12% + var(--ly)*30%),#ffffff 0%,#e9ecef 28%,#b9bfc7 55%,#dfe3e8 78%,#f4f5f7 100%);
  box-shadow:
    inset 0 2px 3px rgba(255,255,255,.9),
    inset 0 -14px 34px rgba(90,98,108,.28),
    0 30px 70px rgba(9,10,11,.18);
  width:100%;
  color:var(--l-txt);
}
.g-badge::before{ /* gravirani prsten koji sporo rotira */
  content:"";position:absolute;inset:14px;border-radius:50%;
  border:1px dashed rgba(9,10,11,.22);
  animation:spin 46s linear infinite;
}
.g-badge::after{ /* uski specular sjaj preko medalje */
  content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:conic-gradient(from calc(var(--lx)*360deg) at 50% 50%,transparent 0 40%,rgba(255,255,255,.5) 47%,transparent 54%,transparent 100%);
  mix-blend-mode:overlay;
}
@keyframes spin{to{transform:rotate(360deg)}}
.g-badge b{font-size:3.4rem;letter-spacing:-.04em}
.g-badge span{font-family:var(--mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:#4b5157}
.g-list{display:flex;flex-direction:column;gap:18px;margin-top:30px}
.g-item{display:flex;gap:16px;align-items:flex-start}
.g-item .gi{
  min-width:38px;height:38px;border-radius:10px;border:1px solid var(--l-line);
  display:flex;align-items:center;justify-content:center;background:var(--l-panel);
  box-shadow:0 2px 8px rgba(9,10,11,.05),inset 0 1px 0 #fff;
}
.g-item .gi svg{width:17px;height:17px;stroke:#585f68}
.g-item b{display:block;font-size:.98rem;color:var(--l-txt)}
.g-item p{color:var(--l-mut);font-size:.88rem}

/* ============================================================
   TROŠKOVI (grafitna scena)
   ============================================================ */
.costs-intro{
  background:
    radial-gradient(120% 140% at calc(var(--lx)*100%) 0%,rgba(221,238,255,.05),transparent 55%),
    linear-gradient(160deg,#171a1e,#101214);
  border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:30px 34px;margin-bottom:34px;font-size:.98rem;color:var(--txt-soft);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.costs-intro b{color:#fff}

/* ============================================================
   PORTFOLIO (svijetla scena) — bijeli izlozi sa živim pregledom
   ============================================================ */
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pf-card{
  border:1px solid var(--l-line);border-radius:var(--radius);overflow:hidden;
  background:var(--l-panel);cursor:pointer;position:relative;
  box-shadow:0 2px 10px rgba(9,10,11,.04),0 14px 40px rgba(9,10,11,.06);
  transition:transform .35s var(--e-out),border-color .35s,box-shadow .35s;
}
.pf-card:hover{
  transform:translateY(-6px);border-color:#c2c7cd;
  box-shadow:0 8px 20px rgba(9,10,11,.07),0 36px 90px rgba(9,10,11,.14);
}
.pf-shot{aspect-ratio:16/10.5;overflow:hidden;position:relative;background:#101214}
.pf-shot img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s var(--e-out),opacity .5s;opacity:0}
.pf-shot img.ok{opacity:1}
.pf-card:hover .pf-shot img{transform:scale(1.045)}
.pf-shot .live{
  position:absolute;top:12px;left:12px;z-index:2;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;
  background:rgba(8,9,10,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);
  padding:5px 11px;border-radius:99px;color:#dfe3e8;
  display:flex;align-items:center;gap:7px;
}
.pf-shot .live::before{content:"";width:6px;height:6px;border-radius:50%;background:#7ee787;box-shadow:0 0 8px #7ee787;animation:blink 2s infinite}
@keyframes blink{50%{opacity:.35}}
.pf-body{padding:20px 22px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pf-body h3{font-size:1.02rem;color:var(--l-txt)}
.pf-body .url{font-family:var(--mono);font-size:.7rem;color:var(--l-mut-2);margin-top:4px;letter-spacing:.04em}
.pf-tags{display:flex;gap:6px;flex-wrap:wrap;padding:0 22px 20px}
.pf-tags span{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--l-mut);
  border:1px solid var(--l-line);padding:4px 10px;border-radius:99px;background:rgba(9,10,11,.02);
}
.pf-open{
  min-width:40px;height:40px;border-radius:50%;border:1px solid var(--l-line);
  display:flex;align-items:center;justify-content:center;transition:.25s;background:#fff;
}
.pf-card:hover .pf-open{background:var(--graphite);border-color:var(--graphite)}
.pf-card:hover .pf-open svg{stroke:#fff}
.pf-open svg{width:15px;height:15px;stroke:var(--l-txt)}
.pf-note{margin-top:22px;color:var(--l-mut-2);font-size:.8rem;font-family:var(--mono);letter-spacing:.04em}

/* — modal: živi pregled u dimljenom staklu — */
.pf-modal{
  position:fixed;inset:0;z-index:200;background:rgba(6,7,8,.85);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  display:none;align-items:center;justify-content:center;padding:4vh 4vw;
}
.pf-modal.open{display:flex;animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0}}
.pf-frame{
  width:100%;height:100%;max-width:1280px;border-radius:16px;overflow:hidden;
  border:1px solid #383e46;background:#0c0d10;display:flex;flex-direction:column;
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 40px 120px rgba(0,0,0,.7);
}
.pf-frame-bar{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#181b1f,#121417);
}
.pf-frame-bar .dots{display:flex;gap:6px}
.pf-frame-bar .dots i{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#3a4048,#282d33)}
.pf-frame-bar .addr{
  flex:1;text-align:center;font-family:var(--mono);font-size:.72rem;color:var(--mut);
  background:#0b0c0e;border:1px solid var(--line-soft);border-radius:8px;padding:6px 14px;
}
.pf-frame-bar .x{font-size:1.1rem;color:var(--mut);padding:4px 10px;border-radius:8px;transition:.2s}
.pf-frame-bar .x:hover{color:#fff;background:#1e2126}
.pf-frame-bar .ext{
  font-size:.95rem;color:var(--mut);padding:4px 10px;border-radius:8px;transition:.2s;
  text-decoration:none;line-height:1;
}
.pf-frame-bar .ext:hover{color:#fff;background:#1e2126}
.pf-frame iframe{flex:1;border:none;width:100%;background:#fff}

/* ============================================================
   PROCES (grafitna scena)
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps::before{
  content:"";position:absolute;top:23px;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,204,208,.28) var(--lxp),transparent);
}
.step{padding:0 22px;position:relative;text-align:left}
.step .s-num{
  width:47px;height:47px;border-radius:50%;
  background:
    radial-gradient(120% 120% at 30% 22%,rgba(255,255,255,.1),transparent 55%),
    linear-gradient(170deg,#191c20,#101214);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.8rem;color:var(--silver-2);margin-bottom:20px;position:relative;z-index:1;
}
.step h3{font-size:1.05rem;margin-bottom:8px}
.step p{color:var(--mut);font-size:.88rem}

/* ============================================================
   VODIČI (svijetla scena) — bijele editorial kartice
   ============================================================ */
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.post-card{
  border:1px solid var(--l-line);border-radius:var(--radius);padding:30px;
  background:var(--l-panel);display:flex;flex-direction:column;gap:12px;
  box-shadow:0 2px 10px rgba(9,10,11,.03),0 12px 36px rgba(9,10,11,.05);
  transition:transform .35s var(--e-out),border-color .35s,box-shadow .35s;
  position:relative;overflow:hidden;
}
.post-card:hover{
  transform:translateY(-4px);border-color:#c2c7cd;
  box-shadow:0 6px 16px rgba(9,10,11,.06),0 28px 70px rgba(9,10,11,.12);
}
.post-card .pc-meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--l-mut-2)}
.post-card h3{font-size:1.2rem;line-height:1.3;color:var(--l-txt)}
.post-card p{color:var(--l-mut);font-size:.9rem;flex:1}
.post-card .pc-more{font-size:.85rem;font-weight:700;display:inline-flex;gap:8px;align-items:center;color:var(--l-txt-soft)}
.post-card:hover .pc-more{color:var(--l-txt)}
.post-card .pc-more .arr{transition:transform .25s var(--e-out)}
.post-card:hover .pc-more .arr{transform:translateX(4px)}

/* ============================================================
   ČLANAK — biserno bijeli editorial (vodiči, uvjeti, privatnost)
   Fallback bez :has() ostaje tamni i čitljiv.
   ============================================================ */
.article{max-width:760px;margin:0 auto;padding:150px 24px 90px}
.article .kicker{margin-bottom:20px}
.article h1{font-size:clamp(2rem,4.6vw,3.1rem);letter-spacing:-.03em;margin-bottom:22px}
.article .a-lead{font-size:1.15rem;color:var(--mut);margin-bottom:44px;line-height:1.7}
.article h2{font-size:1.5rem;margin:52px 0 16px}
.article h3{font-size:1.15rem;margin:34px 0 12px}
.article p{color:var(--txt-soft);margin-bottom:18px}
.article ul,.article ol{margin:0 0 20px 4px;color:var(--txt-soft)}
.article ul li,.article ol li{padding:5px 0 5px 26px;position:relative}
.article ul li::before{content:"";position:absolute;left:4px;top:15px;width:8px;height:1.5px;background:var(--silver-3)}
.article ol{counter-reset:n}
.article ol li{counter-increment:n}
.article ol li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:6px;font-family:var(--mono);font-size:.72rem;color:var(--silver-3)}
.article .a-box{
  background:var(--panel);border:1px solid var(--line-soft);border-left:2px solid var(--silver-2);
  border-radius:12px;padding:22px 26px;margin:28px 0;font-size:.95rem;color:var(--txt-soft);
}
.article .a-box b{color:#fff}
.article table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.92rem}
.article table th{text-align:left;font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut-2);padding:10px 14px;border-bottom:1px solid var(--line)}
.article table td{padding:12px 14px;border-bottom:1px solid var(--line-soft);color:var(--txt-soft)}
.article .a-cta{
  margin-top:60px;padding:34px;border-radius:var(--radius);text-align:center;
  background:linear-gradient(160deg,#1a1d21,#101214);border:1px solid var(--line);
}
.article .a-cta h3{margin:0 0 8px}
.article .a-cta p{margin-bottom:22px;color:var(--mut)}

/* — svijetli editorial način čitanja — */
body:has(> .article){
  background:
    radial-gradient(70% 40% at calc(var(--lx)*100%) 0%,#ffffff,transparent 60%),
    var(--l-bg);
  color:var(--l-txt);
}
body:has(> .article) .article .a-lead{color:var(--l-mut)}
body:has(> .article) .article .kicker{color:var(--l-mut)}
body:has(> .article) .article .kicker::before{background:linear-gradient(90deg,#9aa1a9,transparent)}
body:has(> .article) .article p,
body:has(> .article) .article ul,
body:has(> .article) .article ol{color:var(--l-txt-soft)}
body:has(> .article) .article ul li::before{background:#9aa1a9}
body:has(> .article) .article ol li::before{color:#787f88}
body:has(> .article) .article .a-box{
  background:#fff;border-color:var(--l-line);border-left-color:#a8adb3;
  color:var(--l-txt-soft);
  box-shadow:0 6px 24px rgba(9,10,11,.05);
}
body:has(> .article) .article .a-box b{color:var(--l-txt)}
body:has(> .article) .article table th{color:var(--l-mut-2);border-bottom-color:#c9ccd0}
body:has(> .article) .article table td{color:var(--l-txt-soft);border-bottom-color:var(--l-line-soft)}
body:has(> .article) .article em{color:var(--l-txt)}
body:has(> .article) ::selection{background:var(--graphite);color:#fff}
/* članak: tamna CTA ploča ostaje grafitna — kontrast na bijelom */

/* ============================================================
   FAQ (grafitna scena)
   ============================================================ */
.faq{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line-soft)}
.faq-q{
  width:100%;text-align:left;padding:26px 50px 26px 0;font-size:1.08rem;font-weight:700;
  position:relative;transition:color .2s;
}
.faq-q:hover{color:#fff}
.faq-q::after{
  content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-size:1.5rem;font-weight:300;color:var(--mut);transition:transform .3s var(--e-out);
}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--e-out)}
.faq-a p{color:var(--mut);padding:0 40px 26px 0;font-size:.95rem}

/* ============================================================
   KONTAKT (svijetla scena) + UPITNIK "ZATRAŽI PONUDU"
   ============================================================ */
.contact-box{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}

.quote-form{
  background:var(--l-panel);
  border:1px solid var(--l-line);border-radius:22px;
  padding:34px 32px 30px;position:relative;
  box-shadow:0 2px 10px rgba(9,10,11,.04),0 18px 50px rgba(9,10,11,.08);
}
.quote-form::before{ /* titanska nit na vrhu — kao na paketima */
  content:"";position:absolute;inset:0 0 auto 0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(154,162,172,.75) var(--lxp),transparent);
}
.qf-title{font-size:1.3rem;margin-bottom:24px;color:var(--l-txt)}
.qf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.qf-field label{
  display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--l-mut);margin-bottom:7px;
}
.qf-field input,.qf-field select{
  width:100%;padding:13px 15px;border-radius:12px;
  border:1px solid #cfd3d8;background:#fff;color:var(--l-txt);
  font-family:inherit;font-size:.95rem;line-height:1.4;
  transition:border-color var(--d-micro),box-shadow var(--d-micro),background var(--d-micro);
  appearance:none;-webkit-appearance:none;
}
.qf-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235b6169' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
  padding-right:38px;cursor:pointer;
}
.qf-field input::placeholder{color:#9aa1a9}
.qf-field input:hover,.qf-field select:hover{border-color:#aab0b7}
.qf-field input:focus,.qf-field select:focus{
  outline:none;border-color:#585f68;
  box-shadow:0 0 0 3px rgba(221,238,255,.9),inset 0 1px 2px rgba(9,10,11,.03);
}
.qf-consent{
  display:flex;gap:12px;align-items:flex-start;
  margin:20px 0 22px;font-size:.85rem;color:var(--l-mut);line-height:1.55;cursor:pointer;
}
.qf-consent input{
  width:18px;height:18px;margin-top:2px;flex:none;
  accent-color:#16181b;cursor:pointer;
}
.qf-consent a{text-decoration:underline;color:var(--l-txt-soft)}
.qf-consent a:hover{color:var(--l-txt)}
.qf-send{width:100%;justify-content:center}
.qf-send:disabled{cursor:not-allowed}
.qf-status{margin-top:14px;font-size:.88rem;font-weight:600;min-height:1.3em}
.qf-status.ok{color:#1d6b3a}
.qf-status.err{color:#a83a32}
.qf-legal{margin-top:14px;font-size:.72rem;color:var(--l-mut-2);line-height:1.65}
.qf-hp{position:absolute !important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* pokazivač ostaje sustavni u poljima obrasca */
body.cur-on .quote-form input,
body.cur-on .quote-form select,
body.cur-on .quote-form label{cursor:auto}
body.cur-on .quote-form input[type=checkbox],
body.cur-on .quote-form select,
body.cur-on .qf-consent{cursor:pointer}

.contact-box .c-mail{
  font-size:clamp(1.4rem,3vw,2.2rem);font-weight:800;letter-spacing:-.02em;
  color:var(--l-txt);
  border-bottom:2px solid #c9ccd0;padding-bottom:6px;transition:border-color .3s;
  display:inline-block;
}
.contact-box .c-mail:hover{border-color:var(--graphite)}
.c-info{display:flex;flex-direction:column;gap:8px;color:var(--l-mut);font-size:.92rem}
.c-info b{color:var(--l-txt)}

/* ============================================================
   FOOTER — završni kadar: duboki grafit + kromirani vodeni žig
   ============================================================ */
footer{
  border-top:1px solid rgba(255,255,255,.05);
  background:
    radial-gradient(80% 120% at calc(var(--lx)*100%) 0%,rgba(221,238,255,.035),transparent 55%),
    var(--graphite-deep);
  padding:64px 0 40px;position:relative;overflow:hidden;
}
footer::before{ /* veliki brend-žig u kromu, jedva vidljiv */
  content:"collagen";
  position:absolute;left:50%;bottom:-.28em;transform:translateX(-50%);
  font-size:clamp(6rem,22vw,17rem);font-weight:800;letter-spacing:-.05em;line-height:1;
  background:linear-gradient(180deg,rgba(201,204,208,.07),rgba(201,204,208,0) 78%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  pointer-events:none;user-select:none;white-space:nowrap;
}
footer .wrap{position:relative}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px}
.f-grid h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mut-2);margin-bottom:18px;font-weight:500}
.f-grid a,.f-grid p{display:block;color:var(--mut);font-size:.88rem;padding:4px 0;transition:color .2s}
.f-grid a:hover{color:#fff}
.f-legal{
  border-top:1px solid rgba(255,255,255,.06);padding-top:28px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  color:var(--mut-2);font-size:.78rem;
}
.f-imprint{color:var(--mut-2);font-size:.78rem;line-height:1.8;margin-top:14px}

/* ============================================================
   REVEAL — skriva samo uz aktivan JS
   ============================================================ */
html.js .rv{opacity:0;transform:translateY(28px);transition:opacity var(--d-rev) var(--e-out),transform var(--d-rev) var(--e-out)}
html.js .rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}

/* ============================================================
   CINEMATIC FX SLOJ
   ============================================================ */

/* filmsko zrno — ispod modala da živi pregledi ostanu čisti */
body::after{
  content:"";position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.038;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

/* traka napretka čitanja — nit tekućeg kroma */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:100%;z-index:190;
  transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--ice),#fff 45%,var(--violet));
  box-shadow:0 0 12px rgba(221,238,255,.45);
  opacity:.9;pointer-events:none;
}

/* filmska tranzicija stranica: grafitni zastor + srebrni prelet
   Zastor se NE diže automatski čim se doda u DOM — čeka JS klasu
   ".reveal" (stranica stvarno spremna) da ne bi otkrio nedovršen
   prikaz na sporijoj vezi/uređaju (izgledalo je kao bug). */
.page-veil{
  position:fixed;inset:0;z-index:700;background:var(--graphite-deep);
  opacity:1;pointer-events:none;overflow:hidden;
}
.page-veil::after{ /* uska srebrna refleksija koja prijeđe ekranom */
  content:"";position:absolute;top:-10%;bottom:-10%;width:34%;left:-50%;
  transform:skewX(-14deg);
  background:linear-gradient(90deg,transparent,rgba(233,236,239,.16) 45%,rgba(221,238,255,.22) 50%,rgba(233,236,239,.16) 55%,transparent);
}
@keyframes veilSweep{to{left:130%}}
@keyframes veilOut{to{opacity:0;visibility:hidden}}
.page-veil.reveal{animation:veilOut .75s cubic-bezier(.4,0,.2,1) forwards}
.page-veil.reveal::after,.page-veil.on::after{animation:veilSweep .85s var(--e-io) forwards}
.page-veil.on{animation:veilIn .4s cubic-bezier(.4,0,.2,1) forwards}
@keyframes veilIn{from{opacity:0;visibility:visible}to{opacity:1;visibility:visible}}

/* svjetlosna aura koja prati pokazivač */
.cursor-glow{
  position:fixed;left:0;top:0;width:380px;height:380px;border-radius:50%;
  pointer-events:none;z-index:4;mix-blend-mode:screen;opacity:0;
  background:radial-gradient(circle,rgba(221,238,255,.085),rgba(232,225,255,.04) 45%,transparent 65%);
  transition:opacity .5s;will-change:transform;
}
body.fx-on .cursor-glow{opacity:1}

/* ---------- kromirani pokazivač (samo fine pointer) ---------- */
body.cur-on,body.cur-on a,body.cur-on button{cursor:none}
body.cur-on .pf-modal,body.cur-on .pf-modal *{cursor:auto}
/* pokazivač koristi mix-blend-mode:difference — uvijek kontrastan,
   i na tamnoj i na svijetloj pozadini (bez toga se gubio na svijetlim
   sekcijama jer je bio fiksno svijetlo obojen) */
.cursor-dot{
  position:fixed;left:0;top:0;width:7px;height:7px;border-radius:50%;z-index:720;
  background:#fff;mix-blend-mode:difference;
  pointer-events:none;transform:translate(-50%,-50%);
  transition:opacity .25s,width .25s var(--e-out),height .25s var(--e-out);
}
.cursor-ring{
  position:fixed;left:0;top:0;width:34px;height:34px;border-radius:99px;z-index:719;
  border:1.5px solid #fff;mix-blend-mode:difference;
  pointer-events:none;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.55rem;letter-spacing:.18em;color:transparent;
  transition:width .3s var(--e-out),height .3s var(--e-out),border-color .3s,background .3s,color .3s,opacity .25s;
  will-change:transform;
}
body.cur-link .cursor-ring{width:52px;height:52px}
body.cur-link .cursor-dot{width:4px;height:4px}
body.cur-view .cursor-ring{
  width:66px;height:66px;color:#eef0f2;mix-blend-mode:normal;
  background:rgba(15,17,19,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border-color:rgba(233,236,239,.6);
}
body.cur-view .cursor-ring::after{content:"VIEW"}
body.cur-view .cursor-dot{opacity:0}
body.cur-down .cursor-ring{width:26px;height:26px}
body.cur-hide .cursor-ring,body.cur-hide .cursor-dot{opacity:0}

/* svjetlosni odsjaj koji prati miš po karticama */
.card,.plan,.post-card,.pf-card{--mx:50%;--my:50%}
.card::after,.plan::after,.post-card::after,.pf-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  opacity:0;transition:opacity .45s;z-index:1;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(233,242,252,.09),transparent 65%);
}
.card:hover::after,.plan:hover::after,.post-card:hover::after,.pf-card:hover::after{opacity:1}
/* na bijelim izlozima odsjaj je grafitno-srebrn, ne bijeli */
.plan:not(.hot)::after,.post-card::after,.pf-card::after{
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(120,132,148,.08),transparent 65%);
}

/* svjetlosni prelet preko naslova sekcija pri otkrivanju */
.sec-title{position:relative}
.sec-title.lit::after{
  content:"";position:absolute;inset:-12% -6%;pointer-events:none;
  background:linear-gradient(100deg,transparent 32%,rgba(240,245,252,.13) 50%,transparent 68%);
  transform:translateX(-130%) skewX(-12deg);
  animation:titleSweep 1.15s .1s var(--e-out) forwards;
}
.sec-alt .sec-title.lit::after{
  background:linear-gradient(100deg,transparent 32%,rgba(120,132,148,.14) 50%,transparent 68%);
}
@keyframes titleSweep{to{transform:translateX(130%) skewX(-12deg)}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1020px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .plan.hot{order:-1}
  .pf-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);gap:36px}
  .steps::before{display:none}
  .guarantee{grid-template-columns:1fr;gap:44px}
  .contact-box{grid-template-columns:1fr;gap:44px}
  .f-grid{grid-template-columns:1fr 1fr}
}

/* niski ekrani (mobitel u vodoravnom položaju) — hero bez praznog hoda */
@media(max-height:540px){
  .hero{min-height:auto;padding:130px 0 70px}
  .hero-stats{margin-top:44px}
}

@media(max-width:900px){
  /* — mobilni izbornik: dimljeno staklo preko cijelog ekrana — */
  .nav-links{
    position:fixed;inset:0;z-index:120;
    background:rgba(9,10,11,.9);
    backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2);
    flex-direction:column;align-items:flex-start;justify-content:center;
    padding:100px 32px 40px;gap:6px;
    opacity:0;visibility:hidden;transform:translateY(-4%);
    transition:opacity .4s var(--e-out),transform .45s var(--e-out),visibility 0s .45s;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--e-out),transform .45s var(--e-out)}
  .nav-links a{
    font-size:1.7rem;font-weight:800;letter-spacing:-.02em;color:var(--txt);
    padding:12px 0;width:100%;
    opacity:0;transform:translateY(18px);
    transition:opacity .45s var(--e-out),transform .45s var(--e-out),color .2s;
  }
  .nav-links.open a{opacity:1;transform:none}
  .nav-links.open a:nth-child(1){transition-delay:.06s}
  .nav-links.open a:nth-child(2){transition-delay:.1s}
  .nav-links.open a:nth-child(3){transition-delay:.14s}
  .nav-links.open a:nth-child(4){transition-delay:.18s}
  .nav-links.open a:nth-child(5){transition-delay:.22s}
  .nav-links.open a:nth-child(6){transition-delay:.26s}
  .nav-links.open a:nth-child(7){transition-delay:.3s}
  .nav-links a::after{display:none}
  .burger{display:flex}
  body.nav-open{overflow:hidden}
  body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .burger span:nth-child(2){opacity:0}
  body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

@media(max-width:720px){
  .grid-4,.grid-3,.grid-2,.pf-grid,.post-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .contact-box{gap:36px}
  .qf-grid{grid-template-columns:1fr}
  .quote-form{padding:28px 22px 26px}
  .hero-stats>div{padding-right:30px;margin-right:20px}
  .sec{padding:80px 0}
  .svc-table{min-width:560px}
  .svc-table td .sub{font-size:.78rem}
  .f-grid{grid-template-columns:1fr}
  .f-imprint{overflow-wrap:anywhere}
}

/* ============================================================
   PRISTUPAČNOST — poštuj želju za manje pokreta
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    transition-delay:0s !important;
  }
  html{scroll-behavior:auto}
  .page-veil,.cursor-glow,.cursor-dot,.cursor-ring,.hero-metal,.hero-dust{display:none}
  body.cur-on,body.cur-on a,body.cur-on button{cursor:auto}
  .hline-in{transform:none}
  html.js .rv{opacity:1;transform:none}
  html.js .hero .kicker,html.js .hero p.lead,html.js .hero .hero-cta,html.js .hero .hero-stats{opacity:1;transform:none}
  .marquee-track{animation:none}
}
