/* =========================================================
   GO-LIX — stylesheet
   Barvna paleta izhaja iz uradne CGP (Pantone 7542C / Green C / 7541C)
   ========================================================= */

@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-ext-400-normal.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-ext-500-normal.woff2") format("woff2");
  font-weight:500; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-ext-600-normal.woff2") format("woff2");
  font-weight:600; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-ext-700-normal.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-ext-800-normal.woff2") format("woff2");
  font-weight:800; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-ext-400-normal.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-ext-500-normal.woff2") format("woff2");
  font-weight:500; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-ext-600-normal.woff2") format("woff2");
  font-weight:600; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-ext-700-normal.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
  unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-500-normal.woff2") format("woff2");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-600-normal.woff2") format("woff2");
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-700-normal.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("../fonts/manrope-latin-800-normal.woff2") format("woff2");
  font-weight:800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-400-normal.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-500-normal.woff2") format("woff2");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-600-normal.woff2") format("woff2");
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter-latin-700-normal.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}

:root{
  /* --- CGP barve (Pantone -> HEX) --- */
  --green:        #0AB396;   /* Pantone Green C  */
  --green-deep:   #078063;   /* izpeljana temnejša za hover/kontrast */
  --green-mist:   #E4F5F0;   /* zelo svetla podlaga */
  --grey-blue:    #ADBFC1;   /* Pantone 7542 C */
  --mist:         #DEE3DF;   /* Pantone 7541 C */
  --ink:          #16241F;   /* skoraj črna, zelenkasto ogljena — besedilo */
  --panel:        #262F36;   /* temni paneli (header, section--dark) — model C, skrilasto sivo-modra */
  --panel-soft:   #333E46;   /* rahlo svetlejši temni ton za robove/kartice na temnem */
  --footer-bg:    #16241F;   /* noga strani — nekoliko temnejši, poseben odtenek CGP za boljši kontrast besedila */
  --paper:        #FFFFFF;
  --paper-tint:   #F5F8F6;   /* rahla zelenkasta podlaga za cone */
  --line:         #E1E8E4;   /* hairline robovi na svetlem */
  --line-dark:    rgba(255,255,255,.12);
  --red-accent:   #C4324A;   /* PhishStrike poudarek, iz brošure */
  --red-mist:     #FBEEF0;

  --font-display: "Manrope", "Segoe UI", Arial, sans-serif;
  --font-body:    "Inter", "Segoe UI", Arial, sans-serif;

  --container: 1180px;
  --radius: 14px;
  --radius-sm: 8px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0 0 .5em;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-0.01em;
  text-wrap:balance;
}
p{ margin:0 0 1em; color:#3C4A45; text-wrap:pretty; text-align:justify; hyphens:auto; }
ul{ margin:0; padding:0; }
.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px;
}

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

/* ---------- utility ---------- */
.eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--green-deep);
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:4px; height:18px;
  background:var(--green);
  border-radius:2px;
  flex-shrink:0;
}
.eyebrow.on-dark{ color:var(--grey-blue); }
.eyebrow.on-dark::before{ background:var(--green); }

.section{ padding:96px 0; }
.section--tight{ padding:64px 0; }
.section--tint{ background:var(--paper-tint); }
.section--dark{ background:var(--panel); color:#EAF1EE; }
.section--dark p{ color:#B9C7C1; }
.section--dark h2, .section--dark h3{ color:#fff; }

.eyebrow-lead{
  max-width:none;
}
.eyebrow-lead h2{ font-size:clamp(1.6rem, 2.6vw, 2.3rem); }
.eyebrow-lead p{ font-size:1.05rem; }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  padding:14px 26px;
  border-radius:999px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn--primary{ background:var(--green); color:#052018; }
.btn--primary:hover{ background:var(--green-deep); color:#fff; }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--green); color:var(--green-deep); }
.btn--ghost-dark{ background:transparent; color:#fff; border-color:var(--line-dark); }
.btn--ghost-dark:hover{ border-color:var(--green); color:var(--green); }
.btn svg{ width:16px; height:16px; }

.pill{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px;
  background:var(--green-mist); color:var(--green-deep);
}

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--panel);
  border-bottom:1px solid var(--line-dark);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  height:82px;
  gap:24px;
}
.brand{ display:flex; align-items:center; }
.brand img{ height:40px; width:auto; }
.main-nav{ display:flex; align-items:center; gap:6px; }
.main-nav a{
  font-family:var(--font-display);
  font-weight:600;
  font-size:.92rem;
  color:#CFDBD6;
  padding:10px 16px;
  border-radius:999px;
  transition:background .15s ease, color .15s ease;
}
.main-nav a:hover{ color:#fff; background:var(--panel-soft); }
.main-nav a.is-active{ color:#fff; background:var(--panel-soft); }
.header-cta{ display:flex; align-items:center; gap:10px; }
.nav-toggle{
  display:none;
  background:transparent; border:0; color:#fff; cursor:pointer;
  width:40px; height:40px; padding:0;
}
.nav-toggle span{ display:block; width:22px; height:2px; background:#fff; margin:5px auto; transition:.2s; }

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(180deg, var(--paper-tint) 0%, var(--paper) 100%);
  overflow:hidden;
  padding:76px 0 60px;
}
.hero .container{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.hero h1{
  font-size:clamp(2.3rem, 4vw, 3.4rem);
  color:var(--ink);
}
.hero h1 .accent{ color:var(--green); }
.hero p.lead{
  font-size:1.15rem;
  max-width:520px;
  color:#4B5A55;
}
.hero-actions{ display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
.hero-figure{ position:relative; display:flex; justify-content:center; }
.hero-figure svg{ width:100%; max-width:440px; height:auto; }

.stat-strip{
  background:var(--panel);
  color:#fff;
}
.stat-strip .container{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.stat-strip-inner{
  display:flex; flex-wrap:wrap; gap:36px;
  padding:34px 0;
  border-top:1px solid var(--line-dark);
}
.stat-strip .eyebrow{ margin-top:28px; }
.stat-strip h3{
  font-size:1.15rem;
  max-width:760px;
  color:#fff;
  font-weight:700;
  text-align:justify;
  text-wrap:pretty;
  hyphens:auto;
}
.stat-item{ flex:1; min-width:170px; }
.stat-item .num{
  font-family:var(--font-display);
  font-weight:800;
  font-size:2.1rem;
  color:var(--green);
  display:block;
}
.stat-item .label{ color:#B9C7C1; font-size:.92rem; }

/* ---------- pillars (tehnologija/procesi/ljudje) ---------- */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.pillar-card{
  border:1.5px solid var(--line);
  border-radius:var(--radius);
  padding:28px 24px;
  background:#fff;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pillar-card:hover{
  border-color:var(--green);
  transform:translateY(-4px);
  box-shadow:0 18px 40px -24px rgba(10,179,150,.45);
}
.pillar-card .diamond{ margin-bottom:16px; }
.pillar-card h4{ font-size:1.05rem; text-transform:uppercase; letter-spacing:.04em; }
.pillar-card p{ font-size:.95rem; margin:0; }

/* small diamond mark used as bullet/icon device (echo of brand mark) */
.diamond{
  width:34px; height:34px;
  position:relative;
  display:inline-block;
}
.diamond svg{ width:100%; height:100%; }

/* ---------- numbered service list (teaser + full) ---------- */
.service-list{ display:flex; flex-direction:column; }
.service-row{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:22px;
  padding:26px 0;
  border-top:1px solid var(--line);
}
.service-row:first-child{ border-top:none; }
.service-row.service-row--plain{ grid-template-columns:1fr; }
.service-row .idx{
  font-family:var(--font-display);
  font-weight:800;
  font-size:1rem;
  color:var(--green-deep);
  background:var(--green-mist);
  width:44px; height:44px;
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
}
.service-row h3{ font-size:1.15rem; margin-bottom:6px; }
.service-row p{ font-size:.96rem; margin-bottom:0; }
.service-row p + p{ margin-top:10px; }

/* compact service groups used on storitve.html for secondary catalogue */
.tag-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(230px,1fr));
  gap:14px;
  margin-top:8px;
}
.tag-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--radius-sm);
  padding:16px 18px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:.93rem;
  color:var(--ink);
  display:flex; align-items:flex-start; gap:10px;
}
.tag-card::before{
  content:"";
  width:8px; height:8px; margin-top:6px;
  background:var(--green);
  transform:rotate(45deg);
  flex-shrink:0;
}

/* seznami s kljukico so zamaknjeni glede na osnovno besedilo,
   pod zadnjo postavko pa je vedno presledek do naslednjega odstavka */
.check-list{ margin:14px 0 22px 26px; display:flex; flex-direction:column; gap:9px; }
.check-list:last-child{ margin-bottom:4px; }
@media (max-width:560px){ .check-list{ margin-left:14px; } }
.check-list li{
  list-style:none; position:relative; padding-left:26px;
  font-size:.95rem; color:#3C4A45;
}
.check-list li::before{
  content:""; position:absolute; left:0; top:.35em;
  width:14px; height:14px; border-radius:4px;
  background:var(--green-mist);
  border:1.5px solid var(--green);
}
.check-list li::after{
  content:""; position:absolute; left:4px; top:.55em;
  width:7px; height:4px; border-left:2px solid var(--green-deep); border-bottom:2px solid var(--green-deep);
  transform:rotate(-45deg);
}

/* ---------- povezava kot kartica (sorodne storitve) ---------- */
a.tag-card{ transition:border-color .2s ease, transform .2s ease; }
a.tag-card:hover{ border-color:var(--green); transform:translateY(-2px); }

.gov-card{
  border-top:3px solid var(--green);
  background:#fff;
  border-radius:var(--radius-sm);
  padding:26px;
  box-shadow:0 1px 0 var(--line), 0 20px 40px -32px rgba(20,40,35,.25);
}
.gov-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:20px;
  margin-top:36px;
}
.gov-card h4{ font-size:1.02rem; margin-bottom:8px; }
.gov-card p{ font-size:.93rem; margin:0; }

/* ---------- phishstrike callout ---------- */
.callout{
  border:1.5px solid var(--red-accent);
  background:var(--red-mist);
  border-radius:var(--radius);
  padding:32px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
}
.callout h3{ color:var(--red-accent); font-size:1.2rem; }
.callout p{ margin-bottom:10px; }
.callout a.btn{ background:var(--red-accent); color:#fff; }
.callout a.btn:hover{ background:#9c2537; }
.callout-mark{ justify-self:end; opacity:.9; }

/* ---------- tools page cards ---------- */
.tool-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px;
  background:#fff;
  margin-bottom:24px;
}
.tool-card .tool-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:14px;}
.tool-card h3{ font-size:1.35rem; margin:0; }
.tool-card .pill{ }
.partner-note{
  margin-top:18px; padding-top:18px; border-top:1px dashed var(--line);
  font-size:.92rem; color:#5B6B65;
}

/* ---------- about page ---------- */
.about-hero{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
}
.about-fact{
  border-left:3px solid var(--green);
  padding-left:18px;
  margin-bottom:20px;
}
.about-fact h4{ font-size:1rem; margin-bottom:4px; }
.about-fact p{ font-size:.95rem; margin:0; }

.info-note{
  border:1px dashed var(--grey-blue);
  border-radius:var(--radius-sm);
  padding:18px 20px;
  font-size:.9rem;
  color:#5B6B65;
  background:var(--paper-tint);
}

/* ---------- contact ---------- */
.contact-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:50px;
  align-items:start;
}
.contact-card{
  background:var(--panel);
  color:#fff;
  border-radius:var(--radius);
  padding:40px;
}
.contact-card h3{ color:#fff; font-size:1.2rem; }
.contact-list{ margin-top:22px; display:flex; flex-direction:column; gap:18px; }
.contact-list .item{ display:flex; gap:14px; align-items:flex-start; }
.contact-list .ico{
  width:38px; height:38px; border-radius:10px;
  background:var(--panel-soft);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.contact-list .ico svg{ width:18px; height:18px; stroke:var(--green); }
.contact-list a{ color:#fff; font-weight:600; }
.contact-list a:hover{ color:var(--green); }
.contact-list .muted{ color:#AEC0BA; font-size:.9rem; }
.map-frame{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  aspect-ratio:16/11;
}
.map-frame iframe{ width:100%; height:100%; border:0; display:block; }

/* ---------- footer ---------- */
.site-footer{
  background:var(--footer-bg);
  color:#C7D4CE;
  padding-top:64px;
}
.footer-top{
  display:grid;
  grid-template-columns:1.3fr .7fr .7fr .9fr;
  gap:40px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.footer-top h2{ color:#fff; font-size:1.5rem; max-width:420px; }
.footer-brand img{ height:26px; margin-bottom:18px; }
.footer-col h5{
  font-family:var(--font-display);
  color:#fff; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:16px;
}
.footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.footer-col a{ color:#C7D4CE; font-size:.92rem; }
.footer-col a:hover{ color:var(--green); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; gap:16px; flex-wrap:wrap;
  font-size:.82rem; color:#9FB0A8;
}
.footer-bottom a{ color:#C7D4CE; }
.footer-bottom a:hover{ color:var(--green); }
.footer-legal{ color:#8CA098; }

/* ---------- citat / quote ---------- */
.quote-block{
  border-left:3px solid var(--green);
  padding:6px 0 6px 24px;
  margin:36px 0 0;
}
.quote-block p{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.15rem;
  color:var(--ink);
  margin-bottom:10px;
}
.quote-block cite{
  font-family:var(--font-body);
  font-style:normal;
  font-size:.9rem;
  color:#6B7B75;
}
.section--dark .quote-block p{ color:#fff; }
.section--dark .quote-block cite{ color:#AEC0BA; }

/* ---------- certifikati ---------- */
.cert-strip{
  background:var(--panel);
  border-radius:var(--radius);
  padding:28px 20px;
  overflow-x:auto;
}
.cert-strip img{ height:70px; width:auto; margin:0 auto; }

/* ---------- page hero (subpages) ---------- */
.page-hero{
  background:var(--panel);
  color:#fff;
  padding:64px 0 56px;
}
.page-hero h1{ color:#fff; font-size:clamp(1.9rem,3.4vw,2.6rem); }
.hero-split{
  display:grid; grid-template-columns:1.25fr .75fr;
  gap:40px; align-items:center;
}
/* kartica z ikono naj se oprime ikone, ne razteza celega stolpca */
.hero-split .icon-figure{ width:100%; max-width:250px; justify-self:center; }
@media (max-width:820px){
  .hero-split{ grid-template-columns:1fr; gap:26px; }
  .hero-split .icon-figure{ max-width:200px; justify-self:start; }
}
.page-hero p{ color:#B9C7C1; font-size:1.05rem; }

/* ---------- reveal-on-scroll ---------- */
[data-reveal]{
  opacity:0; transform:translateY(16px);
  transition:opacity .6s ease, transform .6s ease;
}
[data-reveal].is-visible{ opacity:1; transform:translateY(0); }

/* radarsko vrtenje in utrip vozlišč v hero ilustraciji */
.hero-figure .radar{ animation:golix-spin 22s linear infinite; }
.hero-figure .nodes circle{ animation:golix-pulse 2.6s ease-in-out infinite; }
.hero-figure .nodes circle:nth-child(2){ animation-delay:.6s; }
.hero-figure .nodes circle:nth-child(3){ animation-delay:1.2s; }
.hero-figure .nodes circle:nth-child(4){ animation-delay:1.8s; }
@keyframes golix-spin{ to{ transform:rotate(360deg); } }
@keyframes golix-pulse{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }

@media (prefers-reduced-motion: reduce){
  [data-reveal]{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
  .hero-figure .radar, .hero-figure .nodes circle{ animation:none; }
}

/* ---------- skip link (accessibility) ---------- */
.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--green); color:#052018;
  padding:10px 18px; font-weight:700; z-index:100;
  border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

/* ---------- dropdown nav ---------- */
.main-nav{ position:static; }
.nav-item{ position:relative; display:flex; align-items:center; gap:2px; }

@media (max-width:1010px){
  .nav-item{ flex-wrap:wrap; }
}
.nav-item > a{ display:flex; align-items:center; gap:5px; }
.nav-item .chev{ width:13px; height:13px; transition:transform .15s ease; }
/* zavrti samo puščico glavne postavke; puščica v podmeniju (.chev-right) mora ostati obrnjena v desno */
.nav-item.is-open > a .chev, .nav-item:hover > a .chev{ transform:rotate(180deg); }
.dropdown{
  position:absolute; top:calc(100% + 10px); left:0;
  background:var(--panel-soft);
  border:1px solid var(--line-dark);
  border-radius:12px;
  padding:8px;
  min-width:300px;
  box-shadow:0 24px 48px -20px rgba(0,0,0,.45);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index:60;
}
.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown,
.nav-item.is-open .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown a{
  display:block; padding:11px 14px; border-radius:8px;
  font-size:.87rem; font-weight:600; color:#CFDBD6; white-space:normal;
}
.dropdown a:hover{ background:var(--panel); color:#fff; }

/* ---------- flyout (drugi nivo podmenija) ---------- */
.dd-item{ position:relative; }
.dd-item > a{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.chev-right{ width:13px; height:13px; flex-shrink:0; }
.flyout{
  position:absolute; top:-8px; left:calc(100% + 6px);
  background:var(--panel-soft);
  border:1px solid var(--line-dark);
  border-radius:12px;
  padding:8px;
  min-width:300px;
  box-shadow:0 24px 48px -20px rgba(0,0,0,.45);
  opacity:0; visibility:hidden; transform:translateX(4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index:70;
}
.dd-item:hover .flyout,
.dd-item:focus-within .flyout,
.dd-item.is-open .flyout{
  opacity:1; visibility:visible; transform:translateX(0);
}
.flyout a{
  display:block; padding:11px 14px; border-radius:8px;
  font-size:.87rem; font-weight:600; color:#CFDBD6; white-space:normal;
}
.flyout a:hover{ background:var(--panel); color:#fff; }

@media (max-width:1010px){
  .flyout{
    position:static; opacity:1; visibility:visible; transform:none;
    display:none; margin:2px 0 6px; border:none; background:transparent; padding:0 0 0 14px;
    box-shadow:none;
  }
  .dd-item.is-open .flyout{ display:block; }
}

/* ---------- animiran ščit na Domov ---------- */
.hero-shield-wrap{
  position:relative;
  width:min(380px, 80vw);
  aspect-ratio:1;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto;
}
.hero-shield-wrap .platform{
  position:absolute; inset:6%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(10,179,150,.10) 0%, rgba(10,179,150,.04) 55%, transparent 75%);
}
.hero-shield-wrap img{
  width:46%; height:auto; position:relative; z-index:2;
  filter:drop-shadow(0 18px 34px rgba(10,179,150,.3));
}
.orbit{
  position:absolute; inset:0;
  border-radius:50%;
  border:1.5px dashed rgba(10,179,150,.5);
  animation:orbit-spin 26s linear infinite;
}
.orbit--2{
  inset:9%;
  border:1.5px solid rgba(173,191,193,.4);
  border-style:dotted;
  animation:orbit-spin 18s linear infinite reverse;
}
.orbit .sat{
  position:absolute; top:-7px; left:calc(50% - 7px);
  width:14px; height:14px; border-radius:50%;
  background:var(--green);
  box-shadow:0 0 14px rgba(10,179,150,.8);
}
.orbit--2 .sat{
  width:10px; height:10px; top:-5px; left:calc(50% - 5px);
  background:var(--grey-blue);
  box-shadow:0 0 10px rgba(173,191,193,.8);
}
.hero-shield-wrap .pulse{
  position:absolute; inset:30%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(10,179,150,.18) 0%, transparent 68%);
  animation:shield-pulse 3.2s ease-in-out infinite;
}
@keyframes orbit-spin{ to{ transform:rotate(360deg); } }
@keyframes shield-pulse{ 0%,100%{ transform:scale(.94); opacity:.7; } 50%{ transform:scale(1.05); opacity:1; } }

@media (prefers-reduced-motion: reduce){
  .orbit, .orbit--2, .hero-shield-wrap .pulse{ animation:none; }
}

/* ---------- široke slike čez celo širino sekcije ---------- */
.full-figure{ margin:36px 0 0; }
.full-figure img{
  width:100%; height:auto; display:block;
  border-radius:var(--radius);
  box-shadow:0 30px 60px -40px rgba(20,40,35,.35);
}
.side-figure img{
  width:100%; height:auto; display:block;
  border-radius:var(--radius);
  box-shadow:0 24px 48px -36px rgba(20,40,35,.3);
}

/* ---------- partner sekcije (v slogu PhishStrike kartice) ---------- */
.partner-logo{
  height:56px; width:auto; max-width:220px; object-fit:contain;
  margin-bottom:18px; display:block;
}

/* ---------- pas logotipov na vrhu strani Partnerji ---------- */
.logo-strip{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:18px;
  align-items:stretch;
}
.logo-strip-item{
  display:flex; align-items:center; justify-content:center;
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:var(--radius);
  padding:18px 14px;
  height:110px;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.logo-strip-item:hover{
  border-color:var(--green);
  transform:translateY(-4px);
  box-shadow:0 18px 40px -24px rgba(10,179,150,.45);
}
.logo-strip-item img{
  max-height:52px; max-width:100%; width:auto; height:auto; object-fit:contain; display:block;
}
.logo-strip-text{
  font-family:var(--font-display); font-weight:800; font-size:1.15rem;
  color:var(--green-deep); letter-spacing:-.01em; white-space:nowrap;
}
@media (max-width:900px){
  .logo-strip{
    grid-template-columns:none;
    grid-auto-columns:minmax(120px, 1fr);
    grid-auto-flow:column;
    overflow-x:auto;
    padding-bottom:6px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .logo-strip-item{ height:88px; padding:14px 16px; }
  .logo-strip-item img{ max-height:40px; }
  .logo-strip-text{ font-size:1rem; }
}

/* ---------- pojavnost: zavihki po letih ---------- */
.year-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.year-tab{
  font-family:var(--font-display); font-weight:700; font-size:.95rem;
  padding:10px 22px; border-radius:999px;
  border:1.5px solid var(--line); background:#fff; color:var(--ink);
  cursor:pointer; transition:all .15s ease;
}
.year-tab:hover{ border-color:var(--green); color:var(--green-deep); }
.year-tab.is-active{ background:var(--green); border-color:var(--green); color:#052018; }
.year-panel{ display:none; }
.year-panel.is-active{ display:block; }
.event-list{ display:flex; flex-direction:column; gap:0; }
.event-item{
  display:flex; gap:14px; align-items:baseline;
  padding:16px 0; border-bottom:1px solid var(--line);
}
.event-item::before{
  content:""; width:9px; height:9px; flex-shrink:0;
  background:var(--green); transform:rotate(45deg) translateY(-1px);
}
.event-item a{ font-weight:600; color:var(--ink); }
.event-item a:hover{ color:var(--green-deep); }
.event-item .ev-date{ color:#6B7B75; font-size:.88rem; white-space:nowrap; }

@media (max-width:1010px){
  .nav-item.has-children > a{ justify-content:space-between; }
  .dropdown{
    position:static; opacity:1; visibility:visible; transform:none;
    display:none; margin:2px 0 6px; border:none; background:transparent; padding:0 0 0 14px;
    box-shadow:none;
  }
  .nav-item.is-open .dropdown{ display:block; }
}

/* ---------- service icon badge (SVG illustracije za posamezne strani) ---------- */
.service-hero-figure{
  display:flex; justify-content:center; align-items:center;
}
.service-hero-figure svg, .service-hero-figure img{ width:100%; max-width:440px; height:auto; border-radius:16px; display:block; }
.icon-badge{
  width:100%; aspect-ratio:16/10; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; border-radius:12px; margin-bottom:4px;
  background:var(--paper-tint);
}
.icon-badge svg, .icon-badge img{
  width:auto; height:100%; max-width:100%;
  object-fit:contain; display:block;
}

/* ikona kot samostojna figura (hero / v vsebini) — enak motiv kot na karticah */
.icon-figure{
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 24px 48px -34px rgba(20,40,35,.35);
}
.icon-figure img, .icon-figure svg{
  width:100%; max-width:182px; height:auto; display:block;
}
.icon-figure--wide{ max-width:240px; margin:36px auto 0; }
@media (max-width:760px){
  .icon-figure{ padding:14px; }
  .icon-figure img, .icon-figure svg{ max-width:140px; }
}

/* ---------- slike storitev med besedilom ---------- */
.service-figure{ margin:26px 0 6px; }
.service-figure img{
  width:100%; height:auto; display:block;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--paper-tint);
}
/* min-width:0 na mrežnih celicah prepreči, da bi široka slika raztegnila stolpec */
.service-row, .service-row > *{ min-width:0; }

/* ---------- PhishStrike znamka v nogi PhishStrike podstrani ---------- */
.ps-brand-strip{ padding-top:0; }
.ps-brand-link{
  display:flex; align-items:center; gap:26px; flex-wrap:wrap;
  max-width:760px; margin-inline:auto;
  padding:26px 30px;
  border:1.5px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  text-decoration:none;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.ps-brand-link:hover{
  border-color:#C4324A;
  transform:translateY(-3px);
  box-shadow:0 18px 40px -26px rgba(196,50,74,.4);
}
.ps-brand-link img{ width:200px; height:auto; flex-shrink:0; display:block; }
.ps-brand-link span{ flex:1; min-width:220px; font-size:.95rem; color:#4A5A55; }
.ps-brand-link strong{ color:#C4324A; }
@media (max-width:640px){
  .ps-brand-link{ flex-direction:column; align-items:flex-start; gap:16px; padding:22px; }
  .ps-brand-link img{ width:170px; }
}

/* ---------- certifikacijske značke (besedilne, brez logotipov tretjih oseb) ---------- */
.cert-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(210px,1fr));
  gap:12px;
}
.cert-badge{
  border:1px solid var(--line-dark);
  background:var(--panel-soft);
  border-radius:10px;
  padding:14px 16px;
  display:flex; align-items:center; gap:12px;
}
.cert-badge .abbr{
  font-family:var(--font-display); font-weight:800; font-size:.85rem;
  color:#052018; background:var(--green);
  border-radius:8px; padding:6px 9px; flex-shrink:0; letter-spacing:.02em;
}
.cert-badge .full{ font-size:.82rem; color:#CFDBD6; line-height:1.3; }
.cert-grid.on-light .cert-badge{ background:#fff; border-color:var(--line); }
.cert-grid.on-light .cert-badge .full{ color:#4B5A55; }

.cert-image-grid{
  display:flex; flex-wrap:wrap; gap:16px; justify-content:flex-start;
}
.cert-badge-img{
  width:104px; height:104px; border-radius:16px;
  background:#fff; display:flex; align-items:center; justify-content:center;
  padding:10px; flex-shrink:0;
}
.cert-badge-img img{ width:100%; height:100%; object-fit:contain; }

/* ---------- partnerji ---------- */
.partner-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:20px;
}
.partner-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
  background:#fff;
}
.partner-card h4{ font-size:1.05rem; margin-bottom:8px; }
.partner-card p{ font-size:.92rem; margin:0; }
.partner-tag{
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--green-deep); background:var(--green-mist); padding:3px 10px; border-radius:999px; margin-bottom:10px;
}

/* ---------- video (facade — nič se ne naloži, dokler uporabnik ne klikne) ---------- */
.video-facade{
  position:relative;
  aspect-ratio:16/9;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--panel);
  cursor:pointer;
  border:1px solid var(--line-dark);
}
.video-facade img{ width:100%; height:100%; object-fit:cover; opacity:.55; }
.video-facade .play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.video-facade .play span{
  width:76px; height:76px; border-radius:50%;
  background:var(--green); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -8px rgba(10,179,150,.7);
  transition:transform .2s ease;
}
.video-facade:hover .play span{ transform:scale(1.08); }
.video-facade .play svg{ width:26px; height:26px; fill:#052018; }
.video-facade iframe{ width:100%; height:100%; border:0; display:block; }
.video-caption{ margin-top:10px; font-size:.85rem; color:#6B7B75; }

/* ---------- kariera accordion ---------- */
.job-accordion{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  overflow:hidden;
  margin-bottom:18px;
}
.job-summary{
  position:relative;
  display:block;
  padding:22px 50px 22px 26px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.job-summary::-webkit-details-marker{ display:none; }
.job-summary h3{ margin:0; font-size:1.1rem; font-weight:700; }
.job-meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
/* lokacija in rok sta vidna že v seznamu, pred odprtjem razpisa */
.job-summary .job-meta{ margin:12px 0 0; }
.job-meta b{ font-style:normal; }
.job-status{
  font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px; white-space:nowrap;
}
.job-summary::after{
  content:""; position:absolute; right:26px; top:50%;
  width:10px; height:10px;
  border-right:2px solid var(--green-deep); border-bottom:2px solid var(--green-deep);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .2s ease;
}
.job-accordion[open] .job-summary::after{ transform:translateY(-30%) rotate(-135deg); }
.job-status.is-open{ background:var(--green-mist); color:var(--green-deep); }
.job-status.is-closed{ background:#FBEBEC; color:#B3273F; }
.job-body{ padding:0 26px 30px; border-top:1px solid var(--line); }
.job-body h4{ font-size:.95rem; margin:22px 0 10px; }

/* ---------- svetla kontaktna kartica (namesto temne) ---------- */
.contact-card--light{
  background:#fff;
  border:1.5px solid var(--line);
  color:var(--ink);
  border-radius:var(--radius);
  padding:40px;
  box-shadow:0 30px 60px -40px rgba(20,40,35,.25);
}
.contact-card--light h3{ color:var(--ink); }
.contact-card--light .eyebrow{ color:var(--green-deep); }
.contact-card--light .contact-list .ico{ background:var(--green-mist); }
.contact-card--light .contact-list .ico svg{ stroke:var(--green-deep); }
.contact-card--light .contact-list a{ color:var(--ink); }
.contact-card--light .contact-list a:hover{ color:var(--green-deep); }
.contact-card--light .contact-list .muted{ color:#6B7B75; }

.b2b-banner{
  display:flex; align-items:center; gap:14px;
  background:var(--green-mist);
  border:1px solid #BFE7DC;
  border-radius:var(--radius-sm);
  padding:16px 20px;
  font-size:.92rem;
  color:var(--green-deep);
  font-weight:600;
}
.b2b-banner svg{ width:22px; height:22px; flex-shrink:0; }

/* ---------- Phishstrike: polkrožni merilnik (gauge) ---------- */
.ps-stat-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:28px 26px 22px; box-shadow:0 30px 60px -44px rgba(20,40,35,.3);
}
.ps-stat-label{
  margin:0 0 14px; font-size:.8rem; letter-spacing:.03em; text-transform:uppercase;
  color:#6B7C76; font-weight:600; line-height:1.35;
}
.ps-stat-head{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.ps-stat-num{
  font-family:var(--font-display); font-weight:800; font-size:3.1rem;
  line-height:1; color:var(--green);
}
.ps-stat-delta{
  font-family:var(--font-display); font-weight:700; font-size:.88rem;
  color:var(--ink); line-height:1.3;
}
.ps-stat-delta span{ font-weight:400; color:#6B7C76; }
.ps-stat-chart{ width:100%; height:auto; display:block; margin:18px 0 4px; }
.ps-stat-caption{ margin:0; font-size:.82rem; color:#6B7B75; }

/* ---------- Phishstrike: moduli in rešitve ---------- */
.module-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .module-grid{ grid-template-columns:1fr; } }

/* ---------- moduli z oznako vključenosti ---------- */
.module-grid--states .module-card{ display:flex; flex-direction:column; }
.m-head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.m-ico{
  width:38px; height:38px; flex-shrink:0; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  background:var(--green-mist); color:var(--green-deep);
}
.m-ico svg{ width:20px; height:20px; }
.m-oceni .m-ico{ background:#E4F5F0; color:#07806A; }
.m-testiraj .m-ico{ background:#E6F0FB; color:#1F5FA8; }
.m-izobrazuj .m-ico{ background:#F1E9F9; color:#6E3A9C; }
.m-state{
  margin-left:auto; display:inline-flex; align-items:center; gap:5px;
  font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding:4px 9px; border-radius:999px; white-space:nowrap;
}
.m-state svg{ width:11px; height:11px; }
.m-state--in{ background:var(--green-mist); color:var(--green-deep); }
.m-state--out{ background:#F1F4F2; color:#8FA39C; }
.module-card.is-off{
  background:var(--paper-tint);
  border-style:dashed;
  border-top-color:#CBD6D1 !important;
}
.module-card.is-off .m-ico{ background:#EDF1EF; color:#A9B8B2; }
.module-card.is-off h4,
.module-card.is-off .m-tag{ color:#8FA39C; }
.module-card.is-off p{ color:#8FA39C; }
.module-note{
  margin:18px 0 0; font-size:.86rem; color:#6B7C76;
}
.module-card{
  border:1px solid var(--line); border-radius:var(--radius); background:#fff;
  padding:26px 24px; border-top:4px solid var(--green);
}
.module-card.m-oceni{ border-top-color:#0AB396; }
.module-card.m-testiraj{ border-top-color:#2E7FD9; }
.module-card.m-izobrazuj{ border-top-color:#8E4FC4; }
.module-card .m-tag{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-display); font-weight:800; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:#6B7B75; margin-bottom:6px;
}
.module-card .m-num{
  font-family:var(--font-display); font-weight:800; color:#C7D1CD; font-size:.78rem;
}
.module-card h4{ font-size:1.05rem; margin-bottom:8px; }
.module-card p{ font-size:.92rem; margin:0; }

.solution-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.solution-card{
  border:1px solid var(--line); border-radius:var(--radius); background:#fff;
  padding:28px 24px; display:flex; flex-direction:column; gap:14px;
  text-decoration:none; color:inherit;
  border-top:4px solid var(--red-accent);
  transition:transform .2s ease, box-shadow .2s ease;
}
.solution-card:nth-child(2){ border-top-color:#8E4FC4; }
.solution-card:nth-child(3){ border-top-color:#2E7FD9; }
.solution-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -28px rgba(20,40,35,.35); }
.solution-card h4{ font-size:1.1rem; margin:0; }
.solution-card p{ font-size:.92rem; margin:0; }
.solution-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.mini-tag{
  font-size:.72rem; font-weight:700; letter-spacing:.03em;
  padding:5px 11px; border-radius:999px; white-space:nowrap;
}
.mini-tag.t-oceni{ background:#E4F5F0; color:#078063; }
.mini-tag.t-testiraj{ background:#E7F1FC; color:#1E5FA8; }
.mini-tag.t-izobrazuj{ background:#F2E9FA; color:#6B2FA0; }

/* ---------- Phishstrike: nadzorna plošča (ponazoritev) ---------- */
.dash-mock{
  border:1px solid var(--line); border-radius:var(--radius); background:#fff;
  padding:20px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.dash-card{ border-radius:12px; padding:16px; color:#fff; }
.dash-card .dash-num{ font-family:var(--font-display); font-weight:800; font-size:1.6rem; display:block; }
.dash-card .dash-label{ font-size:.78rem; opacity:.9; }
.dash-card.d-red{ background:#C4324A; }
.dash-card.d-purple{ background:#8E4FC4; }
.dash-card.d-blue{ background:#2E7FD9; }
.dash-card.d-teal{ background:#0AB396; }

@media (max-width: 980px){
  .hero .container{ grid-template-columns:1fr; }
  .hero-figure{ order:-1; max-width:320px; margin:0 auto; }
  .split-grid{ grid-template-columns:1fr !important; }
  .pillars{ grid-template-columns:1fr; }
  .module-grid, .solution-grid{ grid-template-columns:1fr; }
  .dash-mock{ grid-template-columns:repeat(2,1fr); }
  .gov-grid{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .about-hero{ grid-template-columns:1fr; }
  .callout{ grid-template-columns:1fr; }
  .callout-mark{ justify-self:start; }
}
@media (max-width: 1010px){
  .main-nav{
    position:fixed; inset:82px 0 0 0;
    background:var(--panel);
    flex-direction:column; align-items:stretch;
    padding:16px; gap:4px;
    transform:translateX(100%);
    transition:transform .25s ease;
    overflow:auto;
  }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav a{ padding:14px 18px; }
  .nav-toggle{ display:block; }
  .header-cta .btn span{ display:none; }
}
@media (max-width: 760px){
  .footer-top{ grid-template-columns:1fr; }
  .section{ padding:64px 0; }
  .stat-strip-inner{ flex-direction:column; gap:22px; }
}

/* =========================================================
   Prikazi rezultatov iz platforme PhishStrike (poročila)
   Vsi prikazi so čist HTML/SVG — brez knjižnic in brez JS.
   ========================================================= */
.rep-hint{
  margin:6px 0 0; font-size:.84rem; color:#8FA39C; font-style:italic;
}

.rep-block{ margin-top:34px; }
.rep-block > h3{
  font-size:1.05rem; margin:0 0 4px;
  font-family:var(--font-display); font-weight:700;
}
.rep-block > .rep-cap{ margin:0 0 16px; font-size:.88rem; color:#6B7C76; }

.rep-grid{ display:grid; gap:16px; }
.rep-grid > *{ min-width:0; }
.rep-grid--2{ grid-template-columns:repeat(2,1fr); }
.rep-grid--3{ grid-template-columns:repeat(3,1fr); }
.rep-grid--4{ grid-template-columns:repeat(4,1fr); }
.rep-grid--2-1{ grid-template-columns:1.25fr .75fr; align-items:stretch; }
@media (max-width:900px){
  .rep-grid--3, .rep-grid--4, .rep-grid--2-1{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .rep-grid--2, .rep-grid--3, .rep-grid--4, .rep-grid--2-1{ grid-template-columns:1fr; }
}

.rep-card{
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
}
.rep-card--tint{ background:var(--paper-tint); }
.rep-card--center{ text-align:center; }
.rep-label{
  font-size:.8rem; letter-spacing:.03em; text-transform:uppercase;
  color:#6B7C76; font-weight:600; margin:0 0 8px; line-height:1.35;
}
.rep-num{
  font-family:var(--font-display); font-weight:800;
  font-size:2.1rem; line-height:1.1; color:var(--ink); display:block;
}
.rep-num--green{ color:var(--green); }
.rep-num--red{ color:var(--red-accent); }
.rep-num--sm{ font-size:1.5rem; }
.rep-num--xl{ font-size:3.4rem; }
.rep-sub{ font-size:.82rem; color:#6B7C76; margin:6px 0 0; }

/* --- vodoravni stolpci --- */
.rep-bars{ display:flex; flex-direction:column; gap:11px; margin:0; }
.rep-bar{ display:grid; grid-template-columns:1fr 46px; gap:12px; align-items:center; }
.rep-bar-name{ font-size:.86rem; color:var(--ink); margin:0 0 5px; }
.rep-bar-track{ height:9px; border-radius:6px; background:var(--mist); overflow:hidden; }
.rep-bar-fill{ height:100%; border-radius:6px; background:var(--green); }
.rep-bar-fill--red{ background:var(--red-accent); }
.rep-bar-fill--plum{ background:#8E3D86; }
.rep-bar-val{
  text-align:right; font-family:var(--font-display); font-weight:700;
  font-size:.95rem; font-variant-numeric:tabular-nums; color:var(--ink);
}

/* --- tabela --- */
.rep-table-wrap{ overflow-x:auto; }
.rep-table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:420px; }
.rep-table th{
  text-align:left; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase;
  color:#6B7C76; font-weight:600; padding:0 10px 9px; border-bottom:1.5px solid var(--green);
}
.rep-table td{ padding:9px 10px; border-bottom:1px solid var(--line); color:var(--ink); }
.rep-table tr:last-child td{ border-bottom:none; }
.rep-table .num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rep-table th.num{ text-align:right; }
.rep-table tfoot td{
  border-top:1.5px solid var(--green); border-bottom:none;
  font-family:var(--font-display); font-weight:700; padding-top:12px;
}

/* --- kolobar (donut) --- */
.rep-donut{ width:100%; max-width:132px; height:auto; display:block; margin:0 auto 12px; }
.rep-donut-mini{ max-width:96px; margin-bottom:8px; }

/* --- vodoravna ocenjevalna lestvica --- */
.rep-scalebar{ width:100%; height:auto; display:block; }
.rep-scale{ list-style:none; margin:0; padding:0; font-size:.86rem; }
.rep-scale li{
  display:flex; justify-content:space-between; gap:14px;
  padding:8px 0; border-bottom:1px solid var(--line); color:var(--ink);
}
.rep-scale li:last-child{ border-bottom:none; }
.rep-scale span{ font-variant-numeric:tabular-nums; color:#6B7C76; }
.rep-swatch{
  width:11px; height:11px; border-radius:3px; flex-shrink:0;
  display:inline-block; margin-right:8px; vertical-align:-1px;
}

/* --- trend skozi čas --- */
.rep-trend{ width:100%; height:auto; display:block; }

/* --- mreža majhnih kolobarjev --- */
.rep-mini-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:14px;
}
.rep-mini{
  background:#fff; border:1.5px solid var(--line); border-radius:var(--radius);
  padding:16px 14px; text-align:center;
}
.rep-mini .rep-label{ font-size:.74rem; min-height:2.6em; text-transform:none; letter-spacing:0; }
.rep-mini-foot{
  display:flex; justify-content:space-between; gap:8px;
  font-size:.72rem; color:#6B7C76; margin-top:6px;
}
.rep-mini-foot b{ color:var(--ink); font-family:var(--font-display); }

/* ---------- zakriti vnosi: pokažemo, da je sklopov več, brez razkritja imen ---------- */
.rep-mask{
  display:inline-block; height:.95em; min-width:60px;
  border-radius:4px; background:var(--mist);
  vertical-align:-.15em;
}
.rep-bar-fill--masked{
  background:repeating-linear-gradient(135deg, #D8E0DB 0 5px, #ECF1EE 5px 10px);
}
.rep-bar-val--masked{ color:#ADBFC1; letter-spacing:.14em; }
.rep-bars-more{
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--line);
}
.rep-bars-more p{ margin:10px 0 0; font-size:.84rem; color:#6B7C76; }
.rep-row--masked td{ color:#8FA39C; }

/* ---------- vzorec potrdila o opravljenem izobraževanju ---------- */
.cert-figure{
  width:100%; max-width:420px; height:auto; display:block; margin-inline:auto;
  filter:drop-shadow(0 22px 40px rgba(20,40,35,.14));
}
.rep-mini--masked{ background:var(--paper-tint); }
.rep-mini--masked .rep-label{ display:flex; align-items:center; justify-content:center; }

/* ---------- polje z uvodnim besedilom ---------- */
.lead-panel{ margin-bottom:26px; border-left:3px solid var(--green); }
.lead-panel p{ margin:0; font-size:1rem; }

/* ---------- kartice vrst phishing kampanj ---------- */
.kampanja-card{ display:flex; flex-direction:column; gap:10px; }
.kampanja-ico{
  width:56px; height:56px; border-radius:14px;
  background:var(--green-mist);
  display:flex; align-items:center; justify-content:center;
}
.kampanja-ico svg{ width:30px; height:30px; }
.kampanja-card h4{ font-size:1.02rem; margin:0; text-transform:none; letter-spacing:0; }
.kampanja-card p{ margin:0; font-size:.94rem; }

/* ---------- opcijska postavka ---------- */
.opt-item{
  display:flex; gap:12px; align-items:flex-start;
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--line);
}
.opt-tag{
  flex-shrink:0; font-size:.7rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--green-deep);
  background:var(--green-mist); border-radius:6px; padding:4px 8px;
}
.opt-item p{ margin:0; font-size:.94rem; color:#3C4A45; }

/* ---------- razpotegnjeni stolpci rezultatov ---------- */
.rep-bars--lg .rep-bar{ grid-template-columns:1fr 84px; gap:16px; }
.rep-bars--lg .rep-bar-track{ height:14px; border-radius:8px; }
.rep-bars--lg .rep-bar-name{ font-size:.95rem; }
.rep-bars--lg .rep-bar-val{ font-size:1.15rem; }

/* ---------- potrdilo kot slika ---------- */
.cert-link{ display:block; }
img.cert-figure{
  width:100%; max-width:520px; height:auto; display:block; margin-inline:auto;
  border-radius:10px; border:1px solid var(--line);
  box-shadow:0 22px 44px -30px rgba(20,40,35,.35);
}

/* ---------- panel s poudarki (POMEMBNO) ---------- */
.notice-panel{
  background:#fff;
  border:1.5px solid var(--line);
  border-left:4px solid var(--green);
  border-radius:var(--radius);
  padding:24px 28px;
}
.notice-head{
  display:flex; align-items:center; gap:9px; margin-bottom:14px;
  color:var(--green-deep);
  font-family:var(--font-display); font-weight:800;
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
}
.notice-head svg{ width:18px; height:18px; flex-shrink:0; }
.notice-panel ul{ margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.notice-panel li{
  list-style:none; position:relative; padding-left:26px;
  font-size:.97rem; color:#3C4A45; line-height:1.6;
}
.notice-panel li::before{
  content:""; position:absolute; left:0; top:.5em;
  width:9px; height:9px; border-radius:3px; background:var(--green);
}
@media (max-width:640px){ .notice-panel{ padding:20px; } }

/* ---------- povezava za prenos dokumenta ---------- */
.doc-link{
  display:flex; align-items:center; gap:14px;
  margin-top:22px; padding:16px 18px;
  background:var(--paper-tint);
  border:1.5px solid var(--line);
  border-radius:var(--radius-sm);
  text-decoration:none;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.doc-link:hover{
  border-color:var(--green);
  transform:translateY(-2px);
  box-shadow:0 16px 32px -24px rgba(10,179,150,.55);
}
.doc-ico{
  width:42px; height:42px; flex-shrink:0; border-radius:11px;
  background:var(--green-mist); color:var(--green-deep);
  display:flex; align-items:center; justify-content:center;
}
.doc-ico svg{ width:21px; height:21px; }
.doc-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.doc-txt strong{ color:var(--ink); font-size:.97rem; font-weight:700; }
.doc-txt span{ color:#6B7C76; font-size:.83rem; }
.doc-cta{
  flex-shrink:0; font-size:.82rem; font-weight:700; letter-spacing:.03em;
  color:var(--green-deep); white-space:nowrap;
}
@media (max-width:560px){
  .doc-link{ flex-wrap:wrap; gap:10px; }
  .doc-cta{ width:100%; }
}

/* ---------- portret z opisom (npr. direktor pod citatom) ---------- */
.person-figure{
  display:flex; align-items:center; gap:18px;
  margin:22px 0 0; padding:0;
}
.person-figure img{
  width:96px; height:96px; flex-shrink:0;
  border-radius:50%; object-fit:cover; display:block;
  border:3px solid var(--green-mist);
}
.person-figure figcaption{ display:flex; flex-direction:column; gap:2px; }
.person-figure strong{ font-family:var(--font-display); font-weight:700; color:var(--ink); }
.person-figure span{ font-size:.88rem; color:#6B7C76; }

/* ---------- mreža kolobarjev 4x2 s fotografijo na desni (2x2) ---------- */
.mini-with-photo{ display:grid; grid-template-columns:2fr 1fr; gap:16px; align-items:stretch; }
.rep-mini-grid--4{ grid-template-columns:repeat(4,1fr); }
.mini-photo{
  margin:0; border-radius:var(--radius); overflow:hidden;
  border:1.5px solid var(--line); background:var(--paper-tint);
}
.mini-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:1000px){
  .mini-with-photo{ grid-template-columns:1fr; }
  .rep-mini-grid--4{ grid-template-columns:repeat(2,1fr); }
  .mini-photo img{ max-height:320px; }
}
@media (max-width:560px){ .rep-mini-grid--4{ grid-template-columns:1fr; } }

/* ---------- prednosti platforme (ikone namesto številk) ---------- */
.adv-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:6px; }
.adv-card{
  background:#fff; border:1.5px solid var(--line); border-radius:var(--radius);
  padding:24px 22px;
}
.adv-ico{
  width:44px; height:44px; border-radius:12px; margin-bottom:14px;
  display:flex; align-items:center; justify-content:center;
  background:var(--green-mist); color:var(--green-deep);
}
.adv-ico svg{ width:23px; height:23px; }
.adv-card h4{
  margin:0 0 6px; font-size:1rem; color:var(--green-deep);
  text-transform:none; letter-spacing:0;
}
.adv-card p{ margin:0; font-size:.94rem; }
.adv-card strong{ color:var(--ink); }
@media (max-width:900px){ .adv-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .adv-grid{ grid-template-columns:1fr; } }

/* ---------- pas z jezikovno podporo ---------- */
.lang-strip{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin:0 0 26px;
}
.lang-strip-label{ font-size:.92rem; color:#4A5A55; margin-right:2px; }
.lang-badge{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.82rem; font-weight:700; letter-spacing:.02em;
  padding:6px 13px; border-radius:999px;
  background:var(--green-mist); color:var(--green-deep); border:1px solid #CCEBE3;
}


/* ---------- language switcher (CGP: temni header, pilulasti gumbi) ---------- */
.lang-switch{ position:relative; display:flex; align-items:center; }
.lang-btn{
  display:flex; align-items:center; gap:6px;
  font-family:var(--font-display); font-weight:600; font-size:.92rem;
  color:#CFDBD6; background:transparent;
  border:1px solid var(--line-dark); border-radius:999px;
  padding:8px 12px; cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.lang-btn:hover, .lang-switch.is-open .lang-btn{
  color:#fff; background:var(--panel-soft); border-color:transparent;
}
.lang-globe{ width:16px; height:16px; flex-shrink:0; }
.lang-code{ letter-spacing:.02em; }
.lang-switch .chev{ width:13px; height:13px; transition:transform .15s ease; }
.lang-switch.is-open .chev{ transform:rotate(180deg); }
.lang-menu{
  position:absolute; top:calc(100% + 10px); right:0;
  background:var(--panel-soft);
  border:1px solid var(--line-dark);
  border-radius:12px;
  padding:8px;
  min-width:190px;
  box-shadow:0 24px 48px -20px rgba(0,0,0,.45);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index:70;
}
.lang-switch:hover .lang-menu,
.lang-switch:focus-within .lang-menu,
.lang-switch.is-open .lang-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.lang-menu a{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:8px;
  font-family:var(--font-display); font-size:.87rem; font-weight:600;
  color:#CFDBD6; white-space:nowrap;
}
.lang-menu a:hover{ background:var(--panel); color:#fff; }
.lang-menu a.is-current{ color:#fff; background:var(--panel); }
.lang-abbr{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:22px; flex-shrink:0;
  border:1px solid var(--line-dark); border-radius:5px;
  font-size:.7rem; font-weight:700; letter-spacing:.04em;
  color:#8FA39C;
}
.lang-menu a.is-current .lang-abbr{ border-color:var(--green); color:var(--green); }
@media (max-width: 1010px){
  .lang-btn{ padding:8px 10px; }
}
@media (max-width: 420px){
  .lang-btn .lang-code{ display:none; }
}

/* ---------- ožji CTA gumb v glavi, da meni ostane v eni vrstici ---------- */
.site-header .header-cta .btn{
  padding:10px 16px;
  font-size:.88rem;
  gap:7px;
}
.site-header .header-cta .btn svg{ width:14px; height:14px; }
.main-nav > a, .nav-item > a{ white-space:nowrap; }

/* =========================================================
   Popravki za mobilni pogled
   ========================================================= */

/* 1. Brez animacije prikaza ob drsenju — vsebina je vidna takoj.
      (Pri zelo visokih razdelkih se na ozkih zaslonih prag vidnosti
      ni nikoli dosegel, zato se vsebina sploh ni prikazala.) */
@media (max-width: 1010px){
  [data-reveal]{ opacity:1; transform:none; transition:none; }
}

/* 2. PhishStrike poudarek: gumb se na ozkih zaslonih prelomi in ne
      razbije postavitve, besedilo ostane znotraj okvirja. */
@media (max-width: 760px){
  .btn{ white-space:normal; padding:13px 20px; }
  .callout{ padding:22px; overflow-wrap:break-word; }
  .callout h3{ font-size:1.1rem; }
  .callout a.btn{ width:100%; justify-content:center; text-align:center; }
  .callout-mark img{ max-width:72px; height:auto; }
}

/* 3. Logotip: na mobilnem prikažemo samo znak brez napisa GO-LIX
      (izrez levega dela vodoravnega logotipa, brez dodatne datoteke). */
@media (max-width: 1010px){
  .brand{ flex:0 0 auto; }
  .brand img{
    flex:0 0 auto;
    width:51px; height:40px;
    object-fit:cover; object-position:left center;
  }
}

/* 4. Puščica v mobilnem meniju: večja površina za dotik (44 px), da se
      podmeni odpre in zapre, klik na napis pa še naprej odpre stran. */
@media (max-width: 1010px){
  .main-nav .nav-item.has-children > a > .chev,
  .main-nav .dd-item.has-fly > a > .chev{
    box-sizing:content-box;
    flex:0 0 auto;
    width:16px; height:16px;
    padding:14px;
    margin:-14px -14px -14px 0;
  }
}
.dd-item.has-fly.is-open > a > .chev-right{ transform:rotate(90deg); }

/* 5. Pasica z logotipi (Tehnološke rešitve / Partnerji): pri drsenju
      poravnana na levo, sicer prvi logotipi obtičijo levo od vidnega
      polja in do njih ni mogoče priti. */
.logo-strip{
  justify-content:center;              /* na namizju sredinsko, kot doslej */
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
@media (max-width: 900px){
  .logo-strip{ justify-content:flex-start; }   /* pri drsenju od leve naprej */
}
