    *, *::before, *::after { box-sizing: border-box; }
    body { margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:#ffffff; color:#111; min-height:100vh; display:flex; flex-direction:column; }
    .site-header { background:#f5f5f7; border-bottom:1px solid #ddd; }
    .hero { text-align:center; padding:3rem 1rem 1.5rem; }
    .hero h1 { font-size:1.8rem; margin:0 0 .5rem; }
    .hero p { color:#555; font-size:1rem; margin:0; max-width:640px; margin-inline:auto; }
    .stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:.8rem; max-width:1100px; margin:.5rem auto 1.5rem; padding:0 1.5rem; }
    .stat { background:#f8f8fa; border:1px solid #ddd; border-radius:.6rem; padding:.9rem; text-align:center; }
    a.stat { display:block; border-color:#2563eb; background:#dbeafe; }
    a.stat .label { color:#2563eb; text-decoration:underline; }
    a.stat:hover { background:#bfdbfe; border-color:#1d4ed8; }
    .stat .num { font-size:1.5rem; font-weight:600; }
    .stat .label { color:#777; font-size:.78rem; margin-top:.2rem; }
    .cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:1rem; max-width:1100px; margin:0 auto; padding:0 1.5rem 1.5rem; }
    .card { background:#f8f8fa; border:1px solid #ddd; border-radius:.8rem; padding:1.3rem 1.4rem; display:flex; flex-direction:column; gap:.5rem; }
    .card h2 { margin:0; font-size:1.1rem; display:flex; align-items:center; gap:.6rem; }
    .card .icon { width:34px; height:34px; border-radius:.5rem; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; font-weight:600; }
    .card p { margin:0; color:#555; font-size:.85rem; line-height:1.45; }
    .section-heading { grid-column:1/-1; margin:1rem 0 -.2rem; font-size:1rem; color:#666; border-bottom:1px solid #ddd; padding-bottom:.4rem; }
    .pills { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.3rem; }
    .pill { display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .7rem; border-radius:.4rem; font-size:.78rem; font-weight:500; text-decoration:none; color:#333; background:#e8ecf4; border:1px solid #c4cdd9; transition:border-color .2s, background .15s; }
    .pill:hover { border-color:#777; background:#dde2ed; color:#111; }
    .pill .dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
    .dot-ipv6 { background:#60a5fa; }
    .dot-dnssec { background:#a78bfa; }
    .dot-rpki { background:#4ade80; }
    .dot-spof { background:#f87171; }
    .dot-sec { background:#fbbf24; }
    .dot-hard { background:#e879f9; }
    .dot-pqc { background:#22d3ee; }
    .icon-kommun { background:#dbeafe; color:#60a5fa; }
    .icon-omx { background:#dcfce7; color:#86efac; }
    .icon-mynd { background:#ede9fe; color:#a78bfa; }
    .icon-region { background:#e0f2fe; color:#67e8f9; }
    .icon-banker { background:#fef3c7; color:#fbbf24; }
    .icon-it { background:#e0f2fe; color:#38bdf8; }
    .icon-isp { background:#ccfbf1; color:#2dd4bf; }
    .icon-foreningar { background:#fae8ff; color:#e879f9; }
    .icon-internet { background:#ecfdf5; color:#059669; }
    .icon-forsakring { background:#fef2f2; color:#f87171; }
    .icon-globalisp { background:#eff6ff; color:#3b82f6; }
    .icon-registrar { background:#e0f2fe; color:#7dd3fc; }
    .icon-bolag { background:#fef9c3; color:#eab308; }
    .icon-tld { background:#fef9c3; color:#d4a724; }
    .icon-vb { background:#f0fdf4; color:#22c55e; }
    .icon-weekly { background:#dbeafe; color:#3b82f6; }
    .icon-infra { background:#fee2e2; color:#ef4444; }
    .icon-valet { background:#e0e7ff; color:#6366f1; }
    .footer { background:#f5f5f7; color:#666; padding:.8rem; border-top:1px solid #ddd; text-align:center; font-size:.85rem; margin-top:auto; }
    .lang-toggle { position:fixed; top:.6rem; right:.8rem; background:#f0f0f2; border:1px solid #ccc; color:#111; padding:.3rem .5rem; border-radius:.4rem; cursor:pointer; font-size:.8rem; z-index:100; }

    @media (max-width: 768px) {
      .hero { padding:2rem .8rem 1rem; }
      .hero h1 { font-size:1.4rem; }
      .hero p { font-size:.9rem; }
      .cards { padding:0 .8rem 1rem; gap:.7rem; grid-template-columns:1fr; }
      .card { padding:1rem; }
      .card h2 { font-size:1rem; }
      .stats { padding:0 .8rem; gap:.6rem; grid-template-columns:repeat(auto-fit, minmax(100px, 1fr)); }
      .stat .num { font-size:1.3rem; }
      .stat .label { font-size:.72rem; }
      .lang-toggle { top:.4rem; right:.5rem; }
    }
    @media (max-width: 480px) {
      .hero { padding:1.5rem .6rem .8rem; }
      .hero h1 { font-size:1.2rem; }
      .cards { padding:0 .6rem .8rem; }
      .card { padding:.9rem; }
      .pills { gap:.35rem; }
      .pill { padding:.25rem .55rem; font-size:.72rem; }
      .stats { padding:0 .6rem; grid-template-columns:repeat(3, 1fr); }
      .stat { padding:.6rem .4rem; }
      .stat .num { font-size:1.1rem; }
    }
