/* === SKUPNI SLOGI ZA PODSTRANI ===
   Uporabljajo: kontakt.html, o-nas.html, kako-delamo.html, reference.html
   Vsebuje tudi page-specific razrede; ker se imena med stranmi ne prekrivajo,
   en file ustreza vsem štirim. */

/* ====================================================================
   SKUPNO – breadcrumbs, hero, sekcije, končni CTA, gumbi
   ==================================================================== */

.breadcrumbs{
  display:flex; gap:8px; align-items:center;
  font-size:13.5px; color:var(--ink-muted);
  margin-bottom:28px;
  position:relative; z-index:2;
  flex-wrap:wrap;
}
.breadcrumbs a{color:var(--ink-muted); text-decoration:none}
.breadcrumbs a:hover{color:var(--brand-700)}
.breadcrumbs .sep{opacity:.5}
.breadcrumbs .current{color:var(--ink); font-weight:500}

.subpage-hero{
  background:linear-gradient(180deg, var(--bg) 0%, #fff 100%);
  padding:70px 0 50px;
  position:relative; overflow:hidden;
}
.subpage-hero::before{
  content:""; position:absolute;
  top:-150px; right:-150px;
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(31,53,119,.07), transparent 60%);
  pointer-events:none;
}
.subpage-title{
  font-family:'Fraunces', serif;
  font-size:clamp(40px, 5.5vw, 64px);
  font-weight:400; line-height:1.05;
  letter-spacing:-.02em; color:var(--ink);
  margin-bottom:24px;
  position:relative; z-index:2;
}
.subpage-title em{font-style:italic; color:var(--brand-700)}
.subpage-lead{
  font-size:20px; line-height:1.55;
  color:var(--ink-dim); max-width:90ch;
  margin-bottom:0;
  position:relative; z-index:2;
}

.sp-section{padding:90px 0; background:#fff}
.sp-section.alt{background:var(--bg)}
.sp-section-head{
  max-width:800px; margin:0 auto 56px;
  text-align:center;
}
.sp-section-head .section-eyebrow{justify-content:center; display:inline-flex}
.sp-section-head h2{
  font-family:'Fraunces', serif;
  font-size:clamp(32px, 4.5vw, 48px);
  font-weight:400; line-height:1.1;
  letter-spacing:-.02em; color:var(--ink);
  margin-bottom:20px; max-width:20ch;
  margin-left:auto; margin-right:auto;
}
.sp-section-head h2 em{font-style:italic; color:var(--brand-700)}
.sp-section-head p{
  font-size:18px; line-height:1.6;
  color:var(--ink-dim);
  margin:0 auto; max-width:62ch;
}

.final-cta{
  background:linear-gradient(135deg, var(--brand-950), var(--brand-800));
  color:#fff;
  padding:100px 0;
  position:relative; overflow:hidden;
}
.final-cta::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
}
.final-cta-inner{
  max-width:760px; margin:0 auto;
  text-align:center;
  position:relative; z-index:2;
}
.final-cta h2{
  font-family:'Fraunces', serif;
  font-size:clamp(36px, 5vw, 56px);
  font-weight:400; line-height:1.1;
  letter-spacing:-.02em; color:#fff;
  margin-bottom:20px;
}
.final-cta h2 em{font-style:italic; color:var(--brand-200)}
.final-cta p{
  font-size:18px; color:var(--text-on-dark-dim);
  margin-bottom:36px; line-height:1.55;
  max-width:54ch; margin-left:auto; margin-right:auto;
}
.final-cta-actions{
  display:flex; gap:14px;
  justify-content:center; flex-wrap:wrap;
}

.btn-on-dark{
  background:#fff;
  color:var(--brand-900);
  padding:14px 28px;
  border-radius:999px;
  font-weight:600;
  font-size:15px;
  text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:all .2s;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.btn-on-dark:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(0,0,0,.32);
}
.btn-ghost{
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.3);
  padding:13px 26px; border-radius:999px;
  font-weight:500; font-size:15px;
  text-decoration:none;
  display:inline-flex; align-items:center; gap:10px;
  transition:all .25s;
}
.btn-ghost:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.5);
  color:#fff;
  transform:translateY(-1px);
}

/* ====================================================================
   KONTAKT — big phone, 3 poti, ticket, naslov in zemljevid
   ==================================================================== */

.big-phone-block{
  background:linear-gradient(135deg, var(--brand-950), var(--brand-800));
  color:#fff;
  border-radius:24px;
  padding:60px 50px;
  margin-top:60px;
  position:relative; overflow:hidden;
  z-index:2;
}
.big-phone-block::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:36px 36px;
  pointer-events:none;
}
.big-phone-inner{
  position:relative; z-index:2;
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
}
.big-phone-label{
  font-size:11px; font-weight:600;
  color:var(--brand-200);
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.big-phone-title{
  font-family:'Fraunces', serif;
  font-size:28px; font-weight:500;
  line-height:1.2; color:#fff;
  margin-bottom:8px; letter-spacing:-.01em;
}
.big-phone-sub{
  color:var(--text-on-dark-dim);
  font-size:15px;
  max-width:48ch;
}
.big-phone-number{
  font-family:'Fraunces', serif;
  font-size:22px; font-weight:500;
  color:var(--brand-900); letter-spacing:-.01em;
  line-height:1;
  text-decoration:none;
  display:inline-flex; align-items:center; gap:12px;
  padding:14px 26px;
  background:#fff;
  border-radius:999px;
  transition:all .2s;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.big-phone-number svg{
  width:20px; height:20px; flex-shrink:0;
  color:var(--brand-700);
}
.big-phone-number:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(0,0,0,.35);
  color:var(--brand-700);
}
.big-phone-number--ghost{
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.35);
  box-shadow:none;
}
.big-phone-number--ghost svg{color:#fff}
.big-phone-number--ghost:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.6);
  box-shadow:none;
}
.big-phone-number--ghost:hover svg{color:#fff}

.paths-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  max-width:1100px;
  margin:0 auto;
}
.path-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:40px 32px;
  display:flex;
  flex-direction:column;
}
.path-icon{
  width:56px; height:56px;
  border-radius:16px;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  margin-bottom:24px;
}
.path-card h3{
  font-family:'Fraunces', serif;
  font-size:22px; font-weight:500;
  color:var(--ink); margin-bottom:10px;
  letter-spacing:-.01em;
}
.path-card .who{
  font-size:13px;
  color:var(--brand-700);
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.path-card p{
  color:var(--ink-dim);
  font-size:15px; line-height:1.65;
  margin-bottom:20px;
  flex:1;
}
.path-card .path-action{
  color:var(--brand-700);
  font-weight:500;
  font-size:15px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.path-card .path-action:hover{color:var(--brand-600)}

.ticket-block{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:48px 44px;
  max-width:900px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:36px;
  align-items:center;
}
.ticket-icon-big{
  width:84px; height:84px;
  border-radius:24px;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  flex-shrink:0;
}
.ticket-content h3{
  font-family:'Fraunces', serif;
  font-size:26px; font-weight:500;
  color:var(--ink); margin-bottom:12px;
  letter-spacing:-.01em;
}
.ticket-content p{
  color:var(--ink-dim);
  font-size:15.5px; line-height:1.7;
  margin-bottom:12px;
}
.ticket-content p:last-child{margin-bottom:0}
.ticket-content .highlight{
  color:var(--brand-700);
  font-weight:600;
}

.address-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:1100px;
  margin:0 auto;
  align-items:center;
}
.address-content h3{
  font-family:'Fraunces', serif;
  font-size:28px; font-weight:500;
  color:var(--ink); margin-bottom:6px;
  letter-spacing:-.01em;
}
.address-subtitle{
  font-family:'Inter', system-ui, sans-serif;
  font-size:14px;
  color:var(--ink-muted);
  margin-bottom:24px;
  line-height:1.5;
}
.address-data{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.address-item{
  display:flex; gap:16px; align-items:flex-start;
}
.address-item-icon{
  width:42px; height:42px;
  border-radius:12px;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  flex-shrink:0;
}
.address-item-text{
  color:var(--ink);
  font-size:16px;
  line-height:1.5;
}
.address-item-text .small{
  color:var(--ink-muted);
  font-size:13px;
  margin-top:4px;
}
.address-item-text a,
.address-item-text .address-label{
  color:var(--brand-700);
  text-decoration:none;
  font-weight:500;
}
.address-item-text a:hover{color:var(--brand-600)}

.map-frame{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 30px -10px rgba(3,7,22,.15);
  background:var(--bg-soft);
  aspect-ratio:4/3;
  position:relative;
  border:1px solid var(--line);
}
.map-frame iframe{
  width:100%; height:100%;
  border:none;
  display:block;
}

/* Široka varianta zemljevida (čez celotno širino, za Predlog B layout) */
.map-frame.map-frame-wide{
  max-width:1100px;
  margin:48px auto 0;
  aspect-ratio:21/8;
}
@media (max-width:960px){
  .map-frame.map-frame-wide{aspect-ratio:4/3}
}

/* Fotografija poslovnih prostorov v address-block (Predlog B) */
.office-photo{
  margin:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 40px -16px rgba(11,22,61,.22);
  background:var(--bg-soft);
}
.office-photo img{
  width:100%;
  height:auto;
  display:block;
}

/* ====================================================================
   O NAS — lead photo, generacije, timeline, vrednote, big stats
   ==================================================================== */

.lead-cards-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:stretch;
  margin-top:64px;
  position:relative; z-index:2;
}
.lead-card{
  padding:38px 34px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.lead-card h2{
  font-family:'Fraunces', serif;
  font-size:26px; font-weight:500;
  color:var(--ink);
  letter-spacing:-.01em;
  line-height:1.2;
  margin:0;
}
.lead-card h2 em{font-style:italic; color:var(--brand-700)}
.lead-card p{
  color:var(--ink-dim);
  font-size:15.5px;
  line-height:1.7;
  margin:0;
}
.lead-content h2{
  font-family:'Fraunces', serif;
  font-size:32px; font-weight:500;
  color:var(--ink); margin-bottom:18px;
  letter-spacing:-.01em; line-height:1.2;
}
.lead-content h2 em{font-style:italic; color:var(--brand-700)}
.lead-content p{
  color:var(--ink-dim);
  font-size:16px; line-height:1.7;
  margin-bottom:14px;
}

.generations{
  max-width:900px; margin:0 auto;
  display:grid; gap:18px;
}
.generation-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:32px 36px;
  display:grid;
  grid-template-columns:auto auto 1fr;
  gap:30px;
  align-items:center;
}
.generation-card.featured{
  background:linear-gradient(135deg, var(--brand-950), var(--brand-800));
  color:#fff;
  border-color:transparent;
  position:relative; overflow:hidden;
}
.generation-card.featured::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
}
.generation-card.featured > *{position:relative; z-index:2}

.gen-photos{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.gen-photo{
  width:120px;
  aspect-ratio:5/7;
  border-radius:16px;
  overflow:hidden;
  border:3px solid #fff;
  box-shadow:0 8px 20px rgba(3,7,22,.2);
  background:var(--soft-brand-bg);
  flex-shrink:0;
}
.gen-photo + .gen-photo{margin-left:-10px}
.gen-photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.gen-photo.placeholder{
  background:linear-gradient(135deg, var(--brand-700), var(--brand-900));
  color:#fff;
  display:grid; place-items:center;
  font-family:'Fraunces', serif;
  font-size:26px;
  font-weight:400;
  letter-spacing:-.02em;
}
.generation-card.featured .gen-photo{
  border-color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
}

.gen-meta{
  flex-shrink:0;
  min-width:90px;
}
.gen-label{
  font-family:'Fraunces', serif;
  font-size:13px;
  color:var(--brand-700);
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:center;
}
.generation-card.featured .gen-label{color:var(--brand-200)}
.gen-period{
  font-family:'Fraunces', serif;
  font-size:28px; font-weight:300;
  color:var(--ink); line-height:1;
  letter-spacing:-.02em;
  margin-top:6px;
  text-align:center;
}
.generation-card.featured .gen-period{color:#fff}

.gen-content h3{
  font-family:'Fraunces', serif;
  font-size:24px; font-weight:500;
  color:var(--ink); margin-bottom:10px;
  letter-spacing:-.01em;
}
.generation-card.featured .gen-content h3{color:#fff}
.gen-people{
  color:var(--brand-700);
  font-size:14px; font-weight:500;
  margin-bottom:14px;
}
.generation-card.featured .gen-people{color:var(--brand-200)}
.gen-content p{
  color:var(--ink-dim);
  font-size:15px; line-height:1.65;
  margin:0;
}
.generation-card.featured .gen-content p{color:var(--text-on-dark-dim)}

.timeline{
  max-width:820px; margin:0 auto;
  position:relative;
}
.timeline-item{
  display:grid;
  grid-template-columns:100px 1fr;
  gap:36px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.timeline-item:last-child{border-bottom:none}
.timeline-year{
  font-family:'Fraunces', serif;
  font-size:32px; font-weight:300;
  color:var(--brand-700);
  line-height:1; letter-spacing:-.02em;
}
.timeline-content h4{
  font-family:'Fraunces', serif;
  font-size:22px; font-weight:500;
  color:var(--ink); margin-bottom:10px;
  letter-spacing:-.01em;
}
.timeline-content p{
  color:var(--ink-dim);
  font-size:15.5px; line-height:1.7;
  margin:0;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  max-width:1100px;
  margin:0 auto;
}
.value-card{
  padding:38px 32px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
}
.value-icon{
  width:52px; height:52px;
  border-radius:14px;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  margin-bottom:22px;
}
.value-card h4{
  font-family:'Fraunces', serif;
  font-size:22px; font-weight:500;
  color:var(--ink); margin-bottom:12px;
  letter-spacing:-.01em;
}
.value-card p{
  color:var(--ink-dim);
  font-size:14.5px; line-height:1.65;
  margin:0;
}

.big-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  max-width:1100px;
  margin:0 auto;
}
.big-stat{
  text-align:center;
  padding:24px 12px;
}
.big-stat-num{
  font-family:'Fraunces', serif;
  font-size:clamp(48px, 5vw, 64px); font-weight:300;
  color:var(--brand-700);
  line-height:1; letter-spacing:-.03em;
  margin-bottom:10px;
}
.big-stat-num span{
  font-size:.6em;
  color:var(--brand-500);
  margin-left:4px;
}
.big-stat-label{
  color:var(--ink-dim);
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:500;
}

/* === Dva okvirčka za podjetji Softbase d.o.o. in Softbase IS d.o.o. === */
.companies-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  max-width:1100px;
  margin:0 auto;
}
.company-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:36px 34px;
}
.company-card h3{
  font-family:'Fraunces', serif;
  font-size:24px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-.01em;
  margin:0 0 24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.company-card-data{
  display:grid;
  gap:18px;
}
.company-data-item .label{
  font-size:11px;
  color:var(--ink-muted);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:6px;
}
.company-data-item .value{
  font-family:'Fraunces', serif;
  font-size:18px;
  color:var(--ink);
  font-weight:500;
  line-height:1.4;
}
@media (max-width:860px){
  .companies-grid{grid-template-columns:1fr; gap:14px}
  .company-card{padding:30px 26px}
}

/* ====================================================================
   KAKO DELAMO — direktor, primerjava, proces, obljube, FAQ, demo odziva
   ==================================================================== */

.director-block{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:40px 36px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:32px;
  align-items:center;
  margin:64px auto 0;
  max-width:760px;
  box-shadow:var(--shadow-sm);
  position:relative; z-index:2;
}
.director-photo{
  width:120px;
  aspect-ratio:5/7;
  border-radius:16px;
  overflow:hidden;
  flex-shrink:0;
  border:3px solid #fff;
  box-shadow:0 8px 20px rgba(3,7,22,.2);
  background:var(--soft-brand-bg);
}
.director-photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.director-info .role{
  color:var(--brand-700); font-size:12px;
  font-weight:600; margin-bottom:8px;
  letter-spacing:.08em; text-transform:uppercase;
}
.director-info h3{
  font-family:'Fraunces', serif;
  font-size:26px; font-weight:500;
  color:var(--ink); margin-bottom:4px;
  letter-spacing:-.01em;
}
.director-info .credentials{
  color:var(--ink-muted);
  font-size:14px; margin-bottom:14px;
}
.director-info p{
  color:var(--ink); font-size:16px;
  line-height:1.55; font-style:italic;
  font-family:'Fraunces', serif; margin:0;
}

.compare-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  max-width:1000px;
  margin:0 auto;
}
.compare-col{
  padding:36px 32px;
  border-radius:20px;
  border:1px solid var(--line);
}
.compare-col.them{background:#fafbfc}
.compare-col.us{
  background:linear-gradient(135deg, var(--brand-950), var(--brand-800));
  color:#fff; position:relative;
  overflow:hidden; border-color:transparent;
}
.compare-col.us::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:36px 36px;
  pointer-events:none;
}
.compare-col > *{position:relative; z-index:2}
.compare-header{
  font-size:11px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  margin-bottom:14px; opacity:.75;
}
.compare-col.us .compare-header{color:var(--brand-200)}
.compare-title{
  font-family:'Fraunces', serif;
  font-size:26px; font-weight:500;
  line-height:1.2; letter-spacing:-.01em;
  margin-bottom:28px;
}
.compare-col.us .compare-title{color:#fff}
.compare-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:16px;
}
.compare-list li{
  display:flex; gap:14px;
  align-items:flex-start;
  font-size:15px; line-height:1.55;
}
.compare-col.them li{color:var(--ink-dim)}
.compare-col.us li{color:#fff}
.compare-list .mark{
  flex-shrink:0;
  width:22px; height:22px;
  border-radius:50%;
  display:grid; place-items:center;
  margin-top:1px;
}
.compare-col.them .mark{background:#e2e6ec; color:#94a3b8}
.compare-col.us .mark{background:var(--brand-500); color:#fff}

.process-list{max-width:820px; margin:0 auto}
.process-step{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:36px;
  padding:36px 0;
  border-bottom:1px solid var(--line);
}
.process-step:last-child{border-bottom:none}
.process-num{
  font-family:'Fraunces', serif;
  font-size:56px; font-weight:300;
  color:var(--brand-700);
  line-height:1; letter-spacing:-.03em;
}
.process-content h4{
  font-family:'Fraunces', serif;
  font-size:24px; font-weight:500;
  color:var(--ink); margin-bottom:12px;
  letter-spacing:-.01em;
}
.process-content p{
  color:var(--ink-dim);
  font-size:15.5px; line-height:1.7;
  margin-bottom:16px;
}
.process-content p:last-child{margin-bottom:0}
.process-content .detail{
  background:var(--soft-brand-bg);
  border-left:3px solid var(--brand-500);
  padding:16px 20px;
  border-radius:0 12px 12px 0;
  font-size:14.5px; line-height:1.65;
  color:var(--ink); font-style:italic;
  font-family:'Fraunces', serif;
  margin:0;
}

.promise-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  max-width:1100px;
  margin:0 auto;
}
.promise-card{
  padding:36px 30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  text-align:center;
}
.promise-icon{
  width:56px; height:56px;
  border-radius:16px;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  margin:0 auto 22px;
}
.promise-card h4{
  font-family:'Fraunces', serif;
  font-size:22px; font-weight:500;
  color:var(--ink); margin-bottom:12px;
  letter-spacing:-.01em;
}
.promise-card p{
  color:var(--ink-dim);
  font-size:14.5px; line-height:1.65;
  margin:0;
}

.faq-list{max-width:820px; margin:0 auto}
.faq-item{
  border-bottom:1px solid var(--line);
  padding:28px 0;
}
.faq-item:last-child{border-bottom:none}
.faq-q{
  font-family:'Fraunces', serif;
  font-size:20px; font-weight:500;
  color:var(--ink); margin-bottom:12px;
  letter-spacing:-.01em;
}
.faq-a{
  color:var(--ink-dim);
  font-size:15.5px; line-height:1.7;
}

.response-demo{
  max-width:580px; margin:0 auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:36px;
  box-shadow:var(--shadow-md);
}
.response-demo-row{
  display:flex; align-items:center; gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.response-demo-row:last-child{border-bottom:none}
.response-step-num{
  width:30px; height:30px;
  background:var(--brand-500); color:#fff;
  border-radius:50%;
  display:grid; place-items:center;
  font-weight:600; font-size:13px;
  flex-shrink:0;
}
.response-step-text{
  flex:1; color:var(--ink);
  font-size:15.5px;
}
.response-step-time{
  color:var(--brand-700);
  font-family:'Fraunces', serif;
  font-size:18px; font-weight:500;
  letter-spacing:-.01em;
}

/* ====================================================================
   REFERENCE — statistika, panoge, razlogi zaupanja
   ==================================================================== */

.ref-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
  max-width:1100px;
  margin:60px auto 0;
  position:relative; z-index:2;
}
.ref-stat{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:32px 24px;
  text-align:center;
}
.ref-stat-num{
  font-family:'Fraunces', serif;
  font-size:42px; font-weight:300;
  color:var(--brand-700);
  line-height:1; letter-spacing:-.03em;
  margin-bottom:8px;
}
.ref-stat-num span{
  font-size:.6em;
  color:var(--brand-500);
  margin-left:3px;
}
.ref-stat-label{
  color:var(--ink-dim);
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:500;
}

.industries{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
  max-width:1100px;
  margin:0 auto;
  align-items:stretch;
}
.industry-block{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  height:100%;
}
.industry-block.dark{
  background:linear-gradient(135deg, var(--brand-950), var(--brand-800));
  color:#fff;
  border-color:transparent;
  position:relative; overflow:hidden;
}
.industry-block.dark::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
}
.industry-block.dark > *{position:relative; z-index:2}
.industry-icon{
  width:56px; height:56px;
  border-radius:16px;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  margin-bottom:22px;
}
.industry-block.dark .industry-icon{
  background:rgba(151,168,212,.18);
  color:var(--brand-200);
}
.industry-block h3{
  font-family:'Fraunces', serif;
  font-size:26px; font-weight:500;
  color:var(--ink); margin-bottom:14px;
  letter-spacing:-.01em;
}
.industry-block.dark h3{color:#fff}
.industry-block > p{
  color:var(--ink-dim);
  font-size:15.5px; line-height:1.65;
  margin-bottom:24px;
}
.industry-block.dark > p{color:var(--text-on-dark-dim)}

.industry-companies{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.industry-features{margin-bottom:0}
.industry-block.dark .industry-companies{
  border-top-color:rgba(255,255,255,.1);
}
.industry-company{
  display:flex;
  align-items:center;
  gap:12px;
}
.industry-company[hidden]{display:none}
a.industry-company{
  text-decoration:none;
  color:inherit;
  transition:transform .15s ease;
}
a.industry-company:hover{transform:translateX(2px)}
a.industry-company:hover .industry-company-name{color:var(--brand-700)}
a.industry-company:hover .industry-company-loc{color:var(--brand-700)}
a.industry-company .industry-company-loc{
  font-variant-numeric:tabular-nums;
}
.industry-company-mark{
  width:7px; height:7px;
  background:var(--brand-500);
  border-radius:50%;
  flex-shrink:0;
}
.industry-block.dark .industry-company-mark{background:var(--brand-300)}
.industry-company-name{
  font-family:'Fraunces', serif;
  font-size:16px; font-weight:500;
  color:var(--ink);
  letter-spacing:-.01em;
}
.industry-block.dark .industry-company-name{color:#fff}
.industry-company-loc{
  color:var(--ink-muted);
  font-size:12.5px;
  margin-left:auto;
}
.industry-block.dark .industry-company-loc{color:var(--text-on-dark-muted)}

/* "... in mnogi drugi" — zaključna vrstica seznama strank */
.industry-company--more .industry-company-name{
  font-style:italic;
  font-weight:400;
  font-size:14px;
  color:var(--ink-muted);
  letter-spacing:0;
}
.industry-block.dark .industry-company--more .industry-company-name{
  color:var(--text-on-dark-muted);
}
.industry-company--more{margin-top:4px}

/* "Pokaži vse" gumb pod seznamom strank */
.industry-show-more{
  background:none; border:none; padding:6px 0 0;
  cursor:pointer;
  font-family:inherit;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.04em;
  text-decoration:underline;
  text-underline-offset:3px;
  text-align:left;
  align-self:flex-start;
  margin-top:4px;
  color:var(--brand-700);
  transition:color .2s;
}
.industry-show-more:hover{color:var(--brand-500)}
.industry-block.dark .industry-show-more{color:var(--brand-200)}
.industry-block.dark .industry-show-more:hover{color:#fff}
.industry-features{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:10px;
}
.industry-features li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:14.5px; line-height:1.5;
  color:var(--ink-dim);
}
.industry-block.dark .industry-features li{color:var(--text-on-dark-dim)}
.industry-features .check{
  flex-shrink:0;
  width:18px; height:18px;
  border-radius:50%;
  background:var(--soft-brand-bg);
  color:var(--brand-700);
  display:grid; place-items:center;
  margin-top:1px;
}
.industry-block.dark .industry-features .check{
  background:rgba(31,53,119,.2);
  color:var(--brand-200);
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  max-width:1100px;
  margin:0 auto;
}
.trust-card{
  padding:36px 30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  text-align:center;
}
.trust-card-num{
  font-family:'Fraunces', serif;
  font-size:48px; font-weight:300;
  color:var(--brand-700);
  line-height:1; letter-spacing:-.03em;
  margin-bottom:14px;
}
.trust-card h4{
  font-family:'Fraunces', serif;
  font-size:20px; font-weight:500;
  color:var(--ink); margin-bottom:10px;
  letter-spacing:-.01em;
}
.trust-card p{
  color:var(--ink-dim);
  font-size:14.5px; line-height:1.6;
  margin:0;
}

/* ====================================================================
   RESPONSIVE
   ==================================================================== */

@media (max-width:1100px){
  .paths-grid{grid-template-columns:1fr; gap:14px}
  .address-block{grid-template-columns:1fr; gap:32px}
  .big-phone-inner{grid-template-columns:1fr; gap:24px}
  .big-phone-number{justify-content:center}
  .values-grid{grid-template-columns:1fr 1fr}
  .big-stats{grid-template-columns:1fr 1fr; gap:14px}
  .promise-grid{grid-template-columns:1fr 1fr}
  .ref-stats{grid-template-columns:1fr 1fr; gap:14px}
  .industries{grid-template-columns:1fr; gap:16px}
  .trust-grid{grid-template-columns:1fr; gap:14px}
}
@media (max-width:860px){
  .subpage-hero{padding:50px 0 30px}
  .subpage-title{font-size:36px}
  .subpage-lead{font-size:17px}
  .sp-section{padding:60px 0}
  .final-cta{padding:70px 0}

  /* Kontakt */
  .big-phone-block{padding:36px 28px}
  .big-phone-title{font-size:24px}
  .big-phone-number{font-size:24px; padding:14px 20px}
  .ticket-block{grid-template-columns:1fr; padding:32px 24px; text-align:center}
  .ticket-icon-big{margin:0 auto}

  /* O nas */
  .lead-cards-block{grid-template-columns:1fr; gap:14px}
  .values-grid{grid-template-columns:1fr; gap:14px}
  .big-stats{grid-template-columns:1fr 1fr; gap:12px}
  .big-stat{padding:18px 8px}
  .big-stat-num{font-size:42px}
  .generation-card{
    grid-template-columns:1fr;
    padding:28px 24px; gap:18px;
    text-align:center;
    justify-items:center;
  }
  .gen-photos{justify-content:center}
  .timeline-item{grid-template-columns:80px 1fr; gap:20px}
  .timeline-year{font-size:24px}
  .company-data{grid-template-columns:1fr; padding:32px 26px; gap:24px}

  /* Kako delamo */
  .compare-grid{grid-template-columns:1fr; gap:14px}
  .compare-col{padding:30px 24px}
  .promise-grid{grid-template-columns:1fr; gap:14px}
  .process-step{grid-template-columns:60px 1fr; gap:20px; padding:28px 0}
  .process-num{font-size:40px}
  .process-content h4{font-size:20px}
  .director-block{grid-template-columns:1fr; padding:32px 26px; text-align:center; gap:20px}
  .director-photo{margin:0 auto; width:110px; height:auto}
  .response-demo{padding:24px}
  .response-step-time{font-size:16px}

  /* Reference */
  .ref-stat{padding:24px 16px}
  .ref-stat-num{font-size:34px}
  .industry-block{padding:32px 26px}
}
