/* PRESSE-LAB — 4 koncepter (se press-lab.js) */
.wsx-lab { position: relative; overflow: hidden; }
.lab-kicker { margin: 0 0 14px; font-family: var(--font-body); font-size: 11px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; }

/* ---------- A: Avisudklip ---------- */
.wsx-lab--a { background: #1b1714 radial-gradient(120% 80% at 50% 0%, #2b241e 0%, #15120f 70%); color: #1b1714; padding: clamp(88px, 11vw, 150px) var(--gutter); }
.lab-a__head { text-align: center; margin-bottom: clamp(40px, 5vw, 72px); color: #F4EFE3; }
.lab-a__head .lab-kicker { color: rgba(244,239,227,.6); }
.lab-a__title { margin: 0; font-family: var(--font-display); font-weight: 300; font-size: clamp(48px, 7vw, 108px); line-height: .92; letter-spacing: -0.04em; color: #F4EFE3; }
.lab-a__title em { color: var(--wsx-red); }
.lab-a__table { max-width: 1200px; margin: 0 auto; columns: 3 320px; column-gap: 28px; }
.lab-a__clip {
  break-inside: avoid; position: relative; margin: 0 0 28px; padding: 26px 26px 22px;
  background: #F4EFE3 linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.06));
  box-shadow: 0 18px 40px -18px rgba(0,0,0,.8), 0 2px 0 rgba(0,0,0,.2);
  clip-path: polygon(0 2%, 6% 0, 14% 1.5%, 22% 0, 31% 1%, 40% 0, 52% 1.6%, 61% 0, 72% 1.2%, 83% 0, 92% 1.4%, 100% 0, 99% 97%, 92% 100%, 81% 98.6%, 70% 100%, 58% 98.4%, 47% 100%, 35% 98.8%, 24% 100%, 13% 98.5%, 4% 100%, 0 98%);
  transform: translateY(-60px) rotate(calc(var(--r) * 3)); opacity: 0;
  transition: transform .9s cubic-bezier(.2,1.2,.3,1) var(--d), opacity .4s ease var(--d);
}
.wsx-lab--a.in .lab-a__clip { transform: rotate(var(--r)); opacity: 1; }
.wsx-lab--a.in .lab-a__clip:hover { transform: rotate(0deg) translateY(-6px) scale(1.02); transition-delay: 0s; z-index: 2; }
.lab-a__paper { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(27,23,20,.25); font-family: var(--font-display); font-weight: 600; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.lab-a__clip blockquote { margin: 0 0 14px; padding: 0; border: 0; font-size: 22px; line-height: 1.2; }
.lab-a__clip--serif blockquote { font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: 26px; letter-spacing: -0.02em; }
.lab-a__clip--sans blockquote { font-family: var(--font-body); font-weight: 600; letter-spacing: -0.01em; }
.lab-a__clip--condensed blockquote { font-family: var(--font-body); font-weight: 800; text-transform: uppercase; letter-spacing: -0.02em; font-size: 24px; line-height: 1.05; }
.lab-a__clip figcaption { font-size: 12px; color: #6b5f54; }
.lab-a__stamp {
  position: absolute; right: 14px; bottom: 12px; padding: 6px 10px; border: 2px solid var(--wsx-red); border-radius: 6px;
  color: var(--wsx-red); font-size: 13px; letter-spacing: .1em; transform: rotate(-8deg); opacity: .85; mix-blend-mode: multiply;
}

/* ---------- A · levende lag: lampe, støv, tape, markør, stempel-klask ---------- */
.wsx-lab--a { --lx: 50%; --ly: 35%; --sx: 0; --sy: 0; isolation: isolate; }
.wsx-lab--a::after { /* vignet — bordkanten falder i mørke */
  content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: radial-gradient(140% 90% at 50% 45%, transparent 55%, rgba(0,0,0,.55) 100%);
}
.lab-a__lamp {
  position: absolute; inset: 0; z-index: 2; pointer-events: none; mix-blend-mode: screen;
  background:
    radial-gradient(520px circle at var(--lx) var(--ly), rgba(255,196,120,.20), rgba(255,170,90,.07) 45%, transparent 70%),
    radial-gradient(1100px circle at var(--lx) var(--ly), rgba(255,160,80,.06), transparent 70%);
}
.lab-a__head, .lab-a__table { position: relative; z-index: 1; }
.lab-a__dust { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.lab-a__dust i {
  position: absolute; left: var(--x); top: var(--y); width: var(--s); height: var(--s); border-radius: 50%;
  background: rgba(255,214,160,.9); opacity: 0; filter: blur(.4px);
  animation: labDust var(--t) linear var(--o) infinite;
}
@keyframes labDust {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  15% { opacity: .55; } 85% { opacity: .35; }
  100% { transform: translate3d(40px, -140px, 0); opacity: 0; }
}

/* Overskrift: bogstaverne falder ned på bordet */
.lab-a__title em { display: inline-block; }
.lab-a__ch { display: inline-block; opacity: 0; transform: translateY(-.6em) rotate(-8deg); }
.wsx-lab--a.in .lab-a__ch { animation: labDrop .7s cubic-bezier(.2,1.4,.35,1) calc(250ms + var(--i) * 55ms) forwards; }
@keyframes labDrop { to { opacity: 1; transform: none; } }
.lab-a__sum {
  margin: 22px 0 0; font-family: var(--font-body); font-size: 13px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(244,239,227,.55); opacity: 0; transition: opacity .8s ease 1s;
}
.wsx-lab--a.in .lab-a__sum { opacity: 1; }

/* Udklippet: papir-struktur, skygge der følger lampen, tape, ånding */
.lab-a__clip {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    #F4EFE3 linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.06));
  box-shadow:
    calc(var(--sx) * 22px) calc(18px + var(--sy) * 14px) 40px -16px rgba(0,0,0,.85),
    0 2px 0 rgba(0,0,0,.2);
}
.wsx-lab--a.in .lab-a__clip {
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) rotate(var(--r));
  animation: labBreathe 7s ease-in-out var(--ph) infinite alternate;
}
.wsx-lab--a.in .lab-a__clip:hover {
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) rotate(0deg) translateY(-8px) scale(1.035);
  transition: transform .35s cubic-bezier(.2,.9,.3,1); animation-play-state: paused;
}
@keyframes labBreathe {
  from { translate: 0 0; rotate: 0deg; }
  to   { translate: 0 -5px; rotate: .7deg; }
}
.lab-a__tape {
  position: absolute; top: 0; left: 50%; width: 96px; height: 22px; margin-left: -48px;
  background: rgba(226,214,184,.62); box-shadow: 0 1px 2px rgba(0,0,0,.12);
  transform: rotate(var(--tr)); pointer-events: none;
  -webkit-mask: linear-gradient(90deg, transparent 0 3px, #000 3px calc(100% - 3px), transparent calc(100% - 3px));
          mask: linear-gradient(90deg, transparent 0 3px, #000 3px calc(100% - 3px), transparent calc(100% - 3px));
}

/* Markør-streg over kritikerens stærkeste ord */
.lab-a__hl {
  color: inherit; padding: 0 .08em; margin: 0 -.04em;
  background: linear-gradient(100deg, rgba(214,58,47,0) 0, rgba(214,58,47,.26) 4%, rgba(214,58,47,.22) 96%, rgba(214,58,47,0) 100%) no-repeat 0 62% / 0% 58%;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.wsx-lab--a.in .lab-a__hl { animation: labMark .9s cubic-bezier(.6,0,.2,1) calc(var(--d) + 1.1s) forwards; }
@keyframes labMark { to { background-size: 100% 58%; } }

/* Stemplet klaskes på, stjernerne tændes én ad gangen */
.lab-a__stamp { opacity: 0; }
.wsx-lab--a.in .lab-a__stamp { animation: labStamp .45s cubic-bezier(.3,1.6,.5,1) calc(var(--d) + 1.5s) forwards; }
@keyframes labStamp {
  0%   { opacity: 0; transform: rotate(-22deg) scale(2.6); }
  60%  { opacity: .95; transform: rotate(-6deg) scale(.9); }
  100% { opacity: .88; transform: rotate(-8deg) scale(1); }
}
.lab-a__stamp b { font-weight: inherit; opacity: .18; }
.wsx-lab--a.in .lab-a__stamp b { animation: labStar .25s ease calc(var(--d) + 1.8s + var(--j) * 90ms) forwards; }
@keyframes labStar { to { opacity: 1; } }

/* Uden bevægelse: alt står færdigt, intet animeres */
.wsx-lab--a.is-calm .lab-a__ch, .wsx-lab--a.is-calm .lab-a__sum, .wsx-lab--a.is-calm .lab-a__stamp, .wsx-lab--a.is-calm .lab-a__stamp b { opacity: 1; transform: none; animation: none; }
.wsx-lab--a.is-calm .lab-a__stamp { transform: rotate(-8deg); opacity: .88; }
.wsx-lab--a.is-calm .lab-a__hl { background-size: 100% 58%; animation: none; }
.wsx-lab--a.is-calm .lab-a__clip { animation: none; }
.wsx-lab--a.is-calm .lab-a__dust, .wsx-lab--a.is-calm .lab-a__lamp { display: none; }
@media (hover: none) { .lab-a__lamp { opacity: .7; } }

/* ---------- B: Teaterskilt + split-flap ---------- */
.wsx-lab--b { background: #0c0a09; padding: clamp(88px, 11vw, 150px) var(--gutter); text-align: center; }
.lab-b__sign {
  position: relative; max-width: 1100px; margin: 0 auto; padding: clamp(40px, 5vw, 64px) clamp(24px, 4vw, 56px);
  background: #141110; border-radius: 22px;
  box-shadow: 0 0 0 12px #221c18, 0 0 0 14px #3a2f27, 0 40px 120px -30px rgba(255,190,90,.35);
}
.lab-b__sign::before { /* pærer der løber rundt */
  content: ""; position: absolute; inset: -12px; border-radius: 30px; pointer-events: none;
  background:
    radial-gradient(circle, #FFD98A 0 3.5px, rgba(255,217,138,.25) 4.5px 6px, transparent 7px) 0 0 / 28px 28px repeat-x,
    radial-gradient(circle, #FFD98A 0 3.5px, rgba(255,217,138,.25) 4.5px 6px, transparent 7px) 0 100% / 28px 28px repeat-x,
    radial-gradient(circle, #FFD98A 0 3.5px, rgba(255,217,138,.25) 4.5px 6px, transparent 7px) 0 0 / 28px 28px repeat-y,
    radial-gradient(circle, #FFD98A 0 3.5px, rgba(255,217,138,.25) 4.5px 6px, transparent 7px) 100% 0 / 28px 28px repeat-y;
  -webkit-mask: linear-gradient(#000 0 0); animation: labChase 1.2s steps(2) infinite;
}
@keyframes labChase { 0% { filter: brightness(1); } 50% { filter: brightness(.55); } }
.lab-b__top { margin: 0 0 28px; font-size: 12px; font-weight: 700; letter-spacing: .34em; text-transform: uppercase; color: #FFD98A; }
.lab-b__board { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px; min-height: 2.6em; font-size: clamp(22px, 3.6vw, 52px); }
.lab-b__w { display: inline-flex; gap: 3px; }
.lab-b__f {
  display: inline-grid; place-items: center; min-width: .78em; height: 1.2em; padding: 0 .04em; border-radius: 5px;
  background: linear-gradient(#232020 0 49%, #1a1716 51% 100%); color: #F7F1E6;
  font-family: var(--font-body); font-weight: 800; line-height: 1; box-shadow: inset 0 -1px 0 rgba(255,255,255,.04), 0 2px 0 #000;
  animation: labFlip .55s cubic-bezier(.3,.6,.2,1) var(--d) both;
}
@keyframes labFlip { 0% { transform: rotateX(90deg); filter: brightness(2); } 60% { transform: rotateX(-12deg); } 100% { transform: none; } }
.lab-b__src { margin: 28px 0 0; font-size: 14px; color: rgba(247,241,230,.75); letter-spacing: .04em; }
.lab-b__r { color: #FFD98A; letter-spacing: .14em; margin-left: 6px; }
.lab-b__award { margin: 40px 0 0; font-size: 14px; color: rgba(247,241,230,.6); }

/* ---------- C: Spotlight ---------- */
.wsx-lab--c { background: #050506; }
.lab-c__stage { position: relative; height: clamp(620px, 90vh, 900px); --x: 50%; --y: 50%; cursor: none; }
.lab-c__dim, .lab-c__lit { position: absolute; inset: 0; }
.lab-c__q { position: absolute; margin: 0; max-width: min(34ch, 42vw); }
.lab-c__q blockquote { margin: 0 0 8px; padding: 0; border: 0; font-family: var(--font-display); font-style: italic; font-weight: 300; font-size: clamp(22px, 2.6vw, 40px); line-height: 1.1; letter-spacing: -0.02em; }
.lab-c__q figcaption { font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.lab-c__dim { color: rgba(255,255,255,.07); }
.lab-c__lit { color: #fff; -webkit-mask-image: radial-gradient(circle 240px at var(--x) var(--y), #000 0 45%, transparent 100%); mask-image: radial-gradient(circle 240px at var(--x) var(--y), #000 0 45%, transparent 100%); }
.lab-c__lit .lab-c__q figcaption { color: var(--wsx-red); }
.lab-c__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle 300px at var(--x) var(--y), rgba(255,240,210,.14), transparent 70%); }
.lab-c__head { position: absolute; left: 50%; top: 48px; transform: translateX(-50%); text-align: center; color: #fff; pointer-events: none; }
.lab-c__head .lab-kicker { color: rgba(255,255,255,.5); }
.lab-c__title { margin: 0; font-family: var(--font-display); font-weight: 300; font-size: clamp(40px, 5vw, 76px); letter-spacing: -0.04em; line-height: .95; }
.lab-c__title em { color: var(--wsx-red); }
.lab-c__hint { margin: 10px 0 0; font-size: 12px; color: rgba(255,255,255,.45); }
.lab-c--calm .lab-c__lit { -webkit-mask-image: none; mask-image: none; }
@media (max-width: 720px) { .lab-c__q { max-width: 70vw; } .lab-c__hint { display: none; } }

/* ---------- D: Kæmpe-typografi ---------- */
.wsx-lab--d { background: var(--ink); color: #fff; padding: clamp(80px, 10vw, 140px) 0; }
.lab-d__kick { text-align: center; color: rgba(255,255,255,.55); margin-bottom: clamp(24px, 3vw, 40px); }
.lab-d__row { overflow: hidden; white-space: nowrap; padding: 4px 0; }
.lab-d__track { display: inline-flex; align-items: baseline; gap: .5em; will-change: transform; }
.lab-d__i { font-family: var(--font-display); font-weight: 300; font-size: clamp(56px, 9vw, 150px); letter-spacing: -0.045em; line-height: 1.05; }
.lab-d__m { font-size: clamp(12px, 1.2vw, 16px); font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.6); align-self: center; }
.lab-d__sep { color: var(--wsx-red); font-size: clamp(20px, 2.4vw, 36px); align-self: center; }
.is-line .lab-d__i { color: transparent; -webkit-text-stroke: 1.4px rgba(255,255,255,.85); font-style: italic; }
.is-red .lab-d__i { color: var(--wsx-red); }
.lab-d__award { text-align: center; margin: clamp(28px, 4vw, 48px) 0 0; font-size: 14px; color: rgba(255,255,255,.6); }

/* Vælger (kun ved ?press=) */
.lab-switch { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 9000; display: flex; gap: 6px; padding: 6px; border-radius: 999px; background: rgba(15,15,18,.8); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(0,0,0,.4); }
.lab-switch a { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 999px; color: #fff; font-weight: 700; font-size: 14px; }
.lab-switch a[aria-current] { background: var(--wsx-red); }

@media (prefers-reduced-motion: reduce) {
  .lab-a__clip { transition: none; } .lab-b__sign::before, .lab-b__f { animation: none; }
}
