  :root{
    /* Softbase paleta — zasidrana na logotip #0B163D (deep navy).
       Paleta gre od zelo svetlega tinta (50) do nearly-black (950).
       Brand-700 = točna logo barva #0B163D, uporabljena za naslove em,
       hover stanja, akcente. Brand-500 je svetlejši mid-navy za gumbe. */
    --brand-50:#f4f6fc;
    --brand-100:#e2e8f7;
    --brand-200:#c4d0ec;
    --brand-300:#97a8d4;
    --brand-500:#1f3577;   /* primarni — gumbi, CTA */
    --brand-600:#162760;   /* hover */
    --brand-700:#0B163D;   /* LOGO BARVA — naslovi em, link hover, akcenti */
    --brand-800:#08112e;
    --brand-900:#050c20;   /* za zelo temna ozadja */
    --brand-950:#030716;

    --soft-brand-bg:#f0f3fa; /* nežna podlaga kartic */
    --soft-brand-line:#d6dded;

    --amber:#f59e0b;       /* "Odprt", "Oddan" */
    --amber-bg:#fef3c7;
    --rose:#ef4444;        /* "Zavrnjen", supervisor pill */
    --rose-bg:#fee2e2;
    --slate:#64748b;
    --blue:#1f3577;
    --blue-bg:#e2e8f7;

    /* svetla podlaga aplikacije */
    --bg:#f7f8fa;
    --bg-2:#ffffff;
    --bg-soft:#f1f4f9;

    --ink:#0f172a;
    --ink-dim:#475569;
    --ink-muted:#94a3b8;

    --text-on-dark:#e8eef9;
    --text-on-dark-dim:#a7b8d6;
    --text-on-dark-muted:#6b7a98;

    --line:#e2e6ec;
    --line-strong:#cbd0d7;
    --line-dark:rgba(255,255,255,.08);
    --line-dark-strong:rgba(255,255,255,.14);

    --radius:14px;
    --radius-lg:22px;
    --max:1280px;
    --shadow-sm:0 1px 2px rgba(15,23,42,.05);
    --shadow-md:0 4px 12px -2px rgba(15,23,42,.08), 0 2px 4px -1px rgba(15,23,42,.04);
    --shadow-lg:0 20px 40px -10px rgba(15,23,42,.12), 0 8px 16px -4px rgba(15,23,42,.06);
  }

  *{box-sizing:border-box;margin:0;padding:0;min-width:0}
  html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%; width:100%}
  body{
    font-family:'Inter', system-ui, -apple-system, sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.55;
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    max-width:100%;
    width:100%;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .container{max-width:var(--max); margin:0 auto; padding:0 32px}
  .serif{font-family:'Fraunces', Georgia, serif}

  /* ============ A11Y — SKIP LINK ============ */
  .skip-link{
    position:absolute; top:-100px; left:16px; z-index:100;
    background:var(--brand-700); color:#fff;
    padding:10px 16px; border-radius:8px;
    font-weight:600; font-size:14px;
    box-shadow:var(--shadow-md);
    transition:top .2s ease;
  }
  .skip-link:focus{top:12px; outline:2px solid #fff; outline-offset:2px}

  /* ============ TOPBAR ============ */
  .topbar{
    position:sticky; top:0; z-index:50;
    backdrop-filter: blur(14px) saturate(140%);
    background:rgba(247,248,250,.85);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding-top:18px;
    padding-bottom:18px;
  }
  .logo{
    display:flex; align-items:center; gap:12px;
    font-family:'Fraunces', serif;
    font-weight:500;
    font-size:24px;
    letter-spacing:-.02em;
    color:var(--ink);
  }
  .logo-img{
    height:36px; width:auto; display:block;
  }
  .nav{display:flex; gap:36px; align-items:center}
  .nav a{
    font-size:14.5px; color:var(--ink-dim); font-weight:500;
    transition:color .2s;
  }
  .nav a:hover{color:var(--brand-700)}
  .nav a.active{color:var(--brand-700); font-weight:600}
  .nav .nav-cta,
  .nav .nav-cta:hover,
  .nav .nav-cta:focus{
    color:#fff;
  }
  .nav .nav-cta{
    padding:11px 22px;
    background:var(--brand-700);
    border-radius:999px;
    font-weight:600;
    font-size:14px;
    transition:all .2s;
    display:inline-flex; align-items:center; gap:8px;
    box-shadow:0 4px 12px rgba(11,22,61,.32);
  }
  .nav .nav-cta:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(11,22,61,.48);
  }
  .mobile-toggle{display:none; background:none; border:none; color:var(--ink); cursor:pointer}

  /* ============ HERO ============ */
  .hero{
    padding:80px 0 60px;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; top:-200px; right:-200px;
    width:700px; height:700px;
    background:radial-gradient(circle, rgba(59,130,246,.08), transparent 60%);
    pointer-events:none;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:80px;
    align-items:center;
    position:relative;
    z-index:2;
  }
  .hero-eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    padding:7px 14px;
    border:1px solid var(--soft-brand-line);
    background:var(--soft-brand-bg);
    border-radius:999px;
    font-size:12.5px;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--brand-800);
    font-weight:600;
    margin-bottom:32px;
  }
  .hero-eyebrow .dot{
    width:7px; height:7px; border-radius:50%;
    background:var(--brand-500);
    box-shadow:0 0 0 4px rgba(59,130,246,.15);
  }
  .hero h1{
    font-family:'Fraunces', serif;
    font-weight:400;
    font-size:clamp(52px, 6.5vw, 80px);
    line-height:1.02;
    letter-spacing:-.025em;
    color:var(--ink);
  }
  .hero h1 em{
    font-style:italic;
    font-weight:300;
    color:var(--brand-700);
    display:block;
  }
  .hero-sub{
    margin-top:32px;
    font-size:18px;
    color:var(--ink-dim);
    max-width:52ch;
    line-height:1.65;
  }
  .hero-actions{
    margin-top:42px;
    display:flex; gap:14px; flex-wrap:wrap;
  }
  .btn{
    padding:14px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:15px;
    transition:all .25s;
    display:inline-flex; align-items:center; gap:10px;
    cursor:pointer;
    border:none;
    font-family:inherit;
  }
  .btn-primary{
    background:var(--brand-700);
    color:#fff;
    box-shadow:0 4px 14px rgba(11,22,61,.35);
  }
  .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(11,22,61,.5);
  }
  /* Override za btn-primary znotraj temne CTA škatle (kjer bi brand-700 zlil z ozadjem) */
  .cta-box .btn-primary{
    background:#fff;
    color:var(--brand-900);
    box-shadow:0 8px 24px rgba(0,0,0,.25);
  }
  .cta-box .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(0,0,0,.35);
  }
  .btn-ghost{
    background:#fff;
    color:var(--ink);
    border:1px solid var(--line-strong);
  }
  .btn-ghost:hover{border-color:var(--brand-700); color:var(--brand-700)}
  .btn-light-ghost{
    background:transparent;
    color:var(--text-on-dark);
    border:1px solid var(--line-dark-strong);
  }
  .btn-light-ghost:hover{border-color:var(--brand-200); color:var(--brand-100)}

  /* ====== Hero desni — mockup z app stat karticami ====== */
  .hero-mock{
    position:relative;
    padding:24px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow-lg);
  }
  .mock-head{
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
    margin-bottom:20px;
  }
  .mock-breadcrumb{
    font-size:13px;
    color:var(--ink-muted);
  }
  .mock-breadcrumb span{color:var(--ink-dim); font-weight:500}
  .mock-pill{
    padding:4px 10px;
    background:#dcfce7;
    color:#15803d;
    border-radius:999px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .mock-title{
    font-family:'Fraunces', serif;
    font-size:24px;
    font-weight:500;
    color:var(--ink);
    margin-bottom:20px;
    letter-spacing:-.01em;
  }

  /* KPI grid (2x2) */
  .mock-kpi-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:24px;
  }
  .mock-kpi{
    padding:14px 14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:0;
  }
  .mock-kpi--active{
    border-color:var(--brand-700);
    box-shadow:0 0 0 3px rgba(11,22,61,.07);
  }
  .mock-kpi-icon{
    width:34px; height:34px;
    border-radius:10px;
    display:grid; place-items:center;
    flex-shrink:0;
    background:var(--soft-brand-bg);
    color:var(--brand-700);
  }
  .mock-kpi-icon--amber{background:#fef3c7; color:#d97706}
  .mock-kpi-icon--green{background:#dcfce7; color:#16a34a}
  .mock-kpi-icon--dark{background:var(--brand-900); color:#fff}
  .mock-kpi-text{min-width:0; flex:1}
  .mock-kpi-text .num{
    font-family:'Fraunces', serif;
    font-size:22px;
    font-weight:500;
    color:var(--ink);
    line-height:1.05;
    letter-spacing:-.02em;
    font-variant-numeric:tabular-nums;
  }
  .mock-kpi-text .label{
    font-size:13px;
    color:var(--ink);
    font-weight:500;
    margin-top:2px;
    line-height:1.25;
  }
  .mock-kpi-text .sub{
    font-size:11.5px;
    color:var(--ink-muted);
    margin-top:6px;
    font-variant-numeric:tabular-nums;
  }

  /* Recent events */
  .mock-events-head{
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.14em;
    color:var(--ink-muted);
    margin-bottom:10px;
    text-transform:uppercase;
  }
  .mock-events{
    display:flex; flex-direction:column; gap:8px;
    margin-bottom:14px;
  }
  .mock-event{
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 13px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
  }
  .mock-event-icon{
    width:30px; height:30px;
    border-radius:8px;
    display:grid; place-items:center;
    flex-shrink:0;
    background:var(--soft-brand-bg);
    color:var(--brand-700);
  }
  .mock-event-icon--amber{background:#fef3c7; color:#d97706}
  .mock-event-icon--green{background:#dcfce7; color:#16a34a}
  .mock-event-text{flex:1; min-width:0}
  .mock-event-text .title{
    font-size:13px;
    color:var(--ink);
    font-weight:500;
    margin-bottom:2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mock-event-text .meta{
    font-size:11.5px;
    color:var(--ink-muted);
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mock-event-status{
    flex-shrink:0;
    font-size:11px;
    font-weight:500;
    padding:5px 10px;
    border-radius:999px;
    background:var(--soft-brand-bg);
    color:var(--brand-700);
  }
  .mock-event-status--amber{background:#fef3c7; color:#b45309}
  .mock-event-status--green{background:#dcfce7; color:#15803d}

  /* Foot link */
  .mock-foot{
    text-align:center;
    padding-top:14px;
    border-top:1px solid var(--line);
  }
  .mock-foot a{
    color:var(--brand-700);
    font-weight:500;
    font-size:13.5px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  .mock-foot a:hover{color:var(--brand-600)}

  /* ============ STATS BAR ============ */
  .stats-bar{
    padding:50px 0;
    background:#fff;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4, 1fr);
    gap:30px;
  }
  .stat-cell{display:flex; align-items:center; gap:18px}
  .stat-cell-icon{
    width:48px; height:48px;
    border-radius:14px;
    background:var(--soft-brand-bg);
    color:var(--brand-600);
    display:grid; place-items:center;
    flex-shrink:0;
  }
  .stat-cell-num{
    font-family:'Fraunces', serif;
    font-size:34px;
    font-weight:400;
    color:var(--ink);
    line-height:1;
    letter-spacing:-.02em;
  }
  .stat-cell-num span{color:var(--brand-600); font-weight:500}
  .stat-cell-label{
    font-size:13px;
    color:var(--ink-muted);
    margin-top:4px;
  }
  .stat-cell--text .stat-cell-num{
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.01em;
  }

  /* ============ SECTIONS ============ */
  section{padding:120px 0; position:relative}
  .section-eyebrow{
    font-size:11.5px; color:var(--brand-700);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-weight:700;
    margin-bottom:24px;
    display:inline-flex; align-items:center; gap:10px;
  }
  .section-eyebrow::before{content:""; width:24px; height:1px; background:var(--brand-600)}
  .section-title{
    font-family:'Fraunces', serif;
    font-size:clamp(36px, 4.8vw, 58px);
    font-weight:400;
    line-height:1.05;
    letter-spacing:-.02em;
    max-width:18ch;
    margin-bottom:28px;
    color:var(--ink);
  }
  .section-title em{font-style:italic; font-weight:300; color:var(--brand-700)}
  .section-title strong{font-weight:600}
  /* Variante section-title (modifierji) */
  .section-title--stretch{max-width:none}
  .section-title--light{font-weight:300}
  .section-title em.is-bold{font-weight:inherit}
  .section-intro{font-size:18px; color:var(--ink-dim); max-width:60ch; line-height:1.65}
  .section-intro--stretch{max-width:none}
  .section-head{margin-bottom:72px}

  /* ============ HOW (Kako delamo) ============ */
  .how{
    background:linear-gradient(180deg, var(--bg) 0%, #fff 100%);
    padding:120px 0;
    position:relative;
    overflow:hidden;
  }
  .how::before{
    content:"";
    position:absolute;
    top:-100px; right:-100px;
    width:500px; height:500px;
    background:radial-gradient(circle, rgba(59,130,246,.06), transparent 60%);
    pointer-events:none;
  }
  .how-head{
    max-width:760px;
    margin:0 auto 64px;
    text-align:center;
    position:relative; z-index:2;
  }
  .how-head .section-eyebrow{justify-content:center; display:inline-flex}
  .how-head .section-title{margin-left:auto; margin-right:auto; max-width:16ch}
  .how-head .section-intro{margin-left:auto; margin-right:auto}

  .how-quote-lead{
    max-width:780px;
    margin:8px auto 40px;
    padding:32px 40px;
    background:var(--soft-brand-bg);
    border-left:3px solid var(--brand-700);
    border-radius:var(--radius);
    font-family:'Fraunces', serif;
    font-size:clamp(20px, 2.2vw, 26px);
    font-weight:300;
    font-style:italic;
    line-height:1.45;
    letter-spacing:-.01em;
    color:var(--brand-700);
    text-align:left;
  }

  .how-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
    position:relative; z-index:2;
  }

  .how-card{
    padding:36px 32px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    transition:all .3s;
    display:flex;
    flex-direction:column;
  }
  .how-card:hover{
    transform:translateY(-3px);
    border-color:var(--brand-300);
    box-shadow:var(--shadow-md);
  }
  .how-card-icon{
    width:52px; height:52px;
    border-radius:14px;
    background:var(--soft-brand-bg);
    color:var(--brand-700);
    display:grid; place-items:center;
    margin-bottom:24px;
  }
  .how-card h3{
    font-family:'Fraunces', serif;
    font-size:22px;
    font-weight:500;
    margin-bottom:12px;
    letter-spacing:-.01em;
    color:var(--ink);
    line-height:1.2;
  }
  .how-card p{
    color:var(--ink-dim);
    font-size:14.5px;
    line-height:1.65;
  }

  /* ============ WHY ============ */
  .why{background:var(--bg)}
  .why-grid{
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:20px;
  }
  .why-card{
    padding:36px 30px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    transition:all .3s;
  }
  .why-card:hover{
    border-color:var(--brand-200);
    box-shadow:var(--shadow-md);
  }
  .why-icon{
    width:48px; height:48px;
    border-radius:14px;
    background:var(--soft-brand-bg);
    color:var(--brand-700);
    display:grid; place-items:center;
    margin-bottom:24px;
  }
  .why-card h3{
    font-family:'Fraunces', serif;
    font-size:22px;
    font-weight:500;
    margin-bottom:12px;
    letter-spacing:-.01em;
    color:var(--ink);
  }
  .why-card p{color:var(--ink-dim); font-size:14.5px; line-height:1.65}

  /* ============ FLAGSHIP — gradbeništvo ============ */
  .flagship{
    background:linear-gradient(180deg, var(--brand-950), var(--brand-900));
    color:var(--text-on-dark);
    position:relative;
    overflow:hidden;
  }
  .flagship::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;
  }
  .flagship .container{position:relative; z-index:2}
  .flagship .section-eyebrow{color:var(--brand-200)}
  .flagship .section-eyebrow::before{background:var(--brand-200)}
  .flagship-layout{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:80px;
    align-items:center;
  }
  .flagship h2{
    font-family:'Fraunces', serif;
    font-size:clamp(36px, 4.8vw, 56px);
    font-weight:400;
    line-height:1.05;
    letter-spacing:-.02em;
    color:var(--text-on-dark);
    margin-bottom:24px;
  }
  .flagship h2 em{font-style:italic; font-weight:300; color:var(--brand-200)}
  .flagship p.lead{
    font-size:17px;
    color:var(--text-on-dark-dim);
    line-height:1.65;
    margin-bottom:32px;
    max-width:46ch;
  }
  .flagship-features{
    display:flex; flex-direction:column; gap:14px;
    margin-bottom:36px;
  }
  .flagship-feat{
    display:flex; align-items:flex-start; gap:14px;
    color:var(--text-on-dark-dim);
    font-size:15px;
  }
  .flagship-feat-check{
    width:22px; height:22px;
    border-radius:50%;
    background:var(--brand-500);
    color:var(--brand-950);
    display:grid; place-items:center;
    flex-shrink:0;
    margin-top:1px;
  }
  .flagship-feat strong{color:var(--text-on-dark); font-weight:600; display:block; margin-bottom:2px}

  /* Light modifier — za uporabo v mobile (svetli) sekciji */
  .flagship-features--light .flagship-feat{color:var(--ink-dim)}
  .flagship-features--light .flagship-feat-check{background:var(--brand-500); color:#fff}
  .flagship-features--light .flagship-feat strong{color:var(--ink)}

  /* Utility razredi za skupne layout patterne */
  .section-cta-center{text-align:center; margin-top:48px}
  .section-cta-center--sm{margin-top:36px}
  .link-plain{color:inherit; text-decoration:none}

  .flagship-mock{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
    color:var(--ink);
  }
  .fmock-head{
    padding:16px 20px;
    border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between;
    background:var(--bg);
  }
  .fmock-bc{font-size:12px; color:var(--ink-muted)}
  .fmock-bc strong{color:var(--ink-dim)}
  .fmock-add{
    padding:6px 12px;
    background:var(--brand-500);
    color:#fff;
    border-radius:8px;
    font-size:12px;
    font-weight:600;
    display:inline-flex; align-items:center; gap:6px;
  }
  .fmock-title{
    padding:20px 20px 16px;
    font-family:'Fraunces', serif;
    font-size:20px;
    font-weight:500;
    color:var(--ink);
  }
  .fmock-tiles{
    display:grid; grid-template-columns:repeat(4, 1fr);
    gap:8px;
    padding:0 20px 16px;
  }
  .fmock-tile{
    padding:12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--bg);
    text-align:center;
  }
  .fmock-tile.active{
    border-color:var(--brand-500);
    background:#fff;
    box-shadow:0 0 0 3px rgba(59,130,246,.12);
  }
  .fmock-tile .n{
    font-family:'Fraunces', serif;
    font-size:22px;
    font-weight:500;
    color:var(--ink);
    line-height:1;
    letter-spacing:-.02em;
  }
  .fmock-tile .lab{
    font-size:10.5px;
    color:var(--ink-muted);
    margin-top:4px;
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  .fmock-table{padding:0 20px 20px}
  .fmock-tr{
    display:grid;
    grid-template-columns:60px 1fr 80px;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
    font-size:13px;
    align-items:center;
  }
  .fmock-tr:last-child{border-bottom:none}
  .fmock-tr-name{color:var(--ink-dim)}
  .fmock-status-mini{
    padding:3px 10px;
    border-radius:999px;
    font-size:10.5px;
    font-weight:600;
    text-align:center;
    white-space:nowrap;
  }
  .fmock-status-blue{background:var(--soft-brand-bg); color:var(--brand-700)}
  .fmock-status-amber{background:#fef3c7; color:#b45309}
  .fmock-status-green{background:#dcfce7; color:#15803d}

  .fmock-table--2col .fmock-tr{
    grid-template-columns:1fr auto;
  }
  .fmock-table--2col .fmock-tr-name{
    color:var(--ink);
    font-weight:500;
  }

  /* ============ MOBILE SECTION ============ */
  .mobile{background:#fff}
  .mobile-layout{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:80px;
    align-items:center;
  }
  .phone-frame{
    width:280px;
    height:580px;
    background:#111;
    border-radius:42px;
    padding:8px;
    margin:0 auto;
    box-shadow:
      0 30px 60px -15px rgba(15,23,42,.25),
      0 0 0 1px rgba(15,23,42,.05);
    position:relative;
  }
  .phone-frame::before{
    content:"";
    position:absolute;
    top:14px; left:50%;
    transform:translateX(-50%);
    width:90px; height:24px;
    background:#000;
    border-radius:14px;
    z-index:2;
  }
  .phone-screen{
    background:#f3f4f6;
    border-radius:34px;
    width:100%; height:100%;
    overflow:hidden;
    padding:48px 16px 20px;
  }
  .phone-greet{
    font-size:14px;
    font-weight:600;
    color:var(--ink);
    margin-bottom:2px;
  }
  .phone-date{
    font-size:11.5px;
    color:var(--ink-muted);
    margin-bottom:16px;
  }
  .phone-main-cta{
    background:var(--brand-500);
    color:#fff;
    border-radius:24px;
    padding:32px 20px;
    text-align:center;
    margin-bottom:14px;
    display:flex; align-items:center; justify-content:center; gap:10px;
    font-weight:700;
    font-size:16px;
    letter-spacing:.02em;
    box-shadow:0 8px 20px rgba(59,130,246,.3);
  }
  .phone-main-cta-icon{
    width:24px; height:24px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    display:grid; place-items:center;
  }
  .phone-grid{
    display:grid; grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .phone-tile{
    background:#fff;
    border:1.5px solid;
    border-radius:14px;
    padding:18px 10px;
    text-align:center;
  }
  .phone-tile-amber{border-color:#fcd34d}
  .phone-tile-green{border-color:var(--soft-brand-line); background:var(--soft-brand-bg)}
  .phone-tile-blue{border-color:#bfdbfe}
  .phone-tile-icon{
    width:30px; height:30px; margin:0 auto 8px;
    display:grid; place-items:center;
  }
  .phone-tile-amber .phone-tile-icon{color:#d97706}
  .phone-tile-green .phone-tile-icon{color:var(--brand-700)}
  .phone-tile-blue .phone-tile-icon{color:var(--blue)}
  .phone-tile-label{
    font-size:11.5px;
    font-weight:600;
    color:var(--ink);
  }

  /* ============ SERVICES ============ */
  .services{background:var(--bg)}
  .services-grid{
    display:grid; grid-template-columns:repeat(2, 1fr);
    gap:18px;
  }
  .service{
    padding:44px 40px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    transition:all .3s;
    display:block;
    text-decoration:none;
    color:inherit;
  }
  .service:hover{
    border-color:var(--brand-200);
    box-shadow:var(--shadow-md);
    transform:translateY(-2px);
  }
  a.service:hover h3{color:var(--brand-700)}
  .service-num{
    font-family:'Fraunces', serif;
    color:var(--brand-700);
    font-size:13px;
    margin-bottom:24px;
    letter-spacing:.05em;
    font-weight:600;
  }
  .service h3{
    font-family:'Fraunces', serif;
    font-size:26px;
    font-weight:500;
    line-height:1.2;
    margin-bottom:16px;
    letter-spacing:-.01em;
    color:var(--ink);
  }
  .service p{color:var(--ink-dim); font-size:15px; line-height:1.7}

  /* Poudarjena kartica (4 — Rešitve po meri) */
  .service--featured{
    background:linear-gradient(135deg, var(--brand-950), var(--brand-800));
    border:none;
    color:#fff;
    position:relative;
    overflow:hidden;
  }
  .service--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:40px 40px;
    pointer-events:none;
  }
  .service--featured > *{position:relative; z-index:2}
  .service--featured:hover{
    border:none;
    transform:translateY(-2px);
    box-shadow:0 30px 60px -15px rgba(12,22,55,.4);
  }
  .service--featured .service-num{color:var(--brand-200)}
  .service--featured h3{color:#fff}
  .service--featured p{color:var(--text-on-dark-dim)}
  .service-arrow{
    margin-top:24px;
    display:inline-flex;
    color:var(--brand-700);
    font-size:11.5px;
    font-weight:600;
    align-items:center;
    gap:8px;
    text-transform:uppercase;
    letter-spacing:.1em;
  }

  /* ============ REFERENCES ============ */
  .references{
    background:#fff;
    padding:120px 0;
  }
  .ref-head{
    text-align:center;
    max-width:780px;
    margin:0 auto 64px;
  }
  .ref-head .section-eyebrow{justify-content:center; display:inline-flex}
  .ref-head .section-title{margin-left:auto; margin-right:auto; max-width:18ch}
  .ref-head .section-intro{margin-left:auto; margin-right:auto}

  .ref-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
    margin-bottom:40px;
  }
  .ref-card{
    padding:28px 24px;
    background:var(--bg);
    border:1px solid var(--line);
    border-radius:16px;
    transition:all .3s;
    position:relative;
  }
  .ref-card:hover{
    border-color:var(--brand-700);
    background:#fff;
    box-shadow:var(--shadow-md);
  }
  .ref-card-tag{
    display:inline-block;
    padding:4px 11px;
    background:var(--soft-brand-bg);
    color:var(--brand-700);
    border-radius:999px;
    font-size:10.5px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:16px;
  }
  .ref-card-name{
    font-family:'Fraunces', serif;
    font-size:20px;
    font-weight:500;
    color:var(--ink);
    line-height:1.2;
    letter-spacing:-.01em;
    margin-bottom:6px;
  }
  .ref-card-loc{
    font-size:13px;
    color:var(--ink-muted);
  }

  /* "+1200 drugih" kartica */
  .ref-card-more{
    background:linear-gradient(135deg, var(--brand-700), var(--brand-800));
    color:#fff;
    border-color:transparent;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
  }
  .ref-card-more:hover{
    background:linear-gradient(135deg, var(--brand-600), var(--brand-700));
    border-color:transparent;
  }
  .ref-card-more-num{
    font-family:'Fraunces', serif;
    font-size:42px;
    font-weight:300;
    line-height:1;
    letter-spacing:-.02em;
    color:var(--brand-200);
    margin-bottom:8px;
  }
  .ref-card-more-label{
    font-size:13px;
    color:#fff;
    letter-spacing:.03em;
  }

  .ref-foot{
    text-align:center;
    font-size:15px;
    color:var(--ink-dim);
    padding-top:36px;
    border-top:1px solid var(--line);
  }
  .ref-foot strong{color:var(--ink); font-weight:600}

  /* ============ APPROACH ============ */
  .approach{background:#fff}
  .approach-layout{
    display:grid; grid-template-columns:.95fr 1.05fr;
    gap:100px;
    align-items:start;
  }
  .approach-steps{display:flex; flex-direction:column}
  .step{
    display:grid; grid-template-columns:80px 1fr;
    gap:28px;
    padding:30px 0;
    border-top:1px solid var(--line);
  }
  .step:first-child{border-top:none; padding-top:0}
  .step:last-child{padding-bottom:0}
  .step-num{
    font-family:'Fraunces', serif;
    color:var(--brand-700);
    font-size:38px;
    font-weight:300;
    line-height:1;
    letter-spacing:-.02em;
  }
  .step h4{
    font-family:'Fraunces', serif;
    font-size:22px;
    font-weight:500;
    margin-bottom:10px;
    letter-spacing:-.01em;
    color:var(--ink);
  }
  .step p{color:var(--ink-dim); font-size:15px; line-height:1.65; max-width:46ch}

  /* ============ QUOTE ============ */
  .quote-section{
    background:var(--brand-950);
    color:var(--text-on-dark);
    position:relative;
    overflow:hidden;
  }
  .quote-section::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;
  }
  .quote-section .container{position:relative; z-index:2}
  .quote-block{text-align:center; max-width:32ch; margin:0 auto}
  .quote-mark{
    font-family:'Fraunces', serif;
    font-size:80px;
    color:var(--brand-200);
    line-height:.4;
    margin-bottom:36px;
    font-style:italic;
  }
  .quote-text{
    font-family:'Fraunces', serif;
    font-size:clamp(28px, 3.4vw, 42px);
    font-weight:300;
    font-style:italic;
    line-height:1.3;
    margin-bottom:36px;
    letter-spacing:-.01em;
    color:var(--text-on-dark);
  }
  .quote-author{
    font-size:12px;
    color:var(--text-on-dark-muted);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-weight:500;
  }

  /* ============ CTA ============ */
  .cta-section{background:var(--bg); padding:80px 0 120px}
  .cta-box{
    padding:90px 60px;
    border-radius:24px;
    background:
      radial-gradient(ellipse 800px 400px at 80% 20%, rgba(59,130,246,.18), transparent 60%),
      linear-gradient(135deg, var(--brand-950) 0%, var(--brand-900) 100%);
    text-align:center;
    position:relative;
    overflow:hidden;
    color:var(--text-on-dark);
  }
  .cta-box::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image: radial-gradient(ellipse at center, black 20%, transparent 75%);
    pointer-events:none;
  }
  .cta-box > *{position:relative; z-index:2}
  .cta-box .section-eyebrow{color:var(--brand-200); justify-content:center; display:inline-flex}
  .cta-box .section-eyebrow::before{background:var(--brand-200)}
  .cta-box h2{
    font-family:'Fraunces', serif;
    font-size:clamp(36px, 4.8vw, 54px);
    font-weight:400;
    line-height:1.1;
    letter-spacing:-.02em;
    max-width:20ch;
    margin:0 auto 24px;
    color:var(--text-on-dark);
  }
  .cta-box h2 em{font-style:italic; font-weight:300; color:var(--brand-200)}
  .cta-box p{
    color:var(--text-on-dark-dim);
    font-size:18px;
    max-width:50ch;
    margin:0 auto 40px;
  }
  .cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

  /* ============ FOOTER ============ */
  footer{
    background:#fff;
    padding:70px 0 30px;
    border-top:1px solid var(--line);
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.8fr 1.2fr 1fr 1.1fr;
    gap:48px;
    margin-bottom:50px;
  }
  .footer-col-brand{display:flex; flex-direction:column; gap:18px; align-items:flex-start}
  .footer-col-title{
    font-size:11.5px;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--brand-700);
    margin-bottom:22px;
    font-weight:700;
  }
  .footer-col a, .footer-col p{
    color:var(--ink-dim);
    font-size:14.5px;
    line-height:1.9;
    display:block;
    font-family:'Inter', system-ui, sans-serif;
    font-weight:400;
  }
  .footer-col a:hover{color:var(--brand-700)}
  .footer-logo .logo-img{height:32px}
  .footer-tagline{
    font-family:'Inter', system-ui, sans-serif !important;
    font-weight:400 !important;
    font-style:normal !important;
    color:var(--ink-dim);
    font-size:14px;
    max-width:38ch;
    line-height:1.65;
    margin:0;
  }
  .footer-bottom{
    padding-top:30px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:var(--ink-muted);
    font-size:13px;
    flex-wrap:wrap;
    gap:14px;
  }
  .footer-legal-info{
    color:var(--ink-muted);
    font-size:13px;
  }
  .footer-link-btn{
    background:none; border:none; padding:0; cursor:pointer;
    color:var(--ink-muted);
    font:inherit; font-size:13px;
    text-decoration:none;
    transition:color .2s;
  }
  .footer-link-btn:hover{color:var(--brand-700); text-decoration:underline}
  .footer-badge{
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 12px;
    background:var(--soft-brand-bg);
    color:var(--brand-800);
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.04em;
  }

  /* ============ COOKIE CONSENT BANNER ============ */
  .cookie-banner{
    position:fixed;
    bottom:16px; left:16px;
    max-width:420px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 20px 50px -10px rgba(15,23,42,.25);
    padding:20px 22px;
    z-index:1000;
    font-size:14px;
    line-height:1.5;
    color:var(--ink-dim);
    animation:fadeUp .5s cubic-bezier(.2,.7,.2,1);
  }
  .cookie-banner[hidden]{display:none !important}
  .cookie-content{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .cookie-text{}
  .cookie-text strong{color:var(--ink); display:block; margin-bottom:4px; font-size:14.5px}
  .cookie-text a{color:var(--brand-700); text-decoration:underline}
  .cookie-actions{display:flex; gap:10px}
  .cookie-btn{
    border:none;
    padding:10px 18px;
    border-radius:999px;
    font-weight:600;
    font-size:13px;
    cursor:pointer;
    font-family:inherit;
    transition:all .2s;
    flex:1;
  }
  .cookie-btn-accept{
    background:var(--brand-700);
    color:#fff;
    box-shadow:0 4px 12px rgba(11,22,61,.32);
  }
  .cookie-btn-accept:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(11,22,61,.42);
  }
  .cookie-btn-reject{
    background:transparent;
    color:var(--ink-dim);
    border:1px solid var(--line-strong);
  }
  .cookie-btn-reject:hover{border-color:var(--ink-muted); color:var(--ink)}
  @media (max-width:600px){
    .cookie-banner{
      bottom:12px; left:12px; right:12px;
      max-width:none;
      padding:16px 18px;
    }
    .cookie-btn{padding:11px 16px}
  }

  /* ============ ANIMATIONS ============ */
  @keyframes fadeUp{
    from{opacity:0; transform:translateY(24px)}
    to{opacity:1; transform:translateY(0)}
  }
  .reveal{opacity:0; animation:fadeUp 1s cubic-bezier(.2,.7,.2,1) forwards}
  .reveal.d1{animation-delay:.1s}
  .reveal.d2{animation-delay:.25s}
  .reveal.d3{animation-delay:.4s}
  .reveal.d4{animation-delay:.55s}

  /* ============ MOBILE MENU ============ */
  .mobile-menu{
    display:none;
    flex-direction:column;
    padding:12px 24px 24px;
    background:rgba(247,248,250,.98);
    backdrop-filter:blur(14px);
    border-top:1px solid var(--line);
    gap:4px;
  }
  .mobile-menu.open{display:flex}
  .mobile-menu a{
    padding:14px 4px;
    font-size:16px;
    color:var(--ink-dim);
    font-weight:500;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu a:last-of-type{border-bottom:none}
  .mobile-menu a.active{color:var(--brand-700); font-weight:600}
  .mobile-menu-cta{
    margin-top:12px;
    padding:14px 22px !important;
    background:var(--brand-700);
    color:#fff !important;
    border-radius:999px;
    text-align:center;
    border-bottom:none !important;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-weight:600 !important;
    box-shadow:0 4px 12px rgba(11,22,61,.32);
  }

  /* ============ CONTACT CARDS ============ */
  .contact-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin:48px 0 36px;
    text-align:left;
  }
  .contact-card{
    padding:28px 24px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    transition:all .3s;
  }
  .contact-card:hover{
    background:rgba(255,255,255,.07);
    border-color:rgba(147,197,253,.25);
  }
  .contact-card-icon{
    width:42px; height:42px;
    border-radius:12px;
    background:rgba(59,130,246,.15);
    color:var(--brand-200);
    display:grid; place-items:center;
    margin-bottom:20px;
  }
  .contact-card-label{
    font-size:11px;
    color:var(--brand-200);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-weight:600;
    margin-bottom:10px;
  }
  .contact-card-value{
    font-family:'Fraunces', serif;
    font-size:22px;
    font-weight:500;
    color:var(--text-on-dark);
    line-height:1.2;
    letter-spacing:-.01em;
    margin-bottom:10px;
    display:block;
    transition:color .2s;
  }
  a.contact-card-value:hover{color:var(--brand-200)}
  .contact-card-note{
    font-size:13.5px;
    color:var(--text-on-dark-dim);
    line-height:1.55;
  }
  .cta-main-btn{
    margin-top:8px;
    padding:18px 32px !important;
    font-size:16px !important;
  }
  .cta-secondary-note{
    margin-top:16px;
    font-size:14.5px;
    color:var(--text-on-dark-dim);
  }
  .cta-secondary-note a{
    color:#fff;
    font-weight:500;
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-color:rgba(255,255,255,.4);
    transition:text-decoration-color .2s;
  }
  .cta-secondary-note a:hover{text-decoration-color:#fff}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1100px){
    .hero-grid{grid-template-columns:1fr; gap:60px}
    .flagship-layout{grid-template-columns:1fr; gap:50px}
    .mobile-layout{grid-template-columns:1fr; gap:50px}
    .approach-layout{grid-template-columns:1fr; gap:50px}
    .stats-grid{grid-template-columns:1fr 1fr; gap:30px}
    .ref-grid{grid-template-columns:repeat(3, 1fr); gap:12px}
    .how-grid{
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .how-quote-lead{padding:24px 28px; font-size:20px}
  }
  @media (max-width:860px){
    .nav{display:none}
    .mobile-toggle{display:flex; align-items:center; justify-content:center; padding:6px}
    .why-grid{grid-template-columns:1fr; gap:14px}
    .services-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr; gap:40px}
    .footer-col-brand{grid-column:1 / -1}
    section{padding:70px 0}
    .hero{padding:50px 0 40px}
    .fmock-tiles{grid-template-columns:1fr 1fr}
    .stats-bar{padding:40px 0}
    .section-head{margin-bottom:50px}
    .contact-grid{grid-template-columns:1fr; gap:12px; margin:36px 0 28px}
    .ref-grid{grid-template-columns:1fr 1fr; gap:12px}
    .references{padding:80px 0}
    .how{padding:80px 0}
    .how-grid{
      grid-template-columns:1fr;
      gap:12px;
    }
    .how-quote-lead{padding:22px 24px; font-size:18px; margin-bottom:32px}
  }
  @media (max-width:600px){
    .container{padding:0 20px; max-width:100%}
    .footer-grid{grid-template-columns:1fr; gap:36px}
    .stats-grid{grid-template-columns:1fr; gap:20px}
    .cta-box{padding:50px 24px}
    .hero h1{font-size:38px; line-height:1.05}
    .section-title{font-size:30px}
    .hero-mock{padding:16px; max-width:100%}
    .mock-kpi-grid{grid-template-columns:1fr; gap:8px}
    .mock-kpi{padding:12px 14px}
    .topbar-inner{padding-top:14px; padding-bottom:14px}
    .logo{font-size:20px}
    .nav-cta{display:none}
    .form-row{grid-template-columns:1fr; gap:0}
    .flagship-mock{margin:0}
    .fmock-tr{grid-template-columns:50px 1fr 70px; gap:8px; font-size:12px}
    .phone-frame{width:240px; height:500px}
    .approach-layout .step{grid-template-columns:50px 1fr; gap:18px}
    .step-num{font-size:32px}
    .quote-text{font-size:24px}
    .btn{padding:13px 20px; font-size:14px; white-space:normal; text-align:center}
    .btn-primary{width:auto; max-width:100%}
    .hero-actions{flex-direction:column; align-items:stretch}
    .hero-actions .btn{flex:1 1 auto; width:100%}
    .ref-grid{grid-template-columns:1fr 1fr; gap:10px}
    .ref-card{padding:22px 18px}
    .ref-card-name{font-size:17px}
    .ref-card-more-num{font-size:34px}
  }
  @media (max-width:380px){
    .hero h1{font-size:34px}
    .container{padding:0 16px}
    .hero-mock{padding:14px}
    .mock-kpi{padding:12px; gap:10px}
    .mock-kpi-icon{width:30px; height:30px}
    .mock-kpi-text .num{font-size:20px}
    .mock-event{padding:10px 12px}
    .mock-event-text .meta{font-size:11px}
  }

/* === DODATNI RAZREDI ZA PODSTRANI === */
.footer-address{
  font-size:14.5px;
  line-height:1.9;
  margin-top:0;
}
.footer-address a{
  color:var(--ink-dim);
  text-decoration:none;
  transition:color .2s;
}
.footer-address a:hover{color:var(--brand-700)}
.footer-hours{
  color:var(--ink-muted);
  font-size:14px;
  margin-top:6px;
  line-height:1.6;
}
.footer-legal{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.footer-legal a{
  color:var(--ink-muted);
  text-decoration:none;
  font-size:13px;
  transition:color .2s;
}
.footer-legal a:hover{color:var(--brand-700)}
.footer-legal .sep{
  color:var(--ink-muted);
  opacity:.5;
}
