{"id":18,"date":"2026-07-22T16:32:58","date_gmt":"2026-07-22T14:32:58","guid":{"rendered":"https:\/\/donttellus.com\/en_us\/home\/"},"modified":"2026-08-17T17:56:09","modified_gmt":"2026-08-17T15:56:09","slug":"home","status":"publish","type":"page","link":"https:\/\/www.donttellus.com\/fr\/","title":{"rendered":"Home"},"content":{"rendered":"\n\n\n<style>\n:root {\n  --bg: #06080d;\n  --bg-soft: #0b1018;\n  --panel: rgba(15, 19, 28, 0.72);\n  --panel-2: rgba(23, 29, 42, 0.78);\n  --text: #f4f6f8;\n  --muted: #97a4b2;\n  --line: rgba(255, 255, 255, 0.12);\n  --line-strong: rgba(255, 255, 255, 0.18);\n  --accent: #8df1c8;\n  --accent-2: #ffbf69;\n  --accent-3: #7ca6ff;\n  --danger: #ff6f61;\n  --shadow: 0 24px 70px rgba(0, 0, 0, 0.48);\n  --page-max: 1320px;\n  --content-max: 760px;\n  --gutter: clamp(16px, 4vw, 32px);\n  --space-1: 8px;\n  --space-2: 16px;\n  --space-3: 24px;\n  --space-4: 32px;\n  --space-5: 48px;\n  --space-6: 64px;\n  --section-gap: clamp(48px, 7vw, 88px);\n  --grid-gap: 24px;\n  --card-pad: clamp(16px, 2vw, 24px);\n  --radius: 8px;\n  --radius-lg: 8px;\n}\n\n* {\n  box-sizing: border-box;\n}\n\nhtml {\n  scroll-behavior: smooth;\n}\n\nbody {\n  margin: 0;\n  font-family: \"Aptos\", \"Segoe UI Variable Text\", \"Inter\", \"Segoe UI\", Arial, sans-serif;\n  color: var(--text);\n  background:\n    radial-gradient(circle at 18% 10%, rgba(124, 166, 255, 0.18), transparent 24%),\n    radial-gradient(circle at 82% 18%, rgba(255, 191, 105, 0.12), transparent 20%),\n    radial-gradient(circle at top, rgba(141, 241, 200, 0.16), transparent 34%),\n    linear-gradient(180deg, #070b11 0%, #06080d 100%);\n  min-height: 100vh;\n  letter-spacing: 0;\n  position: relative;\n  overflow-x: hidden;\n}\n\nbody::before,\nbody::after {\n  content: \"\";\n  position: fixed;\n  inset: 0;\n  pointer-events: none;\n  z-index: 0;\n}\n\nbody::before {\n  background:\n    linear-gradient(115deg, rgba(255, 255, 255, 0.03), transparent 34%),\n    linear-gradient(285deg, rgba(255, 255, 255, 0.02), transparent 20%);\n  mix-blend-mode: screen;\n}\n\nbody::after {\n  background-image:\n    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),\n    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);\n  background-size: 72px 72px;\n  mask-image: radial-gradient(circle at center, black 38%, transparent 92%);\n  opacity: 0.12;\n}\n\na {\n  color: inherit;\n  text-decoration: none;\n}\n\n.shell {\n  width: min(var(--page-max), calc(100% - (var(--gutter) * 2)));\n  margin: 0 auto;\n  position: relative;\n  z-index: 1;\n}\n\n.topbar {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 16px;\n  padding: 18px 0 16px;\n  position: sticky;\n  top: 0;\n  z-index: 20;\n  backdrop-filter: blur(18px);\n  background: linear-gradient(180deg, rgba(6, 8, 13, 0.92), rgba(6, 8, 13, 0.62));\n  border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n  margin-bottom: 18px;\n}\n\n.brand {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n.brand-mark {\n  width: 58px;\n  height: 58px;\n  border-radius: 18px;\n  object-fit: cover;\n  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.42);\n  flex: 0 0 auto;\n  background: #0b0f14;\n  border: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.brand-copy {\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n}\n\n.brand strong {\n  font-size: 1.05rem;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n}\n\n.brand span,\n.eyebrow,\n.meta,\n.status-label,\n.legal-note,\n.price-hint {\n  color: var(--muted);\n}\n\n.hero {\n  display: grid;\n  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);\n  gap: var(--grid-gap);\n  align-items: stretch;\n  padding: var(--space-2) 0 var(--space-5);\n}\n\n.hero-media {\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n  padding: 18px;\n  overflow: hidden;\n  position: relative;\n  background:\n    radial-gradient(circle at top right, rgba(124, 166, 255, 0.12), transparent 28%),\n    linear-gradient(180deg, rgba(15, 19, 28, 0.9), rgba(9, 12, 18, 0.98));\n}\n\n.hero-media .player {\n  aspect-ratio: 16 \/ 9;\n}\n\n.hero-media img,\n.visual-card img {\n  width: 100%;\n  display: block;\n  object-fit: cover;\n  border-radius: 16px;\n  border: 1px solid var(--line);\n}\n\n.hero-media img {\n  aspect-ratio: 16 \/ 9;\n}\n\n.media-caption,\n.visual-copy {\n  display: grid;\n  gap: 6px;\n}\n\n.media-caption p,\n.visual-copy p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.55;\n}\n\n.visual-world {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n  padding: 0 0 28px;\n}\n\n.video-showcase {\n  display: grid;\n  gap: 16px;\n  padding: 4px 0 28px;\n}\n\n.auth-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 18px;\n  padding: 0 0 28px;\n}\n\n.auth-panel {\n  display: grid;\n  gap: 14px;\n  padding: 24px;\n}\n\n.auth-panel-secondary {\n  background:\n    radial-gradient(circle at top right, rgba(255, 191, 105, 0.12), transparent 30%),\n    linear-gradient(180deg, rgba(18, 27, 38, 0.96), rgba(10, 14, 20, 0.98));\n}\n\n.auth-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.auth-form {\n  display: grid;\n  gap: 12px;\n}\n\n.locale-switcher {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-left: auto;\n}\n\n.locale-switcher .tag.is-active {\n  background: var(--accent-2);\n  color: #041821;\n  border-color: transparent;\n}\n\n.video-shelf {\n  display: grid;\n  grid-auto-flow: column;\n  grid-auto-columns: minmax(260px, 310px);\n  gap: 16px;\n  overflow-x: auto;\n  padding-bottom: 10px;\n  scroll-snap-type: x proximity;\n  scrollbar-width: thin;\n  scrollbar-color: rgba(141, 241, 200, 0.48) transparent;\n}\n\n.video-card {\n  padding: 0;\n  overflow: hidden;\n  scroll-snap-align: start;\n  min-height: 0;\n  cursor: pointer;\n  border-radius: var(--radius);\n  transform: translateZ(0);\n  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;\n}\n\n.video-card:hover,\n.video-card:focus-within {\n  transform: translateY(-4px);\n  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);\n  border-color: rgba(141, 241, 200, 0.26);\n}\n\n.preview-launch {\n  display: grid;\n  gap: 0;\n  width: 100%;\n  padding: 0;\n  border: 0;\n  background: transparent;\n  color: inherit;\n  text-align: left;\n  cursor: pointer;\n}\n\n.preview-launch:focus-visible {\n  outline: 2px solid var(--accent-2);\n  outline-offset: 4px;\n}\n\n.preview-launch-hero {\n  border-radius: 0;\n}\n\n.preview-thumb {\n  position: relative;\n  width: 100%;\n  aspect-ratio: 2 \/ 3;\n  background: #000;\n  overflow: hidden;\n  display: grid;\n  place-items: stretch;\n}\n\n.preview-thumb img {\n  width: 100%;\n  height: 100%;\n  display: block;\n  object-fit: cover;\n  transition: transform 280ms ease, filter 280ms ease;\n}\n\n.preview-card.is-member .preview-thumb img {\n  filter: saturate(0.85) contrast(0.92);\n}\n\n.preview-launch:hover .preview-thumb img,\n.preview-launch:focus-visible .preview-thumb img {\n  transform: scale(1.03);\n}\n\n.preview-gradient {\n  position: absolute;\n  inset: 0;\n  background:\n    linear-gradient(180deg, rgba(4, 6, 10, 0.08), rgba(4, 6, 10, 0.86)),\n    linear-gradient(90deg, rgba(141, 241, 200, 0.08), transparent 42%, rgba(255, 191, 105, 0.08));\n}\n\n.preview-badge {\n  position: absolute;\n  top: 10px;\n  left: 10px;\n  z-index: 1;\n  padding: 5px 8px;\n  border-radius: 999px;\n  background: linear-gradient(135deg, var(--accent-2), #ffd9a0);\n  color: #091018;\n  font-size: 0.66rem;\n  font-weight: 700;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n}\n\n.preview-play {\n  position: absolute;\n  right: 10px;\n  bottom: 10px;\n  z-index: 1;\n  padding: 8px 12px;\n  border-radius: 999px;\n  background: rgba(9, 13, 18, 0.48);\n  backdrop-filter: blur(16px);\n  color: #fff;\n  font-weight: 700;\n  font-size: 0.84rem;\n  letter-spacing: 0.03em;\n  border: 1px solid rgba(255, 255, 255, 0.14);\n}\n\n.preview-copy {\n  position: absolute;\n  inset: auto 0 0 0;\n  z-index: 1;\n  display: grid;\n  gap: 6px;\n  padding: 14px 14px 12px;\n  color: #fff;\n}\n\n.preview-copy .eyebrow {\n  color: rgba(195, 229, 247, 0.82);\n}\n\n.preview-copy strong {\n  display: block;\n  font-size: 0.98rem;\n  line-height: 1.2;\n}\n\n.preview-copy span:last-child {\n  color: rgba(237, 242, 247, 0.86);\n  line-height: 1.45;\n  font-size: 0.86rem;\n}\n\n.video-card-copy {\n  display: grid;\n  gap: 8px;\n  padding: 14px 16px 16px;\n  background: linear-gradient(180deg, rgba(10, 14, 19, 0.92), rgba(10, 14, 19, 0.98));\n}\n\n.rating-strip {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 10px;\n  margin-top: 2px;\n  padding-top: 10px;\n  border-top: 1px solid rgba(255, 255, 255, 0.08);\n  color: var(--muted);\n  font-size: 0.82rem;\n}\n\n.rating-strip strong {\n  color: var(--accent-2);\n  font-size: 0.86rem;\n}\n\n.video-card-copy h3 {\n  margin: 0;\n  font-size: 1rem;\n}\n\n.video-card-copy p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.55;\n  font-size: 0.88rem;\n}\n\n.preview-card:focus-visible {\n  outline: 2px solid var(--accent-2);\n  outline-offset: 4px;\n}\n\n.video-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 40;\n  display: grid;\n  place-items: center;\n  padding: 20px;\n}\n\n.video-modal[hidden] {\n  display: none;\n}\n\n.video-modal-backdrop {\n  position: absolute;\n  inset: 0;\n  background: rgba(1, 3, 6, 0.84);\n  backdrop-filter: blur(16px);\n}\n\n.video-modal-dialog {\n  position: relative;\n  z-index: 1;\n  width: min(1160px, 100%);\n  display: grid;\n  gap: 16px;\n  padding: 20px;\n  background:\n    radial-gradient(circle at top right, rgba(141, 241, 200, 0.1), transparent 25%),\n    linear-gradient(180deg, rgba(14, 18, 25, 0.98), rgba(7, 10, 15, 0.98));\n  border-radius: var(--radius);\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  box-shadow: 0 36px 120px rgba(0, 0, 0, 0.65);\n}\n\n.video-modal-player video {\n  width: 100%;\n  display: block;\n  aspect-ratio: 16 \/ 9;\n  background: #000;\n  border-radius: var(--radius);\n}\n\n.video-modal-copy {\n  display: grid;\n  gap: 8px;\n}\n\n.video-modal-copy h3 {\n  margin: 0;\n  font-size: clamp(1.5rem, 3vw, 2.4rem);\n}\n\n.video-modal-copy p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n.rating-panel {\n  display: grid;\n  gap: 14px;\n  padding: 18px;\n  border-radius: var(--radius);\n  background: rgba(255, 255, 255, 0.03);\n  border: 1px solid rgba(255, 255, 255, 0.08);\n}\n\n.rating-panel h4 {\n  margin: 0;\n  font-size: 1.18rem;\n}\n\n.rating-panel-lead {\n  margin: 0;\n  color: var(--muted);\n}\n\n.rating-grade-grid {\n  display: grid;\n  grid-template-columns: repeat(6, minmax(0, 1fr));\n  gap: 10px;\n}\n\n.rating-grade-button {\n  min-height: 72px;\n  border-radius: 18px;\n  border: 1px solid rgba(255, 255, 255, 0.1);\n  background: rgba(255, 255, 255, 0.04);\n  color: var(--text);\n  cursor: pointer;\n  font-weight: 800;\n  font-size: 1.1rem;\n  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;\n}\n\n.rating-grade-button span {\n  display: block;\n  margin-top: 4px;\n  font-size: 0.72rem;\n  font-weight: 600;\n  color: var(--muted);\n}\n\n.rating-grade-button:hover,\n.rating-grade-button:focus-visible,\n.rating-grade-button.is-active {\n  transform: translateY(-2px);\n  border-color: rgba(141, 241, 200, 0.48);\n  background: rgba(141, 241, 200, 0.11);\n  outline: none;\n}\n\n.rating-grade-button.is-best.is-active,\n.rating-grade-button.is-best:hover {\n  border-color: rgba(141, 241, 200, 0.6);\n}\n\n.rating-grade-button.is-worst.is-active,\n.rating-grade-button.is-worst:hover {\n  border-color: rgba(255, 120, 120, 0.52);\n  background: rgba(255, 120, 120, 0.08);\n}\n\n.rating-chip-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n}\n\n.rating-chip {\n  cursor: pointer;\n  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;\n}\n\n.rating-chip.is-active,\n.rating-chip:hover,\n.rating-chip:focus-visible {\n  border-color: rgba(141, 241, 200, 0.42);\n  background: rgba(141, 241, 200, 0.1);\n  color: var(--text);\n  outline: none;\n}\n\n.rating-panel-footer {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  gap: 10px;\n  color: var(--muted);\n  font-size: 0.88rem;\n}\n\n.rating-panel-footer strong {\n  color: var(--text);\n}\n\n.rating-panel.is-prompted {\n  border-color: rgba(141, 241, 200, 0.4);\n  box-shadow: 0 0 0 1px rgba(141, 241, 200, 0.18), 0 18px 40px rgba(0, 0, 0, 0.22);\n}\n\n.video-modal-close {\n  position: absolute;\n  top: 12px;\n  right: 12px;\n  z-index: 2;\n  width: 40px;\n  height: 40px;\n  border: 1px solid var(--line);\n  border-radius: 999px;\n  background: rgba(7, 10, 15, 0.92);\n  color: var(--text);\n  font-size: 1.4rem;\n  line-height: 1;\n  cursor: pointer;\n}\n\n.image-lightbox {\n  position: fixed;\n  inset: 0;\n  z-index: 45;\n  display: grid;\n  place-items: center;\n  padding: 20px;\n}\n\n.image-lightbox[hidden] {\n  display: none;\n}\n\n.image-lightbox-backdrop {\n  position: absolute;\n  inset: 0;\n  background: rgba(1, 3, 6, 0.88);\n}\n\n.image-lightbox-dialog {\n  position: relative;\n  z-index: 1;\n  width: min(1200px, 100%);\n  padding: 20px;\n}\n\n.image-lightbox-stage {\n  display: grid;\n  grid-template-columns: 56px minmax(0, 1fr) 56px;\n  gap: 14px;\n  align-items: center;\n}\n\n.image-lightbox-nav,\n.image-lightbox-close {\n  border: 1px solid rgba(255, 255, 255, 0.14);\n  background: rgba(255, 255, 255, 0.06);\n  color: #fff;\n  border-radius: 16px;\n  cursor: pointer;\n}\n\n.image-lightbox-nav {\n  min-height: 72px;\n  font-size: 2rem;\n}\n\n.image-lightbox-close {\n  position: absolute;\n  top: 12px;\n  right: 12px;\n  width: 44px;\n  height: 44px;\n  font-size: 1.5rem;\n}\n\n.image-lightbox-figure {\n  margin: 0;\n  display: grid;\n  gap: 14px;\n}\n\n.image-lightbox-figure img {\n  width: 100%;\n  max-height: 78vh;\n  object-fit: contain;\n  border-radius: var(--radius);\n  background: rgba(255, 255, 255, 0.03);\n}\n\n.image-lightbox-figure figcaption {\n  display: grid;\n  gap: 6px;\n}\n\n.image-lightbox-figure strong {\n  font-size: 1.15rem;\n}\n\n.image-lightbox-figure span {\n  color: var(--muted);\n  line-height: 1.6;\n}\n\nbody.modal-open {\n  overflow: hidden;\n}\n\n.two-col-world {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.hard-protocol-world {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.visual-card {\n  padding: 16px;\n  display: grid;\n  gap: 14px;\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),\n    rgba(255, 255, 255, 0.02);\n}\n\n.visual-card img {\n  aspect-ratio: 4 \/ 5;\n}\n\n.visual-overlay-card {\n  position: relative;\n  overflow: hidden;\n  min-height: 400px;\n  padding: 0;\n}\n\n.visual-overlay-card img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  aspect-ratio: auto;\n  border-radius: 0;\n  border: 0;\n}\n\n.overlay-copy {\n  position: relative;\n  z-index: 1;\n  align-self: end;\n  margin: auto 0 0;\n  padding: 20px;\n  background: linear-gradient(180deg, transparent, rgba(5, 8, 12, 0.92) 45%);\n  min-height: 260px;\n  display: flex;\n  flex-direction: column;\n  justify-content: end;\n  gap: 6px;\n}\n\n.overlay-kicker {\n  text-transform: uppercase;\n  letter-spacing: 0.18em;\n  font-size: 0.75rem;\n  color: var(--accent-2);\n}\n\n.overlay-copy h3 {\n  margin: 0;\n  font-size: 1.8rem;\n}\n\n.overlay-copy p {\n  margin: 0;\n  color: #d6dde4;\n  max-width: 34ch;\n}\n\n.section-heading {\n  display: grid;\n  grid-template-columns: minmax(0, 0.82fr) minmax(320px, 0.38fr);\n  align-items: end;\n  gap: var(--grid-gap);\n  padding: 0 0 var(--space-3);\n  margin-top: var(--section-gap);\n}\n\n.section-heading h2 {\n  margin-bottom: 0;\n  font-size: clamp(1.6rem, 3vw, 2.45rem);\n  letter-spacing: 0;\n  max-width: 28ch;\n}\n\n.section-heading p {\n  margin: 0;\n  max-width: 52ch;\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n.detention-world,\n.streetwear-world {\n  padding-top: 6px;\n}\n\n.openrouter-panel {\n  padding: 20px 24px;\n  margin-bottom: 18px;\n}\n\n.concept-teaser,\n.concept-page {\n  padding: 24px;\n}\n\n.concept-page h2,\n.concept-page p:last-child {\n  margin-bottom: 0;\n}\n\n.concept-page p {\n  line-height: 1.7;\n  color: #d6dde4;\n}\n\n.pattern-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n  margin-top: 18px;\n}\n\n.pattern-card {\n  padding: 18px;\n  display: grid;\n  gap: 12px;\n}\n\n.pattern-wide {\n  grid-column: span 2;\n}\n\n.pattern-visual {\n  margin: 0;\n  display: grid;\n  gap: 8px;\n}\n\n.pattern-visual img {\n  width: 100%;\n  aspect-ratio: 16 \/ 9;\n  object-fit: cover;\n  border-radius: 16px;\n  border: 1px solid var(--line);\n}\n\n.pattern-visual figcaption {\n  color: var(--accent-2);\n  font-weight: 700;\n}\n\n.pattern-stack {\n  display: grid;\n  gap: 10px;\n}\n\n.pattern-stack div {\n  display: grid;\n  gap: 3px;\n  padding: 12px 14px;\n  border-radius: 14px;\n  background: rgba(255, 255, 255, 0.04);\n  border: 1px solid var(--line);\n}\n\n.pattern-stack strong {\n  color: var(--text);\n}\n\n.pattern-stack span {\n  color: var(--muted);\n  line-height: 1.5;\n}\n\n.atlas-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 12px;\n  margin-top: 14px;\n}\n\n.atlas-card {\n  padding: 16px;\n  display: grid;\n  gap: 8px;\n}\n\n.atlas-card p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.55;\n}\n\n.home-topic-strip {\n  padding: 20px 24px;\n  margin: 18px 0 28px;\n}\n\n.home-topic-strip h2 {\n  margin-bottom: 8px;\n  font-size: clamp(1.35rem, 2.5vw, 2rem);\n}\n\n.home-topic-strip p {\n  margin: 0 0 14px;\n  color: var(--muted);\n  line-height: 1.6;\n  max-width: 60ch;\n}\n\n.home-topic-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 12px;\n}\n\n.home-topic-link {\n  padding: 16px;\n  display: grid;\n  gap: 8px;\n}\n\n.home-topic-link strong {\n  font-size: 1rem;\n}\n\n.home-topic-link span {\n  color: var(--muted);\n  line-height: 1.55;\n}\n\n.topic-hero {\n  display: grid;\n  grid-template-columns: 1fr 0.9fr;\n  gap: 18px;\n  padding: 22px;\n  margin-bottom: 18px;\n}\n\n.topic-copy {\n  display: grid;\n  gap: 10px;\n  align-content: start;\n}\n\n.topic-media {\n  overflow: hidden;\n  padding: 0;\n  display: grid;\n}\n\n.topic-media img {\n  width: 100%;\n  min-height: 100%;\n  object-fit: cover;\n  display: block;\n}\n\n.topic-grid {\n  margin-top: 18px;\n}\n\n.editor-shell {\n  padding: 24px;\n  display: grid;\n  gap: 22px;\n}\n\n.production-board {\n  display: grid;\n  gap: 18px;\n  padding: 20px;\n}\n\n.pipeline-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n}\n\n.pipeline-card {\n  padding: 18px;\n  display: grid;\n  gap: 14px;\n  min-width: 0;\n}\n\n.pipeline-card h3 {\n  margin-bottom: 0;\n}\n\n.pipeline-list {\n  margin: 0;\n  padding-left: 18px;\n  display: grid;\n  gap: 8px;\n  color: var(--muted);\n  line-height: 1.55;\n}\n\n.queue-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n}\n\n.queue-table-wrap {\n  overflow: auto;\n  border-radius: 16px;\n  border: 1px solid var(--line);\n}\n\n.queue-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: min(680px, 100%);\n}\n\n.queue-table thead th {\n  text-align: left;\n  padding: 12px 14px;\n  font-size: 0.78rem;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  color: var(--muted);\n  background: rgba(255, 255, 255, 0.03);\n}\n\n.queue-table tbody tr {\n  transition: background 0.16s ease;\n  cursor: pointer;\n}\n\n.queue-table tbody tr:hover,\n.queue-table tbody tr.is-active {\n  background: rgba(126, 224, 195, 0.08);\n}\n\n.queue-table td {\n  padding: 12px 14px;\n  border-top: 1px solid rgba(255, 255, 255, 0.07);\n  vertical-align: top;\n}\n\n.queue-table td strong {\n  display: block;\n  margin-bottom: 4px;\n}\n\n.production-form {\n  display: grid;\n  gap: 12px;\n}\n\n.production-json {\n  max-height: 340px;\n}\n\n.thumbnail-guide {\n  display: grid;\n  gap: 22px;\n}\n\n.thumbnail-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 18px;\n}\n\n.thumbnail-demo {\n  display: grid;\n  gap: 16px;\n  overflow: hidden;\n  padding: 0;\n}\n\n.thumbnail-art {\n  position: relative;\n  min-height: 420px;\n  padding: 18px;\n  display: grid;\n  align-content: space-between;\n  gap: 16px;\n  background:\n    radial-gradient(circle at top right, rgba(255, 184, 107, 0.16), transparent 28%),\n    linear-gradient(145deg, rgba(15, 20, 28, 0.98), rgba(8, 11, 16, 0.98));\n}\n\n.thumbnail-public .thumbnail-art {\n  background:\n    radial-gradient(circle at top right, rgba(126, 224, 195, 0.18), transparent 30%),\n    linear-gradient(145deg, rgba(16, 22, 31, 0.98), rgba(6, 9, 13, 0.98));\n}\n\n.thumbnail-member .thumbnail-art {\n  background:\n    radial-gradient(circle at top right, rgba(121, 148, 255, 0.18), transparent 30%),\n    linear-gradient(145deg, rgba(15, 18, 28, 0.98), rgba(7, 9, 15, 0.98));\n}\n\n.thumbnail-premium .thumbnail-art {\n  background:\n    radial-gradient(circle at top right, rgba(255, 102, 153, 0.18), transparent 30%),\n    linear-gradient(145deg, rgba(24, 16, 24, 0.98), rgba(10, 6, 9, 0.98));\n}\n\n.thumbnail-topline,\n.thumbnail-footer {\n  display: flex;\n  justify-content: space-between;\n  gap: 12px;\n  align-items: center;\n}\n\n.thumbnail-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 7px 10px;\n  border-radius: 999px;\n  font-size: 0.72rem;\n  font-weight: 800;\n  letter-spacing: 0.12em;\n  background: var(--accent-2);\n  color: #08111a;\n}\n\n.thumbnail-small {\n  font-size: 0.74rem;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  color: rgba(235, 242, 250, 0.72);\n}\n\n.thumbnail-main {\n  display: grid;\n  gap: 10px;\n  align-content: center;\n  min-height: 220px;\n}\n\n.thumbnail-kicker {\n  color: var(--accent);\n  font-size: 0.82rem;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n}\n\n.thumbnail-main h3 {\n  margin: 0;\n  font-size: clamp(2rem, 3.6vw, 3rem);\n  line-height: 1.05;\n  max-width: 16ch;\n}\n\n.thumbnail-main p {\n  margin: 0;\n  max-width: 28ch;\n  color: rgba(240, 246, 252, 0.82);\n  line-height: 1.55;\n}\n\n.thumbnail-footer {\n  padding-top: 12px;\n  border-top: 1px solid rgba(255, 255, 255, 0.1);\n  align-items: start;\n}\n\n.thumbnail-footer strong {\n  display: block;\n  font-size: 0.9rem;\n}\n\n.thumbnail-footer span {\n  display: block;\n  max-width: 26ch;\n  color: rgba(233, 239, 245, 0.72);\n  line-height: 1.45;\n}\n\n.thumbnail-spec {\n  display: grid;\n  gap: 12px;\n  padding: 18px;\n}\n\n.thumbnail-spec h4 {\n  margin: 0;\n  font-size: 1.1rem;\n}\n\n.thumbnail-rules {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n}\n\n.thumbnail-rule {\n  padding: 18px;\n  display: grid;\n  gap: 10px;\n}\n\n.editor-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);\n  gap: 18px;\n}\n\n.dual-form-grid {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  align-items: start;\n}\n\n.event-hero,\n.membership-request-hero {\n  padding: 26px;\n}\n\n.editor-form {\n  display: grid;\n  gap: 18px;\n}\n\n.editor-section {\n  display: grid;\n  gap: 12px;\n  padding: 18px;\n  border: 1px solid var(--line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.03);\n}\n\n.editor-section h3 {\n  margin-bottom: 0;\n}\n\n.editor-field {\n  display: grid;\n  gap: 6px;\n}\n\n.editor-field span {\n  font-size: 0.86rem;\n  color: var(--muted);\n}\n\n.editor-field input,\n.editor-field textarea {\n  width: 100%;\n  border: 1px solid var(--line);\n  background: rgba(5, 8, 12, 0.65);\n  color: var(--text);\n  border-radius: 14px;\n  padding: 12px 14px;\n  font: inherit;\n}\n\n.editor-field textarea {\n  resize: vertical;\n  min-height: 112px;\n}\n\n.editor-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.file-button {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n\n.editor-preview {\n  padding: 18px;\n  overflow: hidden;\n}\n\n.editor-preview pre {\n  margin: 12px 0 0;\n  white-space: pre-wrap;\n  word-break: break-word;\n  max-height: 78vh;\n  overflow: auto;\n}\n\n.casting-hero {\n  display: grid;\n  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);\n  gap: 18px;\n  align-items: stretch;\n}\n\n.casting-hero-copy {\n  display: grid;\n  gap: 16px;\n  padding: 28px;\n}\n\n.casting-hero-copy p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.7;\n  max-width: 64ch;\n}\n\n.casting-hero-media {\n  position: relative;\n  overflow: hidden;\n  min-height: 420px;\n  padding: 0;\n}\n\n.casting-hero-media img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n}\n\n.casting-hero-overlay {\n  position: absolute;\n  inset: 0;\n  display: grid;\n  align-content: end;\n  padding: 24px;\n  background: linear-gradient(180deg, rgba(2, 5, 10, 0.08), rgba(2, 5, 10, 0.88));\n}\n\n.casting-hero-overlay strong {\n  display: block;\n  margin-bottom: 8px;\n  font-size: 1.1rem;\n}\n\n.casting-hero-overlay p {\n  margin: 0;\n  color: rgba(238, 244, 250, 0.78);\n  line-height: 1.6;\n}\n\n.casting-highlight-grid,\n.casting-kpi-grid {\n  display: grid;\n  gap: 16px;\n}\n\n.casting-highlight-grid {\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));\n}\n\n.casting-kpi-grid {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.casting-kpi,\n.casting-highlight-card {\n  padding: 18px;\n  display: grid;\n  gap: 10px;\n}\n\n.casting-kpi strong {\n  font-size: 1.6rem;\n  line-height: 1;\n}\n\n.casting-kpi span,\n.casting-highlight-card p {\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n.casting-checklist {\n  margin: 0;\n  padding-left: 18px;\n  display: grid;\n  gap: 8px;\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n.editor-field select {\n  width: 100%;\n  border: 1px solid var(--line);\n  background: rgba(5, 8, 12, 0.65);\n  color: var(--text);\n  border-radius: 14px;\n  padding: 12px 14px;\n  font: inherit;\n}\n\n.panel {\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),\n    var(--panel);\n  border: 1px solid var(--line);\n  border-radius: var(--radius);\n  box-shadow: var(--shadow);\n  backdrop-filter: blur(18px);\n}\n\n.hero-copy,\n.dossier-card,\n.legal-card,\n.player-card {\n  padding: var(--card-pad);\n}\n\n.eyebrow {\n  text-transform: uppercase;\n  letter-spacing: 0.16em;\n  font-size: 0.78rem;\n  color: rgba(184, 194, 204, 0.82);\n}\n\nh1,\nh2,\nh3,\np {\n  margin-top: 0;\n}\n\nh1 {\n  font-size: clamp(2.5rem, 6vw, 5rem);\n  line-height: 1.04;\n  margin: 12px 0 16px;\n  letter-spacing: 0;\n  max-width: 18ch;\n}\n\n.lead {\n  font-size: 1.07rem;\n  line-height: 1.7;\n  max-width: var(--content-max);\n  color: #dbe2ea;\n}\n\n.cta-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  margin-top: 22px;\n}\n\n.btn {\n  appearance: none;\n  border: 0;\n  border-radius: 999px;\n  padding: 13px 18px;\n  font-weight: 700;\n  cursor: pointer;\n  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;\n  letter-spacing: 0.01em;\n}\n\n.btn:hover {\n  transform: translateY(-1px);\n}\n\n.btn-primary {\n  background: linear-gradient(135deg, var(--accent), #c1ffe8);\n  color: #04110d;\n  box-shadow: 0 14px 32px rgba(141, 241, 200, 0.16);\n}\n\n.btn-secondary {\n  background: rgba(255, 255, 255, 0.06);\n  color: var(--text);\n  border: 1px solid var(--line-strong);\n}\n\n.grid {\n  display: grid;\n  gap: var(--grid-gap);\n}\n\n.grid.cards {\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));\n  padding-bottom: var(--section-gap);\n}\n\n.dossier-card {\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n}\n\n.tag-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n.catalog-toolbar {\n  display: grid;\n  gap: 18px;\n  margin-bottom: 24px;\n}\n\n.catalog-toolbar-head {\n  display: grid;\n  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);\n  gap: 18px;\n  align-items: start;\n}\n\n.catalog-filter-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));\n  gap: 14px;\n}\n\n.catalog-search-field {\n  display: grid;\n  gap: 8px;\n}\n\n.catalog-search-field span {\n  font-size: 0.82rem;\n  color: var(--muted);\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n}\n\n.catalog-search-field input,\n.catalog-search-field select {\n  width: 100%;\n  border-radius: 14px;\n  border: 1px solid var(--line);\n  background: rgba(255, 255, 255, 0.05);\n  color: var(--text);\n  padding: 14px 15px;\n  font: inherit;\n}\n\n.catalog-search-field input:focus,\n.catalog-search-field select:focus {\n  outline: 2px solid rgba(141, 241, 200, 0.32);\n  outline-offset: 2px;\n}\n\n.catalog-chip-strip {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n}\n\n.catalog-chip {\n  cursor: pointer;\n  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;\n}\n\n.catalog-chip span {\n  opacity: 0.72;\n}\n\n.catalog-chip:hover,\n.catalog-chip:focus-visible,\n.catalog-chip.is-active {\n  transform: translateY(-1px);\n  border-color: rgba(141, 241, 200, 0.36);\n  background: rgba(141, 241, 200, 0.12);\n}\n\n.catalog-results-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 14px;\n}\n\n.catalog-empty-state {\n  margin-bottom: 40px;\n}\n\n.catalog-card[hidden] {\n  display: none !important;\n}\n\n.compact-list {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  display: grid;\n  gap: 10px;\n}\n\n.compact-list li {\n  padding: 10px 12px;\n  border-radius: 14px;\n  background: rgba(255, 255, 255, 0.04);\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  display: grid;\n  gap: 3px;\n}\n\n.compact-list strong {\n  font-size: 0.98rem;\n}\n\n.compact-list span {\n  color: var(--muted);\n  font-size: 0.88rem;\n  line-height: 1.4;\n}\n\n.tag {\n  padding: 7px 11px;\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid var(--line);\n  font-size: 0.82rem;\n  backdrop-filter: blur(10px);\n}\n\n.status-box {\n  padding: 14px 16px;\n  border-radius: 16px;\n  background:\n    linear-gradient(135deg, rgba(255, 184, 107, 0.1), rgba(126, 224, 195, 0.08)),\n    rgba(255, 255, 255, 0.04);\n  border: 1px solid rgba(255, 255, 255, 0.14);\n}\n\n.status-value {\n  display: block;\n  color: var(--accent);\n  font-weight: 700;\n  margin-top: 6px;\n}\n\n.commerce-hero {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 12px;\n  margin-top: 18px;\n}\n\n.price {\n  font-size: 1.8rem;\n  font-weight: 800;\n  letter-spacing: 0;\n}\n\n.price-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n  gap: 12px;\n  margin-top: 16px;\n}\n\n.price-tile {\n  padding: 14px;\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid var(--line);\n}\n\n.price-tile strong {\n  display: block;\n  margin-bottom: 4px;\n}\n\n.sales-tier-card {\n  position: relative;\n  overflow: hidden;\n  background:\n    radial-gradient(circle at top right, rgba(255, 191, 105, 0.12), transparent 34%),\n    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));\n}\n\n.sales-tier-card.is-featured {\n  border-color: rgba(141, 241, 200, 0.34);\n  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);\n}\n\n.player {\n  width: 100%;\n  aspect-ratio: 16 \/ 9;\n  border-radius: 18px;\n  background: #000;\n  overflow: hidden;\n  border: 1px solid var(--line);\n}\n\nvideo,\niframe {\n  width: 100%;\n  height: 100%;\n  display: block;\n  border: 0;\n}\n\n.product-layout {\n  display: grid;\n  grid-template-columns: 1.2fr 0.8fr;\n  gap: 18px;\n  padding-bottom: 40px;\n}\n\n.two-lang {\n  display: grid;\n  gap: 14px;\n}\n\n.teaser-block {\n  margin-top: 18px;\n}\n\n.auto-visuals {\n  margin-top: 18px;\n}\n\n.visual-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));\n  gap: 12px;\n  margin-top: 12px;\n}\n\n.visual-item {\n  padding: 10px;\n}\n\n.visual-item figcaption {\n  display: grid;\n  gap: 4px;\n}\n\n.visual-item figcaption strong {\n  color: var(--text);\n}\n\n.gallery-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 12px;\n  margin-top: 18px;\n}\n\n.gallery-item {\n  margin: 0;\n  padding: 10px;\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.04);\n  border: 1px solid var(--line);\n}\n\n.gallery-item img {\n  width: 100%;\n  display: block;\n  border-radius: 12px;\n  aspect-ratio: 16 \/ 10;\n  object-fit: cover;\n}\n\n.gallery-item figcaption {\n  margin-top: 8px;\n  font-size: 0.92rem;\n  color: var(--muted);\n  line-height: 1.5;\n}\n\n.image-series-hero {\n  display: grid;\n  gap: 18px;\n  background:\n    radial-gradient(circle at top right, rgba(0, 220, 255, 0.18), transparent 34%),\n    linear-gradient(145deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));\n}\n\n.story-principle-grid {\n  align-items: stretch;\n}\n\n.story-principle-card,\n.story-layout-card,\n.image-series-preview,\n.image-series-storyboard,\n.image-series-card-premium {\n  background:\n    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015)),\n    rgba(8, 12, 20, 0.88);\n}\n\n.story-principle-card h3,\n.story-layout-card h3 {\n  margin: 0 0 8px;\n}\n\n.story-principle-card p,\n.story-layout-card p,\n.image-series-card-side p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.65;\n}\n\n.image-series-showcase {\n  display: grid;\n  grid-template-columns: 1.35fr 0.9fr;\n  gap: 20px;\n}\n\n.story-layout-grid {\n  display: grid;\n  gap: 14px;\n  margin-top: 18px;\n}\n\n.story-layout-card {\n  display: grid;\n  grid-template-columns: 62px 1fr;\n  gap: 16px;\n  align-items: start;\n  padding: 18px;\n  border-radius: var(--radius);\n  border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.story-layout-index {\n  display: grid;\n  place-items: center;\n  min-height: 62px;\n  border-radius: 18px;\n  background: linear-gradient(180deg, rgba(0, 220, 255, 0.18), rgba(0, 220, 255, 0.05));\n  color: var(--accent-2);\n  font-weight: 700;\n  letter-spacing: 0.08em;\n}\n\n.image-series-preview-steps,\n.image-series-mini-flow,\n.image-series-chapters {\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n.image-series-preview-steps,\n.image-series-mini-flow {\n  display: grid;\n  gap: 12px;\n}\n\n.image-series-preview-steps li,\n.image-series-mini-flow li {\n  display: grid;\n  grid-template-columns: 44px 1fr;\n  gap: 12px;\n  align-items: center;\n  padding: 12px 14px;\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.04);\n}\n\n.image-series-preview-steps span,\n.image-series-mini-flow span {\n  display: inline-grid;\n  place-items: center;\n  width: 44px;\n  height: 44px;\n  border-radius: 14px;\n  background: rgba(0, 220, 255, 0.12);\n  color: var(--accent-2);\n  font-weight: 700;\n}\n\n.image-series-groups {\n  display: grid;\n  gap: 22px;\n}\n\n.image-series-card-premium {\n  padding: 0;\n  overflow: hidden;\n}\n\n.image-series-cover {\n  display: flex;\n  justify-content: space-between;\n  gap: 18px;\n  padding: 26px;\n  background:\n    linear-gradient(120deg, rgba(0, 220, 255, 0.12), transparent 42%),\n    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));\n  border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.image-series-cover-copy {\n  display: grid;\n  gap: 10px;\n  max-width: 760px;\n}\n\n.image-series-cover-copy h2 {\n  margin: 0;\n}\n\n.image-series-cover-copy p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.65;\n}\n\n.image-series-cover-stats {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  align-content: flex-start;\n  justify-content: flex-end;\n}\n\n.image-series-visual-band {\n  display: grid;\n  grid-template-columns: 1.2fr 0.8fr;\n  gap: 14px;\n  padding: 18px 26px 0;\n}\n\n.image-series-visual {\n  margin: 0;\n  display: grid;\n  gap: 10px;\n}\n\n.image-series-visual img {\n  width: 100%;\n  display: block;\n  aspect-ratio: 16 \/ 9;\n  object-fit: cover;\n  border-radius: 18px;\n}\n\n.image-series-card-grid {\n  display: grid;\n  grid-template-columns: 1.45fr 0.75fr;\n  gap: 0;\n}\n\n.image-series-card-main,\n.image-series-card-side {\n  padding: 24px 26px 26px;\n}\n\n.image-series-card-side {\n  border-left: 1px solid rgba(255, 255, 255, 0.06);\n  background: rgba(255, 255, 255, 0.015);\n}\n\n.image-series-action-row {\n  display: grid;\n  gap: 14px;\n  margin-top: 18px;\n  padding: 16px 18px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.035);\n  border: 1px solid rgba(255, 255, 255, 0.05);\n}\n\n.image-series-rating-panel {\n  margin-top: 2px;\n  padding: 16px;\n  border-radius: 18px;\n}\n\n.image-series-action-copy {\n  display: grid;\n  gap: 6px;\n}\n\n.image-series-action-copy span {\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n.image-series-chapters {\n  display: grid;\n  gap: 12px;\n  margin-top: 18px;\n}\n\n.image-series-chapters li {\n  display: grid;\n  gap: 6px;\n  padding: 14px 16px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.035);\n  border: 1px solid rgba(255, 255, 255, 0.05);\n}\n\n.image-series-chapters li span,\n.image-series-chapters li em {\n  color: var(--muted);\n  font-style: normal;\n  font-size: 0.92rem;\n}\n\n.image-series-chapters li strong {\n  font-size: 1.02rem;\n}\n\n.image-series-chapters li p {\n  margin: 2px 0 0;\n  color: rgba(235, 242, 250, 0.78);\n  line-height: 1.6;\n}\n\n.btn-small {\n  width: fit-content;\n  min-height: 0;\n  padding: 10px 14px;\n  font-size: 0.9rem;\n}\n\n.image-series-gallery-strip {\n  display: grid;\n  gap: 10px;\n  margin-top: 18px;\n}\n\n.image-series-gallery-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 10px;\n}\n\n.image-series-gallery-thumb {\n  border: 1px solid rgba(255, 255, 255, 0.08);\n  background: rgba(255, 255, 255, 0.03);\n  color: var(--text);\n  border-radius: 16px;\n  padding: 8px;\n  display: grid;\n  gap: 8px;\n  cursor: pointer;\n  text-align: left;\n}\n\n.image-series-gallery-thumb img {\n  width: 100%;\n  display: block;\n  aspect-ratio: 1;\n  object-fit: cover;\n  border-radius: 12px;\n}\n\n.image-series-gallery-thumb span {\n  font-size: 0.84rem;\n  color: var(--muted);\n  line-height: 1.45;\n}\n\n.popular-week-section {\n  display: grid;\n  gap: 16px;\n}\n\n.popular-card {\n  display: grid;\n  gap: 12px;\n}\n\n.popular-card-image {\n  width: 100%;\n  aspect-ratio: 16 \/ 9;\n  object-fit: cover;\n  border-radius: 16px;\n  display: block;\n}\n\n.popular-empty-card {\n  min-height: 180px;\n}\n\n.lang-card {\n  padding: 18px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.04);\n  border: 1px solid var(--line);\n}\n\n.lang-card h3 {\n  margin-bottom: 8px;\n}\n\n.legal-nav {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.footer {\n  padding: 24px 0 40px;\n  color: var(--muted);\n}\n\n::-webkit-scrollbar {\n  width: 12px;\n  height: 12px;\n}\n\n::-webkit-scrollbar-thumb {\n  background: linear-gradient(180deg, rgba(141, 241, 200, 0.55), rgba(255, 191, 105, 0.42));\n  border-radius: 999px;\n  border: 3px solid rgba(7, 10, 15, 0.92);\n}\n\n::-webkit-scrollbar-track {\n  background: rgba(255, 255, 255, 0.03);\n}\n\n@media (max-width: 1280px) {\n  .shell {\n    width: min(100% - 24px, 1320px);\n  }\n\n  .hero {\n    grid-template-columns: 1fr 0.95fr;\n  }\n}\n\n@media (max-width: 1024px) {\n  .catalog-toolbar-head,\n  .catalog-filter-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .hero,\n  .product-layout,\n  .product-layout {\n    grid-template-columns: 1fr;\n  }\n\n  .grid.cards,\n  .visual-world {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .two-col-world {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .hard-protocol-world {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .pattern-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .pattern-wide {\n    grid-column: span 2;\n  }\n\n  .atlas-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .home-topic-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .topic-hero {\n    grid-template-columns: 1fr;\n  }\n\n  .editor-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .casting-hero,\n  .casting-highlight-grid,\n  .casting-kpi-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .pipeline-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .thumbnail-grid,\n  .thumbnail-rules {\n    grid-template-columns: 1fr;\n  }\n\n  .section-heading {\n    flex-direction: column;\n    align-items: start;\n  }\n\n  .visual-overlay-card {\n    min-height: 360px;\n  }\n\n  .price-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .gallery-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .visual-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .image-series-showcase,\n  .image-series-visual-band,\n  .image-series-card-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .image-series-card-side {\n    border-left: 0;\n    border-top: 1px solid rgba(255, 255, 255, 0.06);\n  }\n}\n\n@media (max-width: 640px) {\n  .catalog-results-row {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .shell {\n    width: min(100% - 16px, 1180px);\n  }\n\n  .topbar {\n    align-items: flex-start;\n    flex-direction: column;\n    position: static;\n    backdrop-filter: none;\n  }\n\n  .hero,\n  .grid.cards,\n  .visual-world,\n  .thumbnail-grid,\n  .thumbnail-rules,\n  .price-grid,\n  .gallery-grid,\n  .visual-grid,\n  .pattern-grid,\n  .atlas-grid,\n  .home-topic-grid,\n  .dual-form-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .pattern-wide {\n    grid-column: auto;\n  }\n\n  .cta-row {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .btn {\n    width: 100%;\n    text-align: center;\n  }\n\n  .hero-copy,\n  .hero-media,\n  .dossier-card,\n  .legal-card,\n  .player-card {\n    padding: 18px;\n  }\n\n  .visual-overlay-card {\n    min-height: 300px;\n  }\n\n  .overlay-copy {\n    padding: 16px;\n    min-height: 220px;\n  }\n\n  .overlay-copy h3 {\n    font-size: 1.35rem;\n  }\n\n  .image-series-cover {\n    flex-direction: column;\n  }\n\n  .image-lightbox-stage {\n    grid-template-columns: 1fr;\n  }\n\n  .image-lightbox-nav {\n    min-height: 52px;\n  }\n\n  .story-layout-card {\n    grid-template-columns: 1fr;\n  }\n\n  .story-layout-index {\n    min-height: 48px;\n  }\n\n  .image-series-card-main,\n  .image-series-card-side,\n  .image-series-cover {\n    padding: 18px;\n  }\n\n  h1 {\n    font-size: clamp(1.9rem, 10vw, 3rem);\n  }\n\n  .brand-mark {\n    width: 44px;\n    height: 44px;\n  }\n\n  .video-shelf {\n    grid-auto-columns: minmax(220px, 82vw);\n  }\n\n  .preview-thumb {\n    aspect-ratio: 3 \/ 4;\n  }\n\n  .rating-grade-grid {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n\n\nhtml,\nbody,\nbody.page,\nbody.page-template-default,\nbody.theme-hostinger-ai-theme {\n  background:\n    radial-gradient(circle at 18% 10%, rgba(110, 137, 255, 0.20), transparent 24%),\n    radial-gradient(circle at 82% 18%, rgba(19, 191, 255, 0.14), transparent 20%),\n    radial-gradient(circle at top, rgba(92, 217, 255, 0.12), transparent 34%),\n    linear-gradient(180deg, #071019 0%, #05080d 100%) !important;\n  color: var(--text) !important;\n}\n\nbody .site-header.wp-block-template-part,\nbody .wp-block-post-featured-image,\nbody .entry-title,\nbody .wp-block-post-title,\nbody .post-thumbnail,\nbody .featured-image,\nbody .wp-block-separator,\nbody .wp-block-spacer {\n  display: none !important;\n}\n\nbody .wp-site-blocks,\nbody .wp-site-blocks > *,\nbody main.wp-block-group,\nbody .entry-content,\nbody .wp-block-post-content,\nbody .is-layout-constrained,\nbody .has-global-padding {\n  width: 100% !important;\n  max-width: none !important;\n  min-width: 0 !important;\n  margin-left: 0 !important;\n  margin-right: 0 !important;\n  box-sizing: border-box !important;\n}\n\nbody .wp-site-blocks,\nbody main.wp-block-group,\nbody .entry-content,\nbody .wp-block-post-content,\nbody .has-global-padding {\n  padding-left: 0 !important;\n  padding-right: 0 !important;\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n  background: transparent !important;\n  overflow-x: clip !important;\n}\n\nbody .entry-content > p:empty,\nbody .entry-content > div:empty {\n  display: none !important;\n}\n\nbody.dtu-age-locked {\n  overflow: hidden !important;\n}\n\nbody.dtu-age-locked .mockup-page {\n  filter: blur(18px) saturate(0.92) brightness(0.58);\n  opacity: 0.34;\n  pointer-events: none;\n  user-select: none;\n}\n\n.dtu-age-gate {\n  position: fixed;\n  inset: 0;\n  z-index: 99999;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 24px;\n  background:\n    linear-gradient(90deg, rgba(4, 7, 12, 0.86), rgba(4, 7, 12, 0.68), rgba(4, 7, 12, 0.9)),\n    radial-gradient(circle at 20% 20%, rgba(87, 209, 255, 0.16), transparent 24%),\n    radial-gradient(circle at 80% 0%, rgba(255, 198, 109, 0.10), transparent 28%),\n    rgba(4, 7, 12, 0.78);\n  backdrop-filter: blur(10px);\n}\n\n.dtu-age-gate[hidden] {\n  display: none !important;\n}\n\n.dtu-age-card {\n  width: min(100%, 620px);\n  padding: 28px;\n  border-radius: 28px;\n  border: 1px solid rgba(255, 255, 255, 0.10);\n  background:\n    radial-gradient(circle at 0 0, rgba(87, 209, 255, 0.16), transparent 30%),\n    linear-gradient(180deg, rgba(17, 25, 38, 0.94), rgba(8, 12, 20, 0.98));\n  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);\n}\n\n.dtu-age-kicker {\n  display: inline-flex;\n  margin-bottom: 14px;\n  padding: 8px 12px;\n  border-radius: 999px;\n  background: rgba(87, 209, 255, 0.12);\n  border: 1px solid rgba(87, 209, 255, 0.28);\n  color: #8ce6ff;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  font-size: 0.78rem;\n}\n\n.dtu-age-card h2 {\n  margin: 0 0 12px;\n  font-size: clamp(1.9rem, 4vw, 2.8rem);\n  line-height: 1.05;\n}\n\n.dtu-age-card p {\n  margin: 0 0 14px;\n  color: var(--muted);\n  line-height: 1.7;\n}\n\n.dtu-age-points {\n  display: grid;\n  gap: 10px;\n  margin: 18px 0 22px;\n  padding: 0;\n  list-style: none;\n}\n\n.dtu-age-points li {\n  padding: 12px 14px;\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.04);\n  border: 1px solid var(--line);\n  color: var(--muted);\n}\n\n.dtu-age-actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.dtu-age-actions .btn {\n  flex: 1 1 220px;\n  justify-content: center;\n}\n\n.mockup-page {\n  width: min(100% - 32px, 1320px);\n  max-width: 1320px;\n  margin-left: auto;\n  margin-right: auto;\n  box-sizing: border-box;\n  padding-left: 0;\n  padding-right: 0;\n  padding-bottom: 42px;\n}\n\n.shell {\n  width: min(100% - 32px, 1320px) !important;\n  max-width: 1320px !important;\n  margin-left: auto;\n  margin-right: auto;\n  box-sizing: border-box;\n}\n\n.topbar {\n  padding: 14px 20px;\n  margin-bottom: 18px;\n  border-radius: 0 0 24px 24px;\n}\n\n.brand-copy {\n  gap: 4px;\n}\n\n.brand-copy strong {\n  font-size: 1rem;\n  letter-spacing: 0.14em;\n}\n\n.brand-copy span {\n  max-width: 18ch;\n  line-height: 1.35;\n}\n\n.legal-nav {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: flex-end;\n  gap: 10px;\n}\n\n.topbar-socials {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: flex-end;\n  gap: 8px;\n  margin-left: 4px;\n  padding-left: 8px;\n  border-left: 1px solid rgba(255, 255, 255, 0.10);\n}\n\n.topbar-social-link {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 38px;\n  height: 38px;\n  padding: 0;\n  border-radius: 999px;\n  border: 1px solid rgba(255, 255, 255, 0.16);\n  background:\n    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.16), transparent 28%),\n    linear-gradient(180deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.025));\n  color: var(--text);\n  text-decoration: none;\n  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;\n}\n\n.topbar-social-link svg {\n  width: 18px;\n  height: 18px;\n  display: block;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 1.85;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n\n.topbar-social-link[aria-label=\"TikTok\"] svg,\n.topbar-social-link[aria-label=\"X\"] svg,\n.topbar-social-link[aria-label=\"Facebook\"] svg,\n.topbar-social-link[aria-label=\"Tumblr\"] svg,\n.topbar-social-link[aria-label=\"Patreon\"] svg,\n.topbar-social-link[aria-label=\"Fanvue\"] svg {\n  fill: currentColor;\n  stroke: none;\n}\n\n.topbar-social-label {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  overflow: hidden;\n  clip: rect(0 0 0 0);\n  white-space: nowrap;\n}\n\n.topbar-social-link:hover,\n.topbar-social-link:focus-visible {\n  transform: translateY(-1px);\n  border-color: rgba(54, 205, 255, 0.62);\n  background: rgba(54, 205, 255, 0.16);\n  box-shadow: 0 10px 26px rgba(54, 205, 255, 0.18);\n  color: #ffffff;\n  outline: none;\n}\n\n.member-access-nav {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-left: 4px;\n  padding-left: 8px;\n  border-left: 1px solid rgba(255, 255, 255, 0.10);\n}\n\n.member-access-nav .login-pill {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 34px;\n  padding: 8px 12px;\n  border-radius: 999px;\n  border: 1px solid rgba(54, 205, 255, 0.42);\n  background: linear-gradient(180deg, rgba(54, 205, 255, 0.18), rgba(54, 205, 255, 0.08));\n  color: #f4f7fb;\n  font-size: 0.76rem;\n  font-weight: 900;\n  letter-spacing: 0.05em;\n  text-decoration: none;\n  text-transform: uppercase;\n  white-space: nowrap;\n}\n\n.member-access-nav .signup-pill {\n  background: #36cdff;\n  color: #031019;\n  border-color: rgba(54, 205, 255, 0.9);\n}\n\n.member-access-nav .recover-link {\n  color: var(--muted);\n  font-size: 0.72rem;\n  line-height: 1.15;\n  text-decoration: none;\n  max-width: 9.5rem;\n}\n\n.member-access-nav a:hover,\n.member-access-nav a:focus-visible {\n  transform: translateY(-1px);\n  outline: none;\n  filter: brightness(1.08);\n}\n\n.locale-tag {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n}\n\n.locale-flag {\n  display: inline-flex;\n  width: 18px;\n  height: 12px;\n  border-radius: 3px;\n  overflow: hidden;\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.32);\n  flex: 0 0 auto;\n}\n\n.locale-flag-gb {\n  background:\n    linear-gradient(90deg, transparent 42%, #fff 42% 58%, transparent 58%),\n    linear-gradient(0deg, transparent 38%, #fff 38% 62%, transparent 62%),\n    linear-gradient(90deg, transparent 46%, #c8102e 46% 54%, transparent 54%),\n    linear-gradient(0deg, transparent 44%, #c8102e 44% 56%, transparent 56%),\n    #012169;\n}\n\n.locale-flag-de {\n  background: linear-gradient(180deg, #000 0 33%, #dd0000 33% 66%, #ffce00 66% 100%);\n}\n\n.locale-flag-es {\n  background: linear-gradient(180deg, #aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75% 100%);\n}\n\n.locale-flag-fr {\n  background: linear-gradient(90deg, #0055a4 0 33%, #fff 33% 66%, #ef4135 66% 100%);\n}\n\n.section-heading {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);\n  gap: 20px;\n  align-items: end;\n  margin-bottom: 14px;\n}\n\n.section-heading > div {\n  min-width: 0;\n}\n\n.section-heading p {\n  margin: 0;\n  max-width: 38ch;\n  justify-self: end;\n}\n\n.home-page .section-heading > p {\n  display: none;\n}\n\n.video-showcase {\n  display: grid;\n  gap: 12px;\n}\n\n.hero {\n  display: grid !important;\n  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr) !important;\n  gap: 24px !important;\n  align-items: stretch;\n}\n\n.hero-copy {\n  min-width: 0;\n  min-height: clamp(460px, 42vw, 560px);\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-end;\n}\n\n.hero-copy h1 {\n  max-width: 16ch;\n  font-size: clamp(2.65rem, 3.6vw, 4.25rem);\n  line-height: 1.04;\n  letter-spacing: 0;\n}\n\n.hero-copy .lead,\n.hero-copy .legal-note {\n  max-width: 44ch;\n}\n\n.hero-media {\n  min-width: 0;\n  min-height: 0;\n  justify-content: flex-start;\n  gap: 18px;\n}\n\n.hero-media .player {\n  flex: 0 0 auto;\n  aspect-ratio: auto !important;\n  background: transparent !important;\n  border: 0 !important;\n  border-radius: 0 !important;\n  overflow: visible !important;\n}\n\n.hero-media .preview-thumb {\n  display: block;\n  height: auto;\n  aspect-ratio: 16 \/ 9;\n}\n\n.hero-sidecar {\n  min-width: 0;\n  min-height: 0;\n  grid-column: 1 \/ -1;\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n.hero-sidecar .eyebrow {\n  margin-bottom: 2px;\n}\n\n.hero-sidecar-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));\n  gap: 12px;\n}\n\n.hero-sidecar-card {\n  padding: 14px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.04);\n  border: 1px solid var(--line);\n}\n\n.hero-sidecar-card strong {\n  display: block;\n  font-size: 1rem;\n  margin-bottom: 6px;\n}\n\n.hero-sidecar-card p {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.5;\n}\n\n.hero-sidecar-actions {\n  display: grid;\n  gap: 10px;\n  margin-top: auto;\n}\n\n.hero-sidecar .btn {\n  width: 100%;\n  justify-content: center;\n}\n\n.mockup-feature-card,\n.mockup-rail-card,\n.mockup-price-card,\n.mockup-stat-card,\n.mockup-summary {\n  border-radius: 24px;\n}\n\n.sales-tier-card,\n.mockup-price-card {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  height: 100%;\n}\n\n.sales-tier-card .tag-row,\n.mockup-price-card ul {\n  margin-top: auto;\n}\n\n.mockup-feature-grid,\n.mockup-rail-grid,\n.mockup-stat-grid,\n.mockup-price-grid {\n  display: grid;\n  gap: 16px;\n}\n\n.mockup-feature-grid,\n.mockup-price-grid,\n.mockup-stat-grid {\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));\n}\n\n.mockup-rail-grid {\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));\n}\n\n.mockup-feature-card,\n.mockup-rail-card,\n.mockup-stat-card,\n.mockup-price-card,\n.mockup-summary {\n  padding: 16px;\n}\n\n.mockup-feature-card,\n.mockup-rail-card {\n  display: grid;\n  align-content: start;\n  gap: 14px;\n}\n\n.mockup-feature-card img {\n  width: 100%;\n  aspect-ratio: 16 \/ 9;\n  object-fit: cover;\n  border-radius: 16px;\n  border: 1px solid var(--line);\n  display: block;\n  margin-bottom: 0;\n}\n\n.mockup-rail-card img {\n  width: 100%;\n  aspect-ratio: 16 \/ 10;\n  object-fit: cover;\n  border-radius: 16px;\n  border: 1px solid var(--line);\n  display: block;\n  margin-bottom: 0;\n}\n\n.mockup-rail-card {\n  appearance: none;\n  width: 100%;\n  text-align: left;\n  color: inherit;\n  cursor: pointer;\n  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;\n}\n\n.mockup-feature-grid + .section-heading,\n.mockup-rail-grid + .section-heading,\n.mockup-price-grid + .section-heading,\n.mockup-stat-grid + .section-heading {\n  margin-top: clamp(54px, 7vw, 92px) !important;\n}\n\n.mockup-rail-card:hover,\n.mockup-rail-card:focus-visible {\n  transform: translateY(-4px);\n  border-color: rgba(87, 209, 255, .62);\n  box-shadow: 0 26px 70px rgba(0, 0, 0, .32), 0 0 0 1px rgba(87, 209, 255, .14) inset;\n  outline: none;\n}\n\n.mockup-rail-card::after {\n  content: attr(data-open-label);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 32px;\n  margin-top: 14px;\n  padding: 0 14px;\n  border-radius: 999px;\n  border: 1px solid rgba(255,255,255,.16);\n  color: #f8fbff;\n  background: rgba(255,255,255,.055);\n  font-size: .78rem;\n  font-weight: 900;\n}\n\n.rail-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 99998;\n  display: none;\n  align-items: center;\n  justify-content: center;\n  padding: clamp(18px, 4vw, 54px);\n  background: rgba(1, 6, 10, .78);\n  backdrop-filter: blur(18px);\n}\n\n.rail-modal.is-open {\n  display: flex;\n}\n\n.rail-modal-card {\n  position: relative;\n  width: min(1180px, 96vw);\n  max-height: min(860px, 92vh);\n  overflow: auto;\n  border-radius: 34px;\n  border: 1px solid rgba(87, 209, 255, .2);\n  background: linear-gradient(145deg, rgba(16, 26, 38, .98), rgba(3, 7, 12, .98));\n  box-shadow: 0 34px 120px rgba(0,0,0,.72);\n}\n\n.rail-modal-visual {\n  position: relative;\n  min-height: clamp(280px, 45vw, 560px);\n  background: #03070c center\/cover no-repeat;\n}\n\n.rail-modal-visual::after {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.86));\n}\n\n.rail-modal-copy {\n  position: relative;\n  z-index: 1;\n  margin-top: calc(-1 * clamp(170px, 25vw, 250px));\n  padding: clamp(22px, 4vw, 48px);\n  max-width: 780px;\n}\n\n.rail-modal-copy h3 {\n  margin: 12px 0;\n  font-size: clamp(2.2rem, 5vw, 5.2rem);\n  line-height: 1.04;\n  letter-spacing: 0;\n}\n\n.rail-modal-copy p {\n  color: #d5e2ee;\n  font-size: 1.05rem;\n  line-height: 1.72;\n}\n\n.rail-modal-close {\n  position: absolute;\n  top: 18px;\n  right: 18px;\n  z-index: 2;\n  width: 44px;\n  height: 44px;\n  border-radius: 999px;\n  border: 1px solid rgba(255,255,255,.18);\n  background: rgba(0,0,0,.42);\n  color: #fff;\n  font-size: 1.5rem;\n  cursor: pointer;\n}\n\n.mockup-feature-card h3,\n.mockup-rail-card h3,\n.mockup-price-card h3,\n.mockup-summary h3 {\n  margin: 0 0 8px;\n}\n\n.mockup-feature-card p,\n.mockup-rail-card p,\n.mockup-stat-card p,\n.mockup-summary p,\n.mockup-inline-note {\n  margin: 0;\n  color: var(--muted);\n  line-height: 1.6;\n}\n\n.mockup-inline-note {\n  margin-top: 10px;\n}\n\n.mockup-stat-card strong {\n  display: block;\n  font-size: 1.55rem;\n  margin-bottom: 6px;\n}\n\n.mockup-price-card .price {\n  font-size: 1.9rem;\n  font-weight: 800;\n  margin: 0 0 12px;\n}\n\n.mockup-price-card ul,\n.mockup-summary ul {\n  margin: 0;\n  padding-left: 18px;\n  color: var(--muted);\n  line-height: 1.7;\n}\n\n.membership-form-panel {\n  padding: 20px;\n}\n\n.membership-form {\n  display: grid;\n  gap: 16px;\n}\n\n.member-form-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 14px;\n}\n\n.form-field {\n  display: grid;\n  gap: 8px;\n}\n\n.form-field.is-full {\n  grid-column: 1 \/ -1;\n}\n\n.form-field label {\n  font-size: 0.92rem;\n  color: #f2f5fb;\n  font-weight: 700;\n}\n\n.form-field input,\n.form-field select,\n.form-field textarea {\n  width: 100%;\n  border-radius: 16px;\n  border: 1px solid rgba(255,255,255,.1);\n  background: rgba(255,255,255,.04);\n  color: #f5f7fb;\n  padding: 14px 15px;\n  outline: none;\n  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;\n}\n\n.form-field textarea {\n  min-height: 120px;\n  resize: vertical;\n}\n\n.form-field input:focus,\n.form-field select:focus,\n.form-field textarea:focus {\n  border-color: rgba(87,209,255,.75);\n  box-shadow: 0 0 0 3px rgba(87,209,255,.14);\n  background: rgba(255,255,255,.06);\n}\n\n.form-checks {\n  display: grid;\n  gap: 10px;\n}\n\n.form-check {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  color: var(--muted);\n  line-height: 1.55;\n}\n\n.form-check input {\n  margin-top: 3px;\n}\n\n.form-submit-row {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 12px;\n}\n\n.form-submit-row .btn {\n  min-width: 220px;\n  justify-content: center;\n}\n\n.form-status {\n  min-height: 24px;\n  color: var(--muted);\n  font-size: 0.95rem;\n}\n\n.form-status.is-success {\n  color: #8df4bd;\n}\n\n.form-status.is-error {\n  color: #ff9da6;\n}\n\n.form-status.is-pending {\n  color: #8ce6ff;\n}\n\n.video-shelf {\n  grid-auto-columns: minmax(248px, calc((100% - 32px) \/ 3));\n}\n\n.mockup-split-grid {\n  display: grid;\n  grid-template-columns: 1.2fr 0.8fr;\n  gap: 18px;\n}\n\n.mockup-collection-cover {\n  position: relative;\n  min-height: 270px;\n  border-radius: 22px;\n  overflow: hidden;\n  border: 1px solid var(--line);\n}\n\n.mockup-collection-cover img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n\n.mockup-collection-cover .overlay-copy {\n  min-height: 100%;\n}\n\n.seo-geo-block {\n  margin-top: 34px;\n  display: grid;\n  grid-template-columns: minmax(0, 0.82fr) minmax(280px, 0.48fr);\n  gap: 18px;\n  align-items: stretch;\n}\n\n.seo-geo-block h2,\n.seo-geo-block h3 {\n  margin-top: 0;\n}\n\n.seo-geo-list {\n  display: grid;\n  gap: 10px;\n  margin: 16px 0 0;\n  padding: 0;\n  list-style: none;\n}\n\n.seo-geo-list li {\n  padding: 12px 14px;\n  border-radius: 16px;\n  border: 1px solid var(--line);\n  background: rgba(255, 255, 255, 0.04);\n  color: var(--muted);\n}\n\n.preview-date {\n  position: absolute;\n  right: 12px;\n  top: 12px;\n  z-index: 4;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 28px;\n  padding: 6px 10px;\n  border-radius: 999px;\n  background: rgba(4, 7, 12, 0.72);\n  border: 1px solid rgba(255, 255, 255, 0.16);\n  color: #f4f7fb;\n  font-size: 0.72rem;\n  font-weight: 900;\n  letter-spacing: 0.04em;\n  backdrop-filter: blur(8px);\n  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);\n}\n\n.preview-new-badge {\n  position: absolute;\n  left: 12px;\n  top: 52px;\n  z-index: 5;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 28px;\n  padding: 6px 10px;\n  border-radius: 999px;\n  background: linear-gradient(135deg, #36cdff, #b5ff7a);\n  color: #031019;\n  font-size: 0.72rem;\n  font-weight: 950;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  box-shadow: 0 12px 30px rgba(54, 205, 255, 0.28);\n}\n\n.preview-card.is-member .preview-thumb img,\n.preview-card.is-locked-preview .preview-thumb img {\n  filter: saturate(1.03) brightness(.88);\n  transform: scale(1);\n}\n\n.preview-card.is-member .preview-thumb::after,\n.preview-card.is-locked-preview .preview-thumb::after {\n  content: attr(data-lock-label);\n  position: absolute;\n  left: 14px;\n  right: 14px;\n  bottom: 14px;\n  z-index: 8;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 48px;\n  padding: 10px 14px;\n  border-radius: 18px;\n  border: 1px solid rgba(87, 209, 255, .28);\n  color: #f8fbff;\n  background: linear-gradient(135deg, rgba(5, 9, 15, .9), rgba(13, 30, 42, .84));\n  box-shadow: 0 18px 44px rgba(0, 0, 0, .42);\n  font-size: .78rem;\n  font-weight: 950;\n  letter-spacing: .05em;\n  line-height: 1.25;\n  text-align: center;\n  text-transform: uppercase;\n  backdrop-filter: blur(12px);\n}\n\n.preview-card.is-member .preview-play,\n.preview-card.is-locked-preview .preview-play {\n  opacity: 0;\n  pointer-events: none;\n}\n\n@media (max-width: 1220px) {\n  .shell {\n    width: min(100% - 28px, 1180px) !important;\n    max-width: 1180px !important;\n  }\n\n  .hero {\n    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr) !important;\n    gap: 18px;\n  }\n\n  .mockup-feature-grid,\n  .mockup-rail-grid,\n  .mockup-stat-grid,\n  .mockup-price-grid {\n    gap: 14px;\n  }\n}\n\n@media (max-width: 980px) {\n  .hero {\n    grid-template-columns: 1fr !important;\n  }\n\n  .hero-sidecar {\n    width: 100%;\n    max-width: 100%;\n    grid-column: auto;\n  }\n\n  .hero-copy,\n  .hero-media {\n    min-height: 0;\n  }\n\n  .hero-copy h1 {\n    max-width: 16ch;\n    font-size: clamp(2.45rem, 5.2vw, 3.9rem);\n    line-height: 1.05;\n  }\n\n  .hero-copy,\n  .hero-media {\n    padding: 22px;\n  }\n\n  .hero-media .player,\n  .hero-media img {\n    aspect-ratio: 16 \/ 9;\n  }\n\n  .preview-launch-hero .preview-thumb {\n    aspect-ratio: 16 \/ 9;\n  }\n\n  .legal-nav {\n    width: 100%;\n    justify-content: flex-start;\n  }\n\n.locale-switcher {\n  margin-left: 0;\n}\n}\n\n@media (max-width: 1120px) {\n  .shell {\n    width: min(100% - 24px, 1024px) !important;\n    max-width: 1024px !important;\n  }\n\n  .mockup-feature-grid,\n  .mockup-rail-grid,\n  .mockup-stat-grid,\n  .mockup-price-grid,\n  .mockup-split-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .catalog-toolbar-head,\n  .catalog-filter-grid,\n  .section-heading,\n  .image-series-showcase,\n  .image-series-card-grid,\n  .image-series-visual-band,\n  .editor-grid,\n  .dual-form-grid,\n  .seo-geo-block,\n  .member-form-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .grid.cards,\n  .pattern-grid,\n  .story-principle-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 920px) {\n  .topbar {\n    position: static;\n    align-items: flex-start;\n    flex-direction: column;\n    gap: 14px;\n    padding: 14px 0 16px;\n    backdrop-filter: none;\n    background: transparent;\n  }\n\n  .brand {\n    width: 100%;\n  }\n\n  .legal-nav {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    width: 100%;\n    gap: 10px;\n  }\n\n  .brand-copy strong {\n    font-size: 0.98rem;\n    letter-spacing: 0.08em;\n  }\n\n  .brand-copy span {\n    font-size: 0.86rem;\n  }\n\n  .legal-nav > .tag,\n  .locale-switcher .tag {\n    justify-content: center;\n  }\n\n  .locale-switcher {\n    grid-column: 1 \/ -1;\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    width: 100%;\n    gap: 10px;\n  }\n\n  .topbar-socials {\n    grid-column: 1 \/ -1;\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    width: 100%;\n    margin-left: 0;\n    padding-left: 0;\n    border-left: 0;\n  }\n\n  .topbar-social-link {\n    width: 100%;\n  }\n\n  .member-access-nav {\n    grid-column: 1 \/ -1;\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    width: 100%;\n    margin-left: 0;\n    padding-left: 0;\n    border-left: 0;\n    gap: 10px;\n  }\n\n  .member-access-nav .login-pill,\n  .member-access-nav .recover-link {\n    width: 100%;\n    max-width: none;\n    text-align: center;\n    justify-content: center;\n  }\n\n  .mockup-feature-grid,\n  .mockup-rail-grid,\n  .mockup-stat-grid,\n  .mockup-price-grid,\n  .mockup-split-grid,\n  .grid.cards {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .hero-sidecar-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .section-heading {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n\n  .section-heading h2 {\n    font-size: 1.6rem;\n  }\n\n  .hero-copy h1 {\n    font-size: clamp(2.2rem, 6vw, 3.4rem);\n  }\n\n  .video-shelf {\n    grid-auto-columns: minmax(250px, 58vw);\n  }\n\n  .mockup-price-card .price,\n  .sales-tier-card .price {\n    font-size: 1.55rem;\n  }\n}\n\n@media (max-width: 760px) {\n  .shell {\n    width: min(100% - 20px, 760px) !important;\n    max-width: 760px !important;\n  }\n\n  .topbar {\n    padding: 12px 14px 14px;\n    border-radius: 0 0 18px 18px;\n  }\n\n  .mockup-feature-grid,\n  .mockup-rail-grid,\n  .mockup-stat-grid,\n  .mockup-price-grid,\n  .mockup-split-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .hero-sidecar-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .grid.cards {\n    grid-template-columns: 1fr;\n  }\n\n  .hero-copy,\n  .hero-media,\n  .concept-teaser,\n  .concept-page,\n  .catalog-toolbar,\n  .auth-panel,\n  .story-principle-card,\n  .sales-tier-card,\n  .mockup-summary,\n  .mockup-feature-card,\n  .mockup-rail-card,\n  .mockup-price-card {\n    padding: 18px;\n  }\n\n  .hero h1 {\n    font-size: clamp(2rem, 9vw, 3rem);\n  }\n\n  .lead {\n    font-size: 0.98rem;\n  }\n\n  .video-shelf {\n    grid-auto-columns: minmax(220px, 84vw);\n  }\n\n  .preview-thumb {\n    aspect-ratio: 3 \/ 4;\n  }\n\n  .preview-copy {\n    padding: 12px 12px 10px;\n  }\n\n  .preview-copy strong {\n    font-size: 0.92rem;\n  }\n\n  .preview-copy span:last-child {\n    font-size: 0.8rem;\n    line-height: 1.35;\n  }\n\n  .tag-row {\n    gap: 8px;\n  }\n\n  .tag {\n    font-size: 0.8rem;\n    padding: 8px 11px;\n  }\n\n  .btn {\n    min-height: 46px;\n  }\n}\n\n@media (max-width: 560px) {\n  .shell {\n    width: min(100% - 18px, 560px) !important;\n    max-width: 560px !important;\n  }\n\n  .legal-nav {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .locale-switcher {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .topbar-socials {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .tag-row,\n  .cta-row {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .btn {\n    width: 100%;\n    text-align: center;\n  }\n\n  .video-shelf {\n    grid-auto-columns: minmax(210px, 88vw);\n  }\n\n  .brand {\n    gap: 10px;\n  }\n\n  .brand-mark {\n    width: 46px;\n    height: 46px;\n    border-radius: 14px;\n  }\n\n  .hero-copy h1 {\n    font-size: clamp(1.8rem, 10vw, 2.45rem);\n  }\n\n  .hero-copy .lead,\n  .hero-copy .legal-note {\n    font-size: 0.92rem;\n    line-height: 1.55;\n  }\n\n  .section-heading h2 {\n    font-size: 1.34rem;\n  }\n\n  .preview-thumb {\n    aspect-ratio: 10 \/ 13;\n  }\n\n  .video-card-copy,\n  .mockup-stat-card,\n  .mockup-summary,\n  .sales-tier-card,\n  .story-principle-card {\n    padding: 14px;\n  }\n\n  .catalog-results-row {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .catalog-results-row .btn {\n    width: 100%;\n  }\n}\n\n@media (max-width: 420px) {\n  .shell {\n    width: min(100% - 12px, 420px);\n  }\n\n  .legal-nav {\n    gap: 8px;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .locale-switcher {\n    grid-template-columns: 1fr 1fr;\n    gap: 8px;\n  }\n\n  .topbar-socials {\n    grid-template-columns: 1fr 1fr;\n    gap: 8px;\n  }\n\n  .member-access-nav {\n    grid-template-columns: 1fr;\n  }\n\n  .hero-copy,\n  .hero-media,\n  .concept-teaser,\n  .concept-page,\n  .catalog-toolbar {\n    padding: 14px;\n  }\n\n  .video-shelf {\n    grid-auto-columns: minmax(200px, 92vw);\n  }\n\n  .preview-badge,\n  .preview-play {\n    font-size: 0.7rem;\n  }\n\n  .preview-date {\n    font-size: 0.66rem;\n  }\n\n  .preview-copy strong {\n    font-size: 0.88rem;\n  }\n}\n<\/style>\n\n\n<div class=\"dtu-age-gate\" id=\"dtu-age-gate\" hidden>\n  <div class=\"dtu-age-card\">\n    <span class=\"dtu-age-kicker\" data-lkey=\"age_gate_kicker\">18+ access<\/span>\n    <h2 data-lkey=\"age_gate_title\">Adult content notice<\/h2>\n    <p data-lkey=\"age_gate_body\">DontTELL.US is a multilingual adult premium story platform with free previews, video episodes, visual dossiers and member access. Confirm that you are 18 years or older before any 18+ material becomes visible.<\/p>\n    <ul class=\"dtu-age-points\">\n      <li data-lkey=\"age_gate_point_1\">Content stays hidden until you confirm your age.<\/li>\n      <li data-lkey=\"age_gate_point_2\">Your confirmation is stored locally on this device.<\/li>\n      <li data-lkey=\"age_gate_point_3\">By continuing, you confirm that you are legally allowed to view this content.<\/li>\n    <\/ul>\n    <div class=\"dtu-age-actions\">\n      <button class=\"btn btn-primary\" type=\"button\" id=\"dtu-age-confirm\" data-lkey=\"age_gate_confirm\">I am 18 or older<\/button>\n      <a class=\"btn btn-secondary\" id=\"dtu-age-leave\" href=\"https:\/\/www.google.com\" data-lkey=\"age_gate_leave\" target=\"_blank\" rel=\"noopener\">Leave site<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"shell mockup-page home-page\">\n  \n<header class=\"topbar\">\n  <div class=\"brand\">\n    <img decoding=\"async\" class=\"brand-mark\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/brand-mark.png\" alt=\"DontTELL.US\" aria-hidden=\"true\">\n    <div class=\"brand-copy\">\n      <strong>DontTELL.US<\/strong>\n      <span data-lkey=\"brand_tagline\">Enter a secret world &#8211; join now!<\/span>\n    <\/div>\n  <\/div>\n  <nav class=\"legal-nav\">\n    <a class=\"tag is-active\" data-route-key=\"home\" href=\"\/en_us\/\"><span data-lkey=\"nav_home\">Home<\/span><\/a>\n    <a class=\"tag\" data-route-key=\"free\" href=\"\/en_us\/free\/\"><span data-lkey=\"nav_free\">Free<\/span><\/a>\n    <a class=\"tag\" data-route-key=\"live\" href=\"\/en_us\/free\/#live-productions\"><span data-lkey=\"nav_live\">Live<\/span><\/a>\n    <a class=\"tag\" data-route-key=\"catalog\" href=\"\/en_us\/catalog\/\"><span data-lkey=\"nav_catalog\">Catalog<\/span><\/a>\n    <a class=\"tag\" data-route-key=\"image-series\" href=\"\/en_us\/image-series\/\"><span data-lkey=\"nav_image_series\">Image Series<\/span><\/a>\n    <a class=\"tag\" data-route-key=\"memberships\" href=\"\/en_us\/memberships\/\"><span data-lkey=\"nav_membership\">Membership<\/span><\/a>\n    <div class=\"member-access-nav\" aria-label=\"Member access\">\n      <a class=\"login-pill\" href=\"https:\/\/www.donttellus.com\/en_us\/access\/#login\" data-lkey=\"nav_login\" data-login-link>Login<\/a>\n      <a class=\"login-pill signup-pill\" href=\"https:\/\/www.donttellus.com\/en_us\/access\/#register\" data-lkey=\"nav_register\" data-signup-link>Register<\/a>\n      <a class=\"recover-link\" href=\"https:\/\/www.donttellus.com\/wp-login.php?action=lostpassword&#038;dtu_brand=1\" data-lkey=\"nav_recover\" data-recover-link>Forgot password \/ username?<\/a>\n    <\/div>\n    <div class=\"locale-switcher\" aria-label=\"Language switcher\">\n      <a class=\"tag locale-tag\" data-locale=\"en\" data-target-url=\"https:\/\/www.donttellus.com\/en_us\/\" href=\"https:\/\/www.donttellus.com\/en_us\/\"><span class=\"locale-flag locale-flag-gb\" aria-hidden=\"true\"><\/span> EN<\/a>\n      <a class=\"tag locale-tag\" data-locale=\"de\" data-target-url=\"https:\/\/www.donttellus.com\/de\/\" href=\"https:\/\/www.donttellus.com\/de\/\"><span class=\"locale-flag locale-flag-de\" aria-hidden=\"true\"><\/span> DE<\/a>\n      <a class=\"tag locale-tag\" data-locale=\"es\" data-target-url=\"https:\/\/www.donttellus.com\/es\/\" href=\"https:\/\/www.donttellus.com\/es\/\"><span class=\"locale-flag locale-flag-es\" aria-hidden=\"true\"><\/span> ES<\/a>\n      <a class=\"tag locale-tag\" data-locale=\"fr\" data-target-url=\"https:\/\/www.donttellus.com\/fr\/\" href=\"https:\/\/www.donttellus.com\/fr\/\"><span class=\"locale-flag locale-flag-fr\" aria-hidden=\"true\"><\/span> FR<\/a>\n    <\/div>\n    <div class=\"topbar-socials\" aria-label=\"Social Media\">\n      <a class=\"topbar-social-link\" href=\"https:\/\/www.instagram.com\/donttell.us\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Instagram\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <rect x=\"4.2\" y=\"4.2\" width=\"15.6\" height=\"15.6\" rx=\"4.4\"><\/rect>\n        <circle cx=\"12\" cy=\"12\" r=\"3.8\"><\/circle>\n        <circle cx=\"16.7\" cy=\"7.3\" r=\"1.1\"><\/circle>\n      <\/svg>\n    <span class=\"topbar-social-label\">Instagram<\/span><\/a><a class=\"topbar-social-link\" href=\"https:\/\/www.tiktok.com\/@donttellus_og\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"TikTok\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M13.2 3.5v10.1a4.3 4.3 0 1 1-4.3-4.3c.4 0 .8.1 1.2.2v3.1a1.7 1.7 0 1 0 1.2 1.6V3.5h1.9z\"><\/path>\n        <path d=\"M13.2 3.5c.5 2.6 2.1 4.2 4.8 4.5v3.1c-1.8-.1-3.4-.7-4.8-1.8\"><\/path>\n      <\/svg>\n    <span class=\"topbar-social-label\">TikTok<\/span><\/a><a class=\"topbar-social-link\" href=\"https:\/\/x.com\/DontTELLUS_OG\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"X\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M4.4 4.6h4.3l3.8 5 4.5-5h2.7l-5.9 6.7 6.1 8.1h-4.3l-4.1-5.5-4.9 5.5H3.9l6.3-7.1L4.4 4.6z\"><\/path>\n      <\/svg>\n    <span class=\"topbar-social-label\">X<\/span><\/a><a class=\"topbar-social-link\" href=\"https:\/\/www.facebook.com\/profile.php?id=61591097293038\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Facebook\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M14.2 8.1h2.6V4.4c-.5-.1-2-.2-3.5-.2-3.4 0-5.1 2-5.1 5v2.6H5v4.1h3.2v6h4.3v-6h3.5l.6-4.1h-4.1V9.6c0-1 .4-1.5 1.7-1.5z\"><\/path>\n      <\/svg>\n    <span class=\"topbar-social-label\">Facebook<\/span><\/a><a class=\"topbar-social-link\" href=\"https:\/\/www.tumblr.com\/blog\/donttellus\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Tumblr\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M9.2 4.2h4.2v4h3.8v3.4h-3.8v4.4c0 1.2.6 1.8 1.8 1.8.7 0 1.3-.1 2-.4v3.5c-.9.4-2 .6-3.3.6-3.2 0-4.7-1.6-4.7-4.8v-5.1H6.8V8.7c1.8-.7 2.6-2.1 2.4-4.5z\"><\/path>\n      <\/svg>\n    <span class=\"topbar-social-label\">Tumblr<\/span><\/a><a class=\"topbar-social-link\" href=\"https:\/\/www.patreon.com\/donttellus_og\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Patreon\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M5.4 4.3h3.4v15.4H5.4z\"><\/path>\n        <circle cx=\"15\" cy=\"9.4\" r=\"5.1\"><\/circle>\n      <\/svg>\n    <span class=\"topbar-social-label\">Patreon<\/span><\/a><a class=\"topbar-social-link\" href=\"https:\/\/www.fanvue.com\/dontellus_og\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Fanvue\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M5 4.8h14v3.6h-9.7v2.9h7.6v3.5H9.3v4.4H5z\"><\/path>\n      <\/svg>\n    <span class=\"topbar-social-label\">Fanvue<\/span><\/a>\n    <\/div>\n  <\/nav>\n<\/header>\n<script>\n(function() {\n  const path = window.location.pathname || \"\";\n  let locale = \"en\";\n  if (path.startsWith(\"\/de\/\") || path === \"\/de\") locale = \"de\";\n  else if (path.startsWith(\"\/es\/\") || path === \"\/es\") locale = \"es\";\n  else if (path.startsWith(\"\/fr\/\") || path === \"\/fr\") locale = \"fr\";\n  const authTargets = {\"en\": {\"login\": \"https:\/\/www.donttellus.com\/en_us\/access\/#login\", \"register\": \"https:\/\/www.donttellus.com\/en_us\/access\/#register\"}, \"de\": {\"login\": \"https:\/\/www.donttellus.com\/de\/access\/#login\", \"register\": \"https:\/\/www.donttellus.com\/de\/access\/#register\"}, \"es\": {\"login\": \"https:\/\/www.donttellus.com\/es\/access\/#login\", \"register\": \"https:\/\/www.donttellus.com\/es\/access\/#register\"}, \"fr\": {\"login\": \"https:\/\/www.donttellus.com\/fr\/access\/#login\", \"register\": \"https:\/\/www.donttellus.com\/fr\/access\/#register\"}};\n  function enforceAuthLinks() {\n    const target = authTargets[locale] || authTargets.en;\n    document.querySelectorAll(\"[data-login-link]\").forEach((el) => el.setAttribute(\"href\", target.login));\n    document.querySelectorAll(\"[data-signup-link]\").forEach((el) => el.setAttribute(\"href\", target.register));\n    document.querySelectorAll(\"[data-recover-link]\").forEach((el) => el.setAttribute(\"href\", \"https:\/\/www.donttellus.com\/wp-login.php?action=lostpassword&dtu_brand=1\"));\n  }\n  enforceAuthLinks();\n  window.setTimeout(enforceAuthLinks, 50);\n  window.setTimeout(enforceAuthLinks, 350);\n  document.querySelectorAll(\".locale-tag\").forEach((el) => {\n    const target = el.getAttribute(\"data-target-url\");\n    if (target) {\n      el.setAttribute(\"href\", target);\n      el.addEventListener(\"click\", (event) => {\n        event.preventDefault();\n        window.location.href = target;\n      });\n    }\n    el.classList.toggle(\"is-active\", el.getAttribute(\"data-locale\") === locale);\n  });\n})();\n<\/script>\n\n\n  <section class=\"hero\">\n    <div class=\"panel hero-copy\" style=\"background:linear-gradient(180deg, rgba(7,10,16,.76), rgba(7,10,16,.88)), url('https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-hero.png') center\/cover no-repeat;\">\n      <div class=\"eyebrow\" data-lkey=\"home_eyebrow\">DontTELL.US | Premium-Story-Plattform<\/div>\n      <h1 data-lkey=\"home_title\">Betritt eine geheime Welt &#8211; jetzt beitreten!<\/h1>\n      <p class=\"lead\" data-lkey=\"home_lead\">Eine kuratierte Crime-Story-Videothek mit freien Teasern, Member-Cuts, Bildserien, PPV-Bundles und klaren Wegen in die vollst\u00e4ndigen F\u00e4lle.<\/p>\n      <p class=\"legal-note\" data-lkey=\"home_note\">Jede Reihe folgt einer eigenen Dramaturgie: Zugriff, Kontrolle, Sicherung, \u00dcbergabe, Verwahrung und visuelle Dossiers in einer einzigen Markenoberfl\u00e4che.<\/p>\n      <div class=\"tag-row\">\n        <span class=\"tag\">Freie Teaser<\/span>\n        <span class=\"tag\">Nur Mitglieder<\/span>\n        <span class=\"tag\">PPV-Bundles<\/span>\n        <span class=\"tag\">EN \/ DE \/ ES \/ FR<\/span>\n      <\/div>\n      <div class=\"cta-row\">\n        <a class=\"btn btn-primary\" data-route-key=\"free\" href=\"\/en_us\/free\/\" data-lkey=\"home_cta_primary\">Kostenlose Vorschauen ansehen<\/a>\n        <a class=\"btn btn-secondary\" data-route-key=\"memberships\" href=\"\/en_us\/memberships\/\" data-lkey=\"home_cta_secondary\">Mitgliedschaft \u00f6ffnen<\/a>\n      <\/div>\n    <\/div>\n    <aside class=\"panel hero-media\">\n      <div class=\"eyebrow\" data-lkey=\"hero_showcase_eyebrow\">Ausgew\u00e4hltes Dossier<\/div>\n      <div class=\"player preview-player\">\n        <button class=\"preview-launch preview-launch-hero\" type=\"button\">\n          <span class=\"preview-thumb\" style=\"aspect-ratio:16\/9\">\n            <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-hero.png\" alt=\"DontTELL.US hero visual\">\n            <span class=\"preview-gradient\"><\/span>\n            <span class=\"preview-badge\">Fallvorschau<\/span>\n            <span class=\"preview-play\">Vorschau<\/span>\n          <\/span>\n        <\/button>\n      <\/div>\n      <div class=\"media-caption\">\n        <strong data-lkey=\"hero_showcase_title\">Aktueller Fall: Zugriff, Kontrolle, Verwahrung<\/strong>\n        <p data-lkey=\"hero_showcase_body\">Die B\u00fchne f\u00fchrt direkt in die Storywelt: Streetwear-Details, kontrollierte Eskalation, freie Vorschau und klare Freischaltung.<\/p>\n      <\/div>\n    <\/aside>\n    <aside class=\"panel hero-sidecar\">\n      <div class=\"eyebrow\" data-lkey=\"hero_sidecar_eyebrow\">Schnellzugriff<\/div>\n      <div class=\"hero-sidecar-grid\">\n        <article class=\"hero-sidecar-card\">\n          <strong data-lkey=\"hero_sidecar_card_1_title\">Freier Einstieg<\/strong>\n          <p data-lkey=\"hero_sidecar_card_1_body\">Teaser-Rails, sichere Vorschauen und ein sofort sichtbarer Upgrade-Weg.<\/p>\n        <\/article>\n        <article class=\"hero-sidecar-card\">\n          <strong data-lkey=\"hero_sidecar_card_2_title\">Mitgliederzugang<\/strong>\n          <p data-lkey=\"hero_sidecar_card_2_body\">Vollversionen, Bildserien und Premium-Dossiers in einer Oberfl\u00e4che.<\/p>\n        <\/article>\n        <article class=\"hero-sidecar-card\">\n          <strong data-lkey=\"hero_sidecar_card_3_title\">PPV &#038; Bundles<\/strong>\n          <p data-lkey=\"hero_sidecar_card_3_body\">Einzelkauf, Pakete und sp\u00e4tere Story-Requests direkt angebunden.<\/p>\n        <\/article>\n        <article class=\"hero-sidecar-card\">\n          <strong data-lkey=\"hero_sidecar_card_4_title\">Premium<\/strong>\n          <p data-lkey=\"hero_sidecar_card_4_body\">Priorisierte Drops, Bildserien und Story-Requests als st\u00e4rkster Zugang.<\/p>\n        <\/article>\n      <\/div>\n      <div class=\"hero-sidecar-actions\">\n        <a class=\"btn btn-secondary\" data-route-key=\"image-series\" href=\"\/en_us\/image-series\/\" data-lkey=\"hero_sidecar_cta_1\">Bildserien \u00f6ffnen<\/a>\n        <a class=\"btn btn-secondary\" data-route-key=\"catalog\" href=\"\/en_us\/catalog\/\" data-lkey=\"hero_sidecar_cta_2\">Gesamtkatalog \u00f6ffnen<\/a>\n      <\/div>\n    <\/aside>\n  <\/section>\n\n<section class=\"video-showcase\">\n    <div class=\"section-heading\">\n      <div>\n        <div class=\"eyebrow\" data-lkey=\"free_shelf_eyebrow\">Live-Teaser-Rail<\/div>\n        <h2 data-lkey=\"free_shelf_title\">Freie Vorschauen<\/h2>\n      <\/div>\n      <p data-lkey=\"free_shelf_body\">Poster zuerst, dann Klick in die Vorschau und klarer CTA Richtung Mitgliedschaft oder PPV.<\/p>\n    <\/div>\n    <div id=\"home-teaser-shelf\" class=\"video-shelf\"><\/div>\n  <\/section>\n\n<section class=\"video-showcase new-release-section\" style=\"margin-top:34px;\">\n    <div class=\"section-heading\">\n      <div>\n        <div class=\"eyebrow\" data-lkey=\"new_posts_eyebrow\">Neue Drops<\/div>\n        <h2 data-lkey=\"new_posts_title\">Neu in den letzten 4 Wochen<\/h2>\n      <\/div>\n      <p data-lkey=\"new_posts_body\">Diese Reihe aktualisiert sich automatisch und zeigt nur frische Videos und Bild-Dossiers aus dem aktuellen 4-Wochen-Fenster.<\/p>\n    <\/div>\n    <div id=\"home-new-shelf\" class=\"video-shelf\">\n      <article class=\"panel video-card preview-card\"><div class=\"preview-launch\"><span class=\"preview-copy\"><strong data-lkey=\"new_posts_loading_title\">Neue Beitr\u00e4ge werden geladen<\/strong><span data-lkey=\"new_posts_loading_body\">Frische Eintr\u00e4ge der letzten 4 Wochen erscheinen hier automatisch.<\/span><\/span><\/div><\/article>\n    <\/div>\n  <\/section>\n\n<section class=\"popular-week-section\" style=\"margin-top:34px;\">\n    <div class=\"section-heading\">\n      <div>\n        <div class=\"eyebrow\">Discovery<\/div>\n        <h2>Beliebt diese Woche<\/h2>\n      <\/div>\n      <p>Views und anonyme Schnellbewertungen speisen diese Rail automatisch.<\/p>\n    <\/div>\n    <div id=\"home-popular-shelf\" class=\"video-shelf\">\n      <article class=\"panel video-card preview-card\"><div class=\"preview-launch\"><span class=\"preview-copy\"><strong>Live ranking wird geladen<\/strong><span>Die beliebtesten Inhalte erscheinen hier automatisch.<\/span><\/span><\/div><\/article>\n    <\/div>\n  <\/section>\n\n<section class=\"video-showcase\">\n    <div class=\"section-heading\">\n      <div>\n        <div class=\"eyebrow\" data-lkey=\"member_shelf_eyebrow\">Mitgliederregal<\/div>\n        <h2 data-lkey=\"member_shelf_title\">Vollversionen und Premium-Eintr\u00e4ge<\/h2>\n      <\/div>\n      <p data-lkey=\"member_shelf_body\">Die Mitgliederreihe folgt derselben Bildsprache wie die Teaser, wirkt aber h\u00f6herwertig und unmittelbarer.<\/p>\n    <\/div>\n    <div id=\"home-member-shelf\" class=\"video-shelf\"><\/div>\n  <\/section>\n\n\n\n  <section class=\"section-heading\">\n    <div>\n      <div class=\"eyebrow\" data-lkey=\"feature_eyebrow\">Story-Architektur<\/div>\n      <h2 data-lkey=\"feature_title\">Teaser, Member-Cuts, Bildserien und PPV-Bundles strukturieren die komplette Videothek.<\/h2>\n    <\/div>\n    <p data-lkey=\"feature_body\">Jeder Bereich hat eine klare Funktion: kostenloser Einstieg, volle Szene, visuelles Dossier und direkter Kauf- oder Mitgliedschaftspfad.<\/p>\n  <\/section>\n  <section class=\"mockup-feature-grid\">\n        <article class=\"panel mockup-feature-card\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/08\/homepage-arrest.png\" alt=\"Serien- und Folgenbereiche\">\n          <h3 data-lkey=\"feature_card_1_title\">Serien- und Folgenbereiche<\/h3>\n          <p data-lkey=\"feature_card_1_body\">Staffel, Folge, Teaser und Vollzugriff werden sauber getrennt, damit jede Falllinie nachvollziehbar bleibt.<\/p>\n        <\/article>\n        \n        <article class=\"panel mockup-feature-card\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/08\/homepage-sneakers-panda.png\" alt=\"Visuelle Orientierung\">\n          <h3 data-lkey=\"feature_card_2_title\">Visuelle Orientierung<\/h3>\n          <p data-lkey=\"feature_card_2_body\">Gro\u00dfe Poster, klare Badges und sofort erkennbare Teaser- oder Member-Hinweise f\u00fchren direkt zum passenden Inhalt.<\/p>\n        <\/article>\n        \n        <article class=\"panel mockup-feature-card\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/08\/homepage-protocol.png\" alt=\"Premium-Zugang\">\n          <h3 data-lkey=\"feature_card_3_title\">Premium-Zugang<\/h3>\n          <p data-lkey=\"feature_card_3_body\">Mitgliedschaft, Einzelkauf, Bundle und Story-Request funktionieren als zusammenh\u00e4ngender Kaufpfad.<\/p>\n        <\/article>\n        \n        <article class=\"panel mockup-feature-card\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/08\/homepage-musterung.png\" alt=\"Casting und Events\">\n          <h3 data-lkey=\"feature_card_4_title\">Casting und Events<\/h3>\n          <p data-lkey=\"feature_card_4_body\">Bewerbungen, Mitgliederbeteiligung und Event-Bereiche erweitern die Plattform \u00fcber reines Anschauen hinaus.<\/p>\n        <\/article>\n        <\/section>\n\n  <section class=\"section-heading\" style=\"margin-top:34px;\">\n    <div>\n      <div class=\"eyebrow\" data-lkey=\"rails_eyebrow\">Content-Rails<\/div>\n      <h2 data-lkey=\"rails_title\">Die Startseite f\u00fchrt Besucher direkt von Teaser-Rails zu F\u00e4llen, Bildserien und Premium-Zug\u00e4ngen.<\/h2>\n    <\/div>\n    <p data-lkey=\"rails_body\">Jede Rail verk\u00f6rpert ein Thema: Teaser, Serienwelt, Sportswear-Fokus, Dossiers, Bundles.<\/p>\n  <\/section>\n  <section class=\"mockup-rail-grid\">\n        <button class=\"panel mockup-rail-card\" type=\"button\" data-rail-modal-trigger data-rail-key=\"rail_card_1\" data-rail-image=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/08\/homepage-teaser.png\" data-rail-route=\"free\" data-open-label=\"Open\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/08\/homepage-teaser.png\" alt=\"Free teaser rail\">\n          <h3 data-lkey=\"rail_card_1_title\">Free teaser rail<\/h3>\n          <p data-lkey=\"rail_card_1_body\">Short safe previews create the first entry point and lead toward membership or PPV.<\/p>\n        <\/button>\n        \n        <button class=\"panel mockup-rail-card\" type=\"button\" data-rail-modal-trigger data-rail-key=\"rail_card_2\" data-rail-image=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-prison.png\" data-rail-route=\"catalog\" data-open-label=\"Open\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-prison.png\" alt=\"Access and custody series\">\n          <h3 data-lkey=\"rail_card_2_title\">Access and custody series<\/h3>\n          <p data-lkey=\"rail_card_2_body\">A story rail for access, securing, transport and handover.<\/p>\n        <\/button>\n        \n        <button class=\"panel mockup-rail-card\" type=\"button\" data-rail-modal-trigger data-rail-key=\"rail_card_3\" data-rail-image=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-screening.png\" data-rail-route=\"image-series\" data-open-label=\"Open\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-screening.png\" alt=\"Evidence and protocol\">\n          <h3 data-lkey=\"rail_card_3_title\">Evidence and protocol<\/h3>\n          <p data-lkey=\"rail_card_3_body\">Documentation, control and handover moments become their own visual story world.<\/p>\n        <\/button>\n        \n        <button class=\"panel mockup-rail-card\" type=\"button\" data-rail-modal-trigger data-rail-key=\"rail_card_4\" data-rail-image=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-sneakers.png\" data-rail-route=\"catalog\" data-open-label=\"Open\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-sneakers.png\" alt=\"Streetwear focus\">\n          <h3 data-lkey=\"rail_card_4_title\">Streetwear focus<\/h3>\n          <p data-lkey=\"rail_card_4_body\">Sneakers, joggers, caps and sportswear remain visible discovery triggers.<\/p>\n        <\/button>\n        \n        <button class=\"panel mockup-rail-card\" type=\"button\" data-rail-modal-trigger data-rail-key=\"rail_card_5\" data-rail-image=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-custody.png\" data-rail-route=\"memberships\" data-open-label=\"Open\">\n          <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-custody.png\" alt=\"Full-case bundle\">\n          <h3 data-lkey=\"rail_card_5_title\">Full-case bundle<\/h3>\n          <p data-lkey=\"rail_card_5_body\">Complete story arcs can be sold as higher-value case bundles.<\/p>\n        <\/button>\n        <\/section>\n  <div class=\"rail-modal\" id=\"rail-modal\" aria-hidden=\"true\">\n    <article class=\"rail-modal-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rail-modal-title\">\n      <button class=\"rail-modal-close\" type=\"button\" data-rail-modal-close aria-label=\"Close\">\u00d7<\/button>\n      <div class=\"rail-modal-visual\" data-rail-modal-visual><\/div>\n      <div class=\"rail-modal-copy\">\n        <div class=\"eyebrow\" data-lkey=\"rail_modal_eyebrow\">Rail-Detail<\/div>\n        <h3 id=\"rail-modal-title\" data-rail-modal-title>Rail<\/h3>\n        <p data-rail-modal-body><\/p>\n        <div class=\"cta-row\">\n          <a class=\"btn btn-primary\" data-rail-modal-link href=\"\/en_us\/catalog\/\" data-lkey=\"rail_modal_cta\">Bereich \u00f6ffnen<\/a>\n          <button class=\"btn btn-secondary\" type=\"button\" data-rail-modal-close data-lkey=\"rail_modal_close\">Schlie\u00dfen<\/button>\n        <\/div>\n      <\/div>\n    <\/article>\n  <\/div>\n\n  <section class=\"section-heading\" style=\"margin-top:34px;\">\n    <div>\n      <div class=\"eyebrow\" data-lkey=\"monetization_eyebrow\">Monetarisierung<\/div>\n      <h2 data-lkey=\"monetization_title\">Mitgliedschaft, PPV und Bundles werden als sichtbarer Verkaufsblock inszeniert.<\/h2>\n    <\/div>\n    <p data-lkey=\"monetization_body\">So sieht der Nutzer sofort, welche Einstiege es gibt und warum ein Upgrade sinnvoll ist.<\/p>\n  <\/section>\n  <section class=\"mockup-price-grid\">\n        <article class=\"panel sales-tier-card mockup-price-card\">\n          <div class=\"eyebrow\">free<\/div>\n          <h3>Free<\/h3>\n          <div class=\"price\">0 EUR<\/div>\n          <ul><li>Geblurrte Teaser<\/li><li>Katalogblick<\/li><li>Public CTA<\/li><li>18+ Gate<\/li><\/ul>\n        <\/article>\n        \n        <article class=\"panel sales-tier-card is-featured mockup-price-card\">\n          <div class=\"eyebrow\">member<\/div>\n          <h3>Member<\/h3>\n          <div class=\"price\">9,90 EUR<\/div>\n          <ul><li>Vollversionen<\/li><li>Collections<\/li><li>Exklusive Teaser<\/li><li>Fr\u00fcher Zugriff<\/li><\/ul>\n        <\/article>\n        \n        <article class=\"panel sales-tier-card mockup-price-card\">\n          <div class=\"eyebrow\">premium<\/div>\n          <h3>Premium<\/h3>\n          <div class=\"price\">19,90 EUR<\/div>\n          <ul><li>PPV-Rabatte<\/li><li>Priority Access<\/li><li>besondere Bundles<\/li><li>Top Position im Katalog<\/li><\/ul>\n        <\/article>\n        <\/section>\n\n  <section class=\"dtu-home-discovery\" id=\"home-discovery\" style=\"margin-top:34px;\">\n    <div class=\"section-heading\">\n      <div>\n        <div class=\"eyebrow\">Discovery<\/div>\n        <h2>Nach Trigger entdecken<\/h2>\n      <\/div>\n      <p>W\u00e4hle einen visuellen oder erz\u00e4hlerischen Trigger. Der Katalog \u00fcbernimmt ihn direkt.<\/p>\n    <\/div>\n    <div id=\"home-trigger-hub\" class=\"dtu-trigger-hub\" aria-label=\"Nach Trigger entdecken\"><\/div>\n  <\/section>\n\n  <section class=\"video-showcase dtu-home-continue\" id=\"home-continue-section\" style=\"margin-top:34px;\" hidden>\n    <div class=\"section-heading\">\n      <div>\n        <div class=\"eyebrow\">F\u00fcr dich<\/div>\n        <h2>Weitersehen<\/h2>\n      <\/div>\n      <p>Deine angefangenen Folgen und deine pers\u00f6nliche Auswahl.<\/p>\n    <\/div>\n    <div id=\"home-continue-shelf\" class=\"video-shelf\" data-dtu-rail-mode=\"continue\"><\/div>\n  <\/section>\n\n  \n\n  \n\n  \n\n  \n\n  <section class=\"video-showcase\">\n    <div class=\"section-heading\"><div><div class=\"eyebrow\">Neue Bildserien<\/div><h2>Die drei neuesten visuellen Dossiers<\/h2><\/div><p>Aktuelle Releases mit echtem Thumbnail. Ein Klick f\u00fchrt direkt in die vollst\u00e4ndige Story.<\/p><\/div>\n    <div id=\"home-image-new-shelf\" class=\"video-shelf\"><\/div>\n  <\/section>\n  <section class=\"video-showcase\">\n    <div class=\"section-heading\"><div><div class=\"eyebrow\">Freier Einstieg<\/div><h2>\u00c4ltere Bildserien als freie Teaser<\/h2><\/div><p>Entdecke die Welt der Dossiers kostenlos \u2013 die vollst\u00e4ndige Bibliothek \u00f6ffnet sich mit der Mitgliedschaft.<\/p><\/div>\n    <div id=\"home-image-free-shelf\" class=\"video-shelf\"><\/div>\n    <div class=\"hero-actions\" style=\"margin-top:18px\"><a class=\"button primary\" href=\"\/memberships\/\">Premium-Bibliothek \u00f6ffnen<\/a><a class=\"button secondary\" href=\"\/image-series\/\">Alle Bildserien ansehen<\/a><\/div>\n  <\/section>\n  \n  <section class=\"seo-geo-block\">\n    <article class=\"panel\">\n      <div class=\"eyebrow\">F\u00fcr dich zusammengestellt<\/div>\n      <h2>Crime-Story-Videothek f\u00fcr Teaser, Member-Cuts und visuelle Dossiers<\/h2>\n      <p>DontTELL.US b\u00fcndelt fiktionale AI-generated Crime-Rekonstruktionen, freie Vorschauen, vollst\u00e4ndige Member-Fassungen, Bildserien und sp\u00e4tere PPV-Bundles in einer klaren Premium-Videothek.<\/p>\n      <div class=\"tag-row\"><span class=\"tag\">AI-generated crime story<\/span><span class=\"tag\">Crime-Story-Videothek<\/span><span class=\"tag\">Sportswear<\/span><span class=\"tag\">Sneaker<\/span><span class=\"tag\">Member-Cuts<\/span><span class=\"tag\">PPV<\/span><span class=\"tag\">Bildserien<\/span><\/div>\n    <\/article>\n    <article class=\"panel\">\n      <div class=\"eyebrow\">Gut zu wissen<\/div>\n      <h3>H\u00e4ufige Fragen zu Picture Stories<\/h3>\n      <ul class=\"seo-geo-list\">\n        <li>\n          <strong>Was bietet DontTELL.US?<\/strong><br>\n          Eine kuratierte Story-Plattform f\u00fcr fiktionale Crime-Szenen mit Teasern, vollst\u00e4ndigen Folgen, Bildserien und Mitgliederzugang.\n        <\/li>\n        \n        <li>\n          <strong>F\u00fcr wen ist die Seite gedacht?<\/strong><br>\n          F\u00fcr erwachsene Nutzer, die cineastische Crime-Storys, Sportswear-\u00c4sthetik, Sneaker-Fokus und strukturierte Fall-Erz\u00e4hlungen suchen.\n        <\/li>\n        \n        <li>\n          <strong>Wie wird freigeschaltet?<\/strong><br>\n          Freie Teaser bleiben sichtbar. Vollversionen, Premium-Dossiers und sp\u00e4tere Bundles werden \u00fcber Mitgliedschaft oder PPV-Freischaltung angeboten.\n        <\/li>\n        <\/ul>\n    <\/article>\n  <\/section>\n  <script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"name\": \"Crime-Story-Videothek f\u00fcr Teaser, Member-Cuts und visuelle Dossiers\", \"description\": \"DontTELL.US b\u00fcndelt fiktionale AI-generated Crime-Rekonstruktionen, freie Vorschauen, vollst\u00e4ndige Member-Fassungen, Bildserien und sp\u00e4tere PPV-Bundles in einer klaren Premium-Videothek.\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Was bietet DontTELL.US?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Eine kuratierte Story-Plattform f\u00fcr fiktionale Crime-Szenen mit Teasern, vollst\u00e4ndigen Folgen, Bildserien und Mitgliederzugang.\"}}, {\"@type\": \"Question\", \"name\": \"F\u00fcr wen ist die Seite gedacht?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"F\u00fcr erwachsene Nutzer, die cineastische Crime-Storys, Sportswear-\u00c4sthetik, Sneaker-Fokus und strukturierte Fall-Erz\u00e4hlungen suchen.\"}}, {\"@type\": \"Question\", \"name\": \"Wie wird freigeschaltet?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Freie Teaser bleiben sichtbar. Vollversionen, Premium-Dossiers und sp\u00e4tere Bundles werden \u00fcber Mitgliedschaft oder PPV-Freischaltung angeboten.\"}}]}<\/script>\n\n<\/div>\n\n<script>\n(function() {\n  const path = window.location.pathname || \"\";\n  let locale = \"en\";\n  if (path.startsWith(\"\/de\/\") || path === \"\/de\") locale = \"de\";\n  else if (path.startsWith(\"\/es\/\") || path === \"\/es\") locale = \"es\";\n  else if (path.startsWith(\"\/fr\/\") || path === \"\/fr\") locale = \"fr\";\n  const routes = {\"en\": {\"home\": \"\/en_us\/\", \"free\": \"\/en_us\/free\/\", \"live\": \"\/en_us\/free\/#live-productions\", \"catalog\": \"\/en_us\/catalog\/\", \"image-series\": \"\/en_us\/image-series\/\", \"memberships\": \"\/en_us\/memberships\/\", \"participate\": \"\/en_us\/mitmachen\/\", \"access\": \"\/en_us\/access\/\"}, \"de\": {\"home\": \"\/de\/\", \"free\": \"\/de\/free\/\", \"live\": \"\/de\/free\/#live-productions\", \"catalog\": \"\/de\/catalog\/\", \"image-series\": \"\/de\/image-series\/\", \"memberships\": \"\/de\/memberships\/\", \"participate\": \"\/de\/mitmachen\/\", \"access\": \"\/de\/access\/\"}, \"es\": {\"home\": \"\/es\/\", \"free\": \"\/es\/free\/\", \"live\": \"\/es\/free\/#live-productions\", \"catalog\": \"\/es\/catalog\/\", \"image-series\": \"\/es\/image-series\/\", \"memberships\": \"\/es\/memberships\/\", \"participate\": \"\/es\/mitmachen\/\", \"access\": \"\/es\/access\/\"}, \"fr\": {\"home\": \"\/fr\/\", \"free\": \"\/fr\/free\/\", \"live\": \"\/fr\/free\/#live-productions\", \"catalog\": \"\/fr\/catalog\/\", \"image-series\": \"\/fr\/image-series\/\", \"memberships\": \"\/fr\/memberships\/\", \"participate\": \"\/fr\/mitmachen\/\", \"access\": \"\/fr\/access\/\"}};\n  const bundles = {\"en\": {\"brand_tagline\": \"Enter a secret world - join now!\", \"nav_home\": \"Home\", \"nav_free\": \"Free\", \"nav_live\": \"Live\", \"nav_catalog\": \"Catalog\", \"nav_image_series\": \"Image Series\", \"nav_membership\": \"Membership\", \"nav_participate\": \"Apply\", \"nav_login\": \"Login\", \"nav_register\": \"Register\", \"nav_recover\": \"Forgot password \/ username?\", \"age_gate_kicker\": \"18+ access\", \"age_gate_title\": \"Adult content notice\", \"age_gate_body\": \"DontTELL.US is a multilingual adult premium story platform with free previews, video episodes, visual dossiers and member access. Confirm that you are 18 years or older before any 18+ material becomes visible.\", \"age_gate_point_1\": \"Content stays hidden until you confirm your age.\", \"age_gate_point_2\": \"Your confirmation is stored locally on this device.\", \"age_gate_point_3\": \"By continuing, you confirm that you are legally allowed to view this content.\", \"age_gate_confirm\": \"I am 18 or older\", \"age_gate_leave\": \"Leave site\", \"home_eyebrow\": \"DontTELL.US | Premium Story Platform\", \"home_title\": \"Enter a secret world - join now!\", \"home_lead\": \"A curated crime-story video library with free teasers, member cuts, image series, PPV bundles and clear paths into the complete cases.\", \"home_note\": \"Each series follows its own dramaturgy: access, control, securing, handover, custody and visual dossiers inside one branded surface.\", \"home_cta_primary\": \"Watch free previews\", \"home_cta_secondary\": \"Open membership\", \"hero_showcase_eyebrow\": \"Featured dossier\", \"hero_showcase_title\": \"Current case: access, control, custody\", \"hero_showcase_body\": \"The stage leads directly into the story world: streetwear details, controlled escalation, free preview and clear unlock path.\", \"hero_sidecar_eyebrow\": \"Quick access\", \"hero_sidecar_card_1_title\": \"Free entry\", \"hero_sidecar_card_1_body\": \"Teaser rails, safe previews and an instantly visible upgrade path.\", \"hero_sidecar_card_2_title\": \"Member access\", \"hero_sidecar_card_2_body\": \"Full versions, image series and premium dossiers in one interface.\", \"hero_sidecar_card_3_title\": \"PPV & bundles\", \"hero_sidecar_card_3_body\": \"Single purchases, bundles and later story requests are connected directly.\", \"hero_sidecar_card_4_title\": \"Premium\", \"hero_sidecar_card_4_body\": \"Priority drops, image series and story requests as the strongest access tier.\", \"hero_sidecar_cta_1\": \"Open image series\", \"hero_sidecar_cta_2\": \"Open full catalog\", \"feature_eyebrow\": \"Story architecture\", \"feature_title\": \"Teasers, member cuts, image dossiers and PPV bundles structure the entire library.\", \"feature_body\": \"Each area has a clear function: free entry, full scene, visual dossier and direct purchase or membership path.\", \"feature_card_1_title\": \"Series and episode rails\", \"feature_card_1_body\": \"Season, episode, teaser and full access are separated clearly so every case line can be followed.\", \"feature_card_2_title\": \"Visual trigger discovery\", \"feature_card_2_body\": \"Large posters, clear badges and immediate teaser\/member access cues guide viewers into the right content.\", \"feature_card_3_title\": \"Premium access flow\", \"feature_card_3_body\": \"Membership, single purchase, bundle and story request work as one conversion path.\", \"feature_card_4_title\": \"Casting and events layer\", \"feature_card_4_body\": \"Applications, member interaction and event areas extend the platform beyond passive viewing.\", \"rails_eyebrow\": \"Content rails\", \"rails_title\": \"The homepage guides visitors from teaser rails into cases, image series and premium access.\", \"rails_body\": \"Each rail represents a theme: teasers, series world, sportswear focus, dossiers and bundles.\", \"rail_card_1_title\": \"Free teaser rail\", \"rail_card_1_body\": \"Short safe previews create the first entry point and lead toward membership or PPV.\", \"rail_card_2_title\": \"Access and custody series\", \"rail_card_2_body\": \"A story rail for access, securing, transport and handover.\", \"rail_card_3_title\": \"Evidence and protocol\", \"rail_card_3_body\": \"Documentation, control and handover moments become their own visual story world.\", \"rail_card_4_title\": \"Streetwear focus\", \"rail_card_4_body\": \"Sneakers, joggers, caps and sportswear remain visible discovery triggers.\", \"rail_card_5_title\": \"Full-case bundle\", \"rail_card_5_body\": \"Complete story arcs can be sold as higher-value case bundles.\", \"rail_modal_eyebrow\": \"Rail detail\", \"rail_modal_cta\": \"Open this area\", \"rail_modal_close\": \"Close\", \"monetization_eyebrow\": \"Monetization stack\", \"monetization_title\": \"Membership, PPV and bundles are staged as a visible sales block.\", \"monetization_body\": \"Visitors can instantly see which entry paths exist and why an upgrade makes sense.\", \"free_shelf_eyebrow\": \"Live teaser shelf\", \"free_shelf_title\": \"Free previews\", \"free_shelf_body\": \"Poster first, then a click into the preview and a clear CTA toward membership or PPV.\", \"new_posts_eyebrow\": \"Fresh drops\", \"new_posts_title\": \"New in the last 4 weeks\", \"new_posts_body\": \"This rail updates automatically and only shows fresh videos and image dossiers from the current 4-week release window.\", \"new_posts_loading_title\": \"New releases are loading\", \"new_posts_loading_body\": \"Fresh entries from the last 4 weeks appear here automatically.\", \"member_shelf_eyebrow\": \"Members only shelf\", \"member_shelf_title\": \"Full versions and premium entries\", \"member_shelf_body\": \"The member rail follows the same visual language as the teasers, but feels higher-value and more direct.\", \"image_shelf_eyebrow\": \"Image series shelf\", \"image_shelf_title\": \"Image series and visual dossiers\", \"image_shelf_body\": \"Image series also run through the same high-quality premium interface.\"}, \"de\": {\"brand_tagline\": \"Betritt eine geheime Welt - jetzt beitreten!\", \"nav_home\": \"Start\", \"nav_free\": \"Free\", \"nav_live\": \"Live\", \"nav_catalog\": \"Katalog\", \"nav_image_series\": \"Bildserien\", \"nav_membership\": \"Mitgliedschaft\", \"nav_participate\": \"Mitmachen\", \"nav_login\": \"Login\", \"nav_register\": \"Registrieren\", \"nav_recover\": \"Passwort \/ Benutzername vergessen?\", \"age_gate_kicker\": \"18+ Zugang\", \"age_gate_title\": \"Hinweis zu Inhalten f\u00fcr Erwachsene\", \"age_gate_body\": \"Dieser Bereich enth\u00e4lt Inhalte nur f\u00fcr Erwachsene. Best\u00e4tige zuerst, dass du 18 Jahre oder \u00e4lter bist, bevor 18+-Material sichtbar wird.\", \"age_gate_point_1\": \"Die Inhalte bleiben verborgen, bis du dein Alter best\u00e4tigst.\", \"age_gate_point_2\": \"Deine Best\u00e4tigung wird nur lokal auf diesem Ger\u00e4t gespeichert.\", \"age_gate_point_3\": \"Mit dem Fortfahren best\u00e4tigst du, dass du diese Inhalte rechtlich ansehen darfst.\", \"age_gate_confirm\": \"Ich bin 18 oder \u00e4lter\", \"age_gate_leave\": \"Seite verlassen\", \"home_eyebrow\": \"DontTELL.US | Premium-Story-Plattform\", \"home_title\": \"Betritt eine geheime Welt - jetzt beitreten!\", \"home_lead\": \"Eine kuratierte Crime-Story-Videothek mit freien Teasern, Member-Cuts, Bildserien, PPV-Bundles und klaren Wegen in die vollst\u00e4ndigen F\u00e4lle.\", \"home_note\": \"Jede Reihe folgt einer eigenen Dramaturgie: Zugriff, Kontrolle, Sicherung, \u00dcbergabe, Verwahrung und visuelle Dossiers in einer einzigen Markenoberfl\u00e4che.\", \"home_cta_primary\": \"Kostenlose Vorschauen ansehen\", \"home_cta_secondary\": \"Mitgliedschaft \u00f6ffnen\", \"hero_showcase_eyebrow\": \"Ausgew\u00e4hltes Dossier\", \"hero_showcase_title\": \"Aktueller Fall: Zugriff, Kontrolle, Verwahrung\", \"hero_showcase_body\": \"Die B\u00fchne f\u00fchrt direkt in die Storywelt: Streetwear-Details, kontrollierte Eskalation, freie Vorschau und klare Freischaltung.\", \"hero_sidecar_eyebrow\": \"Schnellzugriff\", \"hero_sidecar_card_1_title\": \"Freier Einstieg\", \"hero_sidecar_card_1_body\": \"Teaser-Rails, sichere Vorschauen und ein sofort sichtbarer Upgrade-Weg.\", \"hero_sidecar_card_2_title\": \"Mitgliederzugang\", \"hero_sidecar_card_2_body\": \"Vollversionen, Bildserien und Premium-Dossiers in einer Oberfl\u00e4che.\", \"hero_sidecar_card_3_title\": \"PPV & Bundles\", \"hero_sidecar_card_3_body\": \"Einzelkauf, Pakete und sp\u00e4tere Story-Requests direkt angebunden.\", \"hero_sidecar_card_4_title\": \"Premium\", \"hero_sidecar_card_4_body\": \"Priorisierte Drops, Bildserien und Story-Requests als st\u00e4rkster Zugang.\", \"hero_sidecar_cta_1\": \"Bildserien \u00f6ffnen\", \"hero_sidecar_cta_2\": \"Gesamtkatalog \u00f6ffnen\", \"feature_eyebrow\": \"Story-Architektur\", \"feature_title\": \"Teaser, Member-Cuts, Bildserien und PPV-Bundles strukturieren die komplette Videothek.\", \"feature_body\": \"Jeder Bereich hat eine klare Funktion: kostenloser Einstieg, volle Szene, visuelles Dossier und direkter Kauf- oder Mitgliedschaftspfad.\", \"feature_card_1_title\": \"Serien- und Folgenregale\", \"feature_card_1_body\": \"Staffel, Folge, Teaser und Vollzugriff werden sauber getrennt, damit jede Falllinie nachvollziehbar bleibt.\", \"feature_card_2_title\": \"Visuelle Trigger-Suche\", \"feature_card_2_body\": \"Gro\u00dfe Poster, klare Badges und sofort erkennbare Teaser- oder Member-Hinweise f\u00fchren direkt zum passenden Inhalt.\", \"feature_card_3_title\": \"Premium-Zugangsfluss\", \"feature_card_3_body\": \"Mitgliedschaft, Einzelkauf, Bundle und Story-Request funktionieren als zusammenh\u00e4ngender Kaufpfad.\", \"feature_card_4_title\": \"Casting- und Event-Ebene\", \"feature_card_4_body\": \"Bewerbungen, Mitgliederbeteiligung und Event-Bereiche erweitern die Plattform \u00fcber reines Anschauen hinaus.\", \"rails_eyebrow\": \"Content-Rails\", \"rails_title\": \"Die Startseite f\u00fchrt Besucher direkt von Teaser-Rails zu F\u00e4llen, Bildserien und Premium-Zug\u00e4ngen.\", \"rails_body\": \"Jede Rail verk\u00f6rpert ein Thema: Teaser, Serienwelt, Sportswear-Fokus, Dossiers und Bundles.\", \"rail_card_1_title\": \"Freie Teaser-Rail\", \"rail_card_1_body\": \"Kurze sichere Vorschauen schaffen den Einstieg und f\u00fchren gezielt zu Mitgliedschaft oder PPV.\", \"rail_card_2_title\": \"Zugriff- und Verwahrungsserie\", \"rail_card_2_body\": \"Eine Story-Rail f\u00fcr Zugriff, Sicherung, Transport und \u00dcbergabe.\", \"rail_card_3_title\": \"Beweise und Protokoll\", \"rail_card_3_body\": \"Dokumentation, Kontrolle und \u00dcbergabe werden zu einer eigenen visuellen Themenwelt.\", \"rail_card_4_title\": \"Streetwear-Fokus\", \"rail_card_4_body\": \"Sneaker, Jogger, Caps und Sportswear bleiben als sichtbare Such- und Kauftrigger pr\u00e4sent.\", \"rail_card_5_title\": \"Full-Case-Bundle\", \"rail_card_5_body\": \"Komplette Storyb\u00f6gen lassen sich als hochwertiges Fallpaket verkaufen.\", \"rail_modal_eyebrow\": \"Rail-Detail\", \"rail_modal_cta\": \"Bereich \u00f6ffnen\", \"rail_modal_close\": \"Schlie\u00dfen\", \"monetization_eyebrow\": \"Monetarisierungs-Stack\", \"monetization_title\": \"Mitgliedschaft, PPV und Bundles werden als sichtbarer Verkaufsblock inszeniert.\", \"monetization_body\": \"So sieht der Nutzer sofort, welche Einstiege es gibt und warum ein Upgrade sinnvoll ist.\", \"free_shelf_eyebrow\": \"Live-Teaser-Rail\", \"free_shelf_title\": \"Freie Vorschauen\", \"free_shelf_body\": \"Poster zuerst, dann Klick in die Vorschau und klarer CTA Richtung Mitgliedschaft oder PPV.\", \"new_posts_eyebrow\": \"Neue Drops\", \"new_posts_title\": \"Neu in den letzten 4 Wochen\", \"new_posts_body\": \"Diese Reihe aktualisiert sich automatisch und zeigt nur frische Videos und Bild-Dossiers aus dem aktuellen 4-Wochen-Fenster.\", \"new_posts_loading_title\": \"Neue Beitr\u00e4ge werden geladen\", \"new_posts_loading_body\": \"Frische Eintr\u00e4ge der letzten 4 Wochen erscheinen hier automatisch.\", \"member_shelf_eyebrow\": \"Mitgliederregal\", \"member_shelf_title\": \"Vollversionen und Premium-Eintr\u00e4ge\", \"member_shelf_body\": \"Die Mitgliederreihe folgt derselben Bildsprache wie die Teaser, wirkt aber h\u00f6herwertig und unmittelbarer.\", \"image_shelf_eyebrow\": \"Bildserienregal\", \"image_shelf_title\": \"Bildserien und visuelle Dossiers\", \"image_shelf_body\": \"Auch Bildserien laufen als Premium-Rail durch dieselbe hochwertige Oberfl\u00e4che.\"}, \"es\": {\"brand_tagline\": \"Entra en un mundo secreto - \u00fanete ahora.\", \"nav_home\": \"Inicio\", \"nav_free\": \"Gratis\", \"nav_live\": \"Live\", \"nav_catalog\": \"Cat\u00e1logo\", \"nav_image_series\": \"Series de im\u00e1genes\", \"nav_membership\": \"Membres\u00eda\", \"nav_participate\": \"Participar\", \"nav_login\": \"Login\", \"nav_register\": \"Registro\", \"nav_recover\": \"\u00bfContrase\u00f1a \/ usuario olvidado?\", \"age_gate_kicker\": \"Acceso 18+\", \"age_gate_title\": \"Aviso de contenido para adultos\", \"age_gate_body\": \"Esta zona contiene contenido solo para adultos. Confirma primero que tienes 18 a\u00f1os o m\u00e1s antes de que cualquier material 18+ sea visible.\", \"age_gate_point_1\": \"El contenido permanece oculto hasta que confirmes tu edad.\", \"age_gate_point_2\": \"Tu confirmaci\u00f3n se guarda solo localmente en este dispositivo.\", \"age_gate_point_3\": \"Al continuar, confirmas que legalmente puedes ver este contenido.\", \"age_gate_confirm\": \"Tengo 18 a\u00f1os o m\u00e1s\", \"age_gate_leave\": \"Salir del sitio\", \"home_eyebrow\": \"DontTELL.US | Plataforma premium de historias\", \"home_title\": \"Entra en un mundo secreto - \u00fanete ahora.\", \"home_lead\": \"Una videoteca curada de crime story con teasers gratuitos, cortes para miembros, series de im\u00e1genes, bundles PPV y caminos claros hacia los casos completos.\", \"home_note\": \"Cada serie sigue su propia dramaturgia: acceso, control, aseguramiento, entrega, custodia y dossiers visuales dentro de una sola superficie de marca.\", \"home_cta_primary\": \"Ver avances gratuitos\", \"home_cta_secondary\": \"Abrir membres\u00eda\", \"hero_showcase_eyebrow\": \"Dossier destacado\", \"hero_showcase_title\": \"Caso actual: acceso, control, custodia\", \"hero_showcase_body\": \"La escena introduce directamente el mundo narrativo: detalles streetwear, escalada controlada, preview gratis y desbloqueo claro.\", \"hero_sidecar_eyebrow\": \"Acceso r\u00e1pido\", \"hero_sidecar_card_1_title\": \"Entrada libre\", \"hero_sidecar_card_1_body\": \"Rails teaser, avances seguros y una ruta de mejora visible al instante.\", \"hero_sidecar_card_2_title\": \"Acceso de miembros\", \"hero_sidecar_card_2_body\": \"Versiones completas, series de im\u00e1genes y dossiers premium en una sola interfaz.\", \"hero_sidecar_card_3_title\": \"PPV y bundles\", \"hero_sidecar_card_3_body\": \"Compra individual, paquetes y futuras story requests conectadas directamente.\", \"hero_sidecar_card_4_title\": \"Premium\", \"hero_sidecar_card_4_body\": \"Drops prioritarios, series visuales y story requests como acceso m\u00e1s fuerte.\", \"hero_sidecar_cta_1\": \"Abrir series de im\u00e1genes\", \"hero_sidecar_cta_2\": \"Abrir cat\u00e1logo completo\", \"feature_eyebrow\": \"Arquitectura narrativa\", \"feature_title\": \"Teasers, cortes para miembros, dossiers visuales y bundles PPV estructuran toda la videoteca.\", \"feature_body\": \"Cada \u00e1rea tiene una funci\u00f3n clara: entrada gratuita, escena completa, dossier visual y camino directo de compra o membres\u00eda.\", \"feature_card_1_title\": \"Rails de series y episodios\", \"feature_card_1_body\": \"Temporada, episodio, teaser y acceso completo quedan separados para seguir cada l\u00ednea del caso.\", \"feature_card_2_title\": \"Descubrimiento visual de triggers\", \"feature_card_2_body\": \"Posters grandes, badges claros y se\u00f1ales inmediatas de teaser o acceso miembro gu\u00edan al contenido correcto.\", \"feature_card_3_title\": \"Flujo de acceso premium\", \"feature_card_3_body\": \"Membres\u00eda, compra individual, bundle y solicitud de historia funcionan como un mismo camino de conversi\u00f3n.\", \"feature_card_4_title\": \"Capa de casting y eventos\", \"feature_card_4_body\": \"Solicitudes, interacci\u00f3n de miembros y eventos ampl\u00edan la plataforma m\u00e1s all\u00e1 del simple visionado.\", \"rails_eyebrow\": \"Carriles de contenido\", \"rails_title\": \"La p\u00e1gina de inicio gu\u00eda desde teasers hacia casos, series visuales y accesos premium.\", \"rails_body\": \"Cada rail representa un tema: teasers, universo de series, enfoque sportswear, dossiers y bundles.\", \"rail_card_1_title\": \"Rail de teasers gratuitos\", \"rail_card_1_body\": \"Avances cortos y seguros crean la primera entrada y conducen hacia membres\u00eda o PPV.\", \"rail_card_2_title\": \"Serie de acceso y custodia\", \"rail_card_2_body\": \"Un rail narrativo para acceso, aseguramiento, transporte y entrega.\", \"rail_card_3_title\": \"Evidencia y protocolo\", \"rail_card_3_body\": \"Documentaci\u00f3n, control y entrega se convierten en un mundo visual propio.\", \"rail_card_4_title\": \"Enfoque streetwear\", \"rail_card_4_body\": \"Sneakers, joggers, gorras y sportswear siguen siendo triggers visibles de descubrimiento.\", \"rail_card_5_title\": \"Bundle full-case\", \"rail_card_5_body\": \"Los arcos narrativos completos pueden venderse como paquetes de caso de mayor valor.\", \"rail_modal_eyebrow\": \"Detalle del rail\", \"rail_modal_cta\": \"Abrir esta zona\", \"rail_modal_close\": \"Cerrar\", \"monetization_eyebrow\": \"Bloque de monetizaci\u00f3n\", \"monetization_title\": \"Membres\u00eda, PPV y bundles se presentan como un bloque de venta visible.\", \"monetization_body\": \"As\u00ed el visitante ve al instante qu\u00e9 caminos de acceso existen y por qu\u00e9 tiene sentido mejorar.\", \"free_shelf_eyebrow\": \"Rail de teasers\", \"free_shelf_title\": \"Previews gratuitas\", \"free_shelf_body\": \"Primero el p\u00f3ster, luego la preview y una llamada clara hacia membres\u00eda o PPV.\", \"new_posts_eyebrow\": \"Nuevos drops\", \"new_posts_title\": \"Nuevo en las \u00faltimas 4 semanas\", \"new_posts_body\": \"Este rail se actualiza autom\u00e1ticamente y solo muestra videos y dossiers visuales recientes del periodo actual de 4 semanas.\", \"new_posts_loading_title\": \"Cargando nuevos lanzamientos\", \"new_posts_loading_body\": \"Las entradas recientes de las \u00faltimas 4 semanas aparecen aqu\u00ed autom\u00e1ticamente.\", \"member_shelf_eyebrow\": \"Rail para miembros\", \"member_shelf_title\": \"Versiones completas y entradas premium\", \"member_shelf_body\": \"La fila para miembros sigue el mismo lenguaje visual que los teasers, pero se siente m\u00e1s premium y directa.\", \"image_shelf_eyebrow\": \"Rail de series de im\u00e1genes\", \"image_shelf_title\": \"Series de im\u00e1genes y dossiers visuales\", \"image_shelf_body\": \"Las series de im\u00e1genes tambi\u00e9n recorren la misma interfaz premium de alta calidad.\"}, \"fr\": {\"brand_tagline\": \"Entrez dans un monde secret - rejoignez-nous maintenant.\", \"nav_home\": \"Accueil\", \"nav_free\": \"Gratuit\", \"nav_live\": \"Live\", \"nav_catalog\": \"Catalogue\", \"nav_image_series\": \"S\u00e9ries d'images\", \"nav_membership\": \"Abonnement\", \"nav_participate\": \"Participer\", \"nav_login\": \"Login\", \"nav_register\": \"Inscription\", \"nav_recover\": \"Mot de passe \/ utilisateur oubli\u00e9 ?\", \"age_gate_kicker\": \"Acc\u00e8s 18+\", \"age_gate_title\": \"Avertissement contenu adulte\", \"age_gate_body\": \"Cette zone contient du contenu r\u00e9serv\u00e9 aux adultes. Confirmez d'abord que vous avez 18 ans ou plus avant que tout contenu 18+ ne devienne visible.\", \"age_gate_point_1\": \"Le contenu reste masqu\u00e9 jusqu'\u00e0 confirmation de votre \u00e2ge.\", \"age_gate_point_2\": \"Votre confirmation est stock\u00e9e uniquement localement sur cet appareil.\", \"age_gate_point_3\": \"En continuant, vous confirmez que vous \u00eates l\u00e9galement autoris\u00e9 \u00e0 voir ce contenu.\", \"age_gate_confirm\": \"J'ai 18 ans ou plus\", \"age_gate_leave\": \"Quitter le site\", \"home_eyebrow\": \"DontTELL.US | Plateforme premium de r\u00e9cits\", \"home_title\": \"Entrez dans un monde secret - rejoignez-nous maintenant.\", \"home_lead\": \"Une vid\u00e9oth\u00e8que crime-story organis\u00e9e avec teasers gratuits, versions membres, s\u00e9ries d'images, bundles PPV et acc\u00e8s clair aux dossiers complets.\", \"home_note\": \"Chaque s\u00e9rie suit sa propre dramaturgie : acc\u00e8s, contr\u00f4le, s\u00e9curisation, transfert, d\u00e9tention et dossiers visuels dans une seule surface de marque.\", \"home_cta_primary\": \"Voir les aper\u00e7us gratuits\", \"home_cta_secondary\": \"Ouvrir l'abonnement\", \"hero_showcase_eyebrow\": \"Dossier s\u00e9lectionn\u00e9\", \"hero_showcase_title\": \"Dossier actuel : acc\u00e8s, contr\u00f4le, d\u00e9tention\", \"hero_showcase_body\": \"La sc\u00e8ne ouvre directement l'univers narratif : d\u00e9tails streetwear, tension contr\u00f4l\u00e9e, aper\u00e7u gratuit et d\u00e9verrouillage clair.\", \"hero_sidecar_eyebrow\": \"Acc\u00e8s rapide\", \"hero_sidecar_card_1_title\": \"Entr\u00e9e libre\", \"hero_sidecar_card_1_body\": \"Rails teaser, aper\u00e7us s\u00fbrs et chemin d'upgrade imm\u00e9diatement visible.\", \"hero_sidecar_card_2_title\": \"Acc\u00e8s membre\", \"hero_sidecar_card_2_body\": \"Versions compl\u00e8tes, s\u00e9ries d'images et dossiers premium dans une seule interface.\", \"hero_sidecar_card_3_title\": \"PPV et bundles\", \"hero_sidecar_card_3_body\": \"Achat \u00e0 l'unit\u00e9, packs et futures demandes d'histoire reli\u00e9s directement.\", \"hero_sidecar_card_4_title\": \"Premium\", \"hero_sidecar_card_4_body\": \"Nouveaut\u00e9s prioritaires, s\u00e9ries visuelles et demandes d'histoire comme acc\u00e8s le plus fort.\", \"hero_sidecar_cta_1\": \"Ouvrir les s\u00e9ries d'images\", \"hero_sidecar_cta_2\": \"Ouvrir le catalogue complet\", \"feature_eyebrow\": \"Architecture narrative\", \"feature_title\": \"Teasers, versions membres, dossiers visuels et bundles PPV structurent toute la vid\u00e9oth\u00e8que.\", \"feature_body\": \"Chaque zone a une fonction claire : entr\u00e9e gratuite, sc\u00e8ne compl\u00e8te, dossier visuel et chemin direct vers achat ou abonnement.\", \"feature_card_1_title\": \"Rails s\u00e9ries et \u00e9pisodes\", \"feature_card_1_body\": \"Saison, \u00e9pisode, teaser et acc\u00e8s complet sont clairement s\u00e9par\u00e9s pour suivre chaque ligne de dossier.\", \"feature_card_2_title\": \"D\u00e9couverte visuelle des d\u00e9clencheurs\", \"feature_card_2_body\": \"Grands posters, badges clairs et signaux teaser\/membre imm\u00e9diats guident vers le bon contenu.\", \"feature_card_3_title\": \"Flux d'acc\u00e8s premium\", \"feature_card_3_body\": \"Abonnement, achat unique, bundle et demande d'histoire fonctionnent comme un parcours de conversion unique.\", \"feature_card_4_title\": \"Couche casting et \u00e9v\u00e9nements\", \"feature_card_4_body\": \"Candidatures, interaction membre et espaces \u00e9v\u00e9nements \u00e9tendent la plateforme au-del\u00e0 du simple visionnage.\", \"rails_eyebrow\": \"Rails de contenu\", \"rails_title\": \"La page d'accueil guide des teasers vers les dossiers, s\u00e9ries visuelles et acc\u00e8s premium.\", \"rails_body\": \"Chaque rail incarne un th\u00e8me : teasers, univers de s\u00e9rie, focus sportswear, dossiers et bundles.\", \"rail_card_1_title\": \"Rail teasers gratuits\", \"rail_card_1_body\": \"Des aper\u00e7us courts et s\u00fbrs cr\u00e9ent le premier acc\u00e8s et m\u00e8nent vers abonnement ou PPV.\", \"rail_card_2_title\": \"S\u00e9rie acc\u00e8s et d\u00e9tention\", \"rail_card_2_body\": \"Un rail narratif pour acc\u00e8s, s\u00e9curisation, transport et transfert.\", \"rail_card_3_title\": \"Preuves et protocole\", \"rail_card_3_body\": \"Documentation, contr\u00f4le et transfert deviennent un univers visuel distinct.\", \"rail_card_4_title\": \"Focus streetwear\", \"rail_card_4_body\": \"Sneakers, joggers, casquettes et sportswear restent des d\u00e9clencheurs visibles de d\u00e9couverte.\", \"rail_card_5_title\": \"Bundle full-case\", \"rail_card_5_body\": \"Les arcs narratifs complets peuvent \u00eatre vendus comme packs de dossier \u00e0 plus forte valeur.\", \"rail_modal_eyebrow\": \"D\u00e9tail du rail\", \"rail_modal_cta\": \"Ouvrir cette zone\", \"rail_modal_close\": \"Fermer\", \"monetization_eyebrow\": \"Pile de mon\u00e9tisation\", \"monetization_title\": \"Abonnement, PPV et bundles sont mis en sc\u00e8ne comme un bloc de vente visible.\", \"monetization_body\": \"Le visiteur voit imm\u00e9diatement quelles portes d'entr\u00e9e existent et pourquoi une mont\u00e9e en gamme a du sens.\", \"free_shelf_eyebrow\": \"Rail de teasers\", \"free_shelf_title\": \"Aper\u00e7us gratuits\", \"free_shelf_body\": \"D'abord le poster, puis la preview et un appel clair vers abonnement ou PPV.\", \"new_posts_eyebrow\": \"Nouveaut\u00e9s\", \"new_posts_title\": \"Nouveau ces 4 derni\u00e8res semaines\", \"new_posts_body\": \"Ce rail se met \u00e0 jour automatiquement et affiche uniquement les vid\u00e9os et dossiers visuels r\u00e9cents de la fen\u00eatre actuelle de 4 semaines.\", \"new_posts_loading_title\": \"Chargement des nouveaut\u00e9s\", \"new_posts_loading_body\": \"Les entr\u00e9es r\u00e9centes des 4 derni\u00e8res semaines apparaissent ici automatiquement.\", \"member_shelf_eyebrow\": \"Rail membres\", \"member_shelf_title\": \"Versions compl\u00e8tes et entr\u00e9es premium\", \"member_shelf_body\": \"Le rail membres suit le m\u00eame langage visuel que les teasers, mais para\u00eet plus premium et plus direct.\", \"image_shelf_eyebrow\": \"Rail s\u00e9ries d'images\", \"image_shelf_title\": \"S\u00e9ries d'images et dossiers visuels\", \"image_shelf_body\": \"Les s\u00e9ries d'images passent elles aussi par la m\u00eame interface premium de haute qualit\u00e9.\"}};\n  const labels = bundles[locale] || bundles.en || {};\n  function repairVisibleText(value) {\n    if (typeof value !== \"string\") return value;\n    const replacements = [\n      [\/Oberfl[?]che\/g, \"Oberfl\u00e4che\"],\n      [\/Kan[?]len\/g, \"Kan\u00e4len\"],\n      [\/Kan[?]le\/g, \"Kan\u00e4le\"],\n      [\/T[?]ren\/g, \"T\u00fcren\"],\n      [\/f[?]hrt\/g, \"f\u00fchrt\"],\n      [\/f[?]hren\/g, \"f\u00fchren\"],\n      [\/F[?]llen\/g, \"F\u00e4llen\"],\n      [\/Zug[?]ngen\/g, \"Zug\u00e4ngen\"],\n      [\/Zug[?]nge\/g, \"Zug\u00e4nge\"],\n      [\/[?]bergabe\/g, \"\u00dcbergabe\"],\n      [\/erg[?]nzt\/g, \"erg\u00e4nzt\"],\n      [\/zusammenh[?]ngender\/g, \"zusammenh\u00e4ngender\"],\n      [\/verk[?]rpert\/g, \"verk\u00f6rpert\"],\n      [\/pr[?]sent\/g, \"pr\u00e4sent\"],\n      [\/Storyb[?]gen\/g, \"Storyb\u00f6gen\"],\n      [\/f[?]r\/g, \"f\u00fcr\"],\n      [\/F[?]r\/g, \"F\u00fcr\"],\n      [\/[?]ffnen\/g, \"\u00d6ffnen\"]\n    ];\n    return replacements.reduce((text, pair) => text.replace(pair[0], pair[1]), value);\n  }\n  document.documentElement.setAttribute(\"lang\", locale === \"en\" ? \"en\" : locale);\n  document.querySelectorAll(\"[data-lkey]\").forEach((el) => {\n    const key = el.getAttribute(\"data-lkey\");\n    if (key && Object.prototype.hasOwnProperty.call(labels, key)) {\n      el.innerHTML = repairVisibleText(labels[key]);\n    }\n  });\n  document.querySelectorAll(\"[data-lplaceholder]\").forEach((el) => {\n    const key = el.getAttribute(\"data-lplaceholder\");\n    if (key && Object.prototype.hasOwnProperty.call(labels, key)) {\n      el.setAttribute(\"placeholder\", repairVisibleText(labels[key]));\n    }\n  });\n  document.querySelectorAll(\"[data-route-key]\").forEach((el) => {\n    const routeKey = el.getAttribute(\"data-route-key\");\n    const href = routes?.[locale]?.[routeKey];\n    if (href) {\n      const fragment = el.getAttribute(\"data-route-fragment\") || \"\";\n      el.setAttribute(\"href\", href + fragment);\n    }\n  });\n  window.dtuLocaleLabels = Object.assign({}, window.dtuLocaleLabels || {}, labels);\n  window.dtuLocaleState = { locale, labels: window.dtuLocaleLabels, routes };\n  document.dispatchEvent(new CustomEvent(\"dtu:language-ready\", { detail: window.dtuLocaleState }));\n  const ageKey = \"dtuAgeGateAcceptedV2\";\n  const ageGate = document.getElementById(\"dtu-age-gate\");\n  const confirmButton = document.getElementById(\"dtu-age-confirm\");\n  const maxAgeMs = 1000 * 60 * 60 * 24 * 30;\n  function ageAccepted() {\n    try {\n      const raw = localStorage.getItem(ageKey);\n      if (!raw) return false;\n      const data = JSON.parse(raw);\n      if (!data?.acceptedAt) return false;\n      return (Date.now() - Number(data.acceptedAt)) < maxAgeMs;\n    } catch (error) {\n      return false;\n    }\n  }\n  function unlockAgeGate() {\n    document.body.classList.remove(\"dtu-age-locked\");\n    if (ageGate) ageGate.hidden = true;\n  }\n  if (ageGate) {\n    if (ageAccepted()) {\n      unlockAgeGate();\n    } else {\n      document.body.classList.add(\"dtu-age-locked\");\n      ageGate.hidden = false;\n      window.scrollTo({ top: 0, left: 0, behavior: \"auto\" });\n      if (confirmButton) {\n        confirmButton.addEventListener(\"click\", () => {\n          localStorage.setItem(ageKey, JSON.stringify({ acceptedAt: Date.now() }));\n          unlockAgeGate();\n        }, { once: true });\n      }\n    }\n  }\n})();\n<\/script>\n\n<script>\n(() => {\n  const modal = document.querySelector(\"[data-rail-modal-trigger]\") ? document.getElementById(\"rail-modal\") : null;\n  if (!modal) return;\n\n  const title = modal.querySelector(\"[data-rail-modal-title]\");\n  const body = modal.querySelector(\"[data-rail-modal-body]\");\n  const visual = modal.querySelector(\"[data-rail-modal-visual]\");\n  const link = modal.querySelector(\"[data-rail-modal-link]\");\n  const closeButtons = modal.querySelectorAll(\"[data-rail-modal-close]\");\n  const routeMap = {\n    \"free\": \"free\",\n    \"catalog\": \"catalog\",\n    \"image-series\": \"image-series\",\n    \"memberships\": \"memberships\"\n  };\n  const localeData = {\n    \"en\": { prefix: \"\/en_us\", open: \"Open\" },\n    \"de\": { prefix: \"\/de\", open: \"\u00d6ffnen\" },\n    \"es\": { prefix: \"\/es\", open: \"Abrir\" },\n    \"fr\": { prefix: \"\/fr\", open: \"Ouvrir\" }\n  };\n\n  const currentLocale = () => {\n    const path = window.location.pathname || \"\/\";\n    if (path.startsWith(\"\/de\/\")) return \"de\";\n    if (path.startsWith(\"\/es\/\")) return \"es\";\n    if (path.startsWith(\"\/fr\/\")) return \"fr\";\n    return \"en\";\n  };\n\n  const updateOpenLabels = () => {\n    const locale = localeData[currentLocale()] || localeData.en;\n    document.querySelectorAll(\"[data-rail-modal-trigger]\").forEach((trigger) => {\n      trigger.dataset.openLabel = locale.open;\n    });\n  };\n\n  const closeModal = () => {\n    modal.classList.remove(\"is-open\");\n    modal.setAttribute(\"aria-hidden\", \"true\");\n    document.body.style.overflow = \"\";\n  };\n\n  const openModal = (trigger) => {\n    const locale = localeData[currentLocale()] || localeData.en;\n    const route = routeMap[trigger.dataset.railRoute] || \"catalog\";\n    const labels = window.dtuLocaleState?.labels || {};\n    const railKey = trigger.dataset.railKey || \"\";\n    const triggerTitle = labels[`${railKey}_title`] || trigger.querySelector(\"h3\")?.textContent?.trim() || \"Rail\";\n    const triggerBody = labels[`${railKey}_body`] || trigger.querySelector(\"p\")?.textContent?.trim() || \"\";\n    const image = trigger.dataset.railImage || \"\";\n\n    title.textContent = triggerTitle;\n    body.textContent = triggerBody;\n    visual.style.backgroundImage = `linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.86)), url(\"${image}\")`;\n    link.href = `${locale.prefix}\/${route}\/`;\n    modal.classList.add(\"is-open\");\n    modal.setAttribute(\"aria-hidden\", \"false\");\n    document.body.style.overflow = \"hidden\";\n    closeButtons[0]?.focus({ preventScroll: true });\n  };\n\n  document.querySelectorAll(\"[data-rail-modal-trigger]\").forEach((trigger) => {\n    trigger.addEventListener(\"click\", () => openModal(trigger));\n  });\n\n  closeButtons.forEach((button) => button.addEventListener(\"click\", closeModal));\n  modal.addEventListener(\"click\", (event) => {\n    if (event.target === modal) closeModal();\n  });\n  document.addEventListener(\"keydown\", (event) => {\n    if (event.key === \"Escape\" && modal.classList.contains(\"is-open\")) closeModal();\n  });\n\n  updateOpenLabels();\n  document.addEventListener(\"dtu:language-ready\", updateOpenLabels);\n})();\n<\/script>\n\n<script>\n(function() {\n  const path = window.location.pathname || \"\";\n  let locale = \"en\";\n  if (path.startsWith(\"\/de\/\") || path === \"\/de\") locale = \"de\";\n  else if (path.startsWith(\"\/es\/\") || path === \"\/es\") locale = \"es\";\n  else if (path.startsWith(\"\/fr\/\") || path === \"\/fr\") locale = \"fr\";\n  const routes = {\"en\": {\"home\": \"\/en_us\/\", \"free\": \"\/en_us\/free\/\", \"live\": \"\/en_us\/free\/#live-productions\", \"catalog\": \"\/en_us\/catalog\/\", \"image-series\": \"\/en_us\/image-series\/\", \"memberships\": \"\/en_us\/memberships\/\", \"participate\": \"\/en_us\/mitmachen\/\", \"access\": \"\/en_us\/access\/\"}, \"de\": {\"home\": \"\/de\/\", \"free\": \"\/de\/free\/\", \"live\": \"\/de\/free\/#live-productions\", \"catalog\": \"\/de\/catalog\/\", \"image-series\": \"\/de\/image-series\/\", \"memberships\": \"\/de\/memberships\/\", \"participate\": \"\/de\/mitmachen\/\", \"access\": \"\/de\/access\/\"}, \"es\": {\"home\": \"\/es\/\", \"free\": \"\/es\/free\/\", \"live\": \"\/es\/free\/#live-productions\", \"catalog\": \"\/es\/catalog\/\", \"image-series\": \"\/es\/image-series\/\", \"memberships\": \"\/es\/memberships\/\", \"participate\": \"\/es\/mitmachen\/\", \"access\": \"\/es\/access\/\"}, \"fr\": {\"home\": \"\/fr\/\", \"free\": \"\/fr\/free\/\", \"live\": \"\/fr\/free\/#live-productions\", \"catalog\": \"\/fr\/catalog\/\", \"image-series\": \"\/fr\/image-series\/\", \"memberships\": \"\/fr\/memberships\/\", \"participate\": \"\/fr\/mitmachen\/\", \"access\": \"\/fr\/access\/\"}};\n  const bundles = {\"en\": {\"brand_tagline\": \"Enter a secret world - join now!\", \"nav_home\": \"Home\", \"nav_free\": \"Free\", \"nav_live\": \"Live\", \"nav_catalog\": \"Catalog\", \"nav_image_series\": \"Image Series\", \"nav_membership\": \"Membership\", \"nav_participate\": \"Apply\", \"nav_login\": \"Login\", \"nav_register\": \"Register\", \"nav_recover\": \"Forgot password \/ username?\", \"age_gate_kicker\": \"18+ access\", \"age_gate_title\": \"Adult content notice\", \"age_gate_body\": \"DontTELL.US is a multilingual adult premium story platform with free previews, video episodes, visual dossiers and member access. Confirm that you are 18 years or older before any 18+ material becomes visible.\", \"age_gate_point_1\": \"Content stays hidden until you confirm your age.\", \"age_gate_point_2\": \"Your confirmation is stored locally on this device.\", \"age_gate_point_3\": \"By continuing, you confirm that you are legally allowed to view this content.\", \"age_gate_confirm\": \"I am 18 or older\", \"age_gate_leave\": \"Leave site\", \"membership_eyebrow\": \"Choose your access\", \"membership_title\": \"Unlock DontTELL.US Streaming.\", \"membership_lead\": \"Start free, become a member or buy selected releases as PPV. Pick the access that fits you.\", \"membership_tiers_eyebrow\": \"Plans\", \"membership_tiers_title\": \"Free, Member, Premium or PPV.\", \"membership_tiers_body\": \"No confusion. Choose your model and continue.\", \"pkg_free_eyebrow\": \"Free\", \"pkg_free_title\": \"Start free\", \"pkg_free_price\": \"0 \u20ac\", \"pkg_free_body\": \"Preview the style, follow new drops and decide later.\", \"pkg_free_tag_1\": \"Free previews\", \"pkg_free_tag_2\": \"New drop alerts\", \"pkg_free_tag_3\": \"No payment\", \"pkg_free_cta\": \"Start free\", \"pkg_member_eyebrow\": \"Best choice\", \"pkg_member_title\": \"Member\", \"pkg_member_price\": \"9.90 \u20ac \/ month\", \"pkg_member_body\": \"Full videos, image stories and regular premium drops.\", \"pkg_member_tag_1\": \"Full versions\", \"pkg_member_tag_2\": \"Image series\", \"pkg_member_tag_3\": \"Member drops\", \"pkg_member_cta\": \"Become a member\", \"pkg_premium_eyebrow\": \"Premium\", \"pkg_premium_title\": \"Premium Abo\", \"pkg_premium_price\": \"19.90 \u20ac \/ month\", \"pkg_premium_body\": \"Priority drops, story requests and bundle benefits.\", \"pkg_premium_tag_1\": \"Priority\", \"pkg_premium_tag_2\": \"Story requests\", \"pkg_premium_tag_3\": \"Bundle benefits\", \"pkg_premium_cta\": \"Go premium\", \"pkg_ppv_eyebrow\": \"PPV\", \"pkg_ppv_title\": \"Single access\", \"pkg_ppv_price\": \"from 4.90 \u20ac\", \"pkg_ppv_body\": \"Buy single videos, bundles or full-case packages without a monthly plan.\", \"pkg_ppv_tag_1\": \"Single video\", \"pkg_ppv_tag_2\": \"Bundles\", \"pkg_ppv_tag_3\": \"No monthly plan\", \"pkg_ppv_cta\": \"Choose PPV\", \"signup_eyebrow\": \"Join now\", \"signup_title\": \"Create your access in one step.\", \"signup_body\": \"Choose your plan, enter your email and confirm 18+. Payment starts only when the checkout is active.\", \"signup_email_label\": \"Email\", \"signup_email_placeholder\": \"you@example.com\", \"signup_plan_label\": \"Choose access\", \"signup_plan_free\": \"Free\", \"signup_plan_member\": \"Member - 9.90 \u20ac \/ month\", \"signup_plan_premium\": \"Premium - 19.90 \u20ac \/ month\", \"signup_plan_ppv\": \"PPV from 4.90 \u20ac\", \"signup_age_confirmed\": \"I confirm that I am 18 or older.\", \"signup_privacy_confirmed\": \"I accept the privacy notice.\", \"signup_marketing_opt_in\": \"Send me new drops and offers.\", \"signup_submit\": \"Continue\", \"signup_note\": \"No payment is triggered here yet.\", \"signup_status_idle\": \"Ready.\", \"signup_process_eyebrow\": \"Included\", \"signup_process_title\": \"What you get inside.\", \"signup_process_li_1\": \"Streaming-style video catalog\", \"signup_process_li_2\": \"Premium image series and visual dossiers\", \"signup_process_li_3\": \"Free previews before you upgrade\", \"signup_process_li_4\": \"Flexible PPV for single releases\"}, \"de\": {\"brand_tagline\": \"Betritt eine geheime Welt - jetzt beitreten!\", \"nav_home\": \"Start\", \"nav_free\": \"Free\", \"nav_live\": \"Live\", \"nav_catalog\": \"Katalog\", \"nav_image_series\": \"Bildserien\", \"nav_membership\": \"Mitgliedschaft\", \"nav_participate\": \"Mitmachen\", \"nav_login\": \"Login\", \"nav_register\": \"Registrieren\", \"nav_recover\": \"Passwort \/ Benutzername vergessen?\", \"age_gate_kicker\": \"18+ Zugang\", \"age_gate_title\": \"Hinweis zu Inhalten f\u00fcr Erwachsene\", \"age_gate_body\": \"Dieser Bereich enth\u00e4lt Inhalte nur f\u00fcr Erwachsene. Best\u00e4tige zuerst, dass du 18 Jahre oder \u00e4lter bist, bevor 18+-Material sichtbar wird.\", \"age_gate_point_1\": \"Die Inhalte bleiben verborgen, bis du dein Alter best\u00e4tigst.\", \"age_gate_point_2\": \"Deine Best\u00e4tigung wird nur lokal auf diesem Ger\u00e4t gespeichert.\", \"age_gate_point_3\": \"Mit dem Fortfahren best\u00e4tigst du, dass du diese Inhalte rechtlich ansehen darfst.\", \"age_gate_confirm\": \"Ich bin 18 oder \u00e4lter\", \"age_gate_leave\": \"Seite verlassen\", \"membership_eyebrow\": \"Zugang w\u00e4hlen\", \"membership_title\": \"DontTELL.US Streaming freischalten.\", \"membership_lead\": \"Starte kostenlos, werde Mitglied oder kaufe ausgew\u00e4hlte Releases als PPV. W\u00e4hle den Zugang, der zu dir passt.\", \"membership_tiers_eyebrow\": \"Pakete\", \"membership_tiers_title\": \"Free, Member, Premium oder PPV.\", \"membership_tiers_body\": \"Klar, schnell und ohne Umwege. Paket w\u00e4hlen und weiter.\", \"pkg_free_eyebrow\": \"Free\", \"pkg_free_title\": \"Kostenlos starten\", \"pkg_free_price\": \"0 \u20ac\", \"pkg_free_body\": \"Vorschauen ansehen, neue Drops verfolgen und sp\u00e4ter entscheiden.\", \"pkg_free_tag_1\": \"Freie Vorschauen\", \"pkg_free_tag_2\": \"Neue Drops\", \"pkg_free_tag_3\": \"Keine Zahlung\", \"pkg_free_cta\": \"Kostenlos starten\", \"pkg_member_eyebrow\": \"Beliebt\", \"pkg_member_title\": \"Member\", \"pkg_member_price\": \"9,90 \u20ac \/ Monat\", \"pkg_member_body\": \"Vollversionen, Bildserien und regelm\u00e4\u00dfige Premium-Drops.\", \"pkg_member_tag_1\": \"Vollversionen\", \"pkg_member_tag_2\": \"Bildserien\", \"pkg_member_tag_3\": \"Member-Drops\", \"pkg_member_cta\": \"Mitglied werden\", \"pkg_premium_eyebrow\": \"Premium\", \"pkg_premium_title\": \"Premium-Abo\", \"pkg_premium_price\": \"19,90 \u20ac \/ Monat\", \"pkg_premium_body\": \"Priorisierte Drops, Story-Requests und Bundle-Vorteile.\", \"pkg_premium_tag_1\": \"Priorit\u00e4t\", \"pkg_premium_tag_2\": \"Story-Requests\", \"pkg_premium_tag_3\": \"Bundle-Vorteile\", \"pkg_premium_cta\": \"Premium w\u00e4hlen\", \"pkg_ppv_eyebrow\": \"PPV\", \"pkg_ppv_title\": \"Einzelzugang\", \"pkg_ppv_price\": \"ab 4,90 \u20ac\", \"pkg_ppv_body\": \"Einzelvideos, Bundles oder Full-Case-Pakete ohne Monatsabo kaufen.\", \"pkg_ppv_tag_1\": \"Einzelvideo\", \"pkg_ppv_tag_2\": \"Bundles\", \"pkg_ppv_tag_3\": \"Kein Monatsabo\", \"pkg_ppv_cta\": \"PPV w\u00e4hlen\", \"signup_eyebrow\": \"Jetzt beitreten\", \"signup_title\": \"Zugang in einem Schritt vorbereiten.\", \"signup_body\": \"Paket w\u00e4hlen, E-Mail eintragen und 18+ best\u00e4tigen. Die Zahlung startet erst, wenn der Checkout aktiv ist.\", \"signup_email_label\": \"E-Mail\", \"signup_email_placeholder\": \"du@example.com\", \"signup_plan_label\": \"Zugang w\u00e4hlen\", \"signup_plan_free\": \"Free\", \"signup_plan_member\": \"Member - 9,90 \u20ac \/ Monat\", \"signup_plan_premium\": \"Premium - 19,90 \u20ac \/ Monat\", \"signup_plan_ppv\": \"PPV ab 4,90 \u20ac\", \"signup_age_confirmed\": \"Ich best\u00e4tige, dass ich 18 Jahre oder \u00e4lter bin.\", \"signup_privacy_confirmed\": \"Ich akzeptiere die Datenschutzhinweise.\", \"signup_marketing_opt_in\": \"Schick mir neue Drops und Angebote.\", \"signup_submit\": \"Weiter\", \"signup_note\": \"Hier wird noch keine Zahlung ausgel\u00f6st.\", \"signup_status_idle\": \"Bereit.\", \"signup_process_eyebrow\": \"Enthalten\", \"signup_process_title\": \"Das bekommst du im Zugang.\", \"signup_process_li_1\": \"Videokatalog im Streaming-Stil\", \"signup_process_li_2\": \"Premium-Bildserien und visuelle Dossiers\", \"signup_process_li_3\": \"Freie Vorschauen vor dem Upgrade\", \"signup_process_li_4\": \"Flexible PPV-Freischaltung f\u00fcr einzelne Releases\"}, \"es\": {\"brand_tagline\": \"Entra en un mundo secreto - \u00fanete ahora.\", \"nav_home\": \"Inicio\", \"nav_free\": \"Gratis\", \"nav_live\": \"Live\", \"nav_catalog\": \"Cat\u00e1logo\", \"nav_image_series\": \"Series de im\u00e1genes\", \"nav_membership\": \"Membres\u00eda\", \"nav_participate\": \"Participar\", \"nav_login\": \"Login\", \"nav_register\": \"Registro\", \"nav_recover\": \"\u00bfContrase\u00f1a \/ usuario olvidado?\", \"age_gate_kicker\": \"Acceso 18+\", \"age_gate_title\": \"Aviso de contenido para adultos\", \"age_gate_body\": \"Esta zona contiene contenido solo para adultos. Confirma primero que tienes 18 a\u00f1os o m\u00e1s antes de que cualquier material 18+ sea visible.\", \"age_gate_point_1\": \"El contenido permanece oculto hasta que confirmes tu edad.\", \"age_gate_point_2\": \"Tu confirmaci\u00f3n se guarda solo localmente en este dispositivo.\", \"age_gate_point_3\": \"Al continuar, confirmas que legalmente puedes ver este contenido.\", \"age_gate_confirm\": \"Tengo 18 a\u00f1os o m\u00e1s\", \"age_gate_leave\": \"Salir del sitio\", \"membership_eyebrow\": \"Elige tu acceso\", \"membership_title\": \"Desbloquea DontTELL.US Streaming.\", \"membership_lead\": \"Empieza gratis, hazte miembro o compra lanzamientos seleccionados como PPV. Elige el acceso que encaja contigo.\", \"membership_tiers_eyebrow\": \"Planes\", \"membership_tiers_title\": \"Free, Member, Premium o PPV.\", \"membership_tiers_body\": \"Sin confusi\u00f3n. Elige tu modelo y contin\u00faa.\", \"pkg_free_eyebrow\": \"Free\", \"pkg_free_title\": \"Empieza gratis\", \"pkg_free_price\": \"0 \u20ac\", \"pkg_free_body\": \"Mira previews, sigue nuevos lanzamientos y decide despu\u00e9s.\", \"pkg_free_tag_1\": \"Previews gratis\", \"pkg_free_tag_2\": \"Nuevos drops\", \"pkg_free_tag_3\": \"Sin pago\", \"pkg_free_cta\": \"Empezar gratis\", \"pkg_member_eyebrow\": \"M\u00e1s elegido\", \"pkg_member_title\": \"Member\", \"pkg_member_price\": \"9,90 \u20ac \/ mes\", \"pkg_member_body\": \"Videos completos, series de im\u00e1genes y drops premium regulares.\", \"pkg_member_tag_1\": \"Versiones completas\", \"pkg_member_tag_2\": \"Series de im\u00e1genes\", \"pkg_member_tag_3\": \"Drops member\", \"pkg_member_cta\": \"Hazte miembro\", \"pkg_premium_eyebrow\": \"Premium\", \"pkg_premium_title\": \"Premium Abo\", \"pkg_premium_price\": \"19,90 \u20ac \/ mes\", \"pkg_premium_body\": \"Drops prioritarios, story requests y ventajas de bundle.\", \"pkg_premium_tag_1\": \"Prioridad\", \"pkg_premium_tag_2\": \"Story requests\", \"pkg_premium_tag_3\": \"Ventajas bundle\", \"pkg_premium_cta\": \"Elegir premium\", \"pkg_ppv_eyebrow\": \"PPV\", \"pkg_ppv_title\": \"Acceso individual\", \"pkg_ppv_price\": \"desde 4,90 \u20ac\", \"pkg_ppv_body\": \"Compra videos individuales, bundles o paquetes full-case sin plan mensual.\", \"pkg_ppv_tag_1\": \"Video individual\", \"pkg_ppv_tag_2\": \"Bundles\", \"pkg_ppv_tag_3\": \"Sin plan mensual\", \"pkg_ppv_cta\": \"Elegir PPV\", \"signup_eyebrow\": \"\u00danete ahora\", \"signup_title\": \"Crea tu acceso en un paso.\", \"signup_body\": \"Elige un plan, introduce tu email y confirma 18+. El pago empieza solo cuando el checkout est\u00e9 activo.\", \"signup_email_label\": \"Email\", \"signup_email_placeholder\": \"tu@ejemplo.com\", \"signup_plan_label\": \"Elegir acceso\", \"signup_plan_free\": \"Free\", \"signup_plan_member\": \"Member - 9,90 \u20ac \/ mes\", \"signup_plan_premium\": \"Premium - 19,90 \u20ac \/ mes\", \"signup_plan_ppv\": \"PPV desde 4,90 \u20ac\", \"signup_age_confirmed\": \"Confirmo que tengo 18 a\u00f1os o m\u00e1s.\", \"signup_privacy_confirmed\": \"Acepto el aviso de privacidad.\", \"signup_marketing_opt_in\": \"Env\u00edame nuevos drops y ofertas.\", \"signup_submit\": \"Continuar\", \"signup_note\": \"Aqu\u00ed todav\u00eda no se activa ning\u00fan pago.\", \"signup_status_idle\": \"Listo.\", \"signup_process_eyebrow\": \"Incluido\", \"signup_process_title\": \"Lo que recibes dentro.\", \"signup_process_li_1\": \"Cat\u00e1logo de video estilo streaming\", \"signup_process_li_2\": \"Series de im\u00e1genes premium y dossiers visuales\", \"signup_process_li_3\": \"Previews gratis antes de subir de plan\", \"signup_process_li_4\": \"PPV flexible para lanzamientos individuales\"}, \"fr\": {\"brand_tagline\": \"Entrez dans un monde secret - rejoignez-nous maintenant.\", \"nav_home\": \"Accueil\", \"nav_free\": \"Gratuit\", \"nav_live\": \"Live\", \"nav_catalog\": \"Catalogue\", \"nav_image_series\": \"S\u00e9ries d'images\", \"nav_membership\": \"Abonnement\", \"nav_participate\": \"Participer\", \"nav_login\": \"Login\", \"nav_register\": \"Inscription\", \"nav_recover\": \"Mot de passe \/ utilisateur oubli\u00e9 ?\", \"age_gate_kicker\": \"Acc\u00e8s 18+\", \"age_gate_title\": \"Avertissement contenu adulte\", \"age_gate_body\": \"Cette zone contient du contenu r\u00e9serv\u00e9 aux adultes. Confirmez d'abord que vous avez 18 ans ou plus avant que tout contenu 18+ ne devienne visible.\", \"age_gate_point_1\": \"Le contenu reste masqu\u00e9 jusqu'\u00e0 confirmation de votre \u00e2ge.\", \"age_gate_point_2\": \"Votre confirmation est stock\u00e9e uniquement localement sur cet appareil.\", \"age_gate_point_3\": \"En continuant, vous confirmez que vous \u00eates l\u00e9galement autoris\u00e9 \u00e0 voir ce contenu.\", \"age_gate_confirm\": \"J'ai 18 ans ou plus\", \"age_gate_leave\": \"Quitter le site\", \"membership_eyebrow\": \"Choisissez votre acc\u00e8s\", \"membership_title\": \"D\u00e9verrouillez DontTELL.US Streaming.\", \"membership_lead\": \"Commencez gratuitement, devenez membre ou achetez certains contenus en PPV. Choisissez l'acc\u00e8s qui vous convient.\", \"membership_tiers_eyebrow\": \"Formules\", \"membership_tiers_title\": \"Free, Member, Premium ou PPV.\", \"membership_tiers_body\": \"Simple et clair. Choisissez votre formule et continuez.\", \"pkg_free_eyebrow\": \"Free\", \"pkg_free_title\": \"Commencer gratuitement\", \"pkg_free_price\": \"0 \u20ac\", \"pkg_free_body\": \"Regardez les aper\u00e7us, suivez les nouveaut\u00e9s et d\u00e9cidez plus tard.\", \"pkg_free_tag_1\": \"Aper\u00e7us gratuits\", \"pkg_free_tag_2\": \"Nouveaux drops\", \"pkg_free_tag_3\": \"Sans paiement\", \"pkg_free_cta\": \"Commencer gratuitement\", \"pkg_member_eyebrow\": \"Le plus choisi\", \"pkg_member_title\": \"Member\", \"pkg_member_price\": \"9,90 \u20ac \/ mois\", \"pkg_member_body\": \"Vid\u00e9os compl\u00e8tes, s\u00e9ries d'images et nouveaut\u00e9s premium r\u00e9guli\u00e8res.\", \"pkg_member_tag_1\": \"Versions compl\u00e8tes\", \"pkg_member_tag_2\": \"S\u00e9ries d'images\", \"pkg_member_tag_3\": \"Drops membre\", \"pkg_member_cta\": \"Devenir membre\", \"pkg_premium_eyebrow\": \"Premium\", \"pkg_premium_title\": \"Premium Abo\", \"pkg_premium_price\": \"19,90 \u20ac \/ mois\", \"pkg_premium_body\": \"Nouveaut\u00e9s prioritaires, story requests et avantages bundle.\", \"pkg_premium_tag_1\": \"Priorit\u00e9\", \"pkg_premium_tag_2\": \"Story requests\", \"pkg_premium_tag_3\": \"Avantages bundle\", \"pkg_premium_cta\": \"Choisir premium\", \"pkg_ppv_eyebrow\": \"PPV\", \"pkg_ppv_title\": \"Acc\u00e8s individuel\", \"pkg_ppv_price\": \"\u00e0 partir de 4,90 \u20ac\", \"pkg_ppv_body\": \"Achetez une vid\u00e9o, un bundle ou un package full-case sans abonnement mensuel.\", \"pkg_ppv_tag_1\": \"Vid\u00e9o unique\", \"pkg_ppv_tag_2\": \"Bundles\", \"pkg_ppv_tag_3\": \"Sans abonnement\", \"pkg_ppv_cta\": \"Choisir PPV\", \"signup_eyebrow\": \"Rejoindre\", \"signup_title\": \"Cr\u00e9ez votre acc\u00e8s en une \u00e9tape.\", \"signup_body\": \"Choisissez une formule, indiquez votre e-mail et confirmez 18+. Le paiement d\u00e9marre seulement lorsque le checkout est actif.\", \"signup_email_label\": \"E-mail\", \"signup_email_placeholder\": \"vous@exemple.com\", \"signup_plan_label\": \"Choisir l'acc\u00e8s\", \"signup_plan_free\": \"Free\", \"signup_plan_member\": \"Member - 9,90 \u20ac \/ mois\", \"signup_plan_premium\": \"Premium - 19,90 \u20ac \/ mois\", \"signup_plan_ppv\": \"PPV \u00e0 partir de 4,90 \u20ac\", \"signup_age_confirmed\": \"Je confirme avoir 18 ans ou plus.\", \"signup_privacy_confirmed\": \"J'accepte la notice de confidentialit\u00e9.\", \"signup_marketing_opt_in\": \"Envoyez-moi les nouveaux drops et offres.\", \"signup_submit\": \"Continuer\", \"signup_note\": \"Aucun paiement n'est d\u00e9clench\u00e9 ici.\", \"signup_status_idle\": \"Pr\u00eat.\", \"signup_process_eyebrow\": \"Inclus\", \"signup_process_title\": \"Ce que vous obtenez.\", \"signup_process_li_1\": \"Catalogue vid\u00e9o style streaming\", \"signup_process_li_2\": \"S\u00e9ries d'images premium et dossiers visuels\", \"signup_process_li_3\": \"Aper\u00e7us gratuits avant l'upgrade\", \"signup_process_li_4\": \"PPV flexible pour les sorties individuelles\"}};\n  const labels = bundles[locale] || bundles.en || {};\n  function repairVisibleText(value) {\n    if (typeof value !== \"string\") return value;\n    const replacements = [\n      [\/Oberfl[?]che\/g, \"Oberfl\u00e4che\"],\n      [\/Kan[?]len\/g, \"Kan\u00e4len\"],\n      [\/Kan[?]le\/g, \"Kan\u00e4le\"],\n      [\/T[?]ren\/g, \"T\u00fcren\"],\n      [\/f[?]hrt\/g, \"f\u00fchrt\"],\n      [\/f[?]hren\/g, \"f\u00fchren\"],\n      [\/F[?]llen\/g, \"F\u00e4llen\"],\n      [\/Zug[?]ngen\/g, \"Zug\u00e4ngen\"],\n      [\/Zug[?]nge\/g, \"Zug\u00e4nge\"],\n      [\/[?]bergabe\/g, \"\u00dcbergabe\"],\n      [\/erg[?]nzt\/g, \"erg\u00e4nzt\"],\n      [\/zusammenh[?]ngender\/g, \"zusammenh\u00e4ngender\"],\n      [\/verk[?]rpert\/g, \"verk\u00f6rpert\"],\n      [\/pr[?]sent\/g, \"pr\u00e4sent\"],\n      [\/Storyb[?]gen\/g, \"Storyb\u00f6gen\"],\n      [\/f[?]r\/g, \"f\u00fcr\"],\n      [\/F[?]r\/g, \"F\u00fcr\"],\n      [\/[?]ffnen\/g, \"\u00d6ffnen\"]\n    ];\n    return replacements.reduce((text, pair) => text.replace(pair[0], pair[1]), value);\n  }\n  document.documentElement.setAttribute(\"lang\", locale === \"en\" ? \"en\" : locale);\n  document.querySelectorAll(\"[data-lkey]\").forEach((el) => {\n    const key = el.getAttribute(\"data-lkey\");\n    if (key && Object.prototype.hasOwnProperty.call(labels, key)) {\n      el.innerHTML = repairVisibleText(labels[key]);\n    }\n  });\n  document.querySelectorAll(\"[data-lplaceholder]\").forEach((el) => {\n    const key = el.getAttribute(\"data-lplaceholder\");\n    if (key && Object.prototype.hasOwnProperty.call(labels, key)) {\n      el.setAttribute(\"placeholder\", repairVisibleText(labels[key]));\n    }\n  });\n  document.querySelectorAll(\"[data-route-key]\").forEach((el) => {\n    const routeKey = el.getAttribute(\"data-route-key\");\n    const href = routes?.[locale]?.[routeKey];\n    if (href) {\n      const fragment = el.getAttribute(\"data-route-fragment\") || \"\";\n      el.setAttribute(\"href\", href + fragment);\n    }\n  });\n  window.dtuLocaleLabels = Object.assign({}, window.dtuLocaleLabels || {}, labels);\n  window.dtuLocaleState = { locale, labels: window.dtuLocaleLabels, routes };\n  document.dispatchEvent(new CustomEvent(\"dtu:language-ready\", { detail: window.dtuLocaleState }));\n  const ageKey = \"dtuAgeGateAcceptedV2\";\n  const ageGate = document.getElementById(\"dtu-age-gate\");\n  const confirmButton = document.getElementById(\"dtu-age-confirm\");\n  const maxAgeMs = 1000 * 60 * 60 * 24 * 30;\n  function ageAccepted() {\n    try {\n      const raw = localStorage.getItem(ageKey);\n      if (!raw) return false;\n      const data = JSON.parse(raw);\n      if (!data?.acceptedAt) return false;\n      return (Date.now() - Number(data.acceptedAt)) < maxAgeMs;\n    } catch (error) {\n      return false;\n    }\n  }\n  function unlockAgeGate() {\n    document.body.classList.remove(\"dtu-age-locked\");\n    if (ageGate) ageGate.hidden = true;\n  }\n  if (ageGate) {\n    if (ageAccepted()) {\n      unlockAgeGate();\n    } else {\n      document.body.classList.add(\"dtu-age-locked\");\n      ageGate.hidden = false;\n      window.scrollTo({ top: 0, left: 0, behavior: \"auto\" });\n      if (confirmButton) {\n        confirmButton.addEventListener(\"click\", () => {\n          localStorage.setItem(ageKey, JSON.stringify({ acceptedAt: Date.now() }));\n          unlockAgeGate();\n        }, { once: true });\n      }\n    }\n  }\n})();\n<\/script>\n\n<script>\n(async function() {\n  const origin = window.location.origin || \"\";\n  const storageKey = \"dtuMetricsV1\";\n  function loadState() { try { return JSON.parse(localStorage.getItem(storageKey) || \"{}\"); } catch (e) { return {}; } }\n  function saveState(state) { localStorage.setItem(storageKey, JSON.stringify(state)); }\n  function plain(html) { return (html || \"\").replace(\/<[^>]+>\/g, \" \").replace(\/\\s+\/g, \" \").trim(); }\n  function mediaUrl(item) { return item._embedded?.[\"wp:featuredmedia\"]?.[0]?.source_url || \"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/brand-mark.png\"; }\n\n  const [videosResponse, imageSeriesResponse] = await Promise.all([\n    fetch(origin + \"\/wp-json\/wp\/v2\/dtu_video?per_page=84&_embed\"),\n    fetch(origin + \"\/wp-json\/wp\/v2\/dtu_image_series?per_page=24&_embed\")\n  ]);\n  const videos = await videosResponse.json();\n  const imageSeries = await imageSeriesResponse.json();\n  const path = window.location.pathname || \"\";\n  let locale = \"en\";\n  if (path.startsWith(\"\/de\/\") || path === \"\/de\") locale = \"de\";\n  else if (path.startsWith(\"\/es\/\") || path === \"\/es\") locale = \"es\";\n  else if (path.startsWith(\"\/fr\/\") || path === \"\/fr\") locale = \"fr\";\n  const ui = {\n    en: { imageSeries: \"IMAGE SERIES\", freeTeaser: \"FREE TEASER\", member: \"MEMBER\", open: \"Open\", lockLabel: \"The whole truth as a member\", gallery: \"gallery\", video: \"video\", opens: \"opens\", seasonShort: \"S\", episodeShort: \"F\", seconds: \"sec\", imageSeriesMeta: \"Image series\", fallbackTitle: \"No new posts in the 4-week window\", fallbackBody: \"As soon as new videos or image series are published, they appear here automatically.\", popular: \"POPULAR\", popularBody: \"Popular case files from views, favourites and anonymous quick ratings.\", noFavoritesTitle: \"No favourites yet\", noFavoritesBody: \"This rail fills automatically when viewers open and rate content.\", defaultBody: \"Case entry with teaser, access mode and story context.\" },\n    de: { imageSeries: \"BILDSERIE\", freeTeaser: \"FREIER TEASER\", member: \"MITGLIED\", open: \"\u00d6ffnen\", lockLabel: \"Die ganze Wahrheit als Mitglied\", gallery: \"Galerie\", video: \"Video\", opens: \"Aufrufe\", seasonShort: \"S\", episodeShort: \"F\", seconds: \"Sek.\", imageSeriesMeta: \"Bildserie\", fallbackTitle: \"Keine neuen Beitr\u00e4ge im 4-Wochen-Fenster\", fallbackBody: \"Sobald neue Videos oder Bildserien ver\u00f6ffentlicht werden, erscheinen sie hier automatisch.\", popular: \"BELIEBT\", popularBody: \"Beliebte F\u00e4lle aus Aufrufen, Favoriten und anonymen Schnellbewertungen.\", noFavoritesTitle: \"Noch keine Favoriten\", noFavoritesBody: \"Diese Reihe f\u00fcllt sich automatisch, sobald Zuschauer Inhalte \u00f6ffnen und bewerten.\", defaultBody: \"Falleinstieg mit Teaser, Zugangsart und Story-Kontext.\" },\n    es: { imageSeries: \"SERIE VISUAL\", freeTeaser: \"TEASER GRATIS\", member: \"MIEMBRO\", open: \"Abrir\", lockLabel: \"Toda la verdad como miembro\", gallery: \"galer\u00eda\", video: \"video\", opens: \"aperturas\", seasonShort: \"T\", episodeShort: \"E\", seconds: \"seg.\", imageSeriesMeta: \"Serie de im\u00e1genes\", fallbackTitle: \"No hay nuevos contenidos en la ventana de 4 semanas\", fallbackBody: \"Cuando se publiquen nuevos videos o series de im\u00e1genes, aparecer\u00e1n aqu\u00ed autom\u00e1ticamente.\", popular: \"POPULAR\", popularBody: \"Casos populares seg\u00fan aperturas, favoritos y valoraciones r\u00e1pidas an\u00f3nimas.\", noFavoritesTitle: \"A\u00fan no hay favoritos\", noFavoritesBody: \"Esta fila se llenar\u00e1 autom\u00e1ticamente cuando los espectadores abran y valoren contenidos.\", defaultBody: \"Entrada de caso con teaser, modo de acceso y contexto narrativo.\" },\n    fr: { imageSeries: \"S\u00c9RIE VISUELLE\", freeTeaser: \"TEASER GRATUIT\", member: \"MEMBRE\", open: \"Ouvrir\", lockLabel: \"Toute la v\u00e9rit\u00e9 comme membre\", gallery: \"galerie\", video: \"vid\u00e9o\", opens: \"ouvertures\", seasonShort: \"S\", episodeShort: \"E\", seconds: \"s\", imageSeriesMeta: \"S\u00e9rie d'images\", fallbackTitle: \"Aucune nouveaut\u00e9 dans la fen\u00eatre de 4 semaines\", fallbackBody: \"D\u00e8s que de nouvelles vid\u00e9os ou s\u00e9ries d'images sont publi\u00e9es, elles apparaissent ici automatiquement.\", popular: \"POPULAIRE\", popularBody: \"Dossiers populaires selon ouvertures, favoris et notes rapides anonymes.\", noFavoritesTitle: \"Pas encore de favoris\", noFavoritesBody: \"Ce rail se remplit automatiquement lorsque les visiteurs ouvrent et notent les contenus.\", defaultBody: \"Entr\u00e9e de dossier avec teaser, mode d'acc\u00e8s et contexte narratif.\" }\n  };\n  const tr = ui[locale] || ui.en;\n  function formatPublishedDate(item) {\n    const raw = item?.date || item?.modified || \"\";\n    if (!raw) return \"\";\n    const date = new Date(raw);\n    if (Number.isNaN(date.getTime())) return \"\";\n    const localeMap = { en: \"en-US\", de: \"de-DE\", es: \"es-ES\", fr: \"fr-FR\" };\n    return date.toLocaleDateString(localeMap[locale] || \"en-US\", { year: \"numeric\", month: \"2-digit\", day: \"2-digit\" });\n  }\n  function isNewRelease(item) {\n    const raw = item?.date || item?.modified || \"\";\n    if (!raw) return false;\n    const date = new Date(raw).getTime();\n    return Number.isFinite(date) && (Date.now() - date) <= 28 * 24 * 60 * 60 * 1000;\n  }\n  function newBadge() {\n    if (locale === \"de\") return \"NEU\";\n    if (locale === \"es\") return \"NUEVO\";\n    if (locale === \"fr\") return \"NOUVEAU\";\n    return \"NEW\";\n  }\n  const imageSeriesShelfFallback = {\n    en: {\n      title: \"New visual dossier in preparation\",\n      body: \"The next visual dossier will expand the case line with cover, chapters, gallery flow and a clear member unlock.\",\n      badge: \"COMING NEXT\",\n      meta: \"image series \u2022 preview slot\",\n      link: \"\/en_us\/image-series\/\",\n      cta: \"Open\"\n    },\n    de: {\n      title: \"Neues visuelles Dossier in Vorbereitung\",\n      body: \"Das n\u00e4chste visuelle Dossier erweitert die Falllinie mit Cover, Kapiteln, Galeriefluss und klarer Mitglieder-Freischaltung.\",\n      badge: \"ALS N\u00c4CHSTES\",\n      meta: \"Bildserie \u2022 Vorschauplatz\",\n      link: \"\/de\/image-series\/\",\n      cta: \"\u00d6ffnen\"\n    },\n    es: {\n      title: \"Nuevo dossier visual en preparaci\u00f3n\",\n      body: \"El siguiente dossier visual ampl\u00eda la l\u00ednea del caso con portada, cap\u00edtulos, flujo de galer\u00eda y desbloqueo para miembros.\",\n      badge: \"PR\u00d3XIMAMENTE\",\n      meta: \"serie de im\u00e1genes \u2022 espacio previo\",\n      link: \"\/es\/image-series\/\",\n      cta: \"Abrir\"\n    },\n    fr: {\n      title: \"Nouveau dossier visuel en pr\u00e9paration\",\n      body: \"Le prochain dossier visuel \u00e9largit la ligne du dossier avec couverture, chapitres, galerie et d\u00e9verrouillage membre.\",\n      badge: \"\u00c0 VENIR\",\n      meta: \"s\u00e9rie d'images \u2022 emplacement aper\u00e7u\",\n      link: \"\/fr\/image-series\/\",\n      cta: \"Ouvrir\"\n    }\n  };\n  function normalizeKeyPart(value) {\n    return String(value || \"\")\n      .toLowerCase()\n      .replace(\/[_-]?16x9\/g, \"\")\n      .replace(\/[_-]?9x16\/g, \"\")\n      .replace(\/20[0-9]{2}[-_][0-9]{2}[-_][0-9]{2}\/g, \"\")\n      .replace(\/social\\s+voll\/g, \"social-voll\")\n      .replace(\/social\\s+cliffhanger\/g, \"social-cliffhanger\")\n      .replace(\/premium\\s+voll\/g, \"premium-voll\")\n      .replace(\/premium\\s+teaser\/g, \"premium-teaser\")\n      .replace(\/[^a-z0-9]+\/g, \"-\")\n      .replace(\/-+\/g, \"-\")\n      .replace(\/^-|-$\/g, \"\");\n  }\n  function firstValue(value) {\n    return Array.isArray(value) ? (value[0] ?? \"\") : (value ?? \"\");\n  }\n  function canonicalVideoKey(item) {\n    if (item.type === \"dtu_image_series\") return [\"image\", normalizeKeyPart(item.slug || item.id)].join(\"|\");\n    const title = normalizeKeyPart(item.title?.rendered || item.title || \"\");\n    const slug = normalizeKeyPart(item.slug || \"\");\n    const series = normalizeKeyPart(((item.series || item.dtu_series || [])[0] || firstValue(item.meta?.dtu_series_code) || \"\"));\n    const season = String(firstValue(item.meta?.dtu_season_number) || 1);\n    const episode = String(firstValue(item.meta?.dtu_episode_number) || 1);\n    const role = item.meta?.dtu_is_teaser ? \"teaser\" : \"member\";\n    const runtimeBucket = String(Math.round(Number(firstValue(item.meta?.dtu_runtime_seconds) || 0)));\n    return [series || title || slug, season, episode, role, runtimeBucket, title || slug].join(\"|\");\n  }\n  function dedupeVideos(items) {\n    const seen = new Set();\n    const result = [];\n    for (const item of items) {\n      const key = canonicalVideoKey(item);\n      if (seen.has(key)) continue;\n      seen.add(key);\n      result.push(item);\n    }\n    return result;\n  }\n  function canonicalThemeKey(item) {\n    if (item.type === \"dtu_image_series\") return [\"image\", normalizeKeyPart(item.slug || item.id)].join(\"|\");\n    const rawTitle = normalizeKeyPart(item.title?.rendered || item.slug || \"\");\n    const baseTitle = rawTitle\n      .replace(\/premium-teaser\/g, \"\")\n      .replace(\/premium-voll\/g, \"\")\n      .replace(\/social-cliffhanger\/g, \"\")\n      .replace(\/social-voll\/g, \"\")\n      .replace(\/cliffhanger\/g, \"\")\n      .replace(\/teaser\/g, \"\")\n      .replace(\/voll\/g, \"\")\n      .replace(\/-+\/g, \"-\")\n      .replace(\/^-|-$\/g, \"\");\n    const season = String(firstValue(item.meta?.dtu_season_number) || 1);\n    const episode = String(firstValue(item.meta?.dtu_episode_number) || 1);\n    return [season, episode, baseTitle].join(\"|\");\n  }\n  function representativeScore(item, activeAccess) {\n    if (item.type === \"dtu_image_series\") return 70;\n    const title = normalizeKeyPart(item.title?.rendered || item.slug || \"\");\n    const isTeaser = !!item.meta?.dtu_is_teaser;\n    if (activeAccess === \"teaser\") {\n      if (title.includes(\"social-cliffhanger\")) return 100;\n      if (title.includes(\"premium-teaser\")) return 90;\n      return isTeaser ? 80 : 0;\n    }\n    if (activeAccess === \"member\") {\n      if (title.includes(\"premium-voll\")) return 100;\n      if (title.includes(\"social-voll\")) return 90;\n      return !isTeaser ? 80 : 0;\n    }\n    if (title.includes(\"premium-voll\")) return 100;\n    if (title.includes(\"social-voll\")) return 90;\n    if (title.includes(\"premium-teaser\")) return 70;\n    if (title.includes(\"social-cliffhanger\")) return 60;\n    return isTeaser ? 40 : 50;\n  }\n  function pickRepresentatives(items, activeAccess) {\n    const byTheme = new Map();\n    for (const item of items) {\n      const key = canonicalThemeKey(item);\n      if (!byTheme.has(key)) byTheme.set(key, []);\n      byTheme.get(key).push(item);\n    }\n    const themeWinners = Array.from(byTheme.values()).map(group => group.sort((a, b) => {\n      const scoreDiff = representativeScore(b, activeAccess) - representativeScore(a, activeAccess);\n      if (scoreDiff) return scoreDiff;\n      return new Date(b.modified || b.date || 0) - new Date(a.modified || a.date || 0);\n    })[0]);\n\n    const byPoster = new Map();\n    for (const item of themeWinners) {\n      const key = normalizeKeyPart(mediaUrl(item));\n      if (!byPoster.has(key)) byPoster.set(key, []);\n      byPoster.get(key).push(item);\n    }\n    return Array.from(byPoster.values()).map(group => group.sort((a, b) => {\n      const scoreDiff = representativeScore(b, activeAccess) - representativeScore(a, activeAccess);\n      if (scoreDiff) return scoreDiff;\n      return new Date(b.modified || b.date || 0) - new Date(a.modified || a.date || 0);\n    })[0]);\n  }\n  const latest = [...videos].sort((a, b) => new Date(b.modified) - new Date(a.modified));\n  const uniqueLatest = dedupeVideos(latest);\n  const teasers = pickRepresentatives(uniqueLatest.filter(item => item.meta?.dtu_is_teaser), \"teaser\").slice(0, 8);\n  const members = pickRepresentatives(uniqueLatest.filter(item => !item.meta?.dtu_is_teaser), \"member\").slice(0, 8);\n  \/\/ The three oldest picture stories are the permanent, fully visible entry\n  \/\/ points on the front page. They are deliberately not rendered as blurred\n  \/\/ member teasers.\n  const orderedImageSeries = [...imageSeries]\n    .sort((a, b) => new Date(b.date || b.modified || 0) - new Date(a.date || a.modified || 0));\n  const latestImageStories = orderedImageSeries.slice(0, 3);\n  const freeTeaserStories = orderedImageSeries.slice(3, 6).reverse();\n  const releaseWindowMs = 28 * 24 * 60 * 60 * 1000;\n  const releaseCutoff = Date.now() - releaseWindowMs;\n  const newestPosts = pickRepresentatives(dedupeVideos([...videos]).concat(imageSeries), \"\")\n    .filter(item => {\n      const releaseDate = new Date(item.modified || item.date || item.meta?.dtu_signup_created_at || 0).getTime();\n      return Number.isFinite(releaseDate) && releaseDate >= releaseCutoff;\n    })\n    .sort((a, b) => new Date(b.modified || b.date || 0) - new Date(a.modified || a.date || 0))\n    .slice(0, 10);\n\n  function ensureMetricItem(state, item) {\n    const id = item.slug || String(item.id);\n    if (!state[id]) state[id] = { id, type: item.type, title: item.title?.rendered || item.title || \"Untitled\", link: item.link, poster: mediaUrl(item), date: item.date || item.modified || \"\", views: 0, ratings: [] };\n    if (!state[id].date) state[id].date = item.date || item.modified || \"\";\n    return state[id];\n  }\n\n  function accessBadge(item) {\n    if (item.type === \"dtu_image_series\") return (item.meta?.dtu_full_free_now || item.meta?.dtu_access_mode === \"free\" || item.meta?.dtu_membership_tier === \"free\") ? tr.freeTeaser : tr.imageSeries;\n    return item.meta?.dtu_is_teaser ? tr.freeTeaser : tr.member;\n  }\n\n  function escapeHtml(value) {\n    return String(value || \"\").replace(\/[&<>\"']\/g, char => ({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"}[char]));\n  }\n\n  function normalizedTitleSeed(item) {\n    return [\n      item.slug || \"\",\n      plain(item.title?.rendered || item.title || \"\"),\n      item.meta?.dtu_series_slug || \"\",\n      item.meta?.dtu_collection_slug || \"\"\n    ].join(\" \").toLowerCase();\n  }\n\n  function localizedStoryBase(item) {\n    const seed = normalizedTitleSeed(item);\n    const titles = {\n      trace: { en: \"The Trace in the Room\", de: \"Die Spur im Raum\", es: \"La pista en la sala\", fr: \"La trace dans la pi\u00e8ce\" },\n      raid: { en: \"The Raid\", de: \"Der Zugriff\", es: \"El operativo\", fr: \"L'intervention\" },\n      arrest: { en: \"The Arrest Moment\", de: \"Der Moment der Festnahme\", es: \"El momento del arresto\", fr: \"Le moment de l'arrestation\" },\n      decision: { en: \"Before the Decision\", de: \"Vor der Entscheidung\", es: \"Antes de la decisi\u00f3n\", fr: \"Avant la d\u00e9cision\" },\n      custody: { en: \"Custody Protocol\", de: \"Protokoll der Verwahrung\", es: \"Protocolo de custodia\", fr: \"Protocole de garde\" },\n      dossier: { en: \"Visual Case Dossier\", de: \"Visuelles Falldossier\", es: \"Dossier visual del caso\", fr: \"Dossier visuel du dossier\" }\n    };\n    let key = \"dossier\";\n    if (seed.includes(\"spur-im-raum\") || seed.includes(\"die spur\")) key = \"trace\";\n    else if (seed.includes(\"zugriff\")) key = \"raid\";\n    else if (seed.includes(\"festnahme\")) key = \"arrest\";\n    else if (seed.includes(\"entscheidung\")) key = \"decision\";\n    else if (seed.includes(\"u-haft\") || seed.includes(\"verwahrung\") || seed.includes(\"haft\")) key = \"custody\";\n    return (titles[key] || titles.dossier)[locale] || titles[key].en;\n  }\n\n  function localizedVariant(item) {\n    if (item.type === \"dtu_image_series\") {\n      return ({ en: \"Image Story\", de: \"Bildstory\", es: \"Historia visual\", fr: \"R\u00e9cit visuel\" }[locale] || \"Image Story\");\n    }\n    const seed = normalizedTitleSeed(item);\n    if (seed.includes(\"social-cliffhanger\")) return ({ en: \"Social Cliffhanger\", de: \"Social Cliffhanger\", es: \"Cliffhanger social\", fr: \"Cliffhanger social\" }[locale] || \"Social Cliffhanger\");\n    if (seed.includes(\"premium-teaser\")) return ({ en: \"Premium Teaser\", de: \"Premium Teaser\", es: \"Teaser premium\", fr: \"Teaser premium\" }[locale] || \"Premium Teaser\");\n    if (seed.includes(\"premium-voll\")) return ({ en: \"Premium Full Cut\", de: \"Premium Vollversion\", es: \"Versi\u00f3n premium completa\", fr: \"Version premium compl\u00e8te\" }[locale] || \"Premium Full Cut\");\n    if (seed.includes(\"social-voll\")) return ({ en: \"Social Full Cut\", de: \"Social Vollversion\", es: \"Versi\u00f3n social completa\", fr: \"Version sociale compl\u00e8te\" }[locale] || \"Social Full Cut\");\n    return item.meta?.dtu_is_teaser ? tr.freeTeaser : tr.member;\n  }\n\n  function localizedTitle(item) {\n    const episode = item.meta?.dtu_episode_number ? ` ${String(item.meta.dtu_episode_number).padStart(2, \"0\")}` : \"\";\n    return `${localizedStoryBase(item)}${episode} | ${localizedVariant(item)}`;\n  }\n\n  function localizedBody(item) {\n    if (locale === \"de\") return plain(item.excerpt?.rendered || item.excerpt) || tr.defaultBody;\n    if (item.type === \"dtu_image_series\") {\n      return {\n        en: \"A visual case file with cinematic cover, chapter flow and a clear premium path.\",\n        es: \"Un expediente visual con portada cinematogr\u00e1fica, cap\u00edtulos y ruta clara hacia el acceso premium.\",\n        fr: \"Un dossier visuel avec couverture cin\u00e9matographique, chapitres et acc\u00e8s premium clairement guid\u00e9.\"\n      }[locale] || tr.defaultBody;\n    }\n    if (item.meta?.dtu_is_teaser) {\n      return {\n        en: \"A short free story preview opens the case line with atmosphere, style details and a direct upgrade path.\",\n        es: \"Una preview gratuita abre la l\u00ednea del caso con atm\u00f3sfera, detalles de estilo y acceso premium directo.\",\n        fr: \"Un court teaser gratuit ouvre la ligne du dossier avec atmosph\u00e8re, d\u00e9tails de style et acc\u00e8s premium direct.\"\n      }[locale] || tr.defaultBody;\n    }\n    return {\n      en: \"Protected premium entry with the full scene context for members, PPV buyers or promo access.\",\n      es: \"Entrada premium protegida con el contexto completo para miembros, compra PPV o acceso promocional.\",\n      fr: \"Entr\u00e9e premium prot\u00e9g\u00e9e avec le contexte complet pour membres, achat PPV ou acc\u00e8s promo.\"\n    }[locale] || tr.defaultBody;\n  }\n\n  function card(item) {\n    const title = localizedTitle(item);\n    const meta = item.type === \"dtu_image_series\" ? (`${((item.series || item.dtu_series || [])[0] || tr.imageSeriesMeta)} | ${tr.gallery}`) : (`${tr.seasonShort}${item.meta?.dtu_season_number || 1} | ${tr.episodeShort}${item.meta?.dtu_episode_number || 1} | ${item.meta?.dtu_runtime_seconds || 0} ${tr.seconds}`);\n    const body = localizedBody(item);\n    const published = formatPublishedDate(item);\n    const isNew = isNewRelease(item);\n    return `\n      <article class=\"panel video-card preview-card ${item.meta?.dtu_is_teaser ? 'is-public' : 'is-member'}\">\n        <a href=\"${item.link}\" data-dtu-track-link data-dtu-track-id=\"${item.slug || item.id}\" style=\"text-decoration:none;color:inherit;display:block;\">\n          <div class=\"preview-launch\">\n            <span class=\"preview-thumb\" data-lock-label=\"${tr.lockLabel}\">\n            <img decoding=\"async\" src=\"${mediaUrl(item)}\" alt=\"${escapeHtml(title)} poster\">\n            <span class=\"preview-gradient\"><\/span>\n            <span class=\"preview-badge\">${accessBadge(item)}<\/span>\n            ${isNew ? `<span class=\"preview-new-badge\">${newBadge()}<\/span>` : \"\"}\n            ${published ? `<span class=\"preview-date\">${published}<\/span>` : \"\"}\n            <span class=\"preview-play\">${tr.open}<\/span>\n            <\/span>\n            <span class=\"preview-copy\">\n              <span class=\"eyebrow\">${meta}<\/span>\n              <strong>${escapeHtml(title)}<\/strong>\n              <span>${escapeHtml(body)}<\/span>\n            <\/span>\n          <\/div>\n        <\/a>\n      <\/article>`;\n  }\n\n  function placeholderImageSeriesCard() {\n    const copy = imageSeriesShelfFallback[locale] || imageSeriesShelfFallback.en;\n    return `\n      <article class=\"panel video-card preview-card is-member\">\n        <a href=\"${copy.link}\" data-route-key=\"image-series\" style=\"text-decoration:none;color:inherit;display:block;\">\n          <div class=\"preview-launch\">\n            <span class=\"preview-thumb\" data-lock-label=\"${tr.lockLabel}\">\n              <img decoding=\"async\" src=\"https:\/\/donttellus.com\/wp-content\/uploads\/2026\/07\/homepage-access.png\" alt=\"${copy.title} poster\">\n              <span class=\"preview-gradient\"><\/span>\n              <span class=\"preview-badge\">${copy.badge}<\/span>\n              <span class=\"preview-play\">${copy.cta}<\/span>\n            <\/span>\n            <span class=\"preview-copy\">\n              <span class=\"eyebrow\">${copy.meta}<\/span>\n              <strong>${copy.title}<\/strong>\n              <span>${copy.body}<\/span>\n            <\/span>\n          <\/div>\n        <\/a>\n      <\/article>`;\n  }\n\n  document.getElementById(\"home-new-shelf\").innerHTML = newestPosts.length ? newestPosts.map(card).join(\"\") : `\n    <article class=\"panel video-card preview-card\">\n      <div class=\"preview-launch\">\n        <span class=\"preview-copy\">\n          <strong>${locale === \"de\" ? \"Keine neuen Beitr\u00e4ge im 4-Wochen-Fenster\" : locale === \"es\" ? \"No hay nuevos contenidos en la ventana de 4 semanas\" : locale === \"fr\" ? \"Aucune nouveaut\u00e9 dans la fen\u00eatre de 4 semaines\" : \"No new posts in the 4-week window\"}<\/strong>\n          <span>${locale === \"de\" ? \"Sobald neue Videos oder Bildserien ver\u00f6ffentlicht werden, erscheinen sie hier automatisch.\" : locale === \"es\" ? \"Cuando se publiquen nuevos videos o series de im\u00e1genes, aparecer\u00e1n aqu\u00ed autom\u00e1ticamente.\" : locale === \"fr\" ? \"D\u00e8s que de nouvelles vid\u00e9os ou s\u00e9ries d'images sont publi\u00e9es, elles apparaissent ici automatiquement.\" : \"As soon as new videos or image series are published, they appear here automatically.\"}<\/span>\n        <\/span>\n      <\/div>\n    <\/article>`;\n  document.getElementById(\"home-teaser-shelf\").innerHTML = teasers.map(card).join(\"\");\n  document.getElementById(\"home-member-shelf\").innerHTML = members.map(card).join(\"\");\n  const latestImageCards = latestImageStories.map(card);\n  while (latestImageCards.length < 3) { latestImageCards.push(placeholderImageSeriesCard()); }\n  const freeTeaserCards = freeTeaserStories.map(item => card({...item, meta: {...item.meta, dtu_is_teaser: true, dtu_access_mode: \"free\", dtu_membership_tier: \"free\", dtu_full_free_now: true}}));\n  document.getElementById(\"home-image-new-shelf\").innerHTML = latestImageCards.join(\"\");\n  document.getElementById(\"home-image-free-shelf\").innerHTML = freeTeaserCards.length ? freeTeaserCards.join(\"\") : `<article class=\"panel story-principle-card\"><div class=\"eyebrow\">Free Teaser<\/div><h3>Weitere freie Bildserien folgen<\/h3><p>Neue Dossiers bleiben sichtbar; die freien Einstiegsgeschichten wachsen mit dem Archiv.<\/p><\/article>`;\n\n  const metricState = loadState();\n  [...videos, ...imageSeries].forEach(item => ensureMetricItem(metricState, item));\n  saveState(metricState);\n  document.querySelectorAll('[data-dtu-track-link]').forEach((link) => link.addEventListener('click', () => {\n    const id = link.getAttribute('data-dtu-track-id');\n    const state = loadState();\n    if (state[id]) { state[id].views = (state[id].views || 0) + 1; saveState(state); }\n    try {\n      fetch(\"\/wp-json\/donttellus\/v1\/event\", {\n        method: \"POST\",\n        headers: {\"Content-Type\": \"application\/json\"},\n        body: JSON.stringify({event:\"view\", content_slug:id || \"\", locale, path: link.href, referrer: window.location.href}),\n        keepalive: true\n      }).catch(() => {});\n    } catch (e) {}\n  }));\n\n  function popularScore(item) {\n    const ratings = Array.isArray(item.ratings) ? item.ratings : [];\n    const avg = ratings.length ? ratings.reduce((sum, row) => sum + Number(row.grade || 0), 0) \/ ratings.length : 0;\n    return (item.views || 0) + (ratings.length ? (7 - avg) * ratings.length * 2 : 0);\n  }\n\n  function dedupeMetricCards(items) {\n    const seenTitle = new Set();\n    const seenTheme = new Set();\n    const seenPoster = new Set();\n    const result = [];\n    function metricThemeKey(title) {\n      return normalizeKeyPart(title || \"\")\n        .replace(\/premium-teaser\/g, \"\")\n        .replace(\/premium-voll\/g, \"\")\n        .replace(\/social-cliffhanger\/g, \"\")\n        .replace(\/social-voll\/g, \"\")\n        .replace(\/cliffhanger\/g, \"\")\n        .replace(\/teaser\/g, \"\")\n        .replace(\/voll\/g, \"\")\n        .replace(\/-+\/g, \"-\")\n        .replace(\/^-|-$\/g, \"\");\n    }\n    for (const item of items) {\n      const titleKey = normalizeKeyPart(item.title || \"\");\n      const themeKey = metricThemeKey(item.title || \"\");\n      const posterKey = normalizeKeyPart(item.poster || \"\");\n      if (themeKey && seenTheme.has(themeKey)) continue;\n      if ((titleKey && seenTitle.has(titleKey)) || (posterKey && seenPoster.has(posterKey))) continue;\n      if (themeKey) seenTheme.add(themeKey);\n      if (titleKey) seenTitle.add(titleKey);\n      if (posterKey) seenPoster.add(posterKey);\n      result.push(item);\n    }\n    return result;\n  }\n  const popularList = dedupeMetricCards(Object.values(loadState()).filter(item => item && item.link && item.poster).sort((a, b) => popularScore(b) - popularScore(a))).slice(0, 6);\n  document.getElementById('home-popular-shelf').innerHTML = popularList.length ? popularList.map(item => `\n    <article class=\"panel video-card preview-card is-member\">\n      <a href=\"${item.link}\" style=\"text-decoration:none;color:inherit;display:block;\">\n        <div class=\"preview-launch\">\n          <span class=\"preview-thumb\" data-lock-label=\"${tr.lockLabel}\">\n            <img decoding=\"async\" src=\"${item.poster}\" alt=\"${item.title} poster\">\n            <span class=\"preview-gradient\"><\/span>\n            <span class=\"preview-badge\">POPULAR<\/span>\n            ${isNewRelease(item) ? `<span class=\"preview-new-badge\">${newBadge()}<\/span>` : \"\"}\n            ${item.date ? `<span class=\"preview-date\">${formatPublishedDate(item)}<\/span>` : \"\"}\n            <span class=\"preview-play\">Open<\/span>\n          <\/span>\n          <span class=\"preview-copy\">\n            <span class=\"eyebrow\">${item.type === 'dtu_image_series' ? 'gallery' : 'video'} ? ${item.views || 0} opens<\/span>\n            <strong>${item.title}<\/strong>\n            <span>Beliebte F\u00e4lle aus Aufrufen, Favoriten und anonymen Schnellbewertungen.<\/span>\n          <\/span>\n        <\/div>\n      <\/a>\n    <\/article>`).join('') : '<article class=\"panel video-card preview-card\"><div class=\"preview-launch\"><span class=\"preview-copy\"><strong>Noch keine Favoriten<\/strong><span>Diese Reihe f\u00fcllt sich automatisch, sobald Zuschauer Inhalte \u00f6ffnen und bewerten.<\/span><\/span><\/div><\/article>';\n  function localizeRenderedRails() {\n    document.querySelectorAll(\".preview-badge\").forEach((el) => {\n      const text = (el.textContent || \"\").trim().toUpperCase();\n      if (text === \"MEMBER\") el.textContent = tr.member;\n      else if (text === \"FREE TEASER\") el.textContent = tr.freeTeaser;\n      else if (text === \"IMAGE SERIES\") el.textContent = tr.imageSeries;\n      else if (text === \"POPULAR\") el.textContent = tr.popular;\n    });\n    document.querySelectorAll(\".preview-play\").forEach((el) => {\n      if ((el.textContent || \"\").trim().toLowerCase() === \"open\") el.textContent = tr.open;\n    });\n    document.querySelectorAll(\".preview-copy .eyebrow\").forEach((el) => {\n      let value = el.textContent || \"\";\n      value = value\n        .replace(\/\\bS(\\d+)\\s*\\?\\s*F(\\d+)\\s*\\?\\s*(\\d+)\\s*sec\\b\/gi, `${tr.seasonShort}$1 | ${tr.episodeShort}$2 | $3 ${tr.seconds}`)\n        .replace(\/\\bS(\\d+)\\s*\\|\\s*F(\\d+)\\s*\\|\\s*(\\d+)\\s*sec\\b\/gi, `${tr.seasonShort}$1 | ${tr.episodeShort}$2 | $3 ${tr.seconds}`)\n        .replace(\/\\bgallery\\b\/gi, tr.gallery)\n        .replace(\/\\bvideo\\b\/gi, tr.video)\n        .replace(\/\\bopens\\b\/gi, tr.opens)\n        .replace(\/\\bImage series\\b\/g, tr.imageSeriesMeta)\n        .replace(\/\\?\/g, \"|\");\n      el.textContent = value;\n    });\n  }\n  localizeRenderedRails();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>18+ access Adult content notice DontTELL.US is a multilingual adult premium story platform with free previews, video episodes, visual dossiers and member access. Confirm that you are 18 years or older before any 18+ material becomes visible. Content stays hidden until you confirm your age. Your confirmation is stored locally on this device. By continuing, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"dtu_trigger":[],"class_list":["post-18","page","type-page","status-publish","hentry"],"acf":[],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/pages\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":89,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/pages\/18\/revisions"}],"predecessor-version":[{"id":721,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/pages\/18\/revisions\/721"}],"wp:attachment":[{"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"dtu_trigger","embeddable":true,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/dtu_trigger?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}