/* self-hostani fontovi — bez vanjskih zahtjeva */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/spectral-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/spectral-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/spectral-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/spectral-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2');}

:root{
    --blue:#2d7ab0;        /* registarska činjenica */
    --blue-deep:#1f5a83;
    --blue-wash:#eaf2f8;
    --magenta:#c70677;     /* politička tvrdnja / stav */
    --magenta-wash:#fbe9f3;
    --ink:#16202b;
    --ink-soft:#46566a;
    --slate:#6b7a8d;
    --paper:#fbfbf9;
    --paper-2:#ffffff;
    --line:#e1e6ec;
    --line-strong:#c7d0da;
    --maxw:920px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

  /* ---------- HERO ---------- */
  header.hero{
    border-top:5px solid var(--blue);
    padding:64px 0 40px;
  }
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--magenta);font-weight:600;margin:0 0 22px;
  }
  .eyebrow span{color:var(--slate)}
  h1{
    font-family:'Spectral',Georgia,serif;
    font-weight:700;font-size:clamp(2.6rem,7vw,4.4rem);
    line-height:1.02;letter-spacing:-.015em;margin:0 0 20px;
  }
  .lead{
    font-family:'Spectral',Georgia,serif;
    font-size:clamp(1.15rem,2.4vw,1.4rem);
    color:var(--ink-soft);max-width:34em;margin:0;font-weight:400;
  }
  .lead b{color:var(--ink);font-weight:600}

  /* ---------- LEGEND (signature) ---------- */
  .legend{padding:24px 0 8px}
  .section-eyebrow{
    font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.16em;
    text-transform:uppercase;color:var(--slate);font-weight:600;
    display:flex;align-items:center;gap:14px;margin:0 0 28px;
  }
  .section-eyebrow::after{content:"";flex:1;height:1px;background:var(--line-strong)}
  .legend-intro{max-width:40em;color:var(--ink-soft);margin:0 0 28px}
  .legend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .lg-card{
    border:1px solid var(--line);border-radius:12px;background:var(--paper-2);
    padding:20px 20px 22px;position:relative;overflow:hidden;
  }
  .lg-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
  .lg-card.fact::before{background:var(--blue)}
  .lg-card.est::before{background:var(--slate)}
  .lg-card.stance::before{background:var(--magenta)}
  .lg-card h4{margin:0 0 8px;display:flex;align-items:center;gap:10px;font-size:1rem}
  .lg-card p{margin:0;font-size:.92rem;color:var(--ink-soft);line-height:1.55}

  .badge{
    display:inline-flex;align-items:center;gap:6px;
    font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;
    padding:4px 9px;border-radius:999px;white-space:nowrap;line-height:1;
  }
  .badge.fact{background:var(--blue);color:#fff}
  .badge.est{background:transparent;color:var(--slate);border:1.5px solid var(--line-strong)}
  .badge.stance{background:var(--magenta);color:#fff}
  .badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}

  /* ---------- NUMBERS ---------- */
  .numbers{padding:56px 0 24px}
  .ncard{
    border:1px solid var(--line);border-radius:16px;background:var(--paper-2);
    padding:30px 30px 28px;margin:0 0 22px;
    box-shadow:0 1px 0 rgba(22,32,43,.02);
  }
  .ncard-top{display:flex;gap:18px;align-items:flex-start;margin:0 0 6px}
  .nindex{
    font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:.85rem;
    color:var(--blue);border:1.5px solid var(--blue);border-radius:8px;
    padding:5px 9px;line-height:1;margin-top:6px;flex:none;
  }
  .ncard-head{flex:1}
  .badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}
  .claim{
    font-family:'Spectral',Georgia,serif;font-weight:600;
    font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.15;
    letter-spacing:-.01em;margin:0;
  }
  .figure{color:var(--magenta)}
  .anat{
    display:grid;grid-template-columns:1fr 1fr;gap:0 32px;
    margin-top:22px;border-top:1px solid var(--line);padding-top:20px;
  }
  .anat .row{padding:0 0 14px}
  .anat .full{grid-column:1 / -1}
  .anat dt{
    font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.1em;
    text-transform:uppercase;color:var(--slate);font-weight:600;margin:0 0 5px;
  }
  .anat dd{margin:0;font-size:.95rem;color:var(--ink-soft);line-height:1.55}
  .anat dd b{color:var(--ink);font-weight:600}
  .calc{
    font-family:'IBM Plex Mono',monospace;font-size:.86rem;color:var(--ink);
    background:var(--blue-wash);border-radius:8px;padding:11px 13px;
    display:inline-block;margin-top:2px;line-height:1.5;
  }
  .note{
    margin-top:14px;font-size:.86rem;color:var(--ink-soft);
    border-left:3px solid var(--line-strong);padding:4px 0 4px 14px;
  }
  .note b{color:var(--ink)}
  .flag{border-left-color:var(--magenta)}

  /* per-capita table */
  .pc-table{width:100%;border-collapse:collapse;margin-top:6px}
  .pc-table th{
    font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.1em;
    text-transform:uppercase;color:var(--slate);font-weight:600;
    text-align:left;padding:0 0 11px;border-bottom:1px solid var(--line-strong);
  }
  .pc-table th.num{text-align:right}
  .pc-table td{padding:13px 0;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:baseline}
  .pc-table td.lab{font-weight:600;color:var(--ink)}
  .pc-table td.amt{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--magenta);text-align:right;white-space:nowrap;font-size:1.02rem}
  .pc-table .den{font-family:'IBM Plex Mono',monospace;font-size:.9rem;color:var(--ink)}
  .pc-table .src{display:block;font-size:.78rem;color:var(--slate);margin-top:2px}

  /* ---------- AUDIT ---------- */
  .audit{
    margin:40px 0 24px;border-radius:18px;
    background:linear-gradient(180deg,var(--magenta-wash),var(--paper-2));
    border:1px solid #f1cfe2;padding:40px 34px;
  }
  .audit .section-eyebrow{color:var(--magenta)}
  .audit .section-eyebrow::after{background:#eebcd6}
  .audit h2{
    font-family:'Spectral',Georgia,serif;font-weight:700;
    font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.1;margin:0 0 16px;letter-spacing:-.015em;
  }
  .audit p{max-width:42em;color:var(--ink-soft);margin:0 0 14px}
  .audit p b{color:var(--ink)}
  .audit .kicker{
    font-family:'Spectral',serif;font-style:italic;font-size:1.2rem;
    color:var(--magenta);margin:8px 0 0;
  }

  /* ---------- SOURCES ---------- */
  .sources{padding:32px 0 8px}
  .src-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
  .src-list li{
    display:grid;grid-template-columns:200px 1fr;gap:24px;
    padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline;
  }
  .src-name{font-weight:600;color:var(--ink)}
  .src-name span{
    display:block;font-family:'IBM Plex Mono',monospace;font-size:.7rem;
    color:var(--slate);font-weight:500;margin-top:3px;letter-spacing:.04em;
  }
  .src-what{color:var(--ink-soft);font-size:.95rem}

  /* ---------- FOOTER ---------- */
  footer{margin-top:48px;border-top:1px solid var(--line);padding:28px 0 56px}
  footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}
  footer p{margin:0;font-size:.82rem;color:var(--slate)}
  footer .att{font-family:'IBM Plex Mono',monospace;letter-spacing:.04em}

  /* reveal */
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    html{scroll-behavior:auto}
  }

  @media (max-width:720px){
    body{font-size:16px}
    .legend-grid{grid-template-columns:1fr}
    .anat{grid-template-columns:1fr;gap:0}
    .ncard{padding:24px 20px}
    .src-list li{grid-template-columns:1fr;gap:4px}
    .ncard-top{gap:12px}
  }