@charset "UTF-8";

:root {
  --black: #0a0a0a;
  --dark:  #111111;
  --steel: #1a1a1a;
  --mid:   #2e2e2e;
  --grey:  #b0b0b0;
  --silver:#d0d0d0;
  --light: #ebebeb;
  --white: #f5f5f5;
  --line:  rgba(255,255,255,0.09);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--black)!important;
  color:var(--silver)!important;
  font-family:'Barlow',sans-serif!important;
  font-weight:300!important;
  overflow-x:hidden;
}
body a{color:var(--silver);text-decoration:none;}
body p{color:var(--silver)!important;margin:0 0 1rem;}
body h1,body h2,body h3,body h4{color:var(--white)!important;}
body ul,body ol{list-style:none;margin:0;padding:0;}
img{max-width:100%;height:auto;display:block;}

/* ── NAV ── */
#main-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex!important;align-items:center;justify-content:space-between;
  padding:0 4rem;height:72px;
  border-bottom:1px solid var(--line);
  background:rgba(10,10,10,0.95)!important;
  backdrop-filter:blur(12px);
  transition:height 0.3s;
}
.nav-logo{
  font-family:'Bebas Neue',sans-serif!important;
  font-size:1.6rem;letter-spacing:0.15em;
  color:var(--white)!important;text-decoration:none!important;
  flex-shrink:0;
}
.nav-logo span{color:var(--grey)!important;}

.nav-links{
  display:flex!important;gap:2.5rem;
  list-style:none!important;margin:0!important;padding:0!important;
}
.nav-links li{margin:0!important;padding:0!important;}
.nav-links a{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.8rem!important;font-weight:600!important;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--grey)!important;text-decoration:none!important;
  transition:color 0.2s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;
  width:0;height:1px;background:var(--white);transition:width 0.3s;
}
.nav-links a:hover,.nav-links .current-menu-item>a{color:var(--white)!important;}
.nav-links a:hover::after{width:100%;}

.nav-right{
  display:flex;align-items:center;gap:0.75rem;flex-shrink:0;
}

/* Theme toggle pill */
.theme-toggle{
  background:none!important;border:none!important;
  padding:0!important;cursor:pointer;
  display:flex;align-items:center;flex-shrink:0;outline:none;
}
.toggle-track{
  width:46px;height:24px;
  background:var(--mid);border-radius:12px;
  position:relative;display:block;
  transition:background 0.3s;
  border:1px solid rgba(255,255,255,0.12);
  flex-shrink:0;
}
.toggle-thumb{
  position:absolute;top:3px;left:3px;
  width:16px;height:16px;border-radius:50%;
  background:var(--silver);
  transition:transform 0.3s,background 0.3s;
  display:flex;align-items:center;justify-content:center;
}
.toggle-thumb svg{
  width:9px;height:9px;
  stroke:var(--black);
  position:absolute;transition:opacity 0.2s;
}
.toggle-thumb .icon-sun{opacity:0;}
.toggle-thumb .icon-moon{opacity:1;}

.nav-cta{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.72rem;font-weight:600!important;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--black)!important;background:var(--white)!important;
  padding:0.55rem 1.2rem;
  text-decoration:none!important;transition:background 0.2s;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--light)!important;}

/* Hamburger */
.nav-hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0;
}
.nav-hamburger span{
  display:block;width:22px;height:1.5px;
  background:var(--white);transition:all 0.3s;
}

/* Mobile nav open */
.nav-links.open{
  display:flex!important;flex-direction:column;
  position:fixed;top:72px;left:0;right:0;bottom:0;
  background:rgba(10,10,10,0.98);
  padding:3rem 2rem;gap:0;z-index:999;
  overflow-y:auto;
  border-top:1px solid var(--line);
}
.nav-links.open li{
  border-bottom:1px solid var(--line);
}
.nav-links.open a{
  display:block;
  font-size:2rem!important;
  letter-spacing:0.05em!important;
  font-family:'Bebas Neue',sans-serif!important;
  color:var(--silver)!important;
  padding:1rem 0!important;
  transition:color 0.2s,padding 0.2s;
}
.nav-links.open a:hover{
  color:var(--white)!important;
  padding-left:0.5rem!important;
}
.nav-links.open a::after{display:none;}

/* ── BUTTONS ── */
.btn-primary{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.75rem;font-weight:600!important;
  letter-spacing:0.25em;text-transform:uppercase;
  color:var(--black)!important;background:var(--white)!important;
  padding:0.9rem 2rem;text-decoration:none!important;
  transition:all 0.25s;display:inline-block;border:none;cursor:pointer;
}
.btn-primary:hover{background:var(--light)!important;transform:translateY(-2px);}

.btn-ghost{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.75rem;font-weight:600!important;
  letter-spacing:0.25em;text-transform:uppercase;
  color:var(--silver)!important;background:transparent!important;
  border:1px solid var(--mid)!important;
  padding:0.9rem 2rem;text-decoration:none!important;
  transition:all 0.25s;display:inline-block;cursor:pointer;
}
.btn-ghost:hover{color:var(--white)!important;border-color:var(--grey)!important;}

/* ── SECTION LABELS ── */
.section-label{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.7rem!important;font-weight:600;
  letter-spacing:0.35em;text-transform:uppercase;
  color:var(--grey)!important;margin-bottom:1.5rem;
  display:flex;align-items:center;gap:1rem;
}
.section-label::before{
  content:'';display:block;width:30px;height:1px;
  background:var(--grey);flex-shrink:0;
}
.section-title{
  font-family:'Bebas Neue',sans-serif!important;
  font-size:clamp(2.5rem,4vw,4rem)!important;
  letter-spacing:0.03em;line-height:1!important;
  color:var(--white)!important;margin-bottom:2rem;
}
.section-body{
  font-size:1rem!important;line-height:1.9!important;
  color:var(--silver)!important;max-width:440px;margin-bottom:2.5rem;
}
.divider{
  height:1px;border:none;
  background:linear-gradient(to right,transparent,var(--mid),transparent);
  margin:0 4rem;
}
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ── HERO ── */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:10rem 4rem;position:relative;z-index:2;}
.hero-eyebrow{
  font-family:'Barlow Condensed',sans-serif!important;font-size:0.7rem;
  font-weight:600;letter-spacing:0.35em;text-transform:uppercase;
  color:var(--grey)!important;margin-bottom:1.5rem;
  display:flex;align-items:center;gap:1rem;
}
.hero-eyebrow::before{content:'';display:block;width:40px;height:1px;background:var(--grey);}
.hero-title{
  font-family:'Bebas Neue',sans-serif!important;
  font-size:clamp(4rem,8vw,7.5rem)!important;
  line-height:0.92!important;letter-spacing:0.02em;
  color:var(--white)!important;margin-bottom:2rem;
}
.hero-title .outline{-webkit-text-stroke:1px var(--mid);color:transparent!important;}
.hero-desc{font-size:1rem!important;line-height:1.7!important;color:var(--silver)!important;max-width:380px;margin-bottom:3rem;}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.hero-right{position:relative;overflow:hidden;}
.hero-right::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,var(--black) 0%,transparent 30%),
  linear-gradient(135deg,#111 0%,#1a1a1a 50%,#0d0d0d 100%);z-index:1;
}
.hero-geo{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;}
.geo-ring{position:absolute;border:1px solid;border-radius:50%;animation:spin linear infinite;}
.geo-ring:nth-child(1){width:500px;height:500px;border-color:rgba(255,255,255,0.03);animation-duration:60s;}
.geo-ring:nth-child(2){width:380px;height:380px;border-color:rgba(255,255,255,0.05);animation-duration:40s;animation-direction:reverse;}
.geo-ring:nth-child(3){width:260px;height:260px;border-color:rgba(255,255,255,0.08);animation-duration:25s;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.geo-cross{
  position:absolute;width:120px;height:120px;
  border:1px solid rgba(255,255,255,0.12);
  transform:rotate(45deg);right:20%;top:30%;
  animation:floatY 8s ease-in-out infinite;
}
.geo-cross::before,.geo-cross::after{content:'';position:absolute;background:rgba(255,255,255,0.06);}
.geo-cross::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%);}
.geo-cross::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);}
@keyframes floatY{0%,100%{transform:rotate(45deg) translateY(0);}50%{transform:rotate(45deg) translateY(-20px);}}
.hero-num{position:absolute;bottom:4rem;right:4rem;font-family:'Bebas Neue',sans-serif;font-size:14rem;line-height:1;color:rgba(255,255,255,0.03);pointer-events:none;z-index:2;}
.hero-stats{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);z-index:10;}
.stat-item{padding:1.5rem 4rem;border-right:1px solid var(--line);}
.stat-item:last-child{border-right:none;}
.stat-num{font-family:'Bebas Neue',sans-serif!important;font-size:2.2rem!important;letter-spacing:0.05em;color:var(--white)!important;line-height:1;}
.stat-label{font-family:'Barlow Condensed',sans-serif!important;font-size:0.7rem!important;letter-spacing:0.2em;text-transform:uppercase;color:var(--grey)!important;margin-top:0.3rem;}

/* ── ABOUT (homepage) ── */
.about{display:grid;grid-template-columns:1fr 1fr;min-height:60vh;}
.about-left{padding:7rem 4rem;border-right:1px solid var(--line);position:relative;overflow:hidden;}
.about-left::before{
  content:'O NAMA';position:absolute;top:4rem;right:-1rem;
  font-family:'Bebas Neue',sans-serif;font-size:8rem;
  color:rgba(255,255,255,0.025);writing-mode:vertical-rl;pointer-events:none;
}
.about-right{padding:7rem 4rem;display:flex;flex-direction:column;justify-content:center;}
.feature-item{padding:2rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:3rem 1fr;gap:1.5rem;align-items:start;}
.feature-item:first-child{border-top:1px solid var(--line);}
.feature-num{font-family:'Bebas Neue',sans-serif!important;font-size:1.2rem!important;color:var(--grey)!important;line-height:1.4;}
.feature-title{font-family:'Barlow Condensed',sans-serif!important;font-size:1rem!important;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--light)!important;margin-bottom:0.4rem;}
.feature-desc{font-size:0.9rem!important;line-height:1.7;color:var(--silver)!important;}

/* ── SERVICE CARDS ── */
.services{padding:7rem 4rem;}
.services-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem;}

.services-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1.5rem!important;
  background:transparent!important;
  border:none!important;
}

.service-card{
  background:var(--dark)!important;
  border:1px solid var(--line)!important;
  position:relative;overflow:hidden;
  transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s;
  text-decoration:none!important;
  display:flex!important;flex-direction:column!important;
  color:var(--silver)!important;
  padding:0!important;
}
.service-card:hover{
  border-color:rgba(255,255,255,0.2)!important;
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}

/* 4:3 image */
.service-img{
  width:100%;
  padding-top:75%;
  position:relative;
  background-size:cover;
  background-position:center;
  background-color:var(--steel);
  overflow:hidden;
  flex-shrink:0;
}
.service-img--empty{
  background:linear-gradient(135deg,var(--steel) 0%,var(--mid) 100%);
}
.service-card:hover .service-img{
  filter:brightness(1.08);
}

.service-card-body{
  padding:1.5rem 1.5rem 3rem;
  display:flex;flex-direction:column;gap:0.5rem;flex:1;
}
.service-num{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.62rem!important;font-weight:600;
  letter-spacing:0.3em;color:var(--grey)!important;
}
.service-title{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:1.1rem!important;font-weight:700;
  letter-spacing:0.05em;text-transform:uppercase;
  color:var(--white)!important;line-height:1.25;
}
.service-desc{
  font-size:0.87rem!important;line-height:1.7;
  color:var(--silver)!important;
}

.service-arrow{
  position:absolute;bottom:1.2rem;right:1.2rem;
  width:30px;height:30px;
  border:1px solid var(--mid);
  display:flex;align-items:center;justify-content:center;
  transition:background 0.3s,border-color 0.3s,transform 0.3s;
  background:transparent;
}
.service-arrow svg{width:13px;height:13px;stroke:var(--grey);transition:stroke 0.3s;}
.service-card:hover .service-arrow{
  background:var(--white);border-color:var(--white);
  transform:translate(3px,-3px);
}
.service-card:hover .service-arrow svg{stroke:var(--black);}

.service-card-empty{
  background:var(--dark)!important;border:1px solid var(--line)!important;
  display:flex!important;flex-direction:column;
  align-items:center;justify-content:center;min-height:300px;
}
.service-empty-logo{font-family:'Bebas Neue',sans-serif;font-size:4rem;color:rgba(255,255,255,0.04);}
.service-empty-label{font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;letter-spacing:0.3em;color:var(--grey)!important;text-transform:uppercase;margin-top:0.5rem;}

/* ── HOMEPAGE PARTNERS ── */
.partners{padding:5rem 4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.partners-header{display:flex;align-items:center;gap:3rem;margin-bottom:3rem;flex-wrap:wrap;}
.partners-subtitle{font-size:0.9rem!important;color:var(--silver)!important;}

.partners-grid-home{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:1px!important;
  background:var(--line);
  border:1px solid var(--line);
}

.partner-home-card{
  background:var(--dark)!important;
  padding:2rem 1.5rem!important;
  display:flex!important;flex-direction:column;
  align-items:center;justify-content:center;
  gap:1rem;text-align:center;
  text-decoration:none!important;color:inherit!important;
  transition:background 0.3s;
  min-height:160px;
}
.partner-home-card:hover{background:var(--steel)!important;}

.partner-home-logo{
  width:100%;max-width:140px;
  height:80px;
  display:flex;align-items:center;justify-content:center;
}
.partner-home-logo img{
  max-width:100%;max-height:70px;
  width:auto;height:auto;
  object-fit:contain;
  filter:grayscale(100%) brightness(0.65);
  transition:filter 0.3s;
}
.partner-home-card:hover .partner-home-logo img{filter:grayscale(20%) brightness(1);}
.partner-home-initials{
  font-family:'Bebas Neue',sans-serif;font-size:2rem;
  color:var(--mid)!important;letter-spacing:0.1em;
}
.partner-home-name{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:0.75rem!important;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--silver)!important;
  text-align:center;line-height:1.3;
}
.partner-home-opis{
  font-size:0.75rem!important;
  color:var(--grey)!important;
  text-align:center;line-height:1.5;
}

/* ── PARTNER ARCHIVE CARDS ── */
.partneri-archive{padding:5rem 4rem;}
.partneri-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1.5rem!important;
  background:transparent!important;
  border:none!important;
}
.partner-card{
  background:var(--dark)!important;
  border:1px solid var(--line)!important;
  padding:2rem!important;
  position:relative;overflow:hidden;
  transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s;
  text-decoration:none!important;
  display:flex!important;flex-direction:column;gap:1.5rem;
  color:var(--silver)!important;
}
.partner-card:hover{
  border-color:rgba(255,255,255,0.2)!important;
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}
.partner-card-logo{
  width:100%;height:100px!important;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--mid);overflow:hidden;
  padding:1rem;
  background:var(--steel);
}
.partner-card-logo img{
  max-width:100%;max-height:72px!important;
  object-fit:contain;
  filter:grayscale(100%) brightness(0.7);
  transition:filter 0.3s;
}
.partner-card:hover .partner-card-logo img{filter:grayscale(20%) brightness(1);}
.partner-card-initials{
  font-family:'Bebas Neue',sans-serif!important;
  font-size:2rem;color:var(--grey)!important;letter-spacing:0.1em;
}
.partner-card-body{display:flex;flex-direction:column;gap:0.5rem;flex:1;padding-bottom:2rem;}
.partner-card-title{
  font-family:'Barlow Condensed',sans-serif!important;
  font-size:1rem!important;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;
  color:var(--white)!important;
}
.partner-card-desc{font-size:0.88rem!important;line-height:1.6;color:var(--silver)!important;}

/* ── CTA / KONTAKT ── */
.cta-section{padding:8rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;overflow:hidden;}
.cta-section::before--DISABLED{
  content:'KONTAKT';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(4rem,14vw,18rem);
  color:rgba(255,255,255,0.025);pointer-events:none;white-space:nowrap;
}
.cta-title{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(3rem,5vw,5rem)!important;line-height:1!important;letter-spacing:0.03em;color:var(--white)!important;}
.cta-title span{display:block;-webkit-text-stroke:1px var(--mid);color:transparent!important;}
.cta-right{display:flex;flex-direction:column;}
.contact-row{display:flex;align-items:flex-start;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid var(--line);}
.contact-label{font-family:'Barlow Condensed',sans-serif!important;font-size:0.65rem!important;font-weight:600;letter-spacing:0.3em;text-transform:uppercase;color:var(--grey)!important;width:80px;flex-shrink:0;padding-top:2px;}
.contact-value{font-size:0.95rem!important;color:var(--light)!important;text-decoration:none!important;line-height:1.6;}
.contact-value:hover{color:var(--white)!important;}

/* ── FOOTER ── */
#main-footer{padding:3rem 4rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;background:var(--black)!important;}
.footer-logo{font-family:'Bebas Neue',sans-serif!important;font-size:1.2rem;letter-spacing:0.15em;color:var(--silver)!important;}
.footer-copy{font-size:0.75rem!important;color:var(--grey)!important;letter-spacing:0.05em;}
.footer-links{display:flex;gap:2rem;list-style:none!important;margin:0!important;padding:0!important;}
.footer-links li{margin:0!important;padding:0!important;}
.footer-links a{font-family:'Barlow Condensed',sans-serif!important;font-size:0.7rem!important;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--grey)!important;text-decoration:none!important;transition:color 0.2s;}
.footer-links a:hover{color:var(--light)!important;}

/* ── PAGE HERO ── */
.page-hero{padding:10rem 4rem 5rem;border-bottom:1px solid var(--line);}
.page-hero-inner{max-width:800px;}
.page-title{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(3rem,6vw,6rem)!important;line-height:1!important;letter-spacing:0.03em;color:var(--white)!important;margin:1rem 0 1.5rem;}
.page-subtitle{font-size:1rem!important;line-height:1.8!important;color:var(--silver)!important;max-width:520px;}

/* ── SINGLE USLUGA ── */
.usluga-hero{padding:10rem 4rem 6rem;border-bottom:1px solid var(--line);}
.usluga-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.usluga-title{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(3rem,6vw,6rem)!important;line-height:1!important;letter-spacing:0.03em;color:var(--white)!important;margin:1rem 0 1.5rem;}
.usluga-excerpt{font-size:1rem!important;line-height:1.8;color:var(--silver)!important;max-width:500px;margin-bottom:2.5rem;}
.usluga-hero-img{overflow:hidden;}
.usluga-hero-img img{width:100%;height:400px;object-fit:cover;filter:grayscale(15%);display:block;}
.usluga-content{padding:5rem 4rem;}
.usluga-content-inner{max-width:760px;}
.usluga-body{font-size:0.95rem!important;line-height:1.9;color:var(--silver)!important;}
.usluga-body h2,.usluga-body h3{font-family:'Bebas Neue',sans-serif!important;font-size:2rem!important;color:var(--white)!important;margin:2rem 0 1rem;}
.usluga-body p{color:var(--silver)!important;margin-bottom:1.2rem;}
.usluga-body ul{padding-left:1.2rem!important;margin-bottom:1.2rem;}
.usluga-body li{margin-bottom:0.5rem;color:var(--silver)!important;}
.other-services{padding:4rem 4rem 6rem;}
.other-services .section-label{margin-bottom:2rem;}

/* ── SINGLE PARTNER ── */
.partner-hero{padding:10rem 4rem 6rem;border-bottom:1px solid var(--line);}
.partner-hero-inner{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;}
.partner-hero-left{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;}
.partner-logo-wrap{
  width:300px!important;height:220px!important;
  border:1px solid var(--mid);
  display:flex;align-items:center;justify-content:center;padding:2.5rem;
  background:var(--steel);
}
.partner-logo-wrap img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(15%);}
.partner-content{padding:5rem 4rem;max-width:800px;}
.partner-body{font-size:0.95rem!important;line-height:1.9;color:var(--silver)!important;}
.partner-body p{color:var(--silver)!important;margin-bottom:1.2rem;}
.partner-body h2,.partner-body h3{font-family:'Bebas Neue',sans-serif!important;font-size:2rem!important;color:var(--white)!important;margin:2rem 0 1rem;}
.partner-body ul{padding-left:1.2rem!important;margin-bottom:1.2rem;}
.partner-body li{margin-bottom:0.5rem;color:var(--silver)!important;}
.ostali-partneri{padding:4rem;border-top:1px solid var(--line);}
.ostali-partneri .section-label{margin-bottom:2rem;}

/* ── O NAMA ── */
.onama-uvod{padding:5rem 4rem;}
.onama-uvod-inner{max-width:800px;}
.onama-lead{font-size:1.1rem!important;line-height:1.9;color:var(--silver)!important;font-weight:300;}
.onama-lead strong{color:var(--white)!important;font-weight:600;}
.onama-sekcije{padding:0 4rem 5rem;}
.onama-sekcije-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1.5rem!important;}
.onama-blok{background:var(--dark)!important;border:1px solid var(--line);padding:3rem 2.5rem!important;}
.onama-blok-num{font-family:'Bebas Neue',sans-serif!important;font-size:3rem!important;color:rgba(255,255,255,0.07)!important;line-height:1;margin-bottom:1.5rem;}
.onama-blok-title{font-family:'Barlow Condensed',sans-serif!important;font-size:1.1rem!important;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--white)!important;margin-bottom:1rem;}
.onama-blok p{font-size:0.92rem!important;line-height:1.8;color:var(--silver)!important;}
.onama-vrednosti{padding:5rem 4rem;}
.onama-vrednosti-header{margin-bottom:3rem;}
.onama-vrednosti-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:3rem!important;}
.vrednost-num{font-family:'Bebas Neue',sans-serif!important;font-size:1.5rem!important;color:var(--grey)!important;margin-bottom:1rem;}
.vrednost-title{font-family:'Barlow Condensed',sans-serif!important;font-size:1rem!important;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--light)!important;margin-bottom:0.8rem;}
.vrednost-item p{font-size:0.9rem!important;line-height:1.8;color:var(--silver)!important;}
.onama-podaci-istorijat{padding:5rem 4rem;}
.onama-dve-kolone{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5rem!important;align-items:start;}
.timeline{display:flex;flex-direction:column;margin-top:2rem;}
.timeline-item{display:grid;grid-template-columns:7rem 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);align-items:start;}
.timeline-item:first-child{border-top:1px solid var(--line);}
.timeline-year{font-family:'Bebas Neue',sans-serif!important;font-size:1rem!important;letter-spacing:0.05em;color:var(--silver)!important;padding-top:3px;}
.timeline-title{font-family:'Barlow Condensed',sans-serif!important;font-size:0.95rem!important;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--light)!important;margin-bottom:0.5rem;}
.timeline-body p{font-size:0.88rem!important;line-height:1.7;color:var(--silver)!important;}
.onama-stat-row{display:flex;gap:2rem;margin:1.5rem 0 0;flex-wrap:wrap;}
.onama-stat{padding:1.5rem 0;border-bottom:1px solid var(--line);min-width:100px;}
.onama-stat-val{font-family:'Bebas Neue',sans-serif!important;font-size:1.8rem!important;color:var(--white)!important;line-height:1;}
.onama-stat-label{font-family:'Barlow Condensed',sans-serif!important;font-size:0.65rem!important;letter-spacing:0.25em;text-transform:uppercase;color:var(--grey)!important;margin-top:0.3rem;}
.podaci-tabela{margin-top:1.5rem;}
.podaci-red{display:flex;gap:1.5rem;padding:0.9rem 0;border-bottom:1px solid var(--line);}
.podaci-red:first-child{border-top:1px solid var(--line);}
.podaci-label{font-family:'Barlow Condensed',sans-serif!important;font-size:0.65rem!important;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:var(--grey)!important;width:60px;flex-shrink:0;padding-top:2px;}
.podaci-val{color:var(--light)!important;font-size:0.88rem!important;}

/* ── KONTAKT ── */
.kontakt-section{padding:5rem 4rem;}
.kontakt-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:start;}
.kontakt-forma{display:flex;flex-direction:column;gap:1.5rem;}
.form-row{display:flex;gap:1.5rem;}
.form-row--half>*{flex:1;}
.form-group{display:flex;flex-direction:column;gap:0.5rem;}
.form-group label{font-family:'Barlow Condensed',sans-serif!important;font-size:0.7rem!important;font-weight:600;letter-spacing:0.25em;text-transform:uppercase;color:var(--silver)!important;}
.required{color:var(--grey)!important;}
.form-group input,.form-group textarea{
  background:var(--steel)!important;border:1px solid var(--mid)!important;
  color:var(--white)!important;font-family:'Barlow',sans-serif!important;
  font-size:0.95rem!important;font-weight:300;
  padding:0.9rem 1.2rem;outline:none!important;
  transition:border-color 0.25s;width:100%;resize:vertical;
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--grey)!important;}
.form-group input:focus,.form-group textarea:focus{border-color:var(--silver)!important;}
.form-submit{align-self:flex-start;cursor:pointer;border:none!important;}
.form-success{padding:3rem 2rem;border:1px solid var(--mid);text-align:center;}
.form-success-icon{font-family:'Bebas Neue',sans-serif;font-size:4rem;color:var(--white)!important;line-height:1;margin-bottom:1rem;}
.form-success p{color:var(--silver)!important;font-size:0.95rem!important;line-height:1.7;}
.form-error-msg{background:rgba(255,255,255,0.04);border:1px solid rgba(255,100,100,0.2);color:#ffaaaa!important;padding:1rem 1.2rem;font-size:0.85rem;margin-bottom:1rem;}

/* ── 404 ── */
.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:8rem 4rem;}
.not-found-inner{max-width:600px;}
.not-found-num{font-family:'Bebas Neue',sans-serif;font-size:clamp(8rem,20vw,16rem);line-height:1;color:rgba(255,255,255,0.04);letter-spacing:-0.05em;margin-bottom:-2rem;}
.not-found-title{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(2.5rem,5vw,5rem)!important;line-height:1;letter-spacing:0.03em;color:var(--white)!important;margin:1rem 0 1.5rem;}
.not-found-desc{font-size:0.95rem!important;line-height:1.8;color:var(--silver)!important;margin-bottom:2.5rem;}

/* ================================================
   LIGHT THEME
   ================================================ */
body.light-theme{
  --black:#f4f4f2;--dark:#ebebea;--steel:#e2e2e0;--mid:#ccccca;
  --grey:#666660;--silver:#444440;--light:#222220;--white:#111110;
  --line:rgba(0,0,0,0.1);
  background:var(--black)!important;color:var(--silver)!important;
}
body.light-theme #main-nav{background:rgba(244,244,242,0.97)!important;border-bottom-color:rgba(0,0,0,0.1)!important;}
body.light-theme .nav-links.open{background:rgba(244,244,242,0.99);}
body.light-theme .nav-links.open a{color:var(--grey)!important;}
body.light-theme .nav-links.open a:hover{color:var(--white)!important;}
body.light-theme .nav-hamburger span{background:var(--white);}
body.light-theme .nav-cta{color:var(--black)!important;background:var(--white)!important;}
body.light-theme .nav-cta:hover{background:var(--light)!important;color:var(--black)!important;}
body.light-theme .toggle-track{background:#c8c8c6;border-color:rgba(0,0,0,0.12);}
body.light-theme .toggle-thumb{transform:translateX(22px);background:var(--white);}
body.light-theme .toggle-thumb .icon-sun{opacity:1;}
body.light-theme .toggle-thumb .icon-moon{opacity:0;}
body.light-theme .hero-right::before{background:linear-gradient(to right,var(--black) 0%,transparent 30%),linear-gradient(135deg,#e8e8e6 0%,#ebebea 50%,#e4e4e2 100%);}
body.light-theme .geo-ring:nth-child(1){border-color:rgba(0,0,0,0.04);}
body.light-theme .geo-ring:nth-child(2){border-color:rgba(0,0,0,0.06);}
body.light-theme .geo-ring:nth-child(3){border-color:rgba(0,0,0,0.09);}
body.light-theme .geo-cross{border-color:rgba(0,0,0,0.1);}
body.light-theme .geo-cross::before,body.light-theme .geo-cross::after{background:rgba(0,0,0,0.05);}
body.light-theme .service-card{background:var(--dark)!important;border-color:rgba(0,0,0,0.1)!important;}
body.light-theme .service-card:hover{border-color:rgba(0,0,0,0.3)!important;box-shadow:0 20px 60px rgba(0,0,0,0.15);}
body.light-theme .service-card-empty{background:var(--dark)!important;border-color:rgba(0,0,0,0.1)!important;}
body.light-theme .service-arrow{border-color:var(--mid);}
body.light-theme .service-card:hover .service-arrow{background:var(--white);border-color:var(--white);}
body.light-theme .service-card:hover .service-arrow svg{stroke:var(--black);}
body.light-theme .partners-grid-home{background:rgba(0,0,0,0.1);}
body.light-theme .partner-home-card{background:var(--dark)!important;}
body.light-theme .partner-home-card:hover{background:var(--steel)!important;}
body.light-theme .partner-home-logo img{filter:grayscale(100%) brightness(0.3);}
body.light-theme .partner-home-card:hover .partner-home-logo img{filter:grayscale(20%) brightness(0.6);}
body.light-theme .partneri-grid{background:transparent;}
body.light-theme .partner-card{background:var(--dark)!important;border-color:rgba(0,0,0,0.1)!important;}
body.light-theme .partner-card:hover{border-color:rgba(0,0,0,0.3)!important;box-shadow:0 20px 60px rgba(0,0,0,0.15);}
body.light-theme .partner-card-logo{border-color:var(--mid);background:var(--steel);}
body.light-theme .partner-card-logo img{filter:grayscale(100%) brightness(0.4);}
body.light-theme .partner-card:hover .partner-card-logo img{filter:grayscale(20%) brightness(0.7);}
body.light-theme .partner-logo-wrap{background:var(--steel);}
body.light-theme .onama-blok{background:var(--dark)!important;border-color:rgba(0,0,0,0.1)!important;}
body.light-theme .cta-section::before--DISABLED{color:rgba(0,0,0,0.025);}
body.light-theme .form-group input,body.light-theme .form-group textarea{background:var(--steel)!important;border-color:var(--mid)!important;color:var(--white)!important;}
body.light-theme #main-footer{background:var(--dark)!important;}
body.light-theme .btn-primary{color:var(--black)!important;background:var(--white)!important;}
body.light-theme .btn-primary:hover{background:var(--light)!important;color:var(--black)!important;}
body.light-theme .btn-ghost{color:var(--grey)!important;border-color:var(--mid)!important;}
body.light-theme .btn-ghost:hover{color:var(--white)!important;border-color:var(--grey)!important;}

/* ================================================
   RESPONSIVE — tablet
   ================================================ */
@media(max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,1fr)!important;}
  .partners-grid-home{grid-template-columns:repeat(3,1fr)!important;}
  .partneri-grid{grid-template-columns:repeat(2,1fr)!important;}
  .onama-sekcije-grid{grid-template-columns:1fr 1fr!important;}
  .onama-vrednosti-grid{grid-template-columns:1fr 1fr!important;}
}

/* ================================================
   RESPONSIVE — mobile
   ================================================ */
@media(max-width:768px){
  #main-nav{padding:0 1.5rem;}
  .nav-links{display:none!important;}
  .nav-links.open{display:flex!important;}
  .nav-cta{display:none!important;}
  .nav-hamburger{display:flex!important;}

  .hero{grid-template-columns:1fr!important;}
  .hero-right{display:none;}
  .hero-left{padding:8rem 1.5rem 7rem;}
  .hero-stats{grid-template-columns:repeat(3,1fr)!important;}
  .stat-item{padding:1rem;}

  .about{grid-template-columns:1fr!important;}
  .about-left,.about-right{padding:4rem 1.5rem;}
  .divider{margin:0 1.5rem;}

  .services{padding:4rem 1.5rem;}
  .services-grid{grid-template-columns:1fr!important;}

  .partners{padding:4rem 1.5rem;}
  .partners-grid-home{grid-template-columns:repeat(2,1fr)!important;}

  .cta-section{grid-template-columns:1fr!important;padding:5rem 1.5rem;}

  .page-hero{padding:8rem 1.5rem 3rem;}

  .usluga-hero{padding:8rem 1.5rem 4rem;}
  .usluga-hero-inner{grid-template-columns:1fr!important;}
  .usluga-hero-img{display:none;}
  .usluga-content{padding:3rem 1.5rem;}
  .other-services{padding:3rem 1.5rem;}
  .other-services .services-grid{margin:0!important;}

  .partneri-archive{padding:3rem 1.5rem;}
  .partneri-grid{grid-template-columns:1fr!important;}

  .partner-hero{padding:8rem 1.5rem 4rem;}
  .partner-hero-inner{grid-template-columns:1fr!important;}
  .partner-hero-right{display:none;}
  .partner-content{padding:3rem 1.5rem;}
  .ostali-partneri{padding:3rem 1.5rem;}

  .onama-uvod{padding:3rem 1.5rem;}
  .onama-sekcije{padding:0 1.5rem 3rem;}
  .onama-sekcije-grid{grid-template-columns:1fr!important;}
  .onama-vrednosti{padding:3rem 1.5rem;}
  .onama-vrednosti-grid{grid-template-columns:1fr!important;gap:2rem!important;}
  .onama-podaci-istorijat{padding:3rem 1.5rem;}
  .onama-dve-kolone{grid-template-columns:1fr!important;gap:3rem!important;}

  .kontakt-section{padding:3rem 1.5rem;}
  .kontakt-grid{grid-template-columns:1fr!important;gap:3rem;}
  .form-row{flex-direction:column;}

  .not-found{padding:8rem 1.5rem 4rem;}

  #main-footer{flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:1rem;}
}

/* ── CTA BG TEXT — vertikalno desno kao "O NAMA" ── */
.cta-section {
  position: relative;
  overflow: hidden;
}
.cta-bg-text {
  position: absolute;
  top: 50%;
  right: -0.5rem;
  transform: translateY(-50%);
  font-family: 'Bebas Neue', sans-serif;
  font-size: 8rem;
  color: rgba(255,255,255,0.025);
  writing-mode: vertical-rl;
  pointer-events: none;
  letter-spacing: 0.05em;
  line-height: 1;
  user-select: none;
}
body.light-theme .cta-bg-text { color: rgba(0,0,0,0.03); }

/* ── PARTNERI HEADER — naslov + podnaslov ── */
.partners-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  gap: 2rem;
}
.partners-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2rem, 3.5vw, 3rem) !important;
  color: var(--white) !important;
  line-height: 1 !important;
  margin: 0.5rem 0 0.6rem !important;
  letter-spacing: 0.03em;
}
.partners-subtitle {
  font-size: 0.9rem !important;
  color: var(--silver) !important;
  margin: 0 !important;
  max-width: 400px;
}

/* ── PARTNER HOME CARD — veće slike ── */
.partner-home-logo {
  width: 100% !important;
  max-width: 160px !important;
  height: 100px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.partner-home-logo img {
  max-width: 100% !important;
  max-height: 90px !important;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%) brightness(0.65);
  transition: filter 0.3s;
}
.partner-home-card:hover .partner-home-logo img {
  filter: grayscale(20%) brightness(1) !important;
}
.partner-home-card {
  min-height: 200px !important;
  padding: 2rem !important;
  gap: 0.8rem !important;
}

/* ── FOOTER NEXTDOTH LINK ── */
.footer-copy { color: var(--grey) !important; }
.footer-nextdoth {
  color: var(--grey) !important;
  text-decoration: none !important;
  transition: color 0.2s;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}
.footer-nextdoth:hover { color: var(--light) !important; border-bottom-color: var(--grey); }
body.light-theme .footer-nextdoth { border-bottom-color: rgba(0,0,0,0.2); }
body.light-theme .footer-nextdoth:hover { color: var(--white) !important; }

/* ── HAMBURGER — ensure visible on mobile ── */
@media (max-width: 900px) {
  .nav-cta { display: none !important; }
  .nav-links { display: none !important; }
  .nav-hamburger { display: flex !important; }

  .nav-links.open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 72px !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: rgba(10,10,10,0.98) !important;
    padding: 2.5rem 2rem !important;
    gap: 0 !important;
    z-index: 998 !important;
    border-top: 1px solid var(--line) !important;
    overflow-y: auto !important;
    list-style: none !important;
    margin: 0 !important;
  }
  body.light-theme .nav-links.open { background: rgba(244,244,242,0.99) !important; }

  .nav-links.open li {
    border-bottom: 1px solid var(--line) !important;
    margin: 0 !important; padding: 0 !important;
  }
  .nav-links.open a {
    display: block !important;
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: 2.2rem !important;
    letter-spacing: 0.04em !important;
    color: var(--silver) !important;
    padding: 0.9rem 0 !important;
    transition: color 0.2s, padding-left 0.2s !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }
  .nav-links.open a:hover {
    color: var(--white) !important;
    padding-left: 0.6rem !important;
  }
  .nav-links.open a::after { display: none !important; }
}

@media (max-width: 768px) {
  .partners-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .partners-grid-home { grid-template-columns: repeat(2,1fr) !important; }
  .cta-bg-text { font-size: 5rem; right: -0.25rem; }
}

/* ── HAMBURGER MENU — COMPLETE FIX ── */
@media (max-width: 900px) {

  /* Nav uvek vidljiv iznad svega */
  #main-nav {
    z-index: 999 !important;
  }

  #nav-links.open {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: calc(100vh - 72px) !important;
    background: rgba(10,10,10,0.98) !important;
    padding: 2rem 2.5rem !important;
    z-index: 998 !important;
    margin: 0 !important;
    list-style: none !important;
    overflow-y: auto !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    box-sizing: border-box !important;
  }

  body.light-theme #nav-links.open {
    background: rgba(244,244,242,0.99) !important;
    border-top-color: rgba(0,0,0,0.1) !important;
  }

  #nav-links.open > li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.light-theme #nav-links.open > li {
    border-bottom-color: rgba(0,0,0,0.08) !important;
  }

  #nav-links.open > li > a {
    display: block !important;
    width: 100% !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #d0d0d0 !important;
    text-decoration: none !important;
    padding: 1.1rem 0 !important;
    margin: 0 !important;
    background: none !important;
    border: none !important;
    transition: color 0.2s ease, padding-left 0.2s ease !important;
  }

  body.light-theme #nav-links.open > li > a {
    color: #444440 !important;
  }

  #nav-links.open > li > a:hover {
    color: #f5f5f5 !important;
    padding-left: 0.4rem !important;
  }

  body.light-theme #nav-links.open > li > a:hover {
    color: #111110 !important;
  }

  #nav-links.open > li > a::after {
    display: none !important;
  }
}

/* ── HERO MACHINE — zupčanici ── */
.hero-right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero-right-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, var(--black) 0%, transparent 25%),
              linear-gradient(to top, var(--black) 0%, transparent 20%);
  pointer-events: none;
  z-index: 2;
}

.hero-machine {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.machine-svg {
  width: 85%;
  max-width: 500px;
  height: auto;
  opacity: 0;
  animation: machineAppear 1.2s ease 0.3s forwards;
}

@keyframes machineAppear {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

/* Rotacije zupčanika */
.gear-main {
  animation: gearMainSpin 18s linear infinite;
  transform-box: fill-box;
  transform-origin: center;
}

.gear-small-1 {
  /* Suprotna strana, brže (odnos zuba ~90:48) */
  animation: gearSmall1Spin 9.6s linear infinite;
  transform-box: fill-box;
  transform-origin: center;
}

.gear-small-2 {
  /* Isti smer kao small-1, malo sporije */
  animation: gearSmall2Spin 12s linear infinite;
  transform-box: fill-box;
  transform-origin: center;
}

@keyframes gearMainSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes gearSmall1Spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

@keyframes gearSmall2Spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

/* Stari geo elementi - sakrivamo ih kad je hero-machine prisutan */
.hero-machine ~ .hero-geo,
.hero-machine + .hero-geo { display: none; }
.hero-num { display: none !important; }

/* Light theme overlay */
body.light-theme .hero-right-overlay {
  background: linear-gradient(to right, var(--black) 0%, transparent 25%),
              linear-gradient(to top, var(--black) 0%, transparent 20%);
}

/* ================================================
   HERO — TEHNIČKI CRTEŽ
   ================================================ */

.hero-visual {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.hero-svg {
  width: 90%;
  max-width: 520px;
  height: auto;
  color: #ffffff;
  opacity: 0;
  animation: heroSvgIn 1.4s cubic-bezier(0.22,1,0.36,1) 0.2s forwards;
}

body.light-theme .hero-svg {
  color: #111110;
}

@keyframes heroSvgIn {
  from { opacity: 0; transform: scale(0.96) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Kazaljka - osciluje kao pravi instrument */
.hero-needle {
  transform-origin: 0 0;
  transform-box: fill-box;
  animation: needleOscillate 4s ease-in-out infinite;
}
@keyframes needleOscillate {
  0%   { transform: rotate(-30deg); }
  30%  { transform: rotate(45deg); }
  60%  { transform: rotate(20deg); }
  80%  { transform: rotate(55deg); }
  100% { transform: rotate(-30deg); }
}

/* Scan line — prelazi gore-dole */
.hero-scanline {
  animation: scanMove 5s ease-in-out infinite;
}
@keyframes scanMove {
  0%   { transform: translateY(0); opacity: 0.12; }
  50%  { transform: translateY(320px); opacity: 0.06; }
  100% { transform: translateY(0); opacity: 0.12; }
}

/* Burgija — lagano se spušta odozgo */
.hero-drill {
  animation: drillDown 2s cubic-bezier(0.22,1,0.36,1) 0.5s both;
}
@keyframes drillDown {
  from { transform: translateY(-30px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

/* Gauge pulsira suptilno */
.hero-gauge {
  animation: gaugePulse 6s ease-in-out infinite;
}
@keyframes gaugePulse {
  0%,100% { opacity: 1; }
  50% { opacity: 0.75; }
}

/* Dims pojavljuju se sa odlaganjem */
.hero-dims {
  animation: dimsIn 1.2s ease 1s both;
}
@keyframes dimsIn {
  from { opacity: 0; }
  to   { opacity: 0.3; }
}

/* ================================================
   CUSTOM SCROLLBAR
   ================================================ */

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: var(--dark);
}
::-webkit-scrollbar-thumb {
  background: var(--mid);
  border-radius: 0;
  transition: background 0.2s;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--grey);
}
body.light-theme ::-webkit-scrollbar-track { background: var(--steel); }
body.light-theme ::-webkit-scrollbar-thumb { background: var(--mid); }
body.light-theme ::-webkit-scrollbar-thumb:hover { background: var(--grey); }

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--mid) var(--dark);
}
body.light-theme * {
  scrollbar-color: var(--mid) var(--steel);
}

/* ================================================
   MOBILE MENU — DARKER BG ON DARK THEME
   ================================================ */

#nav-links.open {
  background: rgba(5, 5, 5, 0.99) !important;
  backdrop-filter: blur(20px) !important;
}

/* ================================================
   SERVICE EMPTY CARD — MZ visible on light theme
   ================================================ */

.service-empty-logo {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 4rem;
  color: var(--mid) !important;
  letter-spacing: 0.05em;
}
body.light-theme .service-empty-logo {
  color: var(--mid) !important;
}
.service-empty-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  color: var(--grey) !important;
  text-transform: uppercase;
  margin-top: 0.5rem;
}

/* SERVICE CARD IMAGE — full quality, no filter distortion */
.service-img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* PARTNER logos — no brightness loss */
.partner-home-logo img {
  filter: grayscale(0%) brightness(1) !important;
}
.partner-home-card:hover .partner-home-logo img {
  filter: grayscale(0%) brightness(1.05) !important;
}
.partner-card-logo img {
  filter: grayscale(0%) brightness(1) !important;
  max-height: 80px !important;
}
.partner-card:hover .partner-card-logo img {
  filter: brightness(1.05) !important;
}

/* ================================================
   HERO VISUAL — CNC DRILL (NOVO)
   ================================================ */

/* Hero layout — na mobilnom vizual ide ispod teksta */
.hero {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr auto !important;
  min-height: 100vh !important;
}
.hero-left  { grid-column: 1; grid-row: 1; }
.hero-right { grid-column: 2; grid-row: 1; }
.hero-stats { grid-column: 1 / -1; grid-row: 2; }

.hero-svg {
  width: 88%;
  max-width: 460px;
  height: auto;
  color: rgba(255,255,255,0.9);
  opacity: 0;
  animation: heroSvgIn 1.2s cubic-bezier(0.22,1,0.36,1) 0.15s forwards;
}
body.light-theme .hero-svg {
  color: rgba(17,17,16,0.85);
}

@keyframes heroSvgIn {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Burgija se spušta u materijal */
.vis-drill {
  animation: drillFeed 3s cubic-bezier(0.4,0,0.2,1) 0.8s both;
}
@keyframes drillFeed {
  0%   { transform: translateY(-40px); opacity:0; }
  30%  { opacity:1; }
  100% { transform: translateY(0); opacity:1; }
}

/* Linija reza raste — burgija buši */
.vis-cut-line {
  animation: cutGrow 2s ease 1.8s both;
}
@keyframes cutGrow {
  from { transform: scaleY(0); transform-origin: top; }
  to   {
    d: path("M240 290 L240 380");
    transform: scaleY(1);
  }
}

/* Alternativni cut-line (SVG animate) */
.vis-cut-line {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: cutDash 2.5s ease 1.5s forwards;
}
@keyframes cutDash {
  to { stroke-dashoffset: 0; }
}

/* Strugotine se pojavljuju */
.vis-chips {
  opacity: 0;
  animation: chipsIn 0.6s ease 2s forwards;
}
@keyframes chipsIn {
  from { opacity:0; transform:scale(0.8); }
  to   { opacity:0.35; transform:scale(1); }
}

/* Kote se pojavljuju poslednje */
.vis-dims, .vis-infobox {
  animation: dimsReveal 1s ease 2.2s forwards;
}
@keyframes dimsReveal {
  from { opacity:0; }
  to   { opacity:1; }
}

/* Radni komad — fade in */
.vis-workpiece {
  opacity: 0;
  animation: wpIn 0.8s ease 0.5s forwards;
}
@keyframes wpIn {
  from { opacity:0; }
  to   { opacity:1; }
}

/* ── MOBILE: hero-right ide kao banner ispod teksta ── */
@media (max-width: 768px) {
  .hero {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    min-height: unset !important;
  }
  .hero-left  { grid-column: 1; grid-row: 1; padding: 7rem 1.5rem 2rem !important; }
  .hero-right {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--dark);
    padding: 2rem 0;
  }
  .hero-right::before { display:none !important; }
  .hero-right-overlay { display:none !important; }
  .hero-stats {
    grid-column: 1 !important;
    grid-row: 3 !important;
    grid-template-columns: repeat(3,1fr) !important;
  }
  .hero-svg {
    width: 80%;
    max-width: 300px;
  }
}

/* ── HERO DRILL FIX ── */

/* Cut line animacija — raste od vrha ka dole */
.vis-cut-line {
  animation: none !important;
  stroke-dasharray: none !important;
  stroke-dashoffset: none !important;
}

/* Burgija se animira pravilno */
.vis-drill {
  animation: drillFeed2 2.5s cubic-bezier(0.4,0,0.2,1) 0.6s both;
}
@keyframes drillFeed2 {
  0%   { transform: translateY(-35px); opacity: 0; }
  25%  { opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}

.vis-workpiece { opacity:0; animation: fadeIn 0.8s ease 0.3s forwards; }
.vis-chips     { animation: fadeIn 0.7s ease 2.2s forwards; }
.vis-dims      { animation: fadeIn 1s ease 2.5s forwards; }
.vis-infobox   { animation: fadeIn 1s ease 2.8s forwards; }

@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

/* Cut line — SVG animate approach via CSS */
.vis-cut-line {
  stroke-dasharray: 120 !important;
  stroke-dashoffset: 120 !important;
  animation: cutGrow2 2s ease 1.8s forwards !important;
}
@keyframes cutGrow2 {
  to { stroke-dashoffset: 0; }
}

/* Mobile hero — veća visina, sve vidljivo */
@media (max-width: 768px) {
  .hero-right {
    min-height: 420px !important;
    padding: 1.5rem 0 !important;
  }
  .hero-svg {
    width: 85% !important;
    max-width: 340px !important;
  }
}

@media (max-width: 480px) {
  .hero-right {
    min-height: 360px !important;
  }
  .hero-svg {
    width: 90% !important;
    max-width: 280px !important;
  }
}

/* ================================================
   HERO MOBILE — CLEAN OVERRIDE
   Redosled: tekst → animacija → statistike
   ================================================ */
@media (max-width: 900px) {

  /* Reset hero u vertikalni flex */
  .hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: unset !important;
    position: relative !important;
    overflow: visible !important;
  }

  /* 1. Tekst */
  .hero-left {
    order: 1 !important;
    padding: 7rem 1.5rem 2rem !important;
    width: 100% !important;
  }

  /* 2. Animacija — puna visina da stane burgija */
  .hero-right {
    order: 2 !important;
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    height: 480px !important;
    min-height: 480px !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--dark) !important;
    border-top: 1px solid var(--line) !important;
    border-bottom: 1px solid var(--line) !important;
    overflow: hidden !important;
  }
  .hero-right::before,
  .hero-right-overlay {
    display: none !important;
  }

  /* 3. Statistike — odvojeni red ispod animacije */
  .hero-stats {
    order: 3 !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    width: 100% !important;
    border-top: 1px solid var(--line) !important;
    border-bottom: none !important;
  }
  .stat-item {
    padding: 1.5rem 1rem !important;
    border-right: 1px solid var(--line) !important;
  }
  .stat-item:last-child { border-right: none !important; }

  /* SVG veličina */
  .hero-svg {
    width: 80% !important;
    max-width: 320px !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  .hero-right {
    height: 400px !important;
    min-height: 400px !important;
  }
  .hero-svg {
    width: 88% !important;
    max-width: 280px !important;
  }
  .stat-item { padding: 1.2rem 0.5rem !important; }
  .stat-num  { font-size: 1.6rem !important; }
  .stat-label{ font-size: 0.6rem !important; }
}





/* Nav logo — manji na mobilnom */
@media (max-width: 900px) {
  .nav-logo { font-size: 1rem !important; letter-spacing: 0.08em !important; }
}
@media (max-width: 480px) {
  .nav-logo { font-size: 0.85rem !important; }
}
