/* NACHTPROTOKOLL — editorial layer on the ASSC / THE KEY design system.
   Inherits tokens (--bg/--text/--muted/--accent/--mono/--sans) from /styles.css */

.np-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;
  padding:.85rem clamp(1rem,4vw,2.4rem);background:rgba(4,3,5,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(239,233,221,.08)}
.np-top__brand{display:flex;align-items:center;gap:.55rem}
.np-top__key{height:24px;width:auto}
.np-top__word{font-family:var(--mono);font-weight:700;letter-spacing:.2em;font-size:12.5px;text-transform:uppercase;color:var(--text)}
.np-top__links{margin-left:auto;display:flex;gap:1.25rem;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.np-top__links a:hover{color:var(--text)}
@media(max-width:680px){
  .np-top{flex-wrap:wrap;row-gap:.6rem;padding-bottom:.7rem}
  .np-top__links{width:100%;margin-left:0;display:flex;gap:1.1rem;overflow-x:auto;
    white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.1rem}
  .np-top__links::-webkit-scrollbar{display:none}
}

.np-wrap{max-width:1080px;margin:0 auto;padding:0 clamp(1rem,4vw,2.4rem)}

/* ── index masthead ── */
.np-head{text-align:center;padding:clamp(2.6rem,8vw,5.5rem) 0 2rem}
.np-head__key{height:80px;width:auto;margin:0 auto 1.3rem;filter:drop-shadow(0 0 30px rgba(255,255,255,.06))}
.np-mast{font-family:var(--sans);font-weight:800;letter-spacing:.03em;line-height:.92;
  font-size:clamp(2.5rem,9vw,5rem);text-transform:uppercase}
.np-head__dek{color:var(--muted);max-width:52ch;margin:1.1rem auto 0;font-size:clamp(1rem,2.2vw,1.16rem);line-height:1.6}
.np-head__by{font-family:var(--mono);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:1.2rem}

.np-pillars{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1.7rem 0 .5rem}
.np-pillars span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);border:1px solid rgba(239,233,221,.14);border-radius:100px;padding:.42rem .9rem}

/* ── article grid ── */
.np-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem;padding:1.8rem 0 4.5rem}
.np-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid rgba(239,233,221,.07);
  border-radius:14px;padding:1.5rem;transition:border-color .2s,transform .2s}
.np-card:hover{border-color:rgba(182,9,18,.45);transform:translateY(-2px)}
.np-card--lead{grid-column:1/-1;background:linear-gradient(180deg,var(--panel2),var(--panel))}
.np-cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.np-card h2{font-size:clamp(1.25rem,2.4vw,1.65rem);line-height:1.12;margin:.55rem 0 .5rem;letter-spacing:-.01em}
.np-card--lead h2{font-size:clamp(1.8rem,4.2vw,2.7rem)}
.np-card p{color:var(--muted);font-size:14.5px;line-height:1.6;flex:1}
.np-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted);margin-top:1rem;opacity:.85}

/* ── article page ── */
.np-article{max-width:680px;margin:0 auto;padding:clamp(2rem,6vw,3.8rem) 0 2.5rem}
.np-article__cat{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.np-article h1{font-size:clamp(2rem,6vw,3.1rem);line-height:1.05;letter-spacing:-.02em;margin:.7rem 0}
.np-article__dek{color:var(--text);opacity:.85;font-size:clamp(1.1rem,2.6vw,1.32rem);line-height:1.5;margin-bottom:1.3rem}
.np-article__meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);border-top:1px solid rgba(239,233,221,.1);border-bottom:1px solid rgba(239,233,221,.1);
  padding:.85rem 0;margin-bottom:2rem;display:flex;gap:1.2rem;flex-wrap:wrap}
.np-body{font-size:1.11rem;line-height:1.78}
.np-body p{margin:0 0 1.25rem}
.np-body p:first-of-type::first-letter{font-size:3.1rem;font-weight:800;float:left;line-height:.82;padding:.1rem .5rem .1rem 0;color:var(--text)}
.np-body h2{font-size:1.45rem;line-height:1.2;margin:2.4rem 0 .85rem;letter-spacing:-.01em}
.np-body blockquote{margin:1.9rem 0;padding-left:1.2rem;border-left:3px solid var(--accent);
  font-size:1.28rem;line-height:1.42;color:var(--text)}
.np-body strong{color:var(--text)}
.np-body a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.np-end{display:flex;align-items:center;gap:.7rem;margin:2.4rem 0 .5rem;color:var(--muted);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.np-end__key{height:20px;opacity:.8}

.np-cta{background:var(--panel);border:1px solid rgba(239,233,221,.08);border-radius:16px;
  padding:1.6rem;margin:2.4rem auto 0;max-width:680px;text-align:center}
.np-cta p{color:var(--muted);margin-bottom:1rem;font-size:15px}
.np-disc{max-width:680px;margin:1.6rem auto 0;font-size:12px;line-height:1.6;color:var(--muted);opacity:.8}
.np-foot{border-top:1px solid rgba(239,233,221,.08);margin-top:3rem;padding:2rem clamp(1rem,4vw,2.4rem);
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);text-align:center}
.np-foot a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(239,233,221,.2)}

/* ── Editorial-Fotografie (v3) ─────────────────────────────────────── */
.ph{position:relative;display:block;overflow:hidden;background:#0E0C12}
.ph img{width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.07) saturate(.82) brightness(.94)}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(4,3,5,.42) 100%)}
.ph__credit{position:absolute;right:.7rem;bottom:.55rem;z-index:2;font-family:var(--mono);
  font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(239,233,221,.55)}
.np-hero{margin:1.6rem 0 2rem}
.np-hero .ph{aspect-ratio:16/9;border:1px solid rgba(239,233,221,.07)}
.np-card .ph{aspect-ratio:3/2;margin:-1.4rem -1.4rem 1rem;border-bottom:1px solid rgba(239,233,221,.08)}
.np-card--lead .ph{aspect-ratio:21/10}
/* Pull-Quotes größer, shareable */
.np-body blockquote{border-left:none;padding:0;margin:2.2rem 0;
  font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.18;letter-spacing:-.02em;font-weight:800;
  text-transform:none;color:var(--text)}
.np-body blockquote::after{content:"";display:block;width:72px;height:4px;background:var(--accent);margin-top:1rem}

/* ── v4: Klotür/Cover-Rollout ─────────────────────────────── */
.np-article h1, .np-card h2, .np-mast{font-family:'Archivo Black',var(--sans);font-weight:400;text-transform:uppercase;letter-spacing:-.015em}
.np-article__cat{display:inline-block;border:2px solid #C2240F;color:#C2240F;border-radius:5px;
  padding:.4rem .65rem;transform:rotate(-1.6deg);letter-spacing:.18em;margin-bottom:.9rem;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.55' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 .4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.55' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 .4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.np-body blockquote{font-family:var(--hf,'Permanent Marker'),cursive;font-weight:400;color:var(--mk,#FF2D1A);
  font-size:calc(clamp(1.35rem,3vw,1.95rem)*var(--hs,1));line-height:1.3;transform:rotate(-.8deg)}
.np-body blockquote::after{background:var(--mk,#FF2D1A)}
.np-head__by{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;border:2px solid rgba(239,233,221,.5);border-radius:5px;
  padding:.4rem .65rem;transform:rotate(1.4deg)}
/* Magazin-Index: Karten als Flyer */
.np-grid .np-card{position:relative;background:#EFE9DD;color:#161219;padding:1.1rem 1.1rem 1.25rem;
  border:0;border-radius:0;box-shadow:0 16px 30px rgba(0,0,0,.5),inset 0 0 46px rgba(60,40,20,.08)}
.np-grid .np-card:nth-child(4n+1){transform:rotate(-1deg)}
.np-grid .np-card:nth-child(4n+2){transform:rotate(.9deg)}
.np-grid .np-card:nth-child(4n+3){transform:rotate(.7deg)}
.np-grid .np-card:nth-child(4n+4){transform:rotate(-.8deg)}
.np-grid .np-card:hover{transform:rotate(0) translateY(-4px)}
@media(prefers-reduced-motion:reduce){.np-grid .np-card,.np-grid .np-card:hover{transform:none}}
.np-grid .np-card::before{content:"";position:absolute;top:-12px;left:22%;width:86px;height:24px;
  background:rgba(243,238,226,.18);box-shadow:0 2px 5px rgba(0,0,0,.35);transform:rotate(-5deg);
  -webkit-backdrop-filter:brightness(1.15);backdrop-filter:brightness(1.15)}
.np-grid .np-card:nth-child(even)::before{left:auto;right:18%;transform:rotate(4deg)}
.np-grid .np-card h2{color:#161219}
.np-grid .np-card p{color:#4A4239}
.np-grid .np-card .np-cat{color:#8C2310}
.np-grid .np-card .np-meta{color:#9A9183}
.np-grid .np-card .ph{margin:-1.1rem -1.1rem .8rem;border:0}
.np-grid .np-card--lead .ph{margin-bottom:1rem}
.np-card--memory{background:#F6F1E2}
.np-card--memory .np-dates{display:inline-block;font-family:var(--mono);font-size:12px;
  letter-spacing:.18em;border:2px solid #161219;border-radius:5px;padding:.35rem .7rem;
  transform:rotate(-1.5deg);margin:.2rem 0 .6rem}
/* Artikel-CTA als Papier-Flyer */
.np-cta{position:relative;background:#EFE9DD;border:0;border-radius:0;color:#161219;
  box-shadow:0 16px 30px rgba(0,0,0,.5),inset 0 0 40px rgba(60,40,20,.08);transform:rotate(-.5deg)}
.np-cta::before{content:"";position:absolute;top:-12px;left:36%;width:86px;height:24px;
  background:rgba(243,238,226,.5);box-shadow:0 2px 5px rgba(0,0,0,.3);transform:rotate(-3deg)}
.np-cta p{color:#3A352E}
