/* ============================================================
   LexMart — Format "Alltagsfragen & Neuigkeiten"
   Journalistisch aufbereitete Hintergrund-Beiträge.
   Ausschließlich Instrument Sans (Marke) — Hierarchie über Größe
   und Gewicht (H1·H2·H3·regulär·kursiv). Ergänzt lexmart.css.
   Prefix: .jn-
   ============================================================ */

:root{
  /* Nur Instrument Sans (Marke). Hierarchie ausschließlich über Größe/Gewicht. */
  --jn-serif:var(--font);
}

/* reading progress */
.jn-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--cta);z-index:200;transition:width .1s linear;}

/* ---------- rubric ribbon over the hero ---------- */
.jn-ribbon{background:var(--white);border-bottom:1px solid var(--line);}
.jn-ribbon__in{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 0;font-size:12.5px;}
.jn-ribbon__kicker{display:inline-flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cta);}
.jn-ribbon__kicker svg{width:16px;height:16px;flex:none;}
.jn-ribbon__sep{width:1px;height:16px;background:var(--line);}
.jn-ribbon__note{color:var(--ink-4);font-weight:500;letter-spacing:.01em;}

/* ---------- hero ---------- */
.jn-hero{background:var(--white);border-bottom:1px solid var(--line);padding:clamp(30px,4vw,52px) 0 clamp(26px,3vw,40px);}
.jn-hero__wrap{max-width:62rem;margin:0;}
.jn-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px;}
.jn-tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--orange);padding:6px 13px;border-radius:999px;}
.jn-tag svg{width:14px;height:14px;flex:none;}
.jn-tag--cat{background:var(--orange);}
.jn-tag--type{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);}
.jn-hero h1{font-family:var(--jn-serif);font-weight:700;letter-spacing:-.012em;line-height:1.08;font-size:clamp(30px,4.4vw,52px);}
.jn-standfirst{font-family:var(--jn-serif);font-size:clamp(18px,1.7vw,22px);line-height:1.5;color:var(--ink-2);margin-top:20px;font-weight:500;}
.jn-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-3);}
.jn-byline .jn-by-av{width:40px;height:40px;border-radius:50%;background:var(--orange-50);border:1px solid var(--orange-100);display:grid;place-items:center;color:var(--orange);flex:none;}
.jn-byline .jn-by-av svg{width:21px;height:21px;}
.jn-byline strong{color:var(--ink);font-weight:600;}
.jn-byline .jn-by-meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;}
.jn-byline .m{display:inline-flex;align-items:center;gap:7px;}
.jn-byline .m svg{width:15px;height:15px;flex:none;color:var(--orange);}
.jn-byline .jn-share{margin-left:auto;display:flex;gap:8px;}
.jn-share a{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);transition:.15s;}
.jn-share a:hover{border-color:var(--orange);color:var(--orange);}
.jn-share a svg{width:17px;height:17px;}

/* ---------- hero figure ---------- */
.jn-figure{max-width:none;margin:clamp(22px,3vw,34px) 0 0;}
.jn-figure__media{aspect-ratio:21/9;border-radius:var(--radius);overflow:hidden;background:var(--grey);}
.jn-figure__media img{width:100%;height:100%;object-fit:cover;}
.jn-figcap{display:flex;gap:9px;align-items:flex-start;margin-top:11px;font-size:12.5px;color:var(--ink-4);line-height:1.45;}
.jn-figcap svg{width:14px;height:14px;flex:none;margin-top:2px;}

/* ---------- body layout: reading column + sticky TOC ---------- */
.jn-body-sec{padding:clamp(28px,3.4vw,44px) 0 clamp(36px,4vw,56px);}
.jn-layout{display:grid;grid-template-columns:minmax(0,44rem) 15rem;justify-content:space-between;column-gap:clamp(28px,4vw,56px);align-items:start;}
.jn-article{max-width:none;min-width:0;}
.jn-article{font-family:var(--jn-serif);}

/* sticky table of contents (JS-generated) */
.jn-toc{font-family:var(--font);}
.jn-toc__inner{position:sticky;top:90px;}
.jn-toc__head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:14px;}
.jn-toc__head svg{width:15px;height:15px;flex:none;color:var(--cta);}
.jn-toc__nav{display:flex;flex-direction:column;border-left:2px solid var(--line);}
.jn-toc__nav a{position:relative;display:flex;flex-direction:column;gap:2px;padding:9px 0 9px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink-3);transition:color .15s,border-color .15s;}
.jn-toc__nav a:hover{color:var(--ink);}
.jn-toc__nav a.is-active{color:var(--ink);border-left-color:var(--cta);}
.jn-toc__num{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cta);}
.jn-toc__t{font-size:13.5px;font-weight:600;line-height:1.3;letter-spacing:-.01em;}
/* ---------- sidebar modules (fill the rail below the TOC) ---------- */
.jn-aside-cta{margin-top:22px;padding:22px 20px;border-radius:var(--radius);background:var(--orange);color:#fff;position:relative;overflow:hidden;}
.jn-aside-cta::before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.05);}
.jn-aside-cta__ico{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;margin-bottom:14px;}
.jn-aside-cta__ico svg{width:22px;height:22px;}
.jn-aside-cta h4{font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-bottom:7px;color:#fff;}
.jn-aside-cta p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.72);margin-bottom:15px;}
.jn-aside-cta .btn{width:100%;justify-content:center;background:#fff;color:var(--orange);}
.jn-aside-cta .btn:hover{background:var(--paper-2);}

.jn-aside-news{margin-top:16px;padding:20px;border-radius:var(--radius);background:var(--orange-50);border:1px solid var(--orange-100);}
.jn-aside-news__k{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-700);margin-bottom:10px;}
.jn-aside-news__k svg{width:15px;height:15px;flex:none;}
.jn-aside-news h4{font-size:15px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--ink);margin-bottom:6px;}
.jn-aside-news p{font-size:12.5px;line-height:1.5;color:var(--ink-3);margin-bottom:14px;}
.jn-aside-news .btn{width:100%;justify-content:center;background:var(--orange);color:#fff;border:1px solid var(--orange);}
.jn-aside-news .btn:hover{background:var(--orange-700);border-color:var(--orange-700);}

.jn-toc__top{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);width:100%;background:none;border-left:0;border-right:0;border-bottom:0;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);cursor:pointer;transition:color .15s;}
.jn-toc__top:hover{color:var(--orange);}
.jn-toc__top svg{width:15px;height:15px;flex:none;transform:rotate(-90deg);}

.jn-toc__share{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);}
.jn-toc__share span{margin-right:auto;}
.jn-toc__share a{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);transition:.15s;}
.jn-toc__share a:hover{border-color:var(--orange);color:var(--orange);}
.jn-toc__share a svg{width:15px;height:15px;}

/* lead paragraph + drop cap */
.jn-article > p{font-size:17.5px;line-height:1.66;color:var(--ink-2);margin:0 0 17px;}
.jn-article > p.jn-lede{font-size:19px;color:var(--ink);margin-bottom:20px;}
.jn-article > p.jn-lede::first-letter{
  font-weight:700;font-size:3.4em;line-height:.82;float:left;
  padding:6px 12px 0 0;color:var(--orange);font-family:var(--font);
}

/* headings */
.jn-article h2{font-family:var(--font);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.16;letter-spacing:-.025em;margin:36px 0 12px;scroll-margin-top:96px;}
.jn-article h2:first-child{margin-top:0;}
.jn-article h2 .jn-h2-num{display:block;font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cta);margin-bottom:6px;}
.jn-article h3{font-family:var(--font);font-weight:700;font-size:clamp(17.5px,1.6vw,21px);line-height:1.28;letter-spacing:-.015em;margin:26px 0 9px;color:var(--ink);}

.jn-article a:not(.btn){color:var(--orange);font-weight:600;border-bottom:1.5px solid var(--orange-100);transition:.15s;}
.jn-article a:not(.btn):hover{border-color:var(--orange);background:var(--orange-50);}
.jn-article strong{color:var(--ink);font-weight:700;}
.jn-article em{font-style:italic;}

.jn-article ul,.jn-article ol{margin:0 0 17px;padding-left:26px;color:var(--ink-2);font-size:17px;}
.jn-article li{margin:7px 0;line-height:1.58;}
.jn-article li::marker{color:var(--orange);font-weight:600;}

/* law reference chip (sans, tabular) */
.jn-gesetz{font-family:var(--font);font-weight:600;font-variant-numeric:tabular-nums;font-size:.82em;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);padding:1px 7px;border-radius:5px;white-space:nowrap;}
@media(max-width:560px){.jn-gesetz{white-space:normal;}}

/* footnote-style source references (superscript, links to Quellen) */
.jn-ref{font-family:var(--font);font-size:.62em;font-weight:700;vertical-align:super;line-height:0;color:var(--cta);border-bottom:0!important;padding:0 1px;margin-left:1px;}
.jn-ref:hover{color:var(--cta-700);background:none!important;}

/* ---------- summary box: Das Wichtigste in Kürze ---------- */
.jn-kompakt{font-family:var(--font);border:1px solid var(--line);border-left:4px solid var(--cta);border-radius:var(--radius);background:var(--paper);padding:24px 26px;margin:0 0 36px;}
.jn-kompakt h4{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--cta);margin-bottom:14px;display:flex;align-items:center;gap:9px;}
.jn-kompakt h4 svg{width:17px;height:17px;flex:none;}
.jn-kompakt ul{margin:0;padding-left:22px;list-style:none;}
.jn-kompakt li{position:relative;font-size:15px;line-height:1.55;color:var(--ink-2);margin:9px 0;padding-left:4px;}
.jn-kompakt li::before{content:"";position:absolute;left:-18px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--cta);}

/* ---------- pull quote ---------- */
.jn-pull{font-family:var(--jn-serif);font-style:italic;font-weight:500;font-size:clamp(22px,2.4vw,29px);line-height:1.3;color:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:26px 0;margin:38px 0;letter-spacing:-.01em;}
.jn-pull cite{display:block;font-style:normal;font-family:var(--font);font-size:13.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);margin-top:14px;}

/* ---------- Tipp der Redaktion ---------- */
.jn-tipp{font-family:var(--font);display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px 26px;background:var(--orange-50);border:1px solid var(--orange-100);border-radius:var(--radius);margin:36px 0;}
.jn-tipp__ico{width:46px;height:46px;flex:none;border-radius:12px;background:var(--orange);color:#fff;display:grid;place-items:center;}
.jn-tipp__ico svg{width:24px;height:24px;}
.jn-tipp__body h4{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-700);margin-bottom:7px;}
.jn-tipp__body p{font-family:var(--font)!important;font-size:15px!important;line-height:1.62;color:var(--ink-2);margin:0!important;}
.jn-tipp__body p + p{margin-top:10px!important;}

/* ---------- info / context box ---------- */
.jn-context{font-family:var(--font);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);padding:24px 26px;margin:36px 0;}
.jn-context h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin-bottom:13px;display:flex;align-items:center;gap:9px;}
.jn-context h4 svg{width:18px;height:18px;flex:none;}
.jn-context p{font-family:var(--font)!important;font-size:15px!important;line-height:1.65;color:var(--ink-2);margin:0 0 11px!important;}
.jn-context p:last-child{margin-bottom:0!important;}
.jn-context dl{display:grid;grid-template-columns:max-content 1fr;gap:9px 18px;margin:0;}
.jn-context dt{font-weight:700;color:var(--ink);font-size:14.5px;}
.jn-context dd{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.5;}

/* ---------- Quellen (numbered sources) ---------- */
.jn-quellen{font-family:var(--font);margin-top:clamp(40px,5vw,60px);border-top:2px solid var(--ink);padding-top:26px;}
.jn-quellen h2{font-family:var(--font);font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.jn-quellen h2 svg{width:19px;height:19px;flex:none;color:var(--orange);}
.jn-quellen ol{margin:0;padding:0;list-style:none;counter-reset:src;}
.jn-quellen li{counter-increment:src;position:relative;padding:13px 0 13px 42px;border-top:1px solid var(--line);font-size:14px;line-height:1.55;color:var(--ink-2);scroll-margin-top:90px;}
.jn-quellen li:first-child{border-top:0;}
.jn-quellen li::before{content:counter(src) ".";position:absolute;left:0;top:13px;width:26px;height:26px;border-radius:7px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--cta);font-variant-numeric:tabular-nums;}
.jn-quellen li.jn-q-target{background:var(--orange-50);border-radius:8px;}
.jn-quellen a{color:var(--orange);font-weight:600;word-break:break-word;}
.jn-quellen a:hover{text-decoration:underline;}
.jn-quellen .jn-src-pub{color:var(--ink-4);}

/* ---------- transparency note ---------- */
.jn-disclaimer{font-family:var(--font);display:flex;gap:13px;margin-top:30px;padding:18px 20px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);font-size:13.5px;color:var(--ink-3);line-height:1.55;}
.jn-disclaimer svg{width:20px;height:20px;flex:none;color:var(--orange);margin-top:1px;}

/* ---------- weiterlesen / related ---------- */
.jn-related{font-family:var(--font);margin-top:clamp(40px,5vw,64px);}
.jn-related__head{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cta);display:flex;align-items:center;gap:9px;margin-bottom:18px;}
.jn-related__head::before{content:"";width:24px;height:2px;background:var(--cta);border-radius:2px;}
.jn-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
@media(max-width:760px){.jn-related__grid{grid-template-columns:1fr;}}
.jn-rel-card{display:flex;flex-direction:column;gap:9px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:.18s;}
.jn-rel-card:hover{border-color:var(--orange);box-shadow:var(--shadow);transform:translateY(-2px);}
.jn-rel-card .k{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);}
.jn-rel-card h3{font-family:var(--jn-serif);font-size:17.5px;line-height:1.25;font-weight:600;}
.jn-rel-card p{font-size:13.5px;color:var(--ink-3);line-height:1.5;}
.jn-rel-card .link-arrow{margin-top:auto;font-size:13.5px;}

/* responsive */
@media(max-width:980px){
  .jn-figure__media{aspect-ratio:16/9;}
  .jn-layout{grid-template-columns:1fr;}
  .jn-toc{display:none;}
}
@media(max-width:560px){
  .jn-article > p{font-size:16.5px;}
  .jn-article > p.jn-lede{font-size:17.5px;}
  .jn-article > p.jn-lede::first-letter{font-size:3em;padding:4px 9px 0 0;}
  .jn-article ul,.jn-article ol{font-size:16px;padding-left:22px;}
  .jn-figure__media{aspect-ratio:3/2;}
  .jn-byline{gap:12px;}
  .jn-byline .jn-share{margin-left:0;width:100%;}
  .jn-context dl{grid-template-columns:1fr;gap:2px 0;}
  .jn-context dt{margin-top:10px;}
  .jn-context dt:first-of-type{margin-top:0;}
  .jn-tipp{grid-template-columns:1fr;gap:14px;}
  .jn-pull{font-size:20px;}
  .jn-quellen li{padding-left:38px;}
}
