  :root {
    --moss:   #0f1f18;   /* botten: djup skog i gryning */
    --pine:   #16312a;   /* skuggad skog, textur */
    --bark:   #efe9dc;   /* björkbark: text */
    --bark-2: #b9b3a4;   /* dämpad björkbark: sekundär text */
    --ochre:  #c9a86a;   /* ormbunke i oktober: accenten */
    --lingon: #a94a3f;   /* enda varma punkten: sigillets hover */
    --live:   #8fbf9b;   /* mossgrön ljus: "öppen" */
    --measure: 66ch;
  }
  * { box-sizing: border-box; }
  html { background: var(--moss); color: var(--bark); scroll-behavior: smooth; }
  body {
    margin: 0;
    font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
    font-size: 18px; line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    background:
      radial-gradient(1200px 700px at 12% -10%, rgba(201,168,106,.10), transparent 60%),
      radial-gradient(900px 600px at 100% 100%, rgba(22,49,42,.9), transparent 60%),
      var(--moss);
  }
  /* Jaktkartan: mycket svag topografisk kontur i bakgrunden */
  .topo {
    position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .18;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'><g fill='none' stroke='%23c9a86a' stroke-width='.7' opacity='.55'><path d='M-20 120c80-40 140-10 210 20s150 30 230-10 150-40 190-30'/><path d='M-20 190c90-50 160-20 240 20s140 40 220 0 150-50 200-35'/><path d='M-20 270c70-30 130 10 200 40s150 20 230-30 160-30 210-10'/><path d='M-20 350c90-20 150 20 220 40s160 0 230-40 150-20 210 10'/><path d='M-20 430c80-40 160-10 230 30s150 20 220-20 150-30 200 0'/><path d='M60 520c80-30 140 10 210 30s150 10 220-30 130-40 190-20'/><ellipse cx='150' cy='60' rx='70' ry='28'/><ellipse cx='150' cy='60' rx='40' ry='14'/><ellipse cx='420' cy='470' rx='90' ry='34'/><ellipse cx='420' cy='470' rx='55' ry='19'/><ellipse cx='420' cy='470' rx='22' ry='8'/></g></svg>");
    background-size: 560px 560px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.35) 60%, rgba(0,0,0,.6));
  }
  .page { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px); }

  /* ── Hero: sigill + rubrik ── */
  header.hero {
    display: grid; grid-template-columns: minmax(160px, 240px) 1fr; gap: clamp(24px, 5vw, 64px);
    align-items: center; padding: clamp(48px, 9vh, 112px) 0 clamp(36px, 6vh, 72px);
  }
  .seal { width: 100%; max-width: 240px; height: auto; aspect-ratio: 720 / 755; filter: drop-shadow(0 18px 40px rgba(0,0,0,.45)); transition: filter .5s ease; }
  .seal:hover { filter: drop-shadow(0 18px 40px rgba(169,74,63,.35)); }
  .hero h1 {
    font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500;
    font-size: clamp(44px, 6.6vw, 88px); line-height: .98; letter-spacing: -.012em; margin: 0 0 .35em;
    text-wrap: balance;
  }
  .hero .club { font-size: 20px; color: var(--bark-2); margin: 0 0 .9em; }
  .hero p.lede { max-width: var(--measure); font-size: 20px; color: var(--bark-2); margin: 0; }
  .hero p.lede strong { color: var(--bark); font-weight: 500; }

  /* ── Registret: en rad per ras ── */
  .register { list-style: none; margin: 0; padding: 0 0 8px; }
  .register li { border-top: 1px solid rgba(239,233,220,.10); }
  .register li:last-child { border-bottom: 1px solid rgba(239,233,220,.10); }
  .row {
    display: grid; grid-template-columns: 72px 1fr auto; gap: 16px 28px; align-items: start;
    padding: 34px 0 30px; position: relative; text-decoration: none; color: inherit;
  }
  .row::after {   /* pennstrecket: fylls under raden man pekar på */
    content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
    background: var(--ochre); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2,.8,.2,1);
  }
  a.row:hover::after, a.row:focus-visible::after { transform: scaleX(1); }
  a.row:focus-visible { outline: 2px solid var(--ochre); outline-offset: 6px; border-radius: 4px; }
  .mark { width: 72px; height: 72px; border-radius: 50%; background: rgba(239,233,220,.94); padding: 4px; object-fit: contain; margin-top: 4px; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
  .mark-empty { display: block; background: none; box-shadow: none; }
  .name {
    font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500;
    font-size: clamp(34px, 4.6vw, 60px); line-height: 1.02; letter-spacing: -.01em; margin: 0;
    display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap;
  }
  .name .code { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: .42em; color: var(--ochre); letter-spacing: .02em; }
  .desc { max-width: var(--measure); color: var(--bark-2); margin: 10px 0 0; font-size: 17px; }
  .facts { margin: 8px 0 0; color: var(--bark-2); font-size: 15px; min-height: 1.3em; }
  .facts b { color: var(--bark); font-weight: 600; }
  .facts span + span::before { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--ochre); margin: 0 10px 3px; }
  .status { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; white-space: nowrap; padding-top: 14px; }
  .pill { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--bark-2); }
  .pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--bark-2); opacity: .5; }
  .pill.live { color: var(--live); } .pill.live i { background: var(--live); opacity: 1; box-shadow: 0 0 0 4px rgba(143,191,155,.15); }
  .pill.soon { color: var(--ochre); } .pill.soon i { background: var(--ochre); opacity: 1; }
  .open { font-weight: 600; font-size: 17px; color: var(--bark); }
  a.row:hover .open { color: var(--ochre); }
  .host { font-size: 14px; color: var(--bark-2); }
  li.planned .row { opacity: .62; }
  li.planned .name { color: var(--bark-2); }

  /* ── Sidfot ── */
  footer { padding: 56px 0 64px; color: var(--bark-2); font-size: 15px; max-width: var(--measure); }
  footer p { margin: 0 0 .6em; }
  footer a { color: var(--bark); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(201,168,106,.6); }
  footer a:hover { text-decoration-color: var(--ochre); }

  /* ── En enda laddningsrörelse: registret tonas in radvis ── */
  @media (prefers-reduced-motion: no-preference) {
    .register li { opacity: 0; transform: translateY(8px); animation: rise .7s cubic-bezier(.2,.8,.2,1) forwards; }
    .register li:nth-child(1) { animation-delay: .10s } .register li:nth-child(2) { animation-delay: .20s }
    .register li:nth-child(3) { animation-delay: .30s } .register li:nth-child(4) { animation-delay: .40s }
    .register li:nth-child(5) { animation-delay: .50s } .register li:nth-child(6) { animation-delay: .60s }
    @keyframes rise { to { opacity: 1; transform: none; } }
  }
  @media (max-width: 720px) {
    header.hero { grid-template-columns: 1fr; gap: 20px; }
    .seal { max-width: 140px; }
    .row { grid-template-columns: 56px 1fr; align-items: start; }
    .mark { width: 56px; height: 56px; }
    .status { grid-column: 2; }
    .status { align-items: flex-start; text-align: left; }
    body { font-size: 17px; }
  }
