{"id":7575,"date":"2026-04-09T16:01:10","date_gmt":"2026-04-09T23:01:10","guid":{"rendered":"https:\/\/gabroverse.com\/"},"modified":"2026-05-03T23:54:07","modified_gmt":"2026-05-04T06:54:07","slug":"storyboards","status":"publish","type":"page","link":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/","title":{"rendered":"THE STORYBOARDS"},"content":{"rendered":"\n<section class=\"gs-shell\">\n  <div class=\"gs-aura gs-aura-main\" aria-hidden=\"true\"><\/div>\n  <div class=\"gs-aura gs-aura-secondary\" aria-hidden=\"true\"><\/div>\n  \n  <div class=\"gs-top-bar\">\n    <a href=\"\/unfiltered\/\" class=\"gs-back-link\">\n      <span aria-hidden=\"true\">\u2190<\/span> RETURN TO gabro:unfiltered\n    <\/a>\n  <\/div>\n\n  <div class=\"gs-container\">\n    <header class=\"gs-hero\">\n      <div class=\"gs-badge-archive\">\n        <span class=\"gs-badge-icon\">\ud83c\udf9e\ufe0f<\/span> ARCHIVE OPEN\n      <\/div>\n      \n      <h1 class=\"gs-title\">\n        <img decoding=\"async\" src=\"https:\/\/gabroverse.com\/wp-content\/uploads\/storyboards-logo-00.webp\" alt=\"A glowing title graphic that reads \u201cTHE STORYBOARDS\u201d in large gold serif letters above the \u201cgabro:unfiltered\u201d logo, set against a dark, starry background with warm orange light trails sweeping across both sides.\" class=\"gs-logo-img\">\n      <\/h1>\n      \n      <p class=\"gs-lede\">The complete catalog of visual wreckage, scene work, and late-night episodes. Carved from the casino floor and hung in the gallery. Proceed at your own risk.<\/p>\n    <\/header>\n\n    <nav class=\"gs-filter-nav\">\n      <a href=\"\/unfiltered\/storyboards\/\" class=\"gs-filter-btn gs-filter-active\">All Boards<\/a>\n      <a href=\"\/unfiltered\/storyboards\/casino-files\/\" class=\"gs-filter-btn\">The Casino Files<\/a>\n      <a href=\"\/unfiltered\/storyboards\/meltdown-memoirs\/\" class=\"gs-filter-btn\">Meltdown Memoirs<\/a>\n      <a href=\"\/unfiltered\/storyboards\/sin-city-sermons\/\" class=\"gs-filter-btn\">Sin City Sermons<\/a>\n      <a href=\"\/unfiltered\/storyboards\/vice-patrol\/\" class=\"gs-filter-btn\">Vice Patrol<\/a>\n    <\/nav>\n\n    <div class=\"gs-archive-wrapper\">\n      <div id=\"gs-grid\" class=\"gs-grid\">\n        <div class=\"gs-loader-container\">\n          <div class=\"gs-spinner\"><\/div>\n          <span class=\"gs-loader-text\">Pulling files from the darkroom&#8230;<\/span>\n        <\/div>\n      <\/div>\n      \n      <div class=\"gs-action-row\" id=\"gs-load-more-wrapper\" style=\"display: none;\">\n        <button id=\"gs-load-more\" class=\"gs-btn-ghost\">Load Deeper Archives<\/button>\n      <\/div>\n    <\/div>\n\n    <section class=\"gs-footer-promos\">\n      <div class=\"gs-promo-card\">\n        <div class=\"gs-promo-content\">\n          <span class=\"gs-promo-kicker\">THE AFTERMATH<\/span>\n          <h2>Need to bleed it out instead?<\/h2>\n          <p>The visual gallery only tells half the story. If you need to drop a truth that doesn&#8217;t belong in the light, the booth is waiting.<\/p>\n          <a href=\"\/unfiltered\/afterdark\/confession-booth\/\" class=\"gs-btn-solid-amethyst\">ENTER THE CONFESSION BOOTH<\/a>\n        <\/div>\n        <div class=\"gs-promo-visual\">\n          <span class=\"gs-promo-emoji\">\ud83d\udc8b<\/span>\n        <\/div>\n      <\/div>\n    <\/section>\n  <\/div>\n<\/section>\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@700&family=Poppins:wght@400;600;700&display=swap');\n\n.gs-shell {\n  --gs-gold: #f5c453;\n  --gs-red: #ff1e4d;\n  --gs-bg: #050103;\n  --gs-surface: rgba(15, 5, 10, 0.85);\n  --gs-border: rgba(255, 255, 255, 0.08);\n  --gs-border-hover: rgba(245, 196, 83, 0.3);\n  --gs-text: #fdf5f7;\n  --gs-muted: #a88b94;\n\n  background-color: var(--gs-bg);\n  background-image: \n    radial-gradient(circle at 50% 0%, rgba(245, 196, 83, 0.03) 0%, transparent 50%),\n    linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),\n    linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);\n  background-size: 100% 100%, 40px 40px, 40px 40px;\n  color: var(--gs-text);\n  font-family: \"Poppins\", sans-serif;\n  position: relative;\n  overflow: hidden;\n  min-height: 100vh;\n  padding-bottom: 5rem;\n  box-sizing: border-box;\n}\n\n.gs-shell * {\n  box-sizing: inherit;\n}\n\n.gs-aura {\n  position: absolute;\n  border-radius: 999px;\n  filter: blur(90px);\n  pointer-events: none;\n  z-index: 0;\n}\n\n.gs-aura-main {\n  width: 40vw;\n  height: 40vw;\n  background: radial-gradient(circle, rgba(245, 196, 83, 0.08), transparent);\n  top: -10vw;\n  right: -10vw;\n  animation: gsFloat 20s infinite alternate ease-in-out;\n}\n\n.gs-aura-secondary {\n  width: 35vw;\n  height: 35vw;\n  background: radial-gradient(circle, rgba(255, 30, 77, 0.05), transparent);\n  bottom: 10vw;\n  left: -10vw;\n  animation: gsFloatReverse 25s infinite alternate ease-in-out;\n}\n\n@keyframes gsFloat { 0% { transform: translate(0,0); } 100% { transform: translate(-50px, 50px); } }\n@keyframes gsFloatReverse { 0% { transform: translate(0,0); } 100% { transform: translate(50px, -50px); } }\n\n.gs-top-bar {\n  position: relative;\n  z-index: 10;\n  padding: 1.5rem 2rem;\n  display: flex;\n  justify-content: flex-start;\n}\n\n.gs-back-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  color: var(--gs-muted);\n  text-decoration: none;\n  font-size: 0.8rem;\n  font-weight: 700;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  transition: color 0.3s, transform 0.3s;\n}\n\n.gs-back-link:hover {\n  color: var(--gs-gold);\n  transform: translateX(-5px);\n}\n\n.gs-container {\n  max-width: 1400px;\n  margin: 0 auto;\n  padding: 0 2rem;\n  position: relative;\n  z-index: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 4rem;\n}\n\n.gs-hero {\n  text-align: center;\n  max-width: 800px;\n  margin: 2rem auto 0 auto;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n}\n\n.gs-badge-archive {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  background: rgba(245, 196, 83, 0.1);\n  border: 1px solid rgba(245, 196, 83, 0.3);\n  color: var(--gs-gold);\n  padding: 0.5rem 1.2rem;\n  border-radius: 50px;\n  font-size: 0.8rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 2px;\n  margin-bottom: 1.5rem;\n}\n\n.gs-title {\n  margin: 0 0 1.5rem 0;\n  position: relative;\n  display: inline-block;\n}\n\n.gs-logo-img {\n  max-width: 100%;\n  width: 700px;\n  height: auto;\n  display: block;\n  filter: drop-shadow(0 0 15px rgba(245, 196, 83, 0.15));\n  animation: gsLogoElegance 6s ease-in-out infinite;\n}\n\n.gs-title::before,\n.gs-title::after {\n  content: '';\n  position: absolute;\n  width: 3px;\n  height: 3px;\n  border-radius: 50%;\n  background: #fff;\n  box-shadow: 0 0 8px 2px rgba(245, 196, 83, 0.8);\n  opacity: 0;\n  pointer-events: none;\n}\n\n.gs-title::before {\n  top: 15%;\n  left: 12%;\n  animation: gsGlimmer 4s ease-in-out infinite 0.5s;\n}\n\n.gs-title::after {\n  bottom: 25%;\n  right: 15%;\n  animation: gsGlimmer 5s ease-in-out infinite 2s;\n}\n\n@keyframes gsLogoElegance {\n  0%, 100% {\n    transform: translateY(0) scale(1);\n    filter: drop-shadow(0 0 15px rgba(245, 196, 83, 0.15));\n  }\n  50% {\n    transform: translateY(-4px) scale(1.01);\n    filter: drop-shadow(0 0 25px rgba(245, 196, 83, 0.35));\n  }\n}\n\n@keyframes gsGlimmer {\n  0%, 100% { \n    opacity: 0; \n    transform: scale(0.5) translate(0, 0); \n  }\n  50% { \n    opacity: 1; \n    transform: scale(1.2) translate(2px, -2px); \n  }\n}\n\n.gs-lede {\n  font-size: 1.1rem;\n  line-height: 1.8;\n  color: var(--gs-muted);\n  margin: 0;\n}\n\n.gs-filter-nav {\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: 1rem;\n  padding: 1rem 0;\n  border-bottom: 1px solid var(--gs-border);\n  margin-bottom: 1rem;\n}\n\n.gs-filter-btn {\n  color: var(--gs-muted);\n  text-decoration: none;\n  font-size: 0.85rem;\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 1.5px;\n  padding: 0.8rem 1.5rem;\n  border-radius: 50px;\n  border: 1px solid transparent;\n  transition: all 0.3s;\n}\n\n.gs-filter-btn:hover {\n  color: #fff;\n  background: rgba(255,255,255,0.05);\n}\n\n.gs-filter-active {\n  color: var(--gs-gold);\n  border-color: rgba(245, 196, 83, 0.4);\n  background: rgba(245, 196, 83, 0.05);\n  box-shadow: 0 0 15px rgba(245, 196, 83, 0.1);\n}\n\n.gs-archive-wrapper {\n  min-height: 400px;\n  display: flex;\n  flex-direction: column;\n  gap: 3rem;\n}\n\n.gs-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n  gap: 2rem;\n}\n\n.gs-card {\n  background: var(--gs-surface);\n  border: 1px solid var(--gs-border);\n  border-radius: 12px;\n  overflow: hidden;\n  text-decoration: none;\n  display: flex;\n  flex-direction: column;\n  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n  position: relative;\n}\n\n.gs-card:hover {\n  transform: translateY(-8px);\n  border-color: var(--gs-border-hover);\n  box-shadow: 0 20px 40px rgba(0,0,0,0.8), 0 0 20px rgba(245, 196, 83, 0.1);\n}\n\n.gs-card-image-wrap {\n  aspect-ratio: 16 \/ 10;\n  overflow: hidden;\n  background: #000;\n  position: relative;\n}\n\n.gs-card-image {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.gs-card:hover .gs-card-image {\n  transform: scale(1.08);\n}\n\n.gs-card-fallback {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-family: \"Cormorant Garamond\", serif;\n  font-size: 1.5rem;\n  color: rgba(255,255,255,0.1);\n  background: linear-gradient(135deg, #0a0a0a, #1a1a1a);\n}\n\n.gs-card-content {\n  padding: 1.5rem;\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n}\n\n.gs-card-meta {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 1rem;\n}\n\n.gs-card-category {\n  font-size: 0.7rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 1.5px;\n  color: var(--gs-gold);\n  background: rgba(245, 196, 83, 0.1);\n  padding: 0.3rem 0.8rem;\n  border-radius: 50px;\n}\n\n.gs-card-date {\n  font-size: 0.75rem;\n  color: var(--gs-muted);\n  letter-spacing: 1px;\n}\n\n.gs-card-title {\n  font-family: \"Cormorant Garamond\", serif;\n  font-size: 1.6rem;\n  line-height: 1.2;\n  margin: 0 0 1rem 0;\n  color: var(--gs-text);\n  transition: color 0.3s;\n}\n\n.gs-card:hover .gs-card-title {\n  color: var(--gs-gold);\n}\n\n.gs-card-excerpt {\n  font-size: 0.9rem;\n  line-height: 1.6;\n  color: var(--gs-muted);\n  margin: 0 0 1.5rem 0;\n  display: -webkit-box;\n  -webkit-line-clamp: 3;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n}\n\n.gs-card-action {\n  margin-top: auto;\n  font-size: 0.8rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 1.5px;\n  color: #fff;\n  display: flex;\n  align-items: center;\n  gap: 5px;\n}\n\n.gs-card-action::after {\n  content: '\u2794';\n  transition: transform 0.3s;\n}\n\n.gs-card:hover .gs-card-action::after {\n  transform: translateX(5px);\n}\n\n.gs-loader-container {\n  grid-column: 1 \/ -1;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 4rem 0;\n  gap: 1.5rem;\n}\n\n.gs-spinner {\n  width: 40px;\n  height: 40px;\n  border: 2px solid rgba(245, 196, 83, 0.2);\n  border-top-color: var(--gs-gold);\n  border-radius: 50%;\n  animation: gsSpin 1s linear infinite;\n}\n\n@keyframes gsSpin { to { transform: rotate(360deg); } }\n\n.gs-loader-text {\n  font-family: \"Cormorant Garamond\", serif;\n  font-size: 1.2rem;\n  color: var(--gs-muted);\n  font-style: italic;\n  letter-spacing: 1px;\n}\n\n.gs-action-row {\n  display: flex;\n  justify-content: center;\n  margin-top: 2rem;\n}\n\n.gs-btn-ghost {\n  background: transparent;\n  border: 1px solid var(--gs-border);\n  color: var(--gs-text);\n  padding: 1.2rem 3rem;\n  border-radius: 50px;\n  font-family: \"Poppins\", sans-serif;\n  font-size: 0.85rem;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 2px;\n  cursor: pointer;\n  transition: all 0.3s;\n}\n\n.gs-btn-ghost:hover {\n  border-color: var(--gs-gold);\n  color: var(--gs-gold);\n  background: rgba(245, 196, 83, 0.05);\n}\n\n.gs-footer-promos {\n  margin-top: 4rem;\n}\n\n.gs-promo-card {\n  background: linear-gradient(135deg, rgba(26, 7, 15, 0.9), rgba(17, 10, 19, 0.95));\n  border: 1px solid rgba(156, 76, 186, 0.3);\n  border-radius: 16px;\n  padding: 4rem;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 4rem;\n  box-shadow: 0 20px 50px rgba(0,0,0,0.5), inset 0 0 30px rgba(156, 76, 186, 0.1);\n}\n\n.gs-promo-content {\n  flex: 1;\n}\n\n.gs-promo-kicker {\n  display: inline-block;\n  color: #dcb3ed;\n  font-size: 0.8rem;\n  font-weight: 700;\n  letter-spacing: 3px;\n  text-transform: uppercase;\n  margin-bottom: 1rem;\n}\n\n.gs-promo-content h2 {\n  font-family: \"Cormorant Garamond\", serif;\n  font-size: 3rem;\n  margin: 0 0 1.5rem 0;\n  color: #fff;\n  line-height: 1.1;\n}\n\n.gs-promo-content p {\n  font-size: 1.1rem;\n  line-height: 1.7;\n  color: var(--gs-muted);\n  margin: 0 0 2.5rem 0;\n  max-width: 500px;\n}\n\n.gs-btn-solid-amethyst {\n  display: inline-flex;\n  background: #7a3b8c;\n  color: #fff;\n  border: 1px solid #9c4cba;\n  padding: 1.2rem 2.5rem;\n  border-radius: 4px;\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 1.5px;\n  text-decoration: none;\n  font-size: 0.9rem;\n  transition: all 0.3s;\n}\n\n.gs-btn-solid-amethyst:hover {\n  background: #9c4cba;\n  transform: translateY(-2px);\n  box-shadow: 0 10px 20px rgba(156, 76, 186, 0.3);\n}\n\n.gs-promo-visual {\n  width: 150px;\n  height: 150px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(156, 76, 186, 0.1);\n  border-radius: 50%;\n  border: 1px solid rgba(156, 76, 186, 0.2);\n  flex-shrink: 0;\n}\n\n.gs-promo-emoji {\n  font-size: 5rem;\n  filter: drop-shadow(0 0 20px rgba(156, 76, 186, 0.4));\n}\n\n@media (max-width: 1024px) {\n  .gs-promo-card {\n    flex-direction: column;\n    text-align: center;\n    padding: 3rem 2rem;\n    gap: 2rem;\n  }\n  .gs-promo-content p {\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .gs-promo-visual {\n    order: -1;\n  }\n}\n\n@media (max-width: 768px) {\n  .gs-container {\n    padding: 0 1rem;\n    gap: 3rem;\n  }\n  .gs-top-bar {\n    padding: 1rem;\n  }\n  .gs-logo-img {\n    max-width: 100%;\n    height: auto;\n  }\n  .gs-filter-nav {\n    justify-content: flex-start;\n    overflow-x: auto;\n    padding-bottom: 1rem;\n    white-space: nowrap;\n    -webkit-overflow-scrolling: touch;\n  }\n  .gs-filter-btn {\n    padding: 0.6rem 1.2rem;\n    font-size: 0.8rem;\n  }\n  .gs-grid {\n    grid-template-columns: 1fr;\n  }\n  .gs-promo-content h2 {\n    font-size: 2.2rem;\n  }\n}\n<\/style>\n\n<script>\n(function() {\n  const grid = document.getElementById('gs-grid');\n  const loadMoreBtn = document.getElementById('gs-load-more');\n  const loadMoreWrapper = document.getElementById('gs-load-more-wrapper');\n  \n  if (!grid) return;\n\n  let currentPage = 1;\n  let isLoading = false;\n  let hasMore = true;\n\n  const path = window.location.pathname;\n  const langMatch = path.match(\/^\\\/([a-z]{2}(-[a-z]{2})?)\\\/\/i);\n  const langPrefix = langMatch ? `\/${langMatch[1]}` : '';\n\n  const endpointBase = `${langPrefix}\/wp-json\/wp\/v2\/storyboards`;\n  const fallbackEndpoint = `${langPrefix}\/wp-json\/wp\/v2\/storyboard`;\n\n  function formatDate(dateString) {\n    if (!dateString) return '';\n    const date = new Date(dateString);\n    return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });\n  }\n\n  function extractCategory(post) {\n    if (post._embedded && post._embedded['wp:term']) {\n      for (const taxonomy of post._embedded['wp:term']) {\n        if (taxonomy && taxonomy.length > 0) {\n          for (const term of taxonomy) {\n            if (term.name && term.name.toLowerCase() !== 'uncategorized') {\n              return term.name;\n            }\n          }\n        }\n      }\n    }\n    return 'Archive';\n  }\n\n  function extractExcerpt(post) {\n    if (post.excerpt && post.excerpt.rendered) {\n      const clean = post.excerpt.rendered.replace(\/<[^>]+>\/g, '').trim();\n      if (clean) return clean;\n    }\n    return 'Enter the file to view the complete visual storyboard.';\n  }\n\n  async function fetchPosts(page) {\n    let url = `${endpointBase}?page=${page}&per_page=12&_embed=1`;\n    try {\n      let response = await fetch(url);\n      if (!response.ok) {\n        url = `${fallbackEndpoint}?page=${page}&per_page=12&_embed=1`;\n        response = await fetch(url);\n        if (!response.ok) {\n          if (response.status === 400) {\n            hasMore = false;\n            return [];\n          }\n          throw new Error('API Error');\n        }\n      }\n      \n      const totalPages = response.headers.get('X-WP-TotalPages');\n      if (totalPages && page >= parseInt(totalPages)) {\n        hasMore = false;\n      }\n\n      const rawPosts = await response.json();\n      \n      const processedPosts = await Promise.all(rawPosts.map(async (post) => {\n        let img = null;\n        if (post._embedded && post._embedded['wp:featuredmedia'] && post._embedded['wp:featuredmedia'][0]) {\n          const media = post._embedded['wp:featuredmedia'][0];\n          if (media.media_details && media.media_details.sizes && media.media_details.sizes.medium_large) {\n            img = media.media_details.sizes.medium_large.source_url;\n          } else if (media.source_url) {\n            img = media.source_url;\n          }\n        }\n\n        const link = post.link || `${langPrefix}\/unfiltered\/storyboards\/`;\n        post.resolvedLink = link;\n\n        try {\n          const pageRes = await fetch(link);\n          const pageText = await pageRes.text();\n          const parser = new DOMParser();\n          const doc = parser.parseFromString(pageText, 'text\/html');\n          const ogImage = doc.querySelector('meta[property=\"og:image\"]');\n          if (ogImage && ogImage.content) {\n            img = ogImage.content;\n          }\n        } catch (e) {}\n\n        post.resolvedImg = img;\n        return post;\n      }));\n\n      return processedPosts;\n    } catch (e) {\n      return null;\n    }\n  }\n\n  function renderCards(posts) {\n    return posts.map(post => {\n      const title = post.title && post.title.rendered ? post.title.rendered.replace(\/&#8211;\/g, '-') : 'Untitled';\n      const link = post.resolvedLink;\n      const date = formatDate(post.date);\n      const cat = extractCategory(post);\n      const img = post.resolvedImg;\n      const excerpt = extractExcerpt(post);\n\n      const imageHtml = img \n        ? `<img decoding=\"async\" src=\"${img}\" alt=\"Storyboard\" class=\"gs-card-image\" loading=\"lazy\">` \n        : `<div class=\"gs-card-fallback\">Visual Offline<\/div>`;\n\n      return `\n        <a href=\"${link}\" class=\"gs-card\">\n          <div class=\"gs-card-image-wrap\">\n            ${imageHtml}\n          <\/div>\n          <div class=\"gs-card-content\">\n            <div class=\"gs-card-meta\">\n              <span class=\"gs-card-category\">${cat}<\/span>\n              <span class=\"gs-card-date\">${date}<\/span>\n            <\/div>\n            <h3 class=\"gs-card-title\">${title}<\/h3>\n            <p class=\"gs-card-excerpt\">${excerpt}<\/p>\n            <span class=\"gs-card-action\">View Board<\/span>\n          <\/div>\n        <\/a>\n      `;\n    }).join('');\n  }\n\n  async function loadInitial() {\n    isLoading = true;\n    const posts = await fetchPosts(currentPage);\n    \n    if (!posts) {\n      grid.innerHTML = `\n        <div class=\"gs-loader-container\">\n          <span class=\"gs-loader-text\">The archive requires manual access. Please navigate via categories above.<\/span>\n        <\/div>`;\n      return;\n    }\n\n    if (posts.length === 0) {\n      grid.innerHTML = `\n        <div class=\"gs-loader-container\">\n          <span class=\"gs-loader-text\">The archive is currently empty.<\/span>\n        <\/div>`;\n      return;\n    }\n\n    grid.innerHTML = renderCards(posts);\n    \n    if (hasMore) {\n      loadMoreWrapper.style.display = 'flex';\n    }\n    isLoading = false;\n  }\n\n  if (loadMoreBtn) {\n    loadMoreBtn.addEventListener('click', async () => {\n      if (isLoading || !hasMore) return;\n      \n      isLoading = true;\n      const originalText = loadMoreBtn.innerText;\n      loadMoreBtn.innerText = 'Retrieving...';\n      \n      currentPage++;\n      const posts = await fetchPosts(currentPage);\n      \n      if (posts && posts.length > 0) {\n        grid.insertAdjacentHTML('beforeend', renderCards(posts));\n      }\n      \n      if (hasMore) {\n        loadMoreBtn.innerText = originalText;\n      } else {\n        loadMoreWrapper.style.display = 'none';\n      }\n      isLoading = false;\n    });\n  }\n\n  loadInitial();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u2190 RETURN TO gabro:unfiltered \ud83c\udf9e\ufe0f ARCHIVE OPEN The complete catalog of visual wreckage, scene work, and late-night episodes. Carved from the casino floor and hung in the gallery. Proceed at your own risk. All Boards The Casino Files Meltdown Memoirs Sin City Sermons Vice Patrol Pulling files from the darkroom&#8230; Load Deeper Archives THE AFTERMATH [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9589,"parent":7448,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"gabro-unfiltered-page-100-width","meta":{"pmpro_default_level":"","sync_status":"","episode_type":"","audio_file":"","podmotor_file_id":"","podmotor_episode_id":"","castos_file_data":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","filesize_raw":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","footnotes":""},"class_list":["post-7575","page","type-page","status-publish","has-post-thumbnail","hentry","pmpro-has-access"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>THE STORYBOARDS | gabroverse<\/title>\n<meta name=\"description\" content=\"gabro:unfiltered STORYBOARDS: illustrated adult episodes, stories, poems, scripts with bilingual EN\/ES dramatic audio, noir cabaret vibes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"THE STORYBOARDS | gabroverse\" \/>\n<meta property=\"og:description\" content=\"gabro:unfiltered STORYBOARDS: illustrated adult episodes, stories, poems, scripts with bilingual EN\/ES dramatic audio, noir cabaret vibes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/\" \/>\n<meta property=\"og:site_name\" content=\"gabroverse\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-04T06:54:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gabroverse.com\/wp-content\/uploads\/bg-gabrounfiltered-yt-empt-01-scaled.webp?wsr\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1086\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/\",\"url\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/\",\"name\":\"THE STORYBOARDS | gabroverse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gabroverse.com\\\/wp-content\\\/uploads\\\/bg-gabrounfiltered-yt-empt-01-scaled.webp\",\"datePublished\":\"2026-04-09T23:01:10+00:00\",\"dateModified\":\"2026-05-04T06:54:07+00:00\",\"description\":\"gabro:unfiltered STORYBOARDS: illustrated adult episodes, stories, poems, scripts with bilingual EN\\\/ES dramatic audio, noir cabaret vibes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/#primaryimage\",\"url\":\"https:\\\/\\\/gabroverse.com\\\/wp-content\\\/uploads\\\/bg-gabrounfiltered-yt-empt-01-scaled.webp\",\"contentUrl\":\"https:\\\/\\\/gabroverse.com\\\/wp-content\\\/uploads\\\/bg-gabrounfiltered-yt-empt-01-scaled.webp\",\"width\":2560,\"height\":1086,\"caption\":\"A dramatic theater-style banner with red velvet curtains, smoke, and golden stage lighting. In the center, glowing text reads \u201cgabro: unfiltered,\u201d with the tagline \u201ctender, then teeth.\u201d beside a fang-filled mouth icon. A silhouetted aerial performer hangs in a hoop on the left, and a silhouetted figure in a top hat stands on the right. Musical staffs and notes sweep across the image, surrounded by casino imagery including a roulette wheel, playing cards, dice, a spilled glass of red wine, and brass instruments.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/unfiltered\\\/storyboards\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gabroverse.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"gabro:unfiltered\",\"item\":\"https:\\\/\\\/gabroverse.com\\\/unfiltered\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"THE STORYBOARDS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/\",\"name\":\"gabroverse\",\"description\":\"the world of gabro\",\"publisher\":{\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/#organization\",\"name\":\"gabroverse\",\"url\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/gabroverse.com\\\/wp-content\\\/uploads\\\/logo-gabro-nu1-sq.webp\",\"contentUrl\":\"https:\\\/\\\/gabroverse.com\\\/wp-content\\\/uploads\\\/logo-gabro-nu1-sq.webp\",\"width\":1024,\"height\":1024,\"caption\":\"gabroverse\"},\"image\":{\"@id\":\"https:\\\/\\\/gabroverse.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"THE STORYBOARDS | gabroverse","description":"gabro:unfiltered STORYBOARDS: episodios ilustrados para adultos, historias, poemas y guiones con audio dram\u00e1tico biling\u00fce en ingl\u00e9s y espa\u00f1ol, y vibra de cabaret noir.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/","og_locale":"es_ES","og_type":"article","og_title":"THE STORYBOARDS | gabroverse","og_description":"gabro:unfiltered STORYBOARDS: illustrated adult episodes, stories, poems, scripts with bilingual EN\/ES dramatic audio, noir cabaret vibes.","og_url":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/","og_site_name":"gabroverse","article_modified_time":"2026-05-04T06:54:07+00:00","og_image":[{"width":2560,"height":1086,"url":"https:\/\/gabroverse.com\/wp-content\/uploads\/bg-gabrounfiltered-yt-empt-01-scaled.webp?wsr","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/","url":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/","name":"THE STORYBOARDS | gabroverse","isPartOf":{"@id":"https:\/\/gabroverse.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/#primaryimage"},"image":{"@id":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/#primaryimage"},"thumbnailUrl":"https:\/\/gabroverse.com\/wp-content\/uploads\/bg-gabrounfiltered-yt-empt-01-scaled.webp","datePublished":"2026-04-09T23:01:10+00:00","dateModified":"2026-05-04T06:54:07+00:00","description":"gabro:unfiltered STORYBOARDS: episodios ilustrados para adultos, historias, poemas y guiones con audio dram\u00e1tico biling\u00fce en ingl\u00e9s y espa\u00f1ol, y vibra de cabaret noir.","breadcrumb":{"@id":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/#primaryimage","url":"https:\/\/gabroverse.com\/wp-content\/uploads\/bg-gabrounfiltered-yt-empt-01-scaled.webp","contentUrl":"https:\/\/gabroverse.com\/wp-content\/uploads\/bg-gabrounfiltered-yt-empt-01-scaled.webp","width":2560,"height":1086,"caption":"A dramatic theater-style banner with red velvet curtains, smoke, and golden stage lighting. In the center, glowing text reads \u201cgabro: unfiltered,\u201d with the tagline \u201ctender, then teeth.\u201d beside a fang-filled mouth icon. A silhouetted aerial performer hangs in a hoop on the left, and a silhouetted figure in a top hat stands on the right. Musical staffs and notes sweep across the image, surrounded by casino imagery including a roulette wheel, playing cards, dice, a spilled glass of red wine, and brass instruments."},{"@type":"BreadcrumbList","@id":"https:\/\/gabroverse.com\/es\/unfiltered\/storyboards\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gabroverse.com\/"},{"@type":"ListItem","position":2,"name":"gabro:unfiltered","item":"https:\/\/gabroverse.com\/unfiltered\/"},{"@type":"ListItem","position":3,"name":"THE STORYBOARDS"}]},{"@type":"WebSite","@id":"https:\/\/gabroverse.com\/es\/#website","url":"https:\/\/gabroverse.com\/es\/","name":"gabroverse","description":"el mundo de gabro","publisher":{"@id":"https:\/\/gabroverse.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gabroverse.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/gabroverse.com\/es\/#organization","name":"gabroverse","url":"https:\/\/gabroverse.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/gabroverse.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/gabroverse.com\/wp-content\/uploads\/logo-gabro-nu1-sq.webp","contentUrl":"https:\/\/gabroverse.com\/wp-content\/uploads\/logo-gabro-nu1-sq.webp","width":1024,"height":1024,"caption":"gabroverse"},"image":{"@id":"https:\/\/gabroverse.com\/es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/pages\/7575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/comments?post=7575"}],"version-history":[{"count":6,"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/pages\/7575\/revisions"}],"predecessor-version":[{"id":10578,"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/pages\/7575\/revisions\/10578"}],"up":[{"embeddable":true,"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/pages\/7448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/media\/9589"}],"wp:attachment":[{"href":"https:\/\/gabroverse.com\/es\/wp-json\/wp\/v2\/media?parent=7575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}