    @font-face {
      font-family: 'Source Sans 3';
      src: url('./fonts/SourceSans3-Regular.woff2') format('woff2');
      font-weight: 400;
      font-display: swap;
    }
    @font-face {
      font-family: 'Source Sans 3';
      src: url('./fonts/SourceSans3-Semibold.woff2') format('woff2');
      font-weight: 600;
      font-display: swap;
    }

    :root {
      --red:        #e8394f;
      --red-dim:    #b02a3c;
      --red-pale:   #1e0a0e;
      --red-border: #3d1520;
      --bg:         #0f0f0f;
      --surface:    #161616;
      --line:       #272727;
      --text:       #e8e0e1;
      --text-mid:   #a08088;
      --text-muted: #888888;
    }

    *, *::before, *::after { box-sizing: border-box; }

    body {
      font-family: 'Source Sans 3', system-ui, sans-serif;
      margin: 0;
      padding: 48px 24px;
      min-height: 100vh;
      background: var(--bg);
      color: var(--text);
      font-size: 15px;
      line-height: 1.6;
    }

    .card {
      max-width: 900px;
      margin: auto;
      background: var(--surface);
      border-top: 2px solid var(--red);
      padding: 40px 48px 44px;
    }

    /* ── nav ── */
    .site-label {
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      margin: 0 0 32px;
    }

    .site-label a {
      color: var(--red);
      text-decoration: none;
    }

    nav {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 40px;
      border-bottom: 1px solid var(--line);
      padding-bottom: 20px;
    }

    nav a {
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      text-decoration: none;
      padding: 5px 10px;
      border: 1px solid var(--line);
      transition: color .15s, border-color .15s;
    }

    nav a:hover, nav a.active {
      color: var(--text);
      border-color: var(--text-muted);
    }

    nav a.active {
      color: var(--red);
      border-color: var(--red);
    }

    /* ── sections ── */
    .sections {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
    }

    .section {
      border-top: 1px solid var(--line);
      padding: 24px 0;
    }

    .section:last-child {
      border-bottom: 1px solid var(--line);
    }

    .section-title {
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      margin: 0 0 16px;
    }

    .section-body {
      color: var(--text-muted);
      font-size: 15px;
    }

    .section-body p {
      margin: 0 0 12px;
    }

    .section-body p:last-child {
      margin: 0;
    }

    ul.links {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    ul.links li {
      border-bottom: 1px solid var(--line);
      padding: 9px 0;
    }

    ul.links li:first-child {
      border-top: 1px solid var(--line);
    }

    ul.links li a {
      color: var(--text);
      text-decoration: none;
      font-size: 15px;
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      transition: color .15s;
    }

    ul.links li a:hover {
      color: var(--red);
    }

    ul.links li a .link-desc {
      font-size: 13px;
      color: var(--text-muted);
      text-align: right;
    }

    a {
      color: var(--red);
      text-decoration: underline;
      text-decoration-color: var(--red-border);
      text-underline-offset: 3px;
      transition: color .15s;
    }

    a:hover {
      color: #ff6070;
    }

    /* ── desktop: 2-col layout ── */
    @media (min-width: 640px) {
      .sections {
        grid-template-columns: 1fr 1fr;
        column-gap: 48px;
      }

      .section {
        /* each section spans full col width */
      }

      /* o stranici spans full width */
      .section--wide {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 640px) {
      body { padding: 0; }
      .card { padding: 24px 20px 32px; }
      nav { gap: 4px; }
    }

    ::selection {
      background: var(--red);
      color: #fff;
    }
