/* =========================================================
   TM ELEKTROINSTALACIJE d.o.o.
   Boje preuzete iz logotipa: crvena #CF202D, crna, bijela, siva
   ========================================================= */

:root{
  /* Brand */
  --red:        #CF202D;
  --red-600:    #B31A26;
  --red-400:    #E63946;
  --red-glow:   rgba(207,32,45,.35);

  /* Neutrals */
  --ink:        #0C0C10;
  --ink-2:      #131319;
  --ink-3:      #1B1B23;
  --line-dark:  rgba(255,255,255,.10);

  --paper:      #FFFFFF;
  --paper-2:    #F5F6F8;
  --paper-3:    #ECEEF1;
  --line:       #E1E4E9;

  --txt:        #16161C;
  --txt-2:      #55565F;
  --txt-3:      #83858F;
  --txt-inv:    #FFFFFF;
  --txt-inv-2:  rgba(255,255,255,.72);

  /* Type */
  --ff:      'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --ff-dis:  'Barlow Condensed', 'Inter', system-ui, sans-serif;

  /* Layout */
  --wrap:    1240px;
  --gut:     clamp(20px, 5vw, 40px);
  --r:       14px;
  --r-lg:    22px;

  --head-h:  76px;
  --top-h:   40px;

  --ease:    cubic-bezier(.22,.61,.36,1);
  --ease-io: cubic-bezier(.65,0,.35,1);

  --sh-1: 0 2px 8px rgba(12,12,16,.06), 0 12px 32px rgba(12,12,16,.06);
  --sh-2: 0 4px 14px rgba(12,12,16,.08), 0 24px 60px rgba(12,12,16,.10);
  --sh-red: 0 10px 30px rgba(207,32,45,.28);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--head-h) + 12px)}
body{
  margin:0; font-family:var(--ff); color:var(--txt); background:var(--paper);
  font-size:16.5px; line-height:1.7; letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img,svg,iframe{max-width:100%; display:block}
img{height:auto}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit}
h1,h2,h3,h4{margin:0; line-height:1.06; letter-spacing:-.03em; font-weight:800}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul{margin:0; padding:0; list-style:none}
address{font-style:normal}

::selection{background:var(--red); color:#fff}

:focus-visible{outline:3px solid var(--red-400); outline-offset:3px; border-radius:6px}

.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}

.skip-link{
  position:fixed; top:-100px; left:12px; z-index:2000;
  background:var(--red); color:#fff; padding:12px 20px; border-radius:0 0 10px 10px; font-weight:700;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:0}

.ic{width:1.1em; height:1.1em; flex:none; fill:currentColor}
.ic--lg{width:1.9em; height:1.9em}

/* ---------- Typography helpers ---------- */
.h2{
  font-size:clamp(2rem, 1.15rem + 3.4vw, 3.5rem);
  letter-spacing:-.035em; line-height:1.02; margin-bottom:.55em;
}
.h2--light{color:#fff}
.grad{
  background:linear-gradient(100deg,var(--red-400) 0%, var(--red) 45%, #FF6B75 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:.75rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--red); margin:0 0 18px;
}
.eyebrow--light{color:#fff}
.eyebrow__dot{
  width:7px; height:7px; background:var(--red); transform:rotate(45deg); flex:none;
  box-shadow:0 0 0 4px var(--red-glow);
}
.eyebrow--light .eyebrow__dot{background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.25)}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  --bh:48px;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:var(--bh); padding:0 24px; border:1.5px solid transparent; border-radius:100px;
  font-weight:700; font-size:.94rem; letter-spacing:-.01em; cursor:pointer;
  background:none; text-align:center; position:relative; overflow:hidden;
  transition:transform .3s var(--ease), background-color .25s, color .25s, border-color .25s, box-shadow .3s;
}
.btn .ic{transition:transform .3s var(--ease)}
.btn:hover .ic{transform:translateX(4px)}
.btn--lg{--bh:56px; padding:0 30px; font-size:1rem}
.btn--sm{--bh:40px; padding:0 18px; font-size:.85rem}
.btn--block{width:100%}

.btn--primary{background:var(--red); color:#fff; box-shadow:var(--sh-red)}
.btn--primary:hover{background:var(--red-600); transform:translateY(-2px); box-shadow:0 14px 36px rgba(207,32,45,.36)}
.btn--primary:active{transform:translateY(0)}

.btn--outline{border-color:var(--line); background:var(--paper); color:var(--txt)}
.btn--outline:hover{border-color:var(--red); color:var(--red); transform:translateY(-2px)}

.btn--ghost{color:var(--txt-2)}
.btn--ghost:hover{color:var(--red)}

/* on dark */
.hero .btn--outline, .solar .btn--outline{
  background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.28); color:#fff;
  backdrop-filter:blur(8px);
}
.hero .btn--outline:hover, .solar .btn--outline:hover{background:rgba(255,255,255,.14); border-color:#fff; color:#fff}

.linklike{background:none; border:0; padding:0; cursor:pointer; text-align:left}

/* =========================================================
   TOP BAR + HEADER
   ========================================================= */
.topbar{
  background:var(--ink); color:var(--txt-inv-2); font-size:.82rem;
  height:var(--top-h); display:flex; align-items:center;
  position:fixed; inset:0 0 auto 0; z-index:900;
  transition:transform .4s var(--ease), opacity .3s;
}
.topbar__in{display:flex; align-items:center; gap:26px; justify-content:flex-end}
.topbar__item{display:inline-flex; align-items:center; gap:8px; transition:color .2s; white-space:nowrap}
.topbar__item:hover{color:#fff}
.topbar__item .ic{color:var(--red-400)}

.header{
  position:fixed; inset:var(--top-h) 0 auto 0; z-index:950;
  height:var(--head-h); display:flex; align-items:center;
  background:rgba(255,255,255,.82); backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid var(--line);
  transition:transform .4s var(--ease), box-shadow .3s, height .3s var(--ease), background-color .3s;
}
.header__in{display:flex; align-items:center; gap:24px}

.brand{flex:none; display:block; line-height:0; transition:transform .3s var(--ease)}
.brand img{width:clamp(190px, 22vw, 300px); height:auto}
.brand:hover{transform:scale(1.02)}

/* scrolled state */
body.is-scrolled .topbar{transform:translateY(-100%); opacity:0}
body.is-scrolled .header{inset-block-start:0; height:66px; box-shadow:0 6px 30px rgba(12,12,16,.08); background:rgba(255,255,255,.93)}

/* --- Desktop nav --- */
.nav{margin-left:auto; display:flex; align-items:center; gap:20px}
.nav__brand{display:none}
.nav__list{display:flex; align-items:center; gap:4px}
.nav__link{
  position:relative; display:block; padding:10px 14px; border-radius:100px;
  font-weight:600; font-size:.93rem; color:var(--txt-2); white-space:nowrap;
  transition:color .25s, background-color .25s;
}
.nav__link::after{
  content:''; position:absolute; left:14px; right:14px; bottom:5px; height:2px;
  background:var(--red); border-radius:2px; transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav__link:hover{color:var(--txt)}
.nav__link:hover::after, .nav__link.is-active::after{transform:scaleX(1)}
.nav__link.is-active{color:var(--red)}
.nav__cta{display:none}

.header__cta{flex:none}

/* --- Burger (desno) --- */
.burger{
  display:none; margin-left:auto; width:52px; height:52px; border:0; background:transparent;
  cursor:pointer; padding:0; place-items:center; position:relative; z-index:1002;
  border-radius:14px; transition:background-color .25s;
}
.burger:hover{background:var(--paper-2)}
.burger__box{position:relative; display:block; width:26px; height:18px}
.burger__line{
  position:absolute; left:0; width:100%; height:2.5px; border-radius:3px;
  background:var(--txt);
  transition:transform .45s var(--ease-io), opacity .25s var(--ease-io),
             width .45s var(--ease-io), background-color .3s;
}
.burger__line:nth-child(1){top:0}
.burger__line:nth-child(2){top:50%; margin-top:-1.25px; width:70%}
.burger__line:nth-child(3){bottom:0; width:85%}
.burger:hover .burger__line{width:100%}

body.nav-open .burger__line{background:#fff; width:100%}
body.nav-open .burger__line:nth-child(1){transform:translateY(7.75px) rotate(45deg)}
body.nav-open .burger__line:nth-child(2){opacity:0; transform:scaleX(0)}
body.nav-open .burger__line:nth-child(3){transform:translateY(-7.75px) rotate(-45deg)}
body.nav-open .burger:hover{background:rgba(255,255,255,.12)}

.nav-backdrop{
  position:fixed; inset:0; z-index:940; background:rgba(12,12,16,.5);
  backdrop-filter:blur(4px); opacity:0; transition:opacity .4s var(--ease);
}
body.nav-open .nav-backdrop{opacity:1}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding:calc(var(--head-h) + var(--top-h) + 60px) 0 90px; overflow:hidden;
  background:var(--ink); color:#fff; isolation:isolate;
}
.hero__media{position:absolute; inset:0; z-index:-2}
.hero__media img{width:100%; height:100%; object-fit:cover; object-position:60% center;
  animation:heroZoom 22s var(--ease) forwards}
@keyframes heroZoom{from{transform:scale(1.1)} to{transform:scale(1)}}
.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(12,12,16,.97) 0%, rgba(12,12,16,.92) 40%, rgba(12,12,16,.68) 66%, rgba(12,12,16,.52) 100%),
    linear-gradient(180deg, rgba(12,12,16,.55) 0%, transparent 30%, rgba(12,12,16,.45) 100%),
    radial-gradient(120% 90% at 8% 30%, rgba(207,32,45,.30) 0%, transparent 58%);
}
.hero__grid{
  position:absolute; inset:0; opacity:.35;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:78px 78px;
  mask-image:radial-gradient(90% 80% at 20% 45%, #000 0%, transparent 75%);
  -webkit-mask-image:radial-gradient(90% 80% at 20% 45%, #000 0%, transparent 75%);
}
.hero__in{position:relative; z-index:1; max-width:900px}
.hero__title{
  font-size:clamp(2.35rem, 1.1rem + 4.9vw, 4.55rem);
  line-height:1.03; letter-spacing:-.038em; margin-bottom:24px; color:#fff;
  text-wrap:balance;
}
.hero__lead{
  font-size:clamp(1.02rem,.95rem + .38vw,1.28rem); color:var(--txt-inv-2);
  max-width:64ch; margin-bottom:36px;
}
.hero__lead strong{color:#fff}
.hero__actions{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:64px}

.hero__stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;
  border-top:1px solid rgba(255,255,255,.14); padding-top:30px; max-width:820px;
}
.hero__stats li{display:flex; flex-direction:column; gap:2px; align-items:center; text-align:center}
.hero__stats b{
  font-family:var(--ff-dis); font-size:clamp(2.1rem,1.1rem + 3vw,3.4rem); font-weight:700;
  line-height:1; letter-spacing:-.01em; color:#fff;
}
.hero__stats span{font-size:.8rem; color:var(--txt-inv-2); letter-spacing:.02em}

.hero__scroll{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:2;
  width:26px; height:42px; border:2px solid rgba(255,255,255,.35); border-radius:20px;
  display:grid; place-items:start center; padding-top:7px; transition:border-color .3s;
}
.hero__scroll:hover{border-color:#fff}
.hero__scroll span{width:3px; height:8px; border-radius:3px; background:#fff; animation:scrollDot 1.8s var(--ease-io) infinite}
@keyframes scrollDot{0%{opacity:0;transform:translateY(0)} 30%{opacity:1} 70%{opacity:1;transform:translateY(14px)} 100%{opacity:0;transform:translateY(16px)}}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{
  background:var(--red); color:#fff; overflow:hidden; padding:15px 0;
  position:relative; z-index:2;
}
.marquee__track{
  display:flex; align-items:center; gap:0; width:max-content;
  animation:marq 34s linear infinite;
}
.marquee__track span{
  font-family:var(--ff-dis); font-size:1.35rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; padding:0 26px; white-space:nowrap;
}
.marquee__track i{width:8px; height:8px; background:#fff; transform:rotate(45deg); flex:none; opacity:.8}
@keyframes marq{to{transform:translateX(-50%)}}

/* =========================================================
   SECTIONS
   ========================================================= */
.section{padding:clamp(72px, 8vw, 130px) 0; position:relative}
.section--alt{background:var(--paper-2)}

.sec-head{max-width:760px; margin-bottom:clamp(40px,5vw,64px)}
.sec-head--center{margin-inline:auto; text-align:center}
.sec-head--center .eyebrow{justify-content:center}
.sec-head__lead{font-size:1.06rem; color:var(--txt-2); max-width:62ch}
.sec-head--center .sec-head__lead{margin-inline:auto}

.grid-2{display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(36px,5vw,76px); align-items:center}

/* ---------- O nama ---------- */
.about__visual{position:relative}
.about__imgwrap{
  position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2);
  aspect-ratio:4/5;
}
.about__imgwrap::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(12,12,16,.35) 100%);
}
.about__imgwrap img{width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease)}
.about__visual:hover .about__imgwrap img{transform:scale(1.04)}
.about__badge{
  position:absolute; right:-14px; bottom:34px; background:var(--red); color:#fff;
  padding:20px 26px; border-radius:var(--r); box-shadow:var(--sh-red); text-align:center;
}
.about__badge b{display:block; font-family:var(--ff-dis); font-size:2.5rem; line-height:1; font-weight:700}
.about__badge span{font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; opacity:.9}

.about__text p{color:var(--txt-2)}
.about__text strong{color:var(--txt); font-weight:700}
.about__text .btn{margin-top:8px}

.callout{
  display:flex; gap:18px; align-items:flex-start;
  background:var(--paper-2); border-left:3px solid var(--red);
  padding:22px 24px; border-radius:0 var(--r) var(--r) 0; margin:0 0 22px;
}
.callout .ic{color:var(--red); margin-top:2px}
.callout p{margin:0; font-size:.96rem}

/* ---------- Citat ---------- */
.quote{background:var(--ink); color:#fff; padding:clamp(60px,7vw,100px) 0; position:relative; overflow:hidden}
.quote::before{
  content:''; position:absolute; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(207,32,45,.28) 0%, transparent 68%);
  top:-40%; right:-8%;
}
.quote__in{max-width:900px; margin-inline:auto; text-align:center; position:relative}
.quote__mark{width:46px; height:46px; fill:var(--red); margin:0 auto 22px}
.quote blockquote{
  margin:0 0 22px; font-size:clamp(1.2rem,.9rem + 1.5vw,2rem); line-height:1.42;
  font-weight:600; letter-spacing:-.025em; text-wrap:balance;
}
.quote cite{font-style:normal; font-weight:700; color:var(--red-400); font-size:.98rem}
.quote cite span{color:var(--txt-inv-2); font-weight:500}

/* ---------- Djelatnosti ---------- */
.svc{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px}
.svc__card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:32px 30px 34px; position:relative; overflow:hidden;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .35s;
}
.svc__card::before{
  content:''; position:absolute; inset:0 0 auto 0; height:3px; background:var(--red);
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.svc__card:hover{transform:translateY(-8px); box-shadow:var(--sh-2); border-color:transparent}
.svc__card:hover::before{transform:scaleX(1)}

.svc__top{display:flex; align-items:center; gap:16px; margin-bottom:16px}
.svc__icon{
  width:60px; height:60px; object-fit:contain; flex:none;
  transition:transform .5s var(--ease);
}
.svc__card:hover .svc__icon{transform:scale(1.22)}
.svc__top h3{font-size:1.32rem; letter-spacing:-.03em}
.svc__desc{color:var(--txt-2); font-size:.95rem; margin-bottom:18px}
.svc__list{border-top:1px solid var(--line); padding-top:16px; display:grid; gap:9px}
.svc__list li{
  position:relative; padding-left:22px; font-size:.9rem; color:var(--txt-2); line-height:1.5;
}
.svc__list li::before{
  content:''; position:absolute; left:0; top:.55em; width:7px; height:7px;
  background:var(--red); transform:rotate(45deg);
}

.svc__card--cta{
  background:linear-gradient(150deg, var(--ink) 0%, var(--ink-3) 100%); color:#fff;
  border-color:transparent; display:flex; flex-direction:column; justify-content:center; gap:16px;
}
.svc__card--cta::before{display:none}
.svc__card--cta h3{font-size:1.5rem; color:#fff}
.svc__card--cta p{color:var(--txt-inv-2); font-size:.95rem; margin:0}
.svc__card--cta .btn{align-self:flex-start}
.svc__phone{
  display:inline-flex; align-items:center; gap:9px; font-weight:700; color:#fff;
  font-size:1.05rem; transition:color .25s;
}
.svc__phone:hover{color:var(--red-400)}
.svc__phone .ic{color:var(--red-400)}

/* ---------- Solar banner ---------- */
.solar{position:relative; padding:clamp(80px,9vw,140px) 0; color:#fff; overflow:hidden; isolation:isolate}
.solar__media{position:absolute; inset:0; z-index:-1}
.solar__media img{width:100%; height:100%; object-fit:cover}
.solar__scrim{
  position:absolute; inset:0;
  background:linear-gradient(95deg, rgba(12,12,16,.94) 0%, rgba(12,12,16,.82) 45%, rgba(12,12,16,.35) 100%);
}
.solar__text{max-width:640px}
.solar__text p{color:var(--txt-inv-2); font-size:1.06rem; margin-bottom:30px}

/* ---------- Reference ---------- */
.refs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
.ref{
  margin:0; position:relative; border-radius:var(--r-lg); overflow:hidden; cursor:pointer;
  aspect-ratio:4/3; background:var(--ink-2); box-shadow:var(--sh-1);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.ref[hidden]{display:none}
.ref img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease), filter .5s}
.ref::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(12,12,16,.85) 100%);
  transition:opacity .4s;
}
.ref figcaption{
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 24px; color:#fff;
  display:flex; flex-direction:column; gap:2px;
  transform:translateY(6px); transition:transform .45s var(--ease);
}
.ref figcaption b{font-size:1.03rem; font-weight:700; letter-spacing:-.02em; line-height:1.25}
.ref figcaption span{font-size:.82rem; color:var(--txt-inv-2)}
.ref:hover{transform:translateY(-6px); box-shadow:var(--sh-2)}
.ref:hover img{transform:scale(1.08)}
.ref:hover figcaption{transform:translateY(0)}

.refs__more{display:flex; justify-content:center; margin-top:36px}
#refsMore .ic{transition:transform .35s var(--ease)}
#refsMore[aria-expanded="true"] .ic{transform:rotate(45deg)}

.reflist{margin-top:clamp(48px,6vw,72px); border-top:1px solid var(--line); padding-top:36px}
.reflist__title{
  font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--txt-3);
  font-weight:700; margin-bottom:20px;
}
.reflist__ul{columns:3; column-gap:34px}
.reflist__ul li{
  break-inside:avoid; padding:9px 0 9px 22px; position:relative;
  font-size:.92rem; color:var(--txt-2); border-bottom:1px solid var(--line);
}
.reflist__ul li::before{
  content:''; position:absolute; left:0; top:1.15em; width:6px; height:6px;
  background:var(--red); transform:rotate(45deg);
}

/* ---------- Certifikati ---------- */
.certs{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px}
.cert{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:28px 18px; display:flex; flex-direction:column; align-items:center; gap:14px;
  text-align:center; transition:transform .4s var(--ease), box-shadow .4s, border-color .3s;
}
.cert:hover{transform:translateY(-6px); box-shadow:var(--sh-1); border-color:var(--red)}
.cert img{height:58px; width:auto; object-fit:contain; filter:grayscale(1) contrast(1.15); opacity:.62;
  transition:filter .4s, opacity .4s, transform .4s var(--ease)}
.cert:hover img{filter:none; opacity:1; transform:scale(1.06)}
.cert span{font-size:.83rem; font-weight:600; color:var(--txt-2); line-height:1.35}

/* Certifikat s pripadajucim dokumentom (PDF) — cijela kartica je poveznica */
.cert__link{display:flex; flex-direction:column; align-items:center; gap:14px; text-decoration:none; color:inherit}
.cert--doc:hover span{color:var(--red)}
.cert--doc span::after{content:" ↗"; font-weight:700; color:var(--red); opacity:0; transition:opacity .3s}
.cert--doc:hover span::after{opacity:1}

.partners{margin-top:clamp(46px,5vw,70px); text-align:center; border-top:1px solid var(--line); padding-top:38px}
.partners__label{
  font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--txt-3);
  font-weight:700; margin-bottom:24px;
}
.partners__list{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(28px,5vw,64px)}
.partners__list li{width:136px; height:56px}
.partners__list img{
  width:100%; height:100%; object-fit:contain;
  filter:grayscale(1); opacity:.55;
  transition:filter .4s, opacity .4s, transform .4s var(--ease);
}
.partners__list img:hover{filter:none; opacity:1; transform:scale(1.06)}

/* ---------- Kontakt ---------- */
.contact{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(30px,4vw,56px); align-items:start}

.contact__info{display:grid; gap:12px}
.cinfo{
  display:flex; gap:16px; align-items:flex-start; padding:20px 22px;
  border:1px solid var(--line); border-radius:var(--r); background:var(--paper);
  transition:transform .35s var(--ease), border-color .3s, box-shadow .35s;
}
.cinfo:hover{transform:translateX(5px); border-color:var(--red); box-shadow:var(--sh-1)}
.cinfo__ic{
  width:44px; height:44px; flex:none; display:grid; place-items:center; border-radius:12px;
  background:var(--red); color:#fff; box-shadow:0 6px 16px var(--red-glow);
}
.cinfo__ic .ic{width:1.25em; height:1.25em}
.cinfo__tx{font-size:.95rem; color:var(--txt-2); line-height:1.5}
.cinfo__tx b{display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--txt-3); margin-bottom:4px; font-weight:700}
.cinfo__tx small{font-size:.85rem; color:var(--txt-3)}

.hours{
  background:var(--ink); color:#fff; border-radius:var(--r); padding:22px 24px; margin-top:6px;
}
.hours b{display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--red-400); margin-bottom:8px}
.hours p{margin:0; font-size:.95rem; color:var(--txt-inv-2)}

/* ---------- Form ---------- */
.form{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(26px,3.5vw,40px); box-shadow:var(--sh-1);
}
.section--alt .form{background:var(--paper)}
.form__row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.field{margin-bottom:16px; display:flex; flex-direction:column; gap:7px}
.field label{font-size:.82rem; font-weight:700; color:var(--txt); letter-spacing:-.01em}
.field label span{color:var(--red)}
.field input, .field select, .field textarea{
  font:inherit; font-size:.95rem; color:var(--txt);
  padding:13px 16px; border:1.5px solid var(--line); border-radius:11px;
  background:var(--paper-2); width:100%; transition:border-color .25s, background-color .25s, box-shadow .25s;
}
.field textarea{resize:vertical; min-height:128px}
.field select{appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2383858F'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:20px; padding-right:40px}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:0; border-color:var(--red); background:var(--paper); box-shadow:0 0 0 4px var(--red-glow)
}
.field input::placeholder, .field textarea::placeholder{color:var(--txt-3)}
.field.has-error input, .field.has-error select, .field.has-error textarea{border-color:var(--red); background:rgba(207,32,45,.04)}

.check{display:flex; gap:12px; align-items:flex-start; margin:6px 0 20px; cursor:pointer; font-size:.87rem; color:var(--txt-2); line-height:1.55}
.check input{
  appearance:none; width:20px; height:20px; flex:none; margin-top:1px; cursor:pointer;
  border:1.5px solid var(--line); border-radius:6px; background:var(--paper-2);
  transition:background-color .2s, border-color .2s;
}
.check input:checked{background:var(--red); border-color:var(--red);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
  background-size:15px; background-position:center; background-repeat:no-repeat}
.check.has-error input{border-color:var(--red); box-shadow:0 0 0 3px var(--red-glow)}
.check a{color:var(--red); font-weight:600; text-decoration:underline; text-underline-offset:2px}

.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

.form__msg{margin:16px 0 0; font-size:.9rem; font-weight:600; display:none}
.form__msg.is-ok{display:block; color:#15803D}
.form__msg.is-err{display:block; color:var(--red)}
.form__note{margin:16px 0 0; font-size:.79rem; color:var(--txt-3); line-height:1.55}
.form__note span{color:var(--red)}

.map{margin-top:clamp(40px,5vw,64px); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-1); border:1px solid var(--line)}
.map iframe{width:100%; height:min(58vw,420px); border:0; display:block; filter:grayscale(.25)}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--ink); color:var(--txt-inv-2); padding-top:clamp(56px,6vw,86px)}
.footer__top{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:clamp(28px,4vw,52px);
  padding-bottom:52px; border-bottom:1px solid var(--line-dark);
}
.footer__brand img{width:250px; margin-bottom:20px}
.footer__brand p{font-size:.92rem; max-width:34ch; margin-bottom:20px}
.footer__soc{
  width:42px; height:42px; display:grid; place-items:center; border-radius:12px;
  border:1px solid var(--line-dark); color:#fff; transition:background-color .3s, border-color .3s, transform .3s var(--ease);
}
.footer__soc:hover{background:var(--red); border-color:var(--red); transform:translateY(-3px)}

.footer__col h4{
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:#fff;
  margin-bottom:18px; font-weight:700;
}
.footer__col ul li{margin-bottom:3px}
.footer__col a, .linklike{font-size:.9rem; color:var(--txt-inv-2); transition:color .25s, padding-left .25s}
.footer__col a:hover, .footer__col .linklike:hover{color:var(--red-400); padding-left:5px}
.footer__col address{font-size:.88rem; line-height:1.6; margin-bottom:0}
.footer__col address strong{color:#fff}
.footer__col address a{padding:0}

.footer__bottom{
  padding:20px 0 24px; display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:10px 28px;
}
.footer__bottom p{font-size:.83rem; color:var(--txt-3); margin:0}
.footer__bottom p a{color:var(--red-400); font-weight:600; transition:color .25s}
.footer__bottom p a:hover{color:#fff}
.footer__bottomnav{display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px}
.footer__bottomnav a, .footer__bottomnav .linklike{
  font-size:.83rem; color:var(--txt-3); transition:color .25s;
}
.footer__bottomnav a:hover, .footer__bottomnav .linklike:hover{color:var(--red-400)}

/* ---------- To top ---------- */
.totop{
  position:fixed; right:20px; bottom:20px; z-index:800;
  width:48px; height:48px; display:grid; place-items:center; border-radius:14px;
  background:var(--red); color:#fff; box-shadow:var(--sh-red);
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:opacity .35s, transform .35s var(--ease), visibility .35s, background-color .25s;
}
.totop.is-on{opacity:1; visibility:visible; transform:translateY(0)}
.totop:hover{background:var(--red-600); transform:translateY(-3px)}

/* =========================================================
   COOKIE BANNER
   ========================================================= */
.cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:1500;
  padding:16px; display:flex; justify-content:center;
  animation:ckUp .55s var(--ease) both;
}
.cookie[hidden]{display:none}
@keyframes ckUp{from{opacity:0; transform:translateY(24px)} to{opacity:1; transform:translateY(0)}}
.cookie__card{
  width:100%; max-width:1000px; background:var(--paper);
  border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:0 -6px 20px rgba(12,12,16,.08), 0 24px 70px rgba(12,12,16,.22);
  padding:24px 26px; display:grid; gap:18px;
  max-height:calc(100svh - 32px); overflow-y:auto;
}
.cookie__main h2{font-size:1.12rem; margin-bottom:8px; letter-spacing:-.025em}
.cookie__main p{font-size:.87rem; color:var(--txt-2); line-height:1.6; margin:0}
.cookie__main a{color:var(--red); font-weight:600; text-decoration:underline; text-underline-offset:2px}

.cookie__prefs{display:grid; gap:10px; border-top:1px solid var(--line); padding-top:18px; animation:ckFade .4s var(--ease) both}
.cookie__prefs[hidden]{display:none}
@keyframes ckFade{from{opacity:0; transform:translateY(-8px)} to{opacity:1; transform:none}}
.cookie__opt{display:flex; align-items:flex-start; gap:14px; cursor:pointer; padding:12px 14px; border:1px solid var(--line); border-radius:12px; transition:border-color .25s, background-color .25s}
.cookie__opt:hover{border-color:var(--red); background:var(--paper-2)}
.cookie__opt input{position:absolute; opacity:0; pointer-events:none}
.cookie__sw{
  width:42px; height:24px; flex:none; border-radius:20px; background:var(--paper-3);
  border:1px solid var(--line); position:relative; transition:background-color .3s, border-color .3s; margin-top:2px;
}
.cookie__sw::after{
  content:''; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform .3s var(--ease);
}
.cookie__opt input:checked + .cookie__sw{background:var(--red); border-color:var(--red)}
.cookie__opt input:checked + .cookie__sw::after{transform:translateX(18px)}
.cookie__opt input:disabled + .cookie__sw{background:var(--txt-3); border-color:var(--txt-3); opacity:.65}
.cookie__opt input:focus-visible + .cookie__sw{outline:3px solid var(--red-400); outline-offset:3px}
.cookie__lbl b{display:block; font-size:.9rem; margin-bottom:2px}
.cookie__lbl small{font-size:.8rem; color:var(--txt-2); line-height:1.5; display:block}

.cookie__actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center}
.cookie__actions .btn{--bh:44px}
.cookie__actions #ckToggle{margin-left:auto}

/* =========================================================
   LIGHTBOX
   ========================================================= */
.lb{
  position:fixed; inset:0; z-index:1600; background:rgba(8,8,11,.94);
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:20px;
  animation:ckFade .3s var(--ease) both; backdrop-filter:blur(6px);
}
.lb[hidden]{display:none}
.lb__fig{margin:0; display:grid; place-items:center; gap:14px; max-height:88svh}
.lb__fig img{max-width:100%; max-height:78svh; object-fit:contain; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb__fig figcaption{color:#fff; font-size:.92rem; font-weight:600; text-align:center}
.lb__close{
  position:absolute; top:16px; right:18px; width:46px; height:46px; border:0; border-radius:50%;
  background:rgba(255,255,255,.1); color:#fff; font-size:1.9rem; line-height:1; cursor:pointer;
  transition:background-color .25s, transform .25s;
}
.lb__close:hover{background:var(--red); transform:rotate(90deg)}
.lb__nav{
  width:52px; height:52px; border:0; border-radius:50%; background:rgba(255,255,255,.1);
  color:#fff; font-size:2rem; line-height:1; cursor:pointer; transition:background-color .25s, transform .25s;
}
.lb__nav:hover{background:var(--red); transform:scale(1.08)}

/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
.reveal[data-d="5"]{transition-delay:.40s}
.reveal[data-d="6"]{transition-delay:.48s}
.reveal.is-in{opacity:1; transform:none}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1240px){
  .header__cta{display:none}
  .nav__link{padding:10px 11px; font-size:.9rem}
  .brand img{width:clamp(180px, 19vw, 260px)}
}

@media (max-width:1120px){
  .svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .certs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer__top{grid-template-columns:1fr 1fr; gap:38px}
  .footer__brand{grid-column:1/-1}
  .reflist__ul{columns:2}
}

@media (max-width:980px){
  :root{--head-h:70px}

  .topbar__item--addr{display:none}
  .header__cta{display:none}

  /* --- Burger + fullscreen izbornik --- */
  .burger{display:grid}

  /* Bez backdrop-filtera na headeru: inače header postaje containing block
     za position:fixed izbornik i panel se obreže na visinu headera. */
  .header{backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(255,255,255,.96)}
  body.is-scrolled .header{background:rgba(255,255,255,.98)}

  /* dok je izbornik otvoren, traka postaje prozirna da logo sjedi na zatamnjenju */
  body.nav-open .header,
  body.nav-open.is-scrolled .header{
    background:transparent; border-bottom-color:transparent; box-shadow:none;
  }

  .nav{
    position:fixed; inset:0 0 0 auto; width:min(400px,88vw); z-index:1001;
    margin:0; flex-direction:column; align-items:stretch; justify-content:center; gap:0;
    background:linear-gradient(160deg, var(--ink) 0%, var(--ink-3) 100%);
    padding:100px 34px 40px;
    transform:translateX(100%);
    transition:transform .6s var(--ease-io), visibility .6s;
    visibility:hidden; overflow-y:auto;
    box-shadow:-20px 0 60px rgba(0,0,0,.4);
  }
  .nav::before{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background:radial-gradient(70% 45% at 100% 0%, rgba(207,32,45,.32) 0%, transparent 65%);
  }
  body.nav-open .nav{transform:translateX(0); visibility:visible}

  .nav__brand{
    display:block; position:absolute; top:30px; left:34px;
    opacity:0; transform:translateX(38px);
    transition:opacity .5s var(--ease) .1s, transform .6s var(--ease) .1s;
  }
  .nav__brand img{width:min(258px, calc(88vw - 110px)); height:auto}
  body.nav-open .nav__brand{opacity:1; transform:translateX(0)}

  .nav__list{flex-direction:column; align-items:stretch; gap:2px; position:relative}
  .nav__list li{
    opacity:0; transform:translateX(38px);
    transition:opacity .5s var(--ease), transform .6s var(--ease);
  }
  body.nav-open .nav__list li{opacity:1; transform:translateX(0)}
  body.nav-open .nav__list li:nth-child(1){transition-delay:.14s}
  body.nav-open .nav__list li:nth-child(2){transition-delay:.20s}
  body.nav-open .nav__list li:nth-child(3){transition-delay:.26s}
  body.nav-open .nav__list li:nth-child(4){transition-delay:.32s}
  body.nav-open .nav__list li:nth-child(5){transition-delay:.38s}
  body.nav-open .nav__list li:nth-child(6){transition-delay:.44s}

  .nav__link{
    padding:12px 4px; font-family:var(--ff-dis); font-size:1.45rem; font-weight:700;
    letter-spacing:.01em; text-transform:uppercase; color:#fff; border-radius:0;
    border-bottom:1px solid var(--line-dark);
  }
  .nav__link::after{left:4px; right:auto; bottom:8px; width:0; height:2px; transform:none; transition:width .35s var(--ease)}
  .nav__link:hover, .nav__link.is-active{color:var(--red-400)}
  .nav__link:hover::after, .nav__link.is-active::after{width:34px; transform:none}

  .nav__cta{
    display:block; margin-top:32px; position:relative;
    opacity:0; transform:translateX(38px); transition:opacity .5s var(--ease) .5s, transform .6s var(--ease) .5s;
  }
  body.nav-open .nav__cta{opacity:1; transform:translateX(0)}
  .nav__cta .btn{
    width:100%; --bh:54px; background:var(--red); color:#fff; border:0; font-size:1rem;
    box-shadow:var(--sh-red);
  }
  .nav__cta .btn:hover{background:var(--red-600); color:#fff}

  /* --- Layout --- */
  .grid-2{grid-template-columns:1fr; gap:44px}
  .about__visual{max-width:520px}
  .contact{grid-template-columns:1fr}
  .refs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reflist__ul{columns:2}
  .hero__stats{grid-template-columns:repeat(2,1fr); gap:24px 8px}
}

@media (max-width:680px){
  body{font-size:16px}
  :root{--r-lg:18px}

  .topbar{font-size:.78rem}
  .topbar__in{justify-content:center; gap:18px}

  .hero{min-height:auto; padding:calc(var(--head-h) + var(--top-h) + 48px) 0 72px}
  .hero__actions{gap:10px}
  .hero__actions .btn{flex:1 1 100%}
  .hero__scroll{display:none}

  .marquee__track span{font-size:1.1rem; padding:0 18px}

  .svc{grid-template-columns:1fr; gap:16px}
  .svc__card{padding:26px 22px 28px}

  .refs{grid-template-columns:1fr; gap:14px}
  .ref{aspect-ratio:16/11}
  .ref figcaption{transform:none}

  .reflist__ul{columns:1}

  .certs{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
  .cert:last-child:nth-child(odd){grid-column:1 / -1; justify-self:center; width:calc(50% - 6px)}
  .cert{padding:22px 12px}
  .cert img{height:52px}
  .partners__list img{height:34px}

  .form__row{grid-template-columns:1fr; gap:0}
  .about__badge{right:14px; bottom:14px; padding:16px 20px}
  .about__badge b{font-size:2rem}

  .footer__top{grid-template-columns:1fr; gap:28px; padding-bottom:34px}
  .footer__brand img{width:210px}
  .footer__bottom{
    justify-content:center; text-align:center;
    padding-inline:8px; row-gap:14px;
    padding-bottom:calc(26px + env(safe-area-inset-bottom));
  }
  .footer__bottom p{line-height:1.7}
  .footer__bottomnav{justify-content:center; gap:8px 18px; padding-inline:8px}
  .footer__by{display:block; margin-top:4px}

  .cookie{padding:10px}
  .cookie__card{padding:20px 18px; border-radius:18px}
  .cookie__actions{flex-direction:column; align-items:stretch}
  .cookie__actions .btn{width:100%}
  .cookie__actions #ckToggle{margin-left:0; order:3}

  .lb{grid-template-columns:1fr; gap:0; padding:12px}
  .lb__nav{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px}
  .lb__nav--prev{left:10px}
  .lb__nav--next{right:10px}
  .lb__nav:hover{transform:translateY(-50%) scale(1.06)}

  .totop{right:calc(16px + env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); width:44px; height:44px}
}

@media (max-width:400px){
  .topbar__in{gap:12px}
  .brand img{width:170px}
  .nav__link{font-size:1.3rem}
}

/* ---------- Print & reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important}
  .reveal{opacity:1; transform:none}
}

@media print{
  .topbar,.header,.burger,.cookie,.totop,.lb,.hero__scroll,.marquee,.map{display:none !important}
  body{color:#000; background:#fff}
  .section{padding:20px 0}
}

/* =========================================================
   PRAVNE STRANICE (politike i uvjeti)
   ========================================================= */
.legal-hero{
  background:linear-gradient(150deg, var(--ink) 0%, var(--ink-3) 100%);
  color:#fff; padding:calc(var(--head-h) + var(--top-h) + 70px) 0 60px;
  position:relative; overflow:hidden;
}
.legal-hero::before{
  content:''; position:absolute; width:640px; height:640px; border-radius:50%;
  background:radial-gradient(circle, rgba(207,32,45,.30) 0%, transparent 68%);
  top:-55%; right:-6%; pointer-events:none;
}
.legal-hero__in{position:relative; max-width:820px}
.legal-hero h1{
  font-size:clamp(2rem,1.2rem + 3vw,3.4rem); letter-spacing:-.035em; color:#fff; margin-bottom:14px;
}
.legal-hero p{color:var(--txt-inv-2); font-size:1.02rem; margin:0}
.legal-hero .crumbs{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-size:.82rem; color:var(--txt-inv-2); margin-bottom:22px;
}
.legal-hero .crumbs a{color:#fff; transition:color .25s}
.legal-hero .crumbs a:hover{color:var(--red-400)}
.legal-hero .crumbs span{opacity:.5}

.legal{padding:clamp(50px,6vw,86px) 0 clamp(60px,7vw,100px)}
.legal__grid{display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(30px,5vw,64px); align-items:start}

.legal__toc{
  position:sticky; top:calc(var(--head-h) + 20px);
  border:1px solid var(--line); border-radius:var(--r); padding:22px 20px; background:var(--paper-2);
}
.legal__toc h2{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--txt-3); margin-bottom:14px}
.legal__toc ol{margin:0; padding:0; list-style:none; counter-reset:toc}
.legal__toc li{counter-increment:toc; margin-bottom:2px}
.legal__toc a{
  display:block; padding:7px 10px 7px 30px; border-radius:8px; font-size:.85rem; color:var(--txt-2);
  position:relative; line-height:1.4; transition:background-color .25s, color .25s;
}
.legal__toc a::before{
  content:counter(toc) '.'; position:absolute; left:10px; color:var(--red); font-weight:700; font-size:.78rem;
}
.legal__toc a:hover{background:var(--paper); color:var(--red)}

.legal__body{max-width:76ch}
.legal__body h2{
  font-size:clamp(1.3rem,1.05rem + .8vw,1.75rem); letter-spacing:-.03em;
  margin:44px 0 14px; scroll-margin-top:calc(var(--head-h) + 24px);
}
.legal__body h2:first-child{margin-top:0}
.legal__body h3{font-size:1.05rem; margin:26px 0 10px; letter-spacing:-.02em}
.legal__body p, .legal__body li{color:var(--txt-2); font-size:.97rem}
.legal__body a{color:var(--red); font-weight:600; text-decoration:underline; text-underline-offset:2px}
.legal__body ul, .legal__body ol{margin:0 0 1.1em; padding-left:0; list-style:none}
.legal__body ol{counter-reset:li}
.legal__body ul li{position:relative; padding:5px 0 5px 24px}
.legal__body ul li::before{content:''; position:absolute; left:0; top:1.05em; width:7px; height:7px; background:var(--red); transform:rotate(45deg)}
.legal__body ol li{counter-increment:li; position:relative; padding:5px 0 5px 28px}
.legal__body ol li::before{content:counter(li) '.'; position:absolute; left:0; top:5px; color:var(--red); font-weight:700}
.legal__body strong{color:var(--txt)}

.legal__meta{
  display:flex; flex-wrap:wrap; gap:8px 20px; padding:16px 20px; border-radius:var(--r);
  background:var(--paper-2); border:1px solid var(--line); font-size:.85rem; color:var(--txt-3); margin-bottom:34px;
}
.legal__meta b{color:var(--txt)}

.databox{
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; margin:0 0 1.4em; background:var(--paper);
}
.databox table{width:100%; border-collapse:collapse; font-size:.92rem}
.databox th, .databox td{padding:13px 18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.databox tr:last-child th, .databox tr:last-child td{border-bottom:0}
.databox th{width:38%; font-weight:700; color:var(--txt); background:var(--paper-2)}
.databox td{color:var(--txt-2)}
.databox td a{color:var(--red)}

.note{
  border-left:3px solid var(--red); background:var(--paper-2);
  padding:18px 22px; border-radius:0 var(--r) var(--r) 0; margin:0 0 1.4em;
}
.note p{margin:0; font-size:.92rem}
.note p + p{margin-top:.7em}

.legal__back{margin-top:46px; padding-top:26px; border-top:1px solid var(--line)}

@media (max-width:980px){
  .legal__grid{grid-template-columns:1fr}
  .legal__toc{position:static; order:-1}
  .legal__toc ol{columns:2; column-gap:16px}
  .legal__toc li{break-inside:avoid}
}
@media (max-width:560px){
  .legal__toc ol{columns:1}
  .databox th{width:auto}
  .databox table, .databox tbody, .databox tr, .databox th, .databox td{display:block; width:100%}
  .databox th{border-bottom:0; padding-bottom:4px}
  .databox td{padding-top:0}
}

/* =========================================================
   INTRO — scroll-driven "struja" (šalter → žice → logo)
   ========================================================= */
.intro{
  position:fixed; inset:0; z-index:3000; display:none; overflow:hidden;
  background:#07070b; opacity:1; transition:opacity .9s var(--ease);
}
body.intro-playing .intro{display:block}
body.intro-done .intro{opacity:0; pointer-events:none}
body.intro-lock{overflow:hidden}

.intro__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(120% 85% at 50% 16%, rgba(207,32,45,.20), transparent 58%),
    radial-gradient(100% 80% at 50% 96%, rgba(207,32,45,.12), transparent 60%),
    #07070b;
}
.intro__grid{
  position:absolute; inset:0; opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(80% 70% at 50% 42%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(80% 70% at 50% 42%, #000 0%, transparent 78%);
}
.intro__svg{position:absolute; inset:0; width:100%; height:100%}

.intro__svg .wire{fill:none; stroke:rgba(255,255,255,.10); stroke-width:5; stroke-linecap:round}
.intro__svg .flow{fill:none; stroke:url(#iCur); stroke-width:3.5; stroke-linecap:round; filter:url(#iGlow)}
.intro__svg .inode{fill:url(#iNode); filter:url(#iGlow); opacity:.9}
.intro__svg text{font-family:var(--ff-dis),sans-serif; font-size:15px; font-weight:700; letter-spacing:.05em}
.intro__svg .ioff{fill:rgba(255,255,255,.35)}
.intro__svg .ion{fill:rgba(255,255,255,.28); transition:fill .3s}
.intro__svg #introSwitch.on .ion{fill:#ff6470}
.intro__svg #introSwitch.on rect:first-of-type{stroke:rgba(207,32,45,.7)}

.intro__logo{
  position:absolute; left:50%; top:60%; width:min(460px,66vw);
  transform:translate(-50%,-50%) scale(.82); opacity:0;
  will-change:opacity,transform,filter; pointer-events:none;
}
.intro__logo--start{
  top:44%; opacity:1; transform:translate(-50%,-50%);
  filter:drop-shadow(0 10px 34px rgba(0,0,0,.65));
}
.intro__hint{
  position:absolute; left:0; right:0; top:64px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  color:rgba(255,255,255,.72); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase;
  transition:opacity .45s var(--ease);
}
.intro__mouse{
  width:26px; height:42px; border:2px solid rgba(255,255,255,.4); border-radius:20px;
  display:grid; place-items:start center; padding-top:7px;
}
.intro__mouse span{width:3px; height:8px; border-radius:3px; background:#fff; animation:scrollDot 1.8s var(--ease-io) infinite}

.intro__bar{position:absolute; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.08); z-index:2}
.intro__bar i{display:block; height:100%; width:0; background:linear-gradient(90deg, var(--red), #ff7a86); box-shadow:0 0 14px var(--red-glow)}

.intro__skip{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3;
  background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.20);
  padding:9px 18px; border-radius:100px; font-size:.8rem; font-weight:600; cursor:pointer;
  backdrop-filter:blur(6px); transition:background-color .25s, border-color .25s, transform .25s var(--ease);
}
.intro__skip:hover{background:var(--red); border-color:var(--red); transform:translate(-50%,-2px)}

@media (max-width:680px){
  .intro__logo{width:76vw}
  .intro__hint{top:52px; font-size:.72rem}
  .intro__skip{bottom:20px; padding:8px 14px}
}

/* =========================================================
   WORDPRESS DODACI
   ========================================================= */
/* Pravne stranice bez bočnog sadržaja — jedan stupac */
.legal__body--single{max-width:820px; margin-inline:auto}
.legal__body--single h1{font-size:1.6rem; margin:40px 0 14px}

/* Tablice unesene kroz WP uređivač (bez .databox omota) */
.legal__body > table, .legal__body figure.wp-block-table table{
  width:100%; border-collapse:collapse; font-size:.92rem;
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; margin:0 0 1.4em;
}
.legal__body > table th, .legal__body > table td,
.legal__body figure.wp-block-table th, .legal__body figure.wp-block-table td{
  padding:13px 18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top;
}
.legal__body > table th, .legal__body figure.wp-block-table th{
  width:38%; font-weight:700; color:var(--txt); background:var(--paper-2);
}

/* WP slike unutar predložaka */
.svc__icon{border-radius:0}
.refs .ref img{width:100%; height:100%; object-fit:cover}
.certs .cert img{background:transparent}
.partners__list li img{width:100%; height:100%; object-fit:contain}

/* Turnstile widget u obrascu */
.cf-turnstile{min-height:65px}

/* WP admin bar — pomak fiksnog zaglavlja */
body.admin-bar .topbar{top:32px}
body.admin-bar .header{inset-block-start:calc(var(--top-h) + 32px)}
body.admin-bar.is-scrolled .header{inset-block-start:32px}
@media (max-width:782px){
  body.admin-bar .topbar{top:46px}
  body.admin-bar .header{inset-block-start:calc(var(--top-h) + 46px)}
  body.admin-bar.is-scrolled .header{inset-block-start:46px}
}
