{"id":19,"date":"2026-07-22T16:33:02","date_gmt":"2026-07-22T14:33:02","guid":{"rendered":"https:\/\/donttellus.com\/en_us\/catalog\/"},"modified":"2026-08-17T17:44:48","modified_gmt":"2026-08-17T15:44:48","slug":"catalog","status":"publish","type":"page","link":"https:\/\/www.donttellus.com\/fr\/catalog\/","title":{"rendered":"Catalog"},"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\">\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\" 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 is-active\" 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\/catalog\/\" href=\"https:\/\/www.donttellus.com\/en_us\/catalog\/\"><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\/catalog\/\" href=\"https:\/\/www.donttellus.com\/de\/catalog\/\"><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\/catalog\/\" href=\"https:\/\/www.donttellus.com\/es\/catalog\/\"><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\/catalog\/\" href=\"https:\/\/www.donttellus.com\/fr\/catalog\/\"><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=\"panel concept-teaser\">\n    <div class=\"eyebrow\" data-lkey=\"catalog_eyebrow\">Story catalog<\/div>\n    <h1 data-lkey=\"catalog_title\">Serien, Folgen, Teaser und Bilddossiers gezielt finden.<\/h1>\n    <p data-lkey=\"catalog_lead\">Der Katalog f\u00fchrt direkt durch Serien, Folgen, freie Teaser, Member-Cuts und Bilddossiers mit Suchleiste, Filtern und klarer Zugangslogik.<\/p>\n  <\/section>\n\n  <section class=\"panel catalog-toolbar\">\n    <div class=\"catalog-toolbar-head\">\n      <div>\n        <div class=\"eyebrow\" data-lkey=\"search_eyebrow\">Trigger search<\/div>\n        <h2 data-lkey=\"search_title\">Find the right story in seconds.<\/h2>\n        <p class=\"legal-note\" data-lkey=\"search_body\">Suche nach Serien, Rollen, Triggern und Zugriffsart, ohne den Premium-Look zu verlieren.<\/p>\n      <\/div>\n      <div class=\"tag-row\">\n        <span class=\"tag\">Poster-first<\/span>\n        <span class=\"tag\">Series-aware<\/span>\n        <span class=\"tag\">PPV-ready<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"catalog-filter-grid\">\n      <label class=\"catalog-search-field\"><span data-lkey=\"filter_search\">Search<\/span><input id=\"catalog-search\" type=\"search\" data-lplaceholder=\"filter_search_placeholder\" placeholder=\"Sneaker, teaser, member, series...\"><\/label>\n      <label class=\"catalog-search-field\"><span data-lkey=\"filter_access\">Access<\/span><select id=\"catalog-access\"><option value=\"\" data-lkey=\"filter_all\">All<\/option><option value=\"teaser\" data-lkey=\"filter_free_teaser\">Free teaser<\/option><option value=\"member\" data-lkey=\"filter_member\">Member<\/option><\/select><\/label>\n      <label class=\"catalog-search-field\"><span data-lkey=\"filter_role\">Role<\/span><select id=\"catalog-role\"><option value=\"\" data-lkey=\"filter_all\">All<\/option><option value=\"teaser\" data-lkey=\"filter_teaser\">Teaser<\/option><option value=\"episode\" data-lkey=\"filter_episode\">Episode<\/option><option value=\"image-series\" data-lkey=\"filter_image_series\">Image series<\/option><\/select><\/label>\n      <label class=\"catalog-search-field\"><span data-lkey=\"filter_series\">Series<\/span><select id=\"catalog-series\"><option value=\"\" data-lkey=\"filter_all\">All<\/option><\/select><\/label>\n      <label class=\"catalog-search-field\"><span data-lkey=\"filter_trigger\">Trigger<\/span><select id=\"catalog-trigger\"><option value=\"\" data-lkey=\"filter_all\">All<\/option><option value=\"sneakers\">Sneakers<\/option><option value=\"sportswear\">Sportswear<\/option><option value=\"jogger\">Jogger<\/option><option value=\"cap\">Cap<\/option><option value=\"zugriff\">Zugriff<\/option><option value=\"u-haft\">U-Haft<\/option><option value=\"bildserie\">Bildserie<\/option><option value=\"ppv\">PPV<\/option><\/select><\/label>\n      <label class=\"catalog-search-field\"><span data-lkey=\"filter_type\">Content type<\/span><select id=\"catalog-type\"><option value=\"\" data-lkey=\"filter_all\">All<\/option><option value=\"video\" data-lkey=\"filter_video\">Video<\/option><option value=\"image-series\" data-lkey=\"filter_image_series\">Image series<\/option><\/select><\/label>\n    <\/div>\n    <div class=\"catalog-results-row\">\n      <p class=\"legal-note\" id=\"catalog-result-count\">0 entries<\/p>\n      <button class=\"btn btn-secondary\" type=\"button\" id=\"catalog-reset\" data-lkey=\"filter_reset\">Reset filters<\/button>\n    <\/div>\n  <\/section>\n\n  <section class=\"grid cards\" id=\"catalog-grid\"><\/section>\n  <section id=\"catalog-empty\" class=\"panel concept-teaser\" style=\"display:none;\">\n    <div class=\"eyebrow\" data-lkey=\"empty_eyebrow\">No match<\/div>\n    <h2 data-lkey=\"empty_title\">No content matches the current combination.<\/h2>\n    <p data-lkey=\"empty_body\">Setze die Filter zur\u00fcck oder suche breiter nach Serie, Rolle oder Triggerwort.<\/p>\n  <\/section>\n  \n  <section class=\"seo-geo-block\">\n    <article class=\"panel\">\n      <div class=\"eyebrow\">F\u00fcr dich zusammengestellt<\/div>\n      <h2>Durchsuchbarer Katalog f\u00fcr Serien, Folgen, Teaser und Trigger<\/h2>\n      <p>Der Katalog macht Inhalte nach Serie, Folge, Zugriffstyp, Rolle, Triggerwort und Zugangsstufe auffindbar. Nutzer finden schnell Teaser, Member-Fassungen, Sportswear-Fokus und Bilddossiers.<\/p>\n      <div class=\"tag-row\"><span class=\"tag\">Video-Katalog<\/span><span class=\"tag\">Tag-Suche<\/span><span class=\"tag\">Sneaker Content<\/span><span class=\"tag\">Sportswear<\/span><span class=\"tag\">Teaser<\/span><span class=\"tag\">Member Video<\/span><span class=\"tag\">Bilddossier<\/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>Wonach kann gesucht werden?<\/strong><br>\n          Nach Serien, Folgen, Sneakern, Sportswear, Jogger, Cap, Rolle, Teaser, Member-Fassung und weiteren Triggern.\n        <\/li>\n        \n        <li>\n          <strong>Was ist der Nutzen der Filter?<\/strong><br>\n          Die Filter f\u00fchren Nutzer schneller zum passenden Inhalt und reduzieren Reibung vor Mitgliedschaft oder Einzelkauf.\n        <\/li>\n        \n        <li>\n          <strong>Welche Inhalte erscheinen im Katalog?<\/strong><br>\n          Videos, freie Vorschauen, vollst\u00e4ndige Folgen, Bildserien und sp\u00e4tere PPV- oder Bundle-Angebote.\n        <\/li>\n        <\/ul>\n    <\/article>\n  <\/section>\n  <script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"name\": \"Durchsuchbarer Katalog f\u00fcr Serien, Folgen, Teaser und Trigger\", \"description\": \"Der Katalog macht Inhalte nach Serie, Folge, Zugriffstyp, Rolle, Triggerwort und Zugangsstufe auffindbar. Nutzer finden schnell Teaser, Member-Fassungen, Sportswear-Fokus und Bilddossiers.\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Wonach kann gesucht werden?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Nach Serien, Folgen, Sneakern, Sportswear, Jogger, Cap, Rolle, Teaser, Member-Fassung und weiteren Triggern.\"}}, {\"@type\": \"Question\", \"name\": \"Was ist der Nutzen der Filter?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Die Filter f\u00fchren Nutzer schneller zum passenden Inhalt und reduzieren Reibung vor Mitgliedschaft oder Einzelkauf.\"}}, {\"@type\": \"Question\", \"name\": \"Welche Inhalte erscheinen im Katalog?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Videos, freie Vorschauen, vollst\u00e4ndige Folgen, Bildserien und sp\u00e4tere PPV- oder Bundle-Angebote.\"}}]}<\/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\", \"catalog_eyebrow\": \"Story catalog\", \"catalog_title\": \"Find series, episodes, teasers and image dossiers by topic.\", \"catalog_lead\": \"The catalog leads directly through series, episodes, free teasers, member cuts and image dossiers with search, filters and clear access logic.\", \"search_eyebrow\": \"Trigger search\", \"search_title\": \"Find the right story in seconds.\", \"search_body\": \"Search by series, roles, triggers and access type without losing the premium look.\", \"filter_search\": \"Search\", \"filter_search_placeholder\": \"Sneaker, teaser, member, series...\", \"filter_access\": \"Access\", \"filter_role\": \"Role\", \"filter_series\": \"Series\", \"filter_all\": \"All\", \"filter_free_teaser\": \"Free teaser\", \"filter_member\": \"Member\", \"filter_teaser\": \"Teaser\", \"filter_episode\": \"Episode\", \"filter_image_series\": \"Image series\", \"filter_video\": \"Video\", \"filter_reset\": \"Reset filters\", \"empty_eyebrow\": \"No match\", \"empty_title\": \"No content matches the current combination.\", \"empty_body\": \"Reset the filters or search more broadly by series, role or trigger term.\"}, \"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\", \"catalog_eyebrow\": \"Story-Katalog\", \"catalog_title\": \"Serien, Folgen, Teaser und Bilddossiers gezielt finden.\", \"catalog_lead\": \"Der Katalog f\u00fchrt direkt durch Serien, Folgen, freie Teaser, Member-Cuts und Bilddossiers mit Suchleiste, Filtern und klarer Zugangslogik.\", \"search_eyebrow\": \"Suche & Filter\", \"search_title\": \"Finde die richtige Story in Sekunden.\", \"search_body\": \"Suche nach Serien, Rollen, Triggern und Zugriffsart, ohne den Premium-Look zu verlieren.\", \"filter_search\": \"Suche\", \"filter_search_placeholder\": \"Sneaker, Teaser, Member, Serie...\", \"filter_access\": \"Zugriff\", \"filter_role\": \"Rolle\", \"filter_series\": \"Serie\", \"filter_trigger\": \"Trigger\", \"filter_type\": \"Inhaltstyp\", \"filter_all\": \"Alle\", \"filter_free_teaser\": \"Freier Teaser\", \"filter_member\": \"Mitglied\", \"filter_teaser\": \"Teaser\", \"filter_episode\": \"Folge\", \"filter_image_series\": \"Bildserie\", \"filter_video\": \"Video\", \"filter_reset\": \"Filter zur\u00fccksetzen\", \"empty_eyebrow\": \"Kein Treffer\", \"empty_title\": \"Kein Inhalt passt zur aktuellen Kombination.\", \"empty_body\": \"Setze die Filter zur\u00fcck oder suche breiter nach Serie, Rolle oder Triggerwort.\"}, \"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\", \"catalog_eyebrow\": \"Cat\u00e1logo de historias\", \"catalog_title\": \"Encuentra series, episodios, teasers y dossiers visuales por tema.\", \"catalog_lead\": \"El cat\u00e1logo gu\u00eda directamente por series, episodios, teasers gratuitos, cortes para miembros y dossiers visuales con b\u00fasqueda, filtros y l\u00f3gica clara de acceso.\", \"search_eyebrow\": \"B\u00fasqueda y filtros\", \"search_title\": \"Encuentra la historia correcta en segundos.\", \"search_body\": \"Busca por series, roles, triggers y tipo de acceso sin perder el look premium.\", \"filter_search\": \"Buscar\", \"filter_search_placeholder\": \"Sneaker, teaser, member, serie...\", \"filter_access\": \"Acceso\", \"filter_role\": \"Rol\", \"filter_series\": \"Serie\", \"filter_trigger\": \"Trigger\", \"filter_type\": \"Tipo de contenido\", \"filter_all\": \"Todo\", \"filter_free_teaser\": \"Teaser libre\", \"filter_member\": \"Miembro\", \"filter_teaser\": \"Teaser\", \"filter_episode\": \"Episodio\", \"filter_image_series\": \"Serie de im\u00e1genes\", \"filter_video\": \"V\u00eddeo\", \"filter_reset\": \"Restablecer filtros\", \"empty_eyebrow\": \"Sin coincidencia\", \"empty_title\": \"Ning\u00fan contenido coincide con la combinaci\u00f3n actual.\", \"empty_body\": \"Restablece los filtros o busca de forma m\u00e1s amplia por serie, rol o trigger.\"}, \"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\", \"catalog_eyebrow\": \"Catalogue narratif\", \"catalog_title\": \"Trouvez s\u00e9ries, \u00e9pisodes, teasers et dossiers visuels par th\u00e8me.\", \"catalog_lead\": \"Le catalogue guide directement \u00e0 travers s\u00e9ries, \u00e9pisodes, teasers gratuits, versions membres et dossiers visuels avec recherche, filtres et logique d'acc\u00e8s claire.\", \"search_eyebrow\": \"Recherche & filtres\", \"search_title\": \"Trouvez la bonne histoire en quelques secondes.\", \"search_body\": \"Recherchez par s\u00e9ries, r\u00f4les, triggers et type d'acc\u00e8s sans perdre le look premium.\", \"filter_search\": \"Recherche\", \"filter_search_placeholder\": \"Sneaker, teaser, member, s\u00e9rie...\", \"filter_access\": \"Acc\u00e8s\", \"filter_role\": \"R\u00f4le\", \"filter_series\": \"S\u00e9rie\", \"filter_trigger\": \"D\u00e9clencheur\", \"filter_type\": \"Type de contenu\", \"filter_all\": \"Tous\", \"filter_free_teaser\": \"Teaser libre\", \"filter_member\": \"Membre\", \"filter_teaser\": \"Teaser\", \"filter_episode\": \"\u00c9pisode\", \"filter_image_series\": \"S\u00e9rie d'images\", \"filter_video\": \"Vid\u00e9o\", \"filter_reset\": \"R\u00e9initialiser les filtres\", \"empty_eyebrow\": \"Aucun r\u00e9sultat\", \"empty_title\": \"Aucun contenu ne correspond \u00e0 la combinaison actuelle.\", \"empty_body\": \"R\u00e9initialisez les filtres ou cherchez plus largement par s\u00e9rie, r\u00f4le ou d\u00e9clencheur.\"}};\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 catalogResponse = await fetch(origin + \"\/wp-json\/donttellus\/v1\/catalog?per_page=100\");\n  const catalogData = await catalogResponse.json();\n\n  const searchEl = document.getElementById(\"catalog-search\");\n  const accessEl = document.getElementById(\"catalog-access\");\n  const roleEl = document.getElementById(\"catalog-role\");\n  const seriesEl = document.getElementById(\"catalog-series\");\n  const triggerEl = document.getElementById(\"catalog-trigger\");\n  const typeEl = document.getElementById(\"catalog-type\");\n  const gridEl = document.getElementById(\"catalog-grid\");\n  const emptyEl = document.getElementById(\"catalog-empty\");\n  const countEl = document.getElementById(\"catalog-result-count\");\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\", seasonShort: \"S\", episodeShort: \"F\", seconds: \"sec\", imageSeriesMeta: \"Image series\", defaultBody: \"Story card with series context, access mode and visual trigger tags.\", entryOne: \"entry\", entryMany: \"entries\" },\n    de: { imageSeries: \"BILDSERIE\", freeTeaser: \"FREIER TEASER\", member: \"MITGLIED\", open: \"\u00d6ffnen\", lockLabel: \"Die ganze Wahrheit als Mitglied\", gallery: \"Galerie\", seasonShort: \"S\", episodeShort: \"F\", seconds: \"Sek.\", imageSeriesMeta: \"Bildserie\", defaultBody: \"Story-Karte mit Serienkontext, Zugangsart und visuellen Trigger-Tags.\", entryOne: \"Eintrag\", entryMany: \"Eintr\u00e4ge\" },\n    es: { imageSeries: \"SERIE VISUAL\", freeTeaser: \"TEASER GRATIS\", member: \"MIEMBRO\", open: \"Abrir\", lockLabel: \"Toda la verdad como miembro\", gallery: \"galer\u00eda\", seasonShort: \"T\", episodeShort: \"E\", seconds: \"seg.\", imageSeriesMeta: \"Serie de im\u00e1genes\", defaultBody: \"Tarjeta narrativa con contexto de serie, modo de acceso y triggers visuales.\", entryOne: \"entrada\", entryMany: \"entradas\" },\n    fr: { imageSeries: \"S\u00c9RIE VISUELLE\", freeTeaser: \"TEASER GRATUIT\", member: \"MEMBRE\", open: \"Ouvrir\", lockLabel: \"Toute la v\u00e9rit\u00e9 comme membre\", gallery: \"galerie\", seasonShort: \"S\", episodeShort: \"E\", seconds: \"s\", imageSeriesMeta: \"S\u00e9rie d'images\", defaultBody: \"Carte narrative avec contexte de s\u00e9rie, mode d'acc\u00e8s et d\u00e9clencheurs visuels.\", entryOne: \"entr\u00e9e\", entryMany: \"entr\u00e9es\" }\n  };\n  const tr = ui[locale] || ui.en;\n\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  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  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 canonicalContentKey(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 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 dedupeContent(items) {\n    const seen = new Set();\n    const result = [];\n    for (const item of items) {\n      const key = canonicalContentKey(item);\n      if (seen.has(key)) continue;\n      seen.add(key);\n      result.push(item);\n    }\n    return result;\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 collapseThemeRepresentatives(items, activeAccess) {\n    const groups = new Map();\n    for (const item of items) {\n      const key = canonicalThemeKey(item);\n      if (!groups.has(key)) groups.set(key, []);\n      groups.get(key).push(item);\n    }\n    return Array.from(groups.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.published_at || b.modified || b.date || 0) - new Date(a.published_at || a.modified || a.date || 0);\n    })[0]);\n  }\n  const items = dedupeContent((catalogData.items || []).sort((a, b) => new Date(b.published_at || b.modified || b.date || 0) - new Date(a.published_at || a.modified || a.date || 0)));\n\n  \/\/ A trigger selected anywhere on the platform arrives here as an active\n  \/\/ catalog filter. The visitor never has to search for the same intent twice.\n  const incoming = new URLSearchParams(window.location.search || \"\");\n  const incomingSearch = (incoming.get(\"search\") || \"\").trim();\n  const incomingTrigger = (incoming.get(\"trigger\") || \"\").trim();\n  if (incomingSearch) searchEl.value = incomingSearch;\n\n  const seriesMap = new Map();\n  items.forEach(item => ((item.series || item.dtu_series || [])).forEach(name => seriesMap.set(name, name)));\n  [...seriesMap.values()].sort().forEach(name => { const option = document.createElement(\"option\"); option.value = name; option.textContent = name; seriesEl.appendChild(option); });\n  if (incomingTrigger) {\n    const normalizedIncomingTrigger = incomingTrigger.toLocaleLowerCase();\n    const matchingTrigger = Array.from(triggerEl.options).find(option => option.value.toLocaleLowerCase() === normalizedIncomingTrigger);\n    if (matchingTrigger) triggerEl.value = matchingTrigger.value;\n    else searchEl.value = incomingSearch || incomingTrigger;\n  }\n\n  function matches(item) {\n    const q = searchEl.value.trim().toLowerCase();\n    const access = accessEl.value;\n    const role = roleEl.value;\n    const series = seriesEl.value;\n    const hay = [item.title?.rendered || item.title || \"\", plain(item.excerpt?.rendered || item.excerpt), ...((item.series || item.dtu_series) || []), ...(item.collections || []), ...(item.triggers || [])].join(\" \").toLowerCase();\n    if (q && !hay.includes(q)) return false;\n    if (access === \"teaser\" && !item.meta?.dtu_is_teaser) return false;\n    if (access === \"member\" && item.meta?.dtu_is_teaser) return false;\n    if (role && item.meta?.dtu_role !== role) return false;\n    if (series && !(((item.series || item.dtu_series) || []).includes(series))) return false;\n    return true;\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 teaser = !!item.meta?.dtu_is_teaser;\n    const fullFree = item.type === \"dtu_image_series\" && (item.meta?.dtu_full_free_now || item.meta?.dtu_access_mode === \"free\" || item.meta?.dtu_membership_tier === \"free\");\n    const badge = item.type === \"dtu_image_series\" ? (fullFree ? tr.freeTeaser : tr.imageSeries) : (teaser ? tr.freeTeaser : tr.member);\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 ${(teaser || fullFree) ? 'is-public' : '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=\"${mediaUrl(item)}\" alt=\"${escapeHtml(title)} poster\">\n              <span class=\"preview-gradient\"><\/span>\n              <span class=\"preview-badge\">${badge}<\/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  let renderToken = 0;\n  async function fetchFilteredItems() {\n    const params = new URLSearchParams({ per_page: \"100\" });\n    const search = (searchEl.value || \"\").trim();\n    if (search) params.set(\"search\", search);\n    if (accessEl.value) params.set(\"access\", accessEl.value);\n    if (roleEl.value) params.set(\"role\", roleEl.value);\n    if (seriesEl.value) params.set(\"series\", seriesEl.value);\n    if (triggerEl.value) params.set(\"trigger\", triggerEl.value);\n    if (typeEl.value) params.set(\"type\", typeEl.value);\n    const response = await fetch(origin + \"\/wp-json\/donttellus\/v1\/catalog?\" + params.toString());\n    const data = await response.json();\n    return data.items || [];\n  }\n\n  async function render() {\n    const token = ++renderToken;\n    const currentItems = await fetchFilteredItems();\n    if (token !== renderToken) return;\n    const filtered = collapseThemeRepresentatives(dedupeContent(currentItems), accessEl.value);\n    gridEl.innerHTML = filtered.map(card).join(\"\");\n    countEl.textContent = filtered.length + \" \" + (filtered.length === 1 ? tr.entryOne : tr.entryMany);\n    emptyEl.style.display = filtered.length ? \"none\" : \"block\";\n  }\n  let searchTrackTimer = null;\n  function trackSearchIntent() {\n    clearTimeout(searchTrackTimer);\n    searchTrackTimer = setTimeout(() => {\n      const query = (searchEl.value || \"\").trim();\n      if (!query) return;\n      try {\n        fetch(\"\/wp-json\/donttellus\/v1\/event\", {\n          method: \"POST\",\n          headers: {\"Content-Type\": \"application\/json\"},\n          body: JSON.stringify({event:\"search\", label:query, content_type:\"catalog\", locale, path: window.location.href, referrer: document.referrer || \"\"}),\n          keepalive: true\n        }).catch(() => {});\n      } catch (e) {}\n    }, 900);\n  }\n\n  searchEl.addEventListener(\"input\", () => { render(); trackSearchIntent(); });\n  [accessEl, roleEl, seriesEl, triggerEl, typeEl].forEach(el => el.addEventListener(\"input\", render));\n  [accessEl, roleEl, seriesEl, triggerEl, typeEl].forEach(el => el.addEventListener(\"change\", render));\n  document.getElementById(\"catalog-reset\").addEventListener(\"click\", () => { searchEl.value = \"\"; accessEl.value = \"\"; roleEl.value = \"\"; seriesEl.value = \"\"; triggerEl.value = \"\"; typeEl.value = \"\"; render(); });\n  render();\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-19","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\/19","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=19"}],"version-history":[{"count":57,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/pages\/19\/revisions"}],"predecessor-version":[{"id":720,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/pages\/19\/revisions\/720"}],"wp:attachment":[{"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"dtu_trigger","embeddable":true,"href":"https:\/\/www.donttellus.com\/fr\/wp-json\/wp\/v2\/dtu_trigger?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}