:root {
  --bg: #020101;
  --paper: #d8c69d;
  --paper-dim: #9b8a68;
  --text: #f4eee2;
  --muted: #b8aa91;
  --line: rgba(216, 198, 157, .18);
  --line-strong: rgba(216, 198, 157, .36);
  --red: #8d1118;
  --red-dark: #2a0306;
  --gold: #b8944b;
  --ink: #080604;
  --panel: rgba(16, 12, 9, .74);
  --max: 1220px;
}

/* EP1 visual unlock: focused interaction without adding a separate game flow. */
.helicon-unlock-section .section-head {
  margin-bottom: 28px;
}

.unlock-archive {
  display: grid;
  gap: 18px;
}

.unlock-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  min-height: 520px;
  border: 1px solid rgba(207,184,137,.16);
  background:
    radial-gradient(circle at 18% 16%, rgba(111,13,18,.2), transparent 22rem),
    linear-gradient(135deg, rgba(3,1,1,.98), rgba(10,3,3,.92));
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.76), 0 28px 90px rgba(0,0,0,.46);
  overflow: hidden;
}

.unlock-stage::before {
  content: "VISUAL RELEASE // EPISODIO 1 // HESIDIO";
  position: absolute;
  z-index: 5;
  top: 18px;
  left: 18px;
  padding: 7px 9px;
  border: 1px solid rgba(111,13,18,.58);
  background: rgba(0,0,0,.62);
  color: rgba(232,222,202,.6);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .14em;
}

.unlock-preview {
  min-height: 520px;
  border: 0;
}

.unlock-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(.04) sepia(.1) saturate(.9) contrast(1.08) brightness(.92);
  transform: scale(1.02);
  transition: transform .8s ease, filter .8s ease;
}

.unlock-preview::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.08), transparent 46%, rgba(0,0,0,.2)),
    linear-gradient(180deg, rgba(0,0,0,.1), transparent 52%, rgba(0,0,0,.18)),
    radial-gradient(circle at 50% 45%, rgba(111,13,18,.06), transparent 20rem) !important;
}

.unlock-preview img {
  object-position: center top;
  filter: grayscale(0) sepia(.04) saturate(1.18) contrast(1.12) brightness(1.18) !important;
  transform: scale(1.02) !important;
}

.universe-hub .featured-evidence {
  margin: 0 0 28px;
  min-height: min(74vw, 720px);
}

.hub-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.hub-links .archive-card {
  min-height: 210px;
  text-decoration: none;
}

.hub-links .archive-card h2 {
  font-size: clamp(1.25rem, 2vw, 1.72rem);
  line-height: 1.12;
}

@media (max-width: 880px) {
  .hub-links {
    grid-template-columns: 1fr;
  }
}

.unlock-archive.is-changing .unlock-preview img {
  animation: fragmentReveal .7s ease both;
}

.unlock-terminal {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: 14px;
  padding: 34px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.38), rgba(0,0,0,.92) 34%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 8px);
}

.unlock-terminal span,
.unlock-progress span,
.unlock-card span,
.unlock-card em {
  font-family: "Courier New", ui-monospace, monospace;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.unlock-terminal span {
  color: rgba(207,184,137,.72);
  font-size: .66rem;
}

.unlock-terminal h3 {
  max-width: 23rem;
  margin: 0;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.03;
}

.unlock-terminal p {
  max-width: 24rem;
  margin: 0;
  color: rgba(232,222,202,.66);
  font-size: .96rem;
  line-height: 1.66;
}

.unlock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.unlock-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.unlock-card {
  position: relative;
  display: grid;
  gap: 10px;
  min-height: 142px;
  padding: 18px;
  border: 1px solid rgba(207,184,137,.15);
  background:
    linear-gradient(145deg, rgba(173,151,107,.07), rgba(111,13,18,.08)),
    rgba(5,3,2,.9);
  color: rgba(232,222,202,.72);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.68);
  transition: transform .24s ease, border-color .24s ease, background .24s ease;
}

.unlock-card::after {
  content: "";
  position: absolute;
  inset: auto 18px 16px 18px;
  height: 1px;
  background: linear-gradient(90deg, rgba(111,13,18,.8), transparent);
  opacity: .45;
}

.unlock-card:hover,
.unlock-card:focus-visible,
.unlock-card.is-active {
  transform: translateY(-3px);
  border-color: rgba(207,184,137,.38);
  background:
    radial-gradient(circle at 18% 12%, rgba(207,184,137,.11), transparent 8rem),
    linear-gradient(145deg, rgba(173,151,107,.1), rgba(111,13,18,.14)),
    rgba(7,3,2,.95);
}

.unlock-card span {
  color: rgba(111,13,18,.95);
  font-size: .66rem;
}

.unlock-card strong {
  color: var(--ivory);
  font-family: var(--serif);
  font-size: 1.36rem;
  line-height: 1.05;
}

.unlock-card em {
  color: rgba(207,184,137,.54);
  font-size: .56rem;
  font-style: normal;
}

.unlock-card.is-opened em {
  color: rgba(207,184,137,.86);
}

.unlock-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(207,184,137,.12);
  background: rgba(0,0,0,.34);
}

.unlock-progress span {
  color: rgba(232,222,202,.52);
  font-size: .56rem;
}

.unlock-progress strong {
  color: var(--gold);
  font-family: "Courier New", ui-monospace, monospace;
  letter-spacing: .12em;
}

@keyframes fragmentReveal {
  0% {
    opacity: .42;
    filter: grayscale(.7) sepia(.2) saturate(.28) contrast(1.45) brightness(.36);
    transform: scale(1.08);
  }
  42% {
    opacity: .92;
    filter: grayscale(.12) sepia(.28) saturate(.9) contrast(1.35) brightness(.88);
  }
  100% {
    opacity: 1;
    filter: grayscale(.04) sepia(.1) saturate(.9) contrast(1.08) brightness(.92);
    transform: scale(1.02);
  }
}

@media (max-width: 940px) {
  .unlock-stage {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .unlock-preview {
    min-height: 430px;
  }

  .unlock-terminal {
    padding: 24px;
    background:
      linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.92)),
      repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 8px);
  }
}

@media (max-width: 720px) {
  .helicon-unlock-section .section-head h2 {
    max-width: calc(100vw - 32px);
    font-size: clamp(1.9rem, 10vw, 2.35rem);
    line-height: 1.02;
    overflow-wrap: break-word;
  }

  .helicon-unlock-section .section-head p {
    max-width: calc(100vw - 32px);
  }

  .unlock-grid {
    grid-template-columns: 1fr;
  }

  .unlock-preview {
    min-height: 330px;
  }

  .unlock-stage::before {
    right: 14px;
    left: 14px;
    font-size: .5rem;
  }

  .unlock-terminal h3 {
    font-size: 1.72rem;
  }

  .unlock-terminal p {
    font-size: .9rem;
  }

  .unlock-card {
    min-height: 118px;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 76% 8%, rgba(141, 17, 24, .36), transparent 31rem),
    radial-gradient(circle at 20% 36%, rgba(184, 148, 75, .12), transparent 28rem),
    linear-gradient(180deg, #020101 0%, #080303 44%, #020101 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025), transparent 22%, rgba(141,17,24,.045)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(90deg, rgba(216,198,157,.012) 0 1px, transparent 1px 18px);
  mix-blend-mode: screen;
  opacity: .72;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }

.archive-grain,
.archive-embers {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.archive-grain {
  z-index: 3;
  opacity: .26;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.2) 0 1px, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(184,148,75,.16) 0 1px, transparent 1px);
  background-size: 13px 17px, 21px 27px;
  animation: grainShift 8s steps(2,end) infinite;
}

.archive-embers {
  z-index: 1;
  overflow: hidden;
}

.archive-embers i {
  position: absolute;
  bottom: -24px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(184, 148, 75, .75);
  box-shadow: 0 0 22px rgba(141,17,24,.85);
  animation: emberRise 18s linear infinite;
}
.archive-embers i:nth-child(1){left:8%;animation-delay:0s}.archive-embers i:nth-child(2){left:21%;animation-delay:5s}.archive-embers i:nth-child(3){left:37%;animation-delay:9s}.archive-embers i:nth-child(4){left:53%;animation-delay:2s}.archive-embers i:nth-child(5){left:69%;animation-delay:7s}.archive-embers i:nth-child(6){left:84%;animation-delay:1s}.archive-embers i:nth-child(7){left:94%;animation-delay:11s}

.topbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  border-bottom: 1px solid rgba(216,198,157,.13);
  background: linear-gradient(180deg, rgba(3,2,2,.94), rgba(3,2,2,.42));
  backdrop-filter: blur(18px);
}

.nav {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: .77rem;
  font-weight: 950;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.brand img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: 0 0 24px rgba(141,17,24,.44);
}

.menu {
  display: flex;
  gap: clamp(12px, 1.9vw, 24px);
  align-items: center;
  color: var(--paper-dim);
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.menu a {
  position: relative;
  padding: 28px 0;
}

.menu a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 19px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0;
  transform: scaleX(.34);
  transition: opacity .22s ease, transform .22s ease;
}

.menu a:hover { color: #fff; }
.menu a:hover::after { opacity: 1; transform: scaleX(1); }

.restricted-hero {
  position: relative;
  min-height: 100svh;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 126px 0 70px;
  border-bottom: 1px solid rgba(141,17,24,.42);
}

.hero-evidence {
  position: absolute;
  inset: 0;
  z-index: -4;
  margin: 0;
  border: 0;
  width: 100%;
  height: 100%;
}

.hero-evidence img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 34%;
  filter: saturate(.62) contrast(1.18) brightness(.36);
  transform: scale(1.06);
  animation: forbiddenDrift 20s ease-in-out infinite alternate;
}

.hero-evidence::after,
.watermarked-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.68) 38%, rgba(0,0,0,.36) 62%, rgba(0,0,0,.9)),
    radial-gradient(circle at 22% 78%, rgba(141,17,24,.38), transparent 28rem),
    repeating-linear-gradient(116deg, rgba(216,198,157,.045) 0 1px, transparent 1px 13px);
}

.hero-burn {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.08) 40%, #020101 100%),
    radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.96), transparent 48%),
    radial-gradient(circle at 12% 14%, rgba(216,198,157,.09), transparent 16rem);
}

.hero-inner {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: end;
  gap: 48px;
}

.hero-copy { max-width: 820px; animation: slowReveal .9s ease both; }

.seal,
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--gold);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.seal {
  padding: 9px 12px;
  border: 1px solid rgba(184,148,75,.42);
  background: rgba(5,2,2,.58);
  box-shadow: inset 0 0 24px rgba(141,17,24,.18);
}

.kicker::before,
.seal::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--red);
  box-shadow: 0 0 24px rgba(141,17,24,.9);
}

.hero-copy h1 {
  margin: 18px 0 12px;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(5.2rem, 14vw, 13rem);
  line-height: .78;
  letter-spacing: .018em;
  color: #fff6e6;
  text-shadow: 0 0 26px rgba(141,17,24,.5), 0 18px 70px rgba(0,0,0,.98);
}

.hero-subtitle {
  margin: 0 0 10px;
  color: #eadbc0;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.25rem, 2.3vw, 2.15rem);
}

.hero-line {
  margin: 0;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 3rem);
  line-height: 1.06;
  font-weight: 950;
  letter-spacing: -.02em;
}

.status-badge {
  display: inline-flex;
  margin-top: 18px;
  padding: 8px 12px;
  border: 1px solid rgba(141,17,24,.62);
  color: #f7e9c9;
  background: rgba(141,17,24,.24);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .18em;
}

.hero-publisher {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 1.04rem;
  font-weight: 760;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 1px solid var(--line-strong);
  padding: 13px 18px;
  color: #fff;
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
  background: rgba(5,2,2,.46);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.button:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.42);
  box-shadow: 0 16px 44px rgba(0,0,0,.34);
}

.button.primary { background: linear-gradient(135deg, #b8944b, #7e1218); }
.button.secondary { background: rgba(216,198,157,.08); }
.button.ghost { color: #eadbc0; background: rgba(0,0,0,.2); }

.classified-card {
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(135deg, rgba(216,198,157,.08), rgba(141,17,24,.08)),
    rgba(5,2,2,.6);
  backdrop-filter: blur(18px);
  padding: 24px;
  box-shadow: 0 24px 80px rgba(0,0,0,.32);
}

.classified-card span,
.confidential-grid span,
.fragment-panel span,
.relic-grid span,
.episode-stack span {
  color: var(--gold);
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.classified-card strong {
  display: block;
  margin-top: 16px;
  color: #fff;
  font-size: 1.22rem;
  line-height: 1.12;
}

.classified-card p,
.confidential-grid p,
.section-copy p,
.section-head p,
.relic-copy p,
.community-inner p {
  margin: 10px 0 0;
  color: var(--muted);
}

.studio-section,
.fragments-section,
.forbidden-archives-section,
.characters-section,
.helicon-section,
.season-section,
.approval-editorial-section,
.community-section,
.footer {
  position: relative;
  z-index: 5;
}

.studio-section { padding: 92px 0 64px; background: linear-gradient(180deg, #020101, #070302); }

.approval-editorial-section {
  padding: 86px 0 76px;
  border-top: 1px solid rgba(216,198,157,.12);
  border-bottom: 1px solid rgba(141,17,24,.3);
  background:
    radial-gradient(circle at 15% 18%, rgba(184,148,75,.12), transparent 24rem),
    linear-gradient(180deg, #030101, #080303 58%, #020101);
}

.approval-layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 5vw, 68px);
  align-items: start;
}

.approval-copy h2 {
  margin: 16px 0;
  max-width: 720px;
  color: #fff5e3;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(2rem, 4.4vw, 4.35rem);
  line-height: .98;
}

.approval-copy p {
  max-width: 640px;
  color: rgba(216,198,157,.74);
  font-size: 1.02rem;
  line-height: 1.76;
}

.approval-copy .button {
  margin-top: 18px;
}

.approval-article-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.approval-article-grid a {
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(216,198,157,.16);
  background:
    linear-gradient(145deg, rgba(216,198,157,.07), rgba(111,13,18,.07)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 7px),
    rgba(8,5,4,.88);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.58), 0 20px 70px rgba(0,0,0,.34);
}

.approval-article-grid span {
  color: var(--gold);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.approval-article-grid strong {
  display: block;
  margin-top: 18px;
  color: #fff7e6;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: 1.35rem;
  line-height: 1.12;
}

.approval-article-grid p {
  margin: 12px 0 0;
  color: rgba(216,198,157,.68);
  font-size: .95rem;
  line-height: 1.58;
}

.blog-page {
  position: relative;
  z-index: 5;
  padding: 150px 0 84px;
}

.info-page {
  position: relative;
  z-index: 5;
  padding-top: 142px;
  padding-bottom: 84px;
  overflow-x: hidden;
}

.info-page .archive-hero h1 {
  font-size: clamp(2.2rem, 5vw, 4.45rem);
}

.info-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.info-page p,
.info-page h1,
.info-page h2 {
  overflow-wrap: anywhere;
}

.archive-hero {
  max-width: 920px;
  margin-bottom: 34px;
}

.archive-hero h1 {
  margin: 14px 0 12px;
  color: #fff6e6;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(2.5rem, 6vw, 5.4rem);
  line-height: .96;
}

.archive-hero p {
  max-width: 820px;
  color: rgba(216,198,157,.76);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.72;
}

.archive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.archive-card {
  position: relative;
  min-height: 260px;
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(216,198,157,.18);
  background:
    radial-gradient(circle at 82% 14%, rgba(141,17,24,.24), transparent 16rem),
    linear-gradient(145deg, rgba(216,198,157,.08), rgba(111,13,18,.08)),
    rgba(8,5,4,.86);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.62), 0 24px 80px rgba(0,0,0,.36);
}

.archive-card::before {
  content: "ARQUIVO OFICIAL";
  display: block;
  margin-bottom: 22px;
  color: rgba(184,148,75,.88);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .16em;
}

.archive-card span {
  color: var(--gold);
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.archive-card h2 {
  margin: 14px 0 12px;
  color: #fff7e6;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.55rem, 2.2vw, 2.35rem);
  line-height: 1.05;
}

.archive-card p {
  max-width: 620px;
  margin: 0;
  color: rgba(216,198,157,.72);
}

.archive-card small {
  display: block;
  margin-top: 24px;
  color: rgba(216,198,157,.62);
  font-weight: 800;
}

.projects-section {
  border-top: 1px solid rgba(216,198,157,.12);
  background:
    radial-gradient(circle at 80% 30%, rgba(184,148,75,.08), transparent 22rem),
    linear-gradient(180deg, #030101, #070302);
}

.project-grid {
  grid-template-columns: 1fr;
}

.section-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

.section-copy h2,
.section-head h2,
.relic-copy h2,
.community-inner h2 {
  margin: 16px 0;
  color: #fff5e3;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(2.35rem, 5.6vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.035em;
}

.section-copy p,
.section-head p,
.relic-copy p,
.community-inner p {
  max-width: 650px;
  font-size: 1.08rem;
}

.confidential-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.confidential-grid article,
.relic-grid article {
  min-height: 210px;
  border: 1px solid var(--line);
  background:
    linear-gradient(160deg, rgba(216,198,157,.08), rgba(255,255,255,.018)),
    rgba(16,12,9,.72);
  padding: 24px;
  box-shadow: inset 0 0 34px rgba(0,0,0,.25);
}

.confidential-grid article::before,
.fragment-panel::before,
.relic-grid article::before,
.episode-stack a::before {
  content: "CONFIDENCIAL";
  display: inline-block;
  margin-bottom: 34px;
  padding: 5px 8px;
  border: 1px solid rgba(141,17,24,.45);
  color: rgba(244,238,226,.68);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .16em;
  transform: rotate(-2deg);
}

.confidential-grid h3,
.relic-grid strong {
  display: block;
  margin: 0;
  color: #fff;
  font-size: 1.42rem;
  line-height: 1.1;
}

.fragments-section { padding: 76px 0 66px; }
.section-head { margin-bottom: 32px; }
.section-head.torn {
  padding-top: 28px;
  border-top: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(141,17,24,.12), transparent 46%);
}

.fragment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, .84fr));
  gap: 16px;
}

.fragment-panel {
  position: relative;
  min-height: 550px;
  overflow: hidden;
  border: 1px solid rgba(216,198,157,.2);
  background: #080504;
}

.fragment-panel.wide { min-height: 640px; }
.fragment-panel::before {
  position: absolute;
  z-index: 8;
  top: 18px;
  left: 18px;
  margin: 0;
}

.fragment-panel .watermarked-image {
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}

.fragment-panel > div {
  position: absolute;
  z-index: 10;
  left: 22px;
  right: 22px;
  bottom: 22px;
}

.fragment-panel h3 {
  margin: 10px 0 0;
  color: #fff7e7;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.5rem, 2.4vw, 2.55rem);
  line-height: 1.04;
}

.forbidden-archives-section {
  padding: 86px 0 74px;
  background:
    radial-gradient(circle at 86% 18%, rgba(141,17,24,.18), transparent 24rem),
    linear-gradient(180deg, #050202, #020101 58%, #070302);
  border-top: 1px solid rgba(216,198,157,.12);
  border-bottom: 1px solid rgba(141,17,24,.24);
}

.archive-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.archive-post-card {
  position: relative;
  min-height: 305px;
  overflow: hidden;
  border: 1px solid rgba(216,198,157,.18);
  background:
    linear-gradient(135deg, rgba(216,198,157,.08), transparent 44%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.024) 0 1px, transparent 1px 8px),
    rgba(15,10,7,.82);
  box-shadow: inset 0 0 44px rgba(0,0,0,.38);
}

.archive-post-card::before,
.archive-post-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.archive-post-card::before {
  inset: 13px;
  border: 1px solid rgba(216,198,157,.12);
}

.archive-post-card::after {
  right: -54px;
  bottom: 24px;
  width: 230px;
  height: 62px;
  border: 2px solid rgba(141,17,24,.44);
  transform: rotate(-13deg);
  background: linear-gradient(90deg, transparent, rgba(141,17,24,.12), transparent);
}

.archive-post-card a {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  padding: 24px;
}

.archive-stamp {
  align-self: flex-start;
  border: 1px solid rgba(141,17,24,.54);
  padding: 6px 9px;
  color: #eadbc0;
  background: rgba(141,17,24,.12);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
  transform: rotate(-2deg);
}

.archive-post-card small {
  margin-top: 26px;
  color: var(--gold);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.archive-post-card h3 {
  margin: 12px 0 0;
  max-width: 440px;
  color: #fff6e6;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.55rem, 2.2vw, 2.2rem);
  line-height: 1.02;
}

.archive-post-card p {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: .98rem;
}

.archive-post-card em {
  margin-top: auto;
  padding-top: 22px;
  color: rgba(244,238,226,.72);
  font-style: normal;
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.archive-post-card:hover {
  border-color: rgba(184,148,75,.38);
  background:
    linear-gradient(135deg, rgba(141,17,24,.14), transparent 48%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 8px),
    rgba(15,10,7,.92);
}

.watermarked-image {
  position: relative;
  overflow: hidden;
  background: #080504;
  user-select: none;
  -webkit-user-select: none;
}

.watermarked-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.58) contrast(1.15) brightness(.48);
  user-select: none;
  -webkit-user-drag: none;
}

.watermarked-image__corner,
.watermarked-image__diagonal,
.watermarked-image__pattern {
  position: absolute;
  z-index: 7;
  pointer-events: none;
  user-select: none;
}

.watermarked-image__corner {
  right: 16px;
  bottom: 14px;
  color: rgba(242,242,242,.25);
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  text-align: right;
  text-shadow: 0 2px 10px rgba(0,0,0,.92);
}

.watermarked-image__corner strong,
.watermarked-image__corner small {
  display: block;
  line-height: 1.05;
}

.watermarked-image__corner strong {
  font-size: .78rem;
  letter-spacing: .16em;
}

.watermarked-image__corner small {
  margin-top: 3px;
  font-size: .68rem;
  letter-spacing: .08em;
}

.watermarked-image__diagonal {
  top: 50%;
  left: 50%;
  color: rgba(255,255,255,.06);
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(4rem, 14vw, 12rem);
  font-weight: 950;
  letter-spacing: .08em;
  transform: translate(-50%, -50%) rotate(-25deg);
  white-space: nowrap;
  text-shadow: 0 0 18px rgba(0,0,0,.6);
}

.watermarked-image__pattern {
  inset: -22%;
  color: rgba(255,255,255,.04);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 6.2rem;
  transform: rotate(-25deg);
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0 72px,
    rgba(255,255,255,0) 72px 132px
  );
}

.watermarked-image__pattern::before {
  content: "HESIDIO · @hesidio   HESIDIO · @hesidio   HESIDIO · @hesidio   HESIDIO · @hesidio";
  display: block;
  white-space: pre-wrap;
}

.characters-section {
  padding: 76px 0;
  background:
    linear-gradient(180deg, rgba(141,17,24,.08), transparent 58%),
    #050202;
}

.section-head.compact {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.character-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.character-cards article {
  position: relative;
  min-height: 455px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #080504;
}

.character-cards .watermarked-image {
  position: absolute;
  inset: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}

.character-cards small,
.character-cards h3,
.character-cards p {
  position: absolute;
  z-index: 10;
  left: 20px;
  right: 20px;
}

.character-cards small {
  bottom: 104px;
  color: var(--gold);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.character-cards h3 {
  bottom: 56px;
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: 2rem;
}

.character-cards p {
  bottom: 20px;
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
}

.helicon-section {
  padding: 78px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 18% 50%, rgba(184,148,75,.11), transparent 24rem),
    linear-gradient(180deg, #050202, #090403);
}

.relic-layout,
.season-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, .72fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.relic-grid,
.episode-stack {
  display: grid;
  gap: 12px;
}

.relic-grid article {
  min-height: 118px;
}

.relic-grid article::before {
  content: "ARQUIVO";
  margin-bottom: 16px;
}

.season-section {
  padding: 88px 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.95), rgba(0,0,0,.42), rgba(0,0,0,.94)),
    url("/public/studios/hesidio-poster.png") center 36% / cover fixed;
}

.episode-stack a {
  position: relative;
  display: block;
  border: 1px solid var(--line-strong);
  background: rgba(5,2,2,.72);
  backdrop-filter: blur(18px);
  padding: 22px;
  overflow: hidden;
}

.episode-stack a::before {
  content: "RESTRITO";
  margin-bottom: 14px;
}

.episode-stack strong {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-size: 1.42rem;
}

.episode-stack em {
  display: block;
  margin-top: 4px;
  color: #f0d8ad;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .12em;
}

.community-section { padding: 88px 0 48px; }
.community-inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.social-links a {
  min-width: 132px;
  border: 1px solid var(--line-strong);
  padding: 14px 18px;
  color: #fff;
  text-align: center;
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: rgba(216,198,157,.06);
}

.footer {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  margin-top: 18px;
  padding: 34px 0 46px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.footer strong {
  display: block;
  color: #fff;
  margin-bottom: 8px;
  font-size: .86rem;
  font-weight: 950;
  letter-spacing: .14em;
}

.footer p {
  margin: 4px 0 0;
  max-width: 660px;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site-footer nav a { color: var(--gold); }

.archive-entry-page {
  min-height: 100svh;
}

.archive-entry {
  position: relative;
  z-index: 5;
  padding: 112px 0 76px;
}

.archive-back {
  display: inline-flex;
  margin-bottom: 34px;
  border: 1px solid rgba(216,198,157,.2);
  padding: 10px 13px;
  color: var(--gold);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: rgba(5,2,2,.58);
}

.archive-entry article {
  max-width: 980px;
  border: 1px solid rgba(216,198,157,.18);
  background:
    radial-gradient(circle at 86% 12%, rgba(141,17,24,.16), transparent 19rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.024) 0 1px, transparent 1px 8px),
    rgba(12,8,6,.86);
  box-shadow: 0 28px 90px rgba(0,0,0,.42), inset 0 0 64px rgba(0,0,0,.28);
  padding: clamp(24px, 5vw, 52px);
}

.archive-entry header {
  max-width: 760px;
}

.archive-entry h1 {
  margin: 18px 0 16px;
  color: #fff6e6;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(2.45rem, 7vw, 5.2rem);
  line-height: .94;
  letter-spacing: -.035em;
}

.archive-entry header p,
.archive-entry section p {
  color: var(--muted);
  font-size: 1.06rem;
}

.featured-evidence {
  height: min(64vw, 620px);
  min-height: 340px;
  margin: 34px 0;
  border: 1px solid rgba(216,198,157,.16);
}

.archive-entry h2 {
  margin: 0 0 14px;
  color: var(--gold);
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.archive-entry blockquote {
  margin: 24px 0;
  border-left: 2px solid rgba(141,17,24,.78);
  padding: 16px 0 16px 22px;
  color: #fff6e6;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.55rem, 3.2vw, 2.6rem);
  line-height: 1.08;
  background: linear-gradient(90deg, rgba(141,17,24,.12), transparent);
}

@keyframes emberRise {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  10% { opacity: .76; }
  100% { transform: translate3d(24px, -105vh, 0); opacity: 0; }
}

@keyframes forbiddenDrift {
  from { transform: scale(1.06) translate3d(0, 0, 0); }
  to { transform: scale(1.11) translate3d(-1.2%, -1%, 0); }
}

@keyframes slowReveal {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes grainShift {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-1%, 1%); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

@media (max-width: 1060px) {
  .menu { display: none; }
  .hero-inner,
  .section-grid,
  .approval-layout,
  .relic-layout,
  .season-layout {
    grid-template-columns: 1fr;
  }
  .classified-card { max-width: 430px; }
  .fragment-layout { grid-template-columns: 1fr 1fr; }
  .fragment-panel.wide { grid-column: 1 / -1; }
  .character-cards,
  .archive-post-grid,
  .confidential-grid,
  .approval-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .community-inner { display: block; }
  .social-links { justify-content: flex-start; margin-top: 26px; }
}

@media (max-width: 900px) {
  .container { width: min(calc(100% - 28px), var(--max)); }
  .nav { min-height: 68px; }
  .brand { font-size: .66rem; letter-spacing: .11em; }
  .brand img { width: 34px; height: 34px; }
  .restricted-hero { min-height: 94svh; padding: 104px 0 42px; }
  .hero-evidence img { object-position: 56% 25%; }
  .hero-copy h1 {
    font-size: clamp(3.45rem, 17vw, 4.55rem);
    line-height: .84;
    white-space: nowrap;
  }
  .hero-subtitle { font-size: 1.18rem; }
  .hero-line { font-size: clamp(1.48rem, 7.4vw, 2.2rem); }
  .hero-actions,
  .social-links {
    display: grid;
    grid-template-columns: 1fr;
  }
  .button,
  .social-links a {
    width: 100%;
  }
  .classified-card { display: none; }
  .studio-section,
  .fragments-section,
  .forbidden-archives-section,
  .characters-section,
  .helicon-section,
  .season-section,
  .approval-editorial-section,
  .community-section {
    padding-block: 54px;
  }
  .section-copy h2,
  .section-head h2,
  .relic-copy h2,
  .community-inner h2 {
    font-size: clamp(2.25rem, 12vw, 3.5rem);
  }
  .confidential-grid,
  .fragment-layout,
  .archive-post-grid,
  .approval-article-grid,
  .archive-grid,
  .character-cards {
    grid-template-columns: 1fr;
  }
  .archive-post-card {
    min-height: 285px;
  }
  .fragment-panel,
  .fragment-panel.wide {
    min-height: 430px;
  }
  .character-cards article {
    min-height: 420px;
  }
  .season-section {
    background-attachment: scroll;
  }
  .footer {
    display: block;
  }
  .site-footer nav {
    justify-content: flex-start;
    margin-top: 24px;
  }

  .blog-page {
    padding-top: 118px;
  }

  .info-page {
    padding-top: 118px;
    padding-bottom: 64px;
  }

  .info-page .archive-hero h1 {
    font-size: clamp(1.6rem, 8vw, 2rem);
    line-height: 1.08;
    max-width: 18ch;
  }

  .archive-hero h1 {
    max-width: 100%;
    font-size: clamp(1.72rem, 8.8vw, 2.12rem);
    line-height: 1.08;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .info-page .archive-hero h1 {
    font-size: clamp(1.48rem, 7.7vw, 1.9rem);
    max-width: 17ch;
  }

  .archive-hero p {
    font-size: .98rem;
  }

  .archive-card {
    min-height: 0;
    padding: 22px;
  }

  .archive-card h2 {
    max-width: 100%;
    font-size: clamp(1.18rem, 6.8vw, 1.5rem);
    line-height: 1.08;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 560px) {
  .blog-page {
    padding-top: 118px;
  }

  .archive-hero h1 {
    max-width: 100%;
    font-size: clamp(1.72rem, 8.8vw, 2.12rem);
    line-height: 1.08;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .archive-hero p {
    font-size: .98rem;
  }

  .archive-card {
    min-height: 0;
    padding: 22px;
  }

  .archive-card h2 {
    max-width: 100%;
    font-size: clamp(1.18rem, 6.8vw, 1.5rem);
    line-height: 1.08;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .hero-copy h1 {
    font-size: clamp(5rem, 11.5vw, 8.5rem);
  }
}

/* Cinematic restricted archive pass */
body {
  background:
    radial-gradient(circle at 50% -20%, rgba(118, 8, 14, .34), transparent 26rem),
    radial-gradient(circle at 16% 52%, rgba(184,148,75,.08), transparent 31rem),
    linear-gradient(180deg, #000 0%, #040101 28%, #080302 56%, #010101 100%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, transparent 32%, rgba(0,0,0,.8) 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px);
  mix-blend-mode: multiply;
  opacity: .8;
}

.archive-grain {
  opacity: .4;
  mix-blend-mode: screen;
}

.topbar {
  background:
    linear-gradient(180deg, rgba(0,0,0,.96), rgba(3,0,0,.64)),
    repeating-linear-gradient(90deg, transparent 0 64px, rgba(184,148,75,.035) 64px 65px);
  border-bottom-color: rgba(141,17,24,.38);
  box-shadow: 0 18px 80px rgba(0,0,0,.78);
}

.nav {
  min-height: 86px;
}

.brand {
  letter-spacing: .2em;
  text-shadow: 0 0 22px rgba(141,17,24,.45);
}

.brand img {
  border-radius: 0;
  border: 1px solid rgba(184,148,75,.18);
  background: #030101;
}

.menu {
  gap: 18px;
  color: rgba(216,198,157,.72);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .68rem;
  letter-spacing: .16em;
}

.menu a {
  padding: 10px 0;
}

.menu a::before {
  content: "[";
  color: rgba(141,17,24,.95);
  margin-right: 4px;
  opacity: .65;
}

.menu a::after {
  content: "]";
  position: static;
  display: inline;
  height: auto;
  margin-left: 4px;
  color: rgba(141,17,24,.95);
  background: none;
  opacity: .65;
  transform: none;
}

.menu a:hover {
  color: #fff4dd;
  text-shadow: 0 0 18px rgba(141,17,24,.82);
}

.restricted-hero {
  min-height: 100svh;
  align-items: center;
  padding: 118px 0 86px;
  background:
    radial-gradient(circle at 50% 50%, rgba(141,17,24,.28), transparent 28rem),
    linear-gradient(180deg, #000 0%, #050101 55%, #020101 100%);
}

.restricted-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 47%, rgba(141,17,24,.22), transparent 12rem),
    rgba(0,0,0,.78);
  animation: archiveBoot 3.1s ease forwards;
}

.restricted-hero::after {
  content: "PRIMEIRO CONTATO // HESIDIO // ARQUIVO RESTRITO";
  position: absolute;
  left: 50%;
  bottom: 34px;
  z-index: 9;
  transform: translateX(-50%);
  color: rgba(216,198,157,.42);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .68rem;
  letter-spacing: .22em;
  white-space: nowrap;
}

.hero-evidence {
  opacity: .72;
}

.hero-evidence img {
  object-position: 50% 34%;
  filter: saturate(.42) contrast(1.28) brightness(.29);
  transform: scale(1.12);
}

.hero-evidence::after,
.watermarked-image::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.98), rgba(0,0,0,.55) 34%, rgba(0,0,0,.64) 66%, rgba(0,0,0,.98)),
    linear-gradient(180deg, rgba(0,0,0,.76), transparent 34%, rgba(0,0,0,.9)),
    radial-gradient(circle at 50% 46%, rgba(100,3,8,.32), transparent 24rem),
    repeating-linear-gradient(116deg, rgba(216,198,157,.045) 0 1px, transparent 1px 12px);
}

.hero-burn {
  background:
    radial-gradient(circle at 50% 44%, transparent 0 12rem, rgba(0,0,0,.72) 36rem),
    linear-gradient(180deg, rgba(0,0,0,.86), rgba(0,0,0,.22) 40%, #010101 100%);
}

.hero-inner {
  position: absolute;
  top: 86px;
  left: 0;
  right: 0;
  min-height: calc(100svh - 86px);
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  max-width: none;
}

.hero-copy {
  width: min(100% - 40px, 1180px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
}

.opening-mark {
  display: block;
  margin-bottom: 24px;
  color: rgba(216,198,157,.34);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .42em;
  text-transform: uppercase;
  animation: sigilWake 3.2s ease both;
}

.seal {
  background: rgba(0,0,0,.58);
  box-shadow: 0 0 60px rgba(141,17,24,.24), inset 0 0 26px rgba(141,17,24,.22);
}

.hero-copy h1 {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 24px auto 14px;
  font-size: clamp(5rem, 9vw, 8.8rem);
  letter-spacing: .06em;
  text-indent: .06em;
  white-space: nowrap;
  text-shadow:
    0 0 18px rgba(255,235,196,.18),
    0 0 58px rgba(141,17,24,.56),
    0 24px 90px #000;
  animation: sigilWake 3.4s ease both, titleGlitch 7s steps(1,end) infinite;
}

.hero-subtitle {
  color: #d8c69d;
  font-size: clamp(1.35rem, 2vw, 2.1rem);
}

.hero-line {
  max-width: 820px;
  margin: 12px auto 0;
  color: #fff;
  font-size: clamp(1.8rem, 3.2vw, 3.7rem);
}

.hero-publisher {
  color: rgba(216,198,157,.75);
}

.hero-actions {
  justify-content: center;
}

.button,
.social-links a {
  border-color: rgba(141,17,24,.5);
  background:
    linear-gradient(180deg, rgba(216,198,157,.06), rgba(141,17,24,.08)),
    rgba(0,0,0,.62);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  font-family: "Courier New", ui-monospace, monospace;
}

.button.primary {
  background:
    linear-gradient(135deg, rgba(184,148,75,.84), rgba(141,17,24,.72)),
    rgba(0,0,0,.7);
}

.button:hover,
.social-links a:hover {
  background:
    linear-gradient(135deg, rgba(141,17,24,.34), rgba(184,148,75,.14)),
    rgba(0,0,0,.8);
  box-shadow: 0 0 26px rgba(141,17,24,.45), 0 20px 70px rgba(0,0,0,.62);
}

.classified-card {
  display: none;
}

.studio-section,
.fragments-section,
.characters-section,
.helicon-section,
.season-section,
.community-section {
  background:
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.48)),
    repeating-linear-gradient(90deg, transparent 0 78px, rgba(216,198,157,.025) 78px 79px);
}

.section-grid,
.relic-layout,
.season-layout {
  grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr);
}

.section-copy h2,
.section-head h2,
.relic-copy h2,
.community-inner h2 {
  text-transform: uppercase;
  letter-spacing: .02em;
  text-shadow: 0 0 34px rgba(141,17,24,.24);
}

.confidential-grid {
  gap: 16px;
}

.confidential-grid article,
.relic-grid article,
.episode-stack a {
  position: relative;
  border-color: rgba(141,17,24,.42);
  background:
    linear-gradient(145deg, rgba(216,198,157,.045), rgba(141,17,24,.075)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
    rgba(7,4,3,.9);
  clip-path: polygon(0 9px, 99% 0, 100% calc(100% - 13px), 2% 100%);
}

.confidential-grid article::after,
.relic-grid article::after,
.episode-stack a::after {
  content: "";
  position: absolute;
  inset: 10px;
  pointer-events: none;
  border: 1px solid rgba(216,198,157,.08);
}

.fragment-layout {
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
}

.fragment-panel {
  min-height: 620px;
  border-color: rgba(141,17,24,.5);
  clip-path: polygon(0 14px, 98% 0, 100% calc(100% - 22px), 3% 100%);
  box-shadow: 0 28px 90px rgba(0,0,0,.56), inset 0 0 0 1px rgba(216,198,157,.06);
}

.fragment-panel.wide {
  grid-row: span 2;
  min-height: 760px;
}

.fragment-panel .watermarked-image img,
.character-cards .watermarked-image img {
  filter: saturate(.36) contrast(1.24) brightness(.32);
}

.fragment-panel:hover .watermarked-image img,
.character-cards article:hover .watermarked-image img {
  filter: saturate(.48) contrast(1.32) brightness(.4);
}

.watermarked-image::before {
  content: "RESTRITO // HESIDIO // @hesidio";
  position: absolute;
  z-index: 8;
  left: 14px;
  top: 14px;
  padding: 6px 9px;
  border: 1px solid rgba(141,17,24,.56);
  color: rgba(244,238,226,.62);
  background: rgba(0,0,0,.48);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .15em;
  pointer-events: none;
}

.watermarked-image__corner {
  color: rgba(245,245,245,.34);
  opacity: 1;
}

.watermarked-image__diagonal {
  color: rgba(245,245,245,.105);
  font-size: clamp(6rem, 18vw, 16rem);
  letter-spacing: .12em;
}

.watermarked-image__pattern {
  color: rgba(245,245,245,.075);
  font-size: 1.05rem;
  line-height: 5.4rem;
}

.character-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.character-cards article {
  min-height: 520px;
  border-color: rgba(141,17,24,.5);
  clip-path: polygon(0 14px, 98% 0, 100% calc(100% - 22px), 3% 100%);
  background: #050202;
}

.character-cards article::before {
  position: absolute;
  z-index: 11;
  top: 18px;
  right: 18px;
  width: 180px;
  padding: 12px;
  border: 1px solid rgba(216,198,157,.18);
  color: rgba(216,198,157,.72);
  background: rgba(0,0,0,.62);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .62rem;
  line-height: 1.55;
  white-space: pre-line;
  content: "[STATUS]\A DESCONHECIDO\A\A[AMEAÇA]\A EXTREMA\A\A[ÚLTIMO REGISTRO]\A MONTE HÉLICON";
}

.character-cards article:nth-child(2)::before {
  content: "[STATUS]\A ÂNCORA\A\A[AMEAÇA]\A INDEFINIDA\A\A[ÚLTIMO REGISTRO]\A CIDADE BAIXA";
}

.character-cards article:nth-child(3)::before {
  content: "[STATUS]\A OBSERVANDO\A\A[AMEAÇA]\A ABSOLUTA\A\A[ÚLTIMO REGISTRO]\A SEM CONTATO";
}

.character-cards article:nth-child(4)::before {
  content: "[STATUS]\A HOSTIL\A\A[AMEAÇA]\A EXTREMA\A\A[ÚLTIMO REGISTRO]\A SANGUE NEGRO";
}

.character-cards small,
.character-cards h3,
.character-cards p {
  text-shadow: 0 2px 16px #000;
}

.episode-stack a {
  min-height: 160px;
  padding-left: 28px;
  transform: rotate(-.35deg);
}

.episode-stack a:nth-child(even) {
  transform: rotate(.3deg);
}

.episode-stack a strong {
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: 1.8rem;
}

.episode-stack em {
  display: inline-flex;
  margin-top: 14px;
  padding: 5px 8px;
  border: 1px solid rgba(141,17,24,.5);
  background: rgba(141,17,24,.18);
}

.helicon-section {
  background:
    radial-gradient(circle at 50% 20%, rgba(141,17,24,.18), transparent 25rem),
    linear-gradient(180deg, #020101, #080302);
}

@keyframes archiveBoot {
  0% { opacity: .96; }
  54% { opacity: .82; }
  100% { opacity: .08; visibility: hidden; }
}

@keyframes sigilWake {
  0%, 42% { opacity: 0; filter: blur(10px); transform: translateY(10px) scale(.98); }
  100% { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); }
}

@keyframes titleGlitch {
  0%, 87%, 91%, 100% { transform: translateX(0); }
  88% { transform: translateX(-2px); text-shadow: 2px 0 rgba(141,17,24,.6), -2px 0 rgba(216,198,157,.35); }
  90% { transform: translateX(2px); text-shadow: -2px 0 rgba(141,17,24,.6), 2px 0 rgba(216,198,157,.35); }
}

@media (max-width: 1060px) {
  .restricted-hero::after {
    display: none;
  }

  .classified-card {
    position: relative;
    right: auto;
    bottom: auto;
    margin: 34px auto 0;
  }

  .section-grid,
  .relic-layout,
  .season-layout,
  .fragment-layout {
    grid-template-columns: 1fr;
  }

  .fragment-panel.wide {
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .restricted-hero {
    min-height: 100svh;
  }

  .hero-copy {
    padding-top: 3vh;
  }

  .hero-copy h1 {
    font-size: clamp(2.45rem, 11.6vw, 3.25rem);
    letter-spacing: .015em;
  }

  .hero-publisher {
    max-width: 17.5rem;
    margin-inline: auto;
    font-size: .84rem;
  }

  .hero-line {
    max-width: 18rem;
    margin-inline: auto;
    font-size: clamp(1.45rem, 6.7vw, 1.9rem);
    line-height: 1.08;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .character-cards {
    grid-template-columns: 1fr;
  }

  .character-cards article::before {
    left: 16px;
    right: 16px;
    width: auto;
  }
}

/* Navigation and readability pass */
.restricted-hero {
  display: block;
  min-height: auto;
  padding: 96px 0 54px;
}

.hero-inner {
  position: relative;
  top: auto;
  min-height: auto;
  padding: 78px 0 46px;
}

.hero-copy {
  transform: none;
}

.hero-actions {
  margin-bottom: 0;
}

.menu,
.button,
.social-links a,
.watermarked-image::before,
.watermarked-image__code,
.watermarked-image__seal,
.character-cards article::before,
.character-cards article::after,
.episode-stack span,
.episode-stack em,
.kicker,
.seal {
  letter-spacing: .075em;
  word-spacing: .08em;
}

.menu {
  gap: 18px;
}

.watermarked-image::before {
  max-width: min(74%, 310px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.character-cards .watermarked-image::before {
  content: "HESIDIO // @hesidio";
  max-width: 190px;
  font-size: .5rem;
  letter-spacing: .06em;
}

.character-cards article::before {
  top: 22px;
  right: 22px;
  width: 172px;
  font-size: .54rem;
  line-height: 1.45;
}

.character-cards article.character-card--ren::before {
  content: "[STATUS]\A HUMANO\A\A[AMEAÇA]\A NÃO MEDIDA\A\A[ÚLTIMO REGISTRO]\A MONTE HÉLICON";
}

.character-cards article.character-card--airi::before {
  content: "[STATUS]\A HUMANA\A\A[AMEAÇA]\A INDEFINIDA\A\A[ÚLTIMO REGISTRO]\A SOBREVIVEU";
}

.character-cards article.character-card--izaya::before {
  content: "[STATUS]\A PROIBIDO\A\A[AMEAÇA]\A ILEGÍVEL\A\A[ÚLTIMO REGISTRO]\A SEM TOQUE";
}

.character-cards article.character-card--ban::before {
  content: "[STATUS]\A INSTÁVEL\A\A[AMEAÇA]\A IMPOSSÍVEL\A\A[ÚLTIMO REGISTRO]\A AMIGO ANTIGO";
}

.character-cards article::after {
  max-width: 220px;
  white-space: nowrap;
}

.character-cards article {
  min-height: 440px;
}

.character-cards h3 {
  margin-bottom: 8px;
}

.character-cards p {
  max-width: 34rem;
  font-size: .88rem;
}

.character-card--ren .watermarked-image img {
  object-position: 50% 20%;
  filter: grayscale(.16) sepia(.1) saturate(.28) contrast(1.18) brightness(.3);
}

.episode-stack {
  gap: 12px;
}

.episode-stack a {
  min-height: 98px;
  padding: 18px 22px;
  transform: none;
}

.episode-stack a:nth-child(even) {
  transform: none;
}

.episode-stack a strong {
  font-size: 1.18rem;
}

.episode-stack em {
  margin-top: 10px;
  font-size: .62rem;
}

@media (max-width: 1060px) {
  .restricted-hero {
    padding-top: 88px;
  }

  .hero-inner {
    padding: 58px 0 34px;
  }
}

@media (max-width: 720px) {
  .restricted-hero {
    min-height: auto;
    padding-top: 72px;
  }

  .hero-inner {
    top: auto;
    min-height: auto;
    padding: 44px 0 30px;
  }

  .character-cards article::before {
    top: 46px;
    right: 14px;
    left: auto;
    width: 158px;
    max-width: calc(100% - 28px);
  }

  .character-cards article::after {
    left: 14px;
    top: 16px;
    font-size: .48rem;
  }

  .character-cards .watermarked-image::before {
    top: 92px;
    max-width: 150px;
  }

  .episode-stack a {
    min-height: 92px;
  }
}

/* HESIDIO art direction refinement: recovered forbidden archive */
:root {
  --archive-red: #6f0d12;
  --archive-red-soft: rgba(111, 13, 18, .56);
  --archive-paper: rgba(173, 151, 107, .08);
  --archive-line: rgba(207, 184, 137, .14);
}

html {
  scroll-behavior: smooth;
}

body {
  color: #e8deca;
  background:
    radial-gradient(circle at 18% 18%, rgba(112, 13, 18, .18), transparent 22rem),
    radial-gradient(circle at 84% 8%, rgba(176, 151, 98, .08), transparent 20rem),
    linear-gradient(180deg, #000 0%, #060302 38%, #020101 100%);
}

body::before {
  opacity: .42;
  background:
    radial-gradient(circle at 18% 24%, rgba(189,163,112,.12), transparent 10rem),
    radial-gradient(circle at 72% 62%, rgba(111,13,18,.16), transparent 18rem),
    repeating-linear-gradient(96deg, rgba(233,217,179,.018) 0 1px, transparent 1px 19px);
}

body::after {
  background:
    radial-gradient(ellipse at center, transparent 24%, rgba(0,0,0,.82) 100%),
    linear-gradient(90deg, rgba(0,0,0,.28), transparent 18%, transparent 82%, rgba(0,0,0,.42)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 6px);
  opacity: .72;
}

.archive-grain {
  opacity: .28;
}

.archive-grain::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 11% 21%, rgba(211,185,128,.11) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 44%, rgba(111,13,18,.16) 0 1px, transparent 3px),
    radial-gradient(circle at 52% 81%, rgba(255,255,255,.08) 0 1px, transparent 2px);
  background-size: 220px 240px, 310px 280px, 170px 190px;
  mix-blend-mode: screen;
  animation: dustDrift 28s linear infinite;
}

.topbar {
  backdrop-filter: blur(10px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.94), rgba(4,1,1,.76)),
    repeating-linear-gradient(90deg, transparent 0 92px, rgba(210,184,133,.025) 92px 93px);
}

.brand {
  font-size: .82rem;
}

.menu {
  font-size: .63rem;
  gap: 14px;
}

.restricted-hero {
  min-height: 100svh;
  padding: 98px 0 64px;
  background:
    radial-gradient(circle at 50% 52%, rgba(111,13,18,.22), transparent 20rem),
    linear-gradient(180deg, #000 0%, #050101 56%, #010101 100%);
}

.restricted-hero::before {
  background:
    radial-gradient(circle at 50% 48%, rgba(111,13,18,.16), transparent 13rem),
    rgba(0,0,0,.68);
  animation-duration: 2.8s;
}

.restricted-hero::after {
  bottom: 22px;
  font-size: .56rem;
  color: rgba(207,184,137,.36);
}

.hero-evidence {
  opacity: .64;
}

.hero-evidence img {
  object-position: 48% 31%;
  filter: grayscale(.22) sepia(.12) saturate(.34) contrast(1.18) brightness(.22);
  transform: scale(1.16);
  animation: forbiddenDrift 34s ease-in-out infinite alternate;
}

.hero-evidence::after,
.watermarked-image::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.98), rgba(0,0,0,.74) 30%, rgba(0,0,0,.62) 58%, rgba(0,0,0,.96)),
    linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.18) 42%, rgba(0,0,0,.92)),
    radial-gradient(circle at 50% 46%, rgba(111,13,18,.28), transparent 20rem),
    repeating-linear-gradient(116deg, rgba(233,217,179,.038) 0 1px, transparent 1px 18px);
}

.hero-burn::before,
.hero-burn::after {
  content: "";
  position: absolute;
  inset: -18%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 48% 52%, rgba(177,154,109,.08), transparent 17rem),
    radial-gradient(ellipse at 60% 46%, rgba(111,13,18,.16), transparent 20rem);
  filter: blur(24px);
  opacity: .54;
  animation: smokeVeil 22s ease-in-out infinite alternate;
}

.hero-burn::after {
  animation-delay: -9s;
  transform: rotate(7deg);
  opacity: .32;
}

.hero-inner {
  top: 86px;
  min-height: calc(100svh - 86px);
}

.hero-copy {
  width: min(100% - 48px, 920px);
  max-width: 920px;
}

.opening-mark {
  margin-bottom: 18px;
  font-size: .64rem;
  letter-spacing: .34em;
}

.seal,
.kicker {
  font-size: .62rem;
  letter-spacing: .18em;
}

.hero-copy h1 {
  margin: 20px auto 12px;
  font-size: 6rem;
  line-height: .86;
  letter-spacing: .04em;
  text-indent: .04em;
  text-shadow:
    0 0 14px rgba(255,235,196,.13),
    0 0 42px rgba(111,13,18,.42),
    0 18px 70px #000;
}

.hero-subtitle {
  font-size: 1.38rem;
  color: rgba(216,198,157,.88);
}

.hero-line {
  max-width: 560px;
  margin-top: 18px;
  color: rgba(246, 237, 215, .9);
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: 1.92rem;
  font-weight: 760;
  line-height: 1.08;
  letter-spacing: .01em;
  text-shadow: 0 0 18px rgba(111,13,18,.32), 0 14px 52px #000;
}

.status-badge {
  margin-top: 22px;
  font-size: .68rem;
}

.hero-publisher {
  margin-top: 18px;
  font-size: .95rem;
  color: rgba(216,198,157,.68);
}

.hero-actions {
  margin-top: 32px;
  gap: 12px;
}

.button,
.social-links a {
  min-height: 44px;
  padding: 13px 18px;
  font-size: .66rem;
  letter-spacing: .12em;
}

.studio-section,
.fragments-section,
.characters-section,
.helicon-section,
.season-section,
.community-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 18%, rgba(111,13,18,.11), transparent 20rem),
    linear-gradient(180deg, rgba(0,0,0,.36), rgba(2,1,1,.72)),
    repeating-linear-gradient(90deg, transparent 0 104px, rgba(207,184,137,.026) 104px 105px);
}

.studio-section > .container,
.fragments-section > .container,
.characters-section > .container,
.helicon-section > .container,
.season-section > .container,
.community-section > .container,
.site-footer {
  position: relative;
  z-index: 4;
}

.studio-section::before,
.fragments-section::before,
.characters-section::before,
.helicon-section::before,
.season-section::before,
.community-section::before {
  content: "LOG // HESIDIO // MEMORIA PARCIAL // ACESSO RESTRITO";
  position: absolute;
  left: max(18px, calc((100vw - var(--max)) / 2));
  top: 22px;
  color: rgba(207,184,137,.18);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .58rem;
  letter-spacing: .18em;
  white-space: nowrap;
}

.section-copy h2,
.section-head h2,
.relic-copy h2,
.community-inner h2 {
  max-width: 850px;
  font-size: 2.35rem;
  line-height: 1.08;
  letter-spacing: .01em;
  text-transform: none;
}

.section-head p,
.section-copy p,
.relic-copy p,
.community-inner p {
  max-width: 650px;
  font-size: 1rem;
  line-height: 1.72;
  color: rgba(232,222,202,.68);
}

.confidential-grid article,
.relic-grid article,
.episode-stack a {
  border-color: rgba(207,184,137,.16);
  background:
    linear-gradient(145deg, rgba(173,151,107,.07), rgba(111,13,18,.06)),
    radial-gradient(circle at 16% 12%, rgba(207,184,137,.06), transparent 8rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 7px),
    rgba(5,3,2,.92);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.72), 0 20px 70px rgba(0,0,0,.42);
}

.confidential-grid h3 {
  font-size: 1.08rem;
}

.fragment-layout {
  gap: 18px;
}

.fragment-panel {
  min-height: 520px;
  border-color: rgba(207,184,137,.17);
  background: #030101;
}

.fragment-panel.wide {
  min-height: 650px;
}

.fragment-panel::after {
  content: attr(data-classification) " // " attr(data-code);
  position: absolute;
  z-index: 12;
  top: 18px;
  right: 18px;
  max-width: 70%;
  padding: 7px 10px;
  border: 1px solid rgba(111,13,18,.55);
  color: rgba(232,222,202,.58);
  background: rgba(0,0,0,.58);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.fragment-panel > div {
  padding: 22px;
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,.78)),
    linear-gradient(90deg, rgba(111,13,18,.24), transparent);
}

.fragment-panel h3 {
  max-width: 26rem;
  font-size: 1.65rem;
  line-height: 1.05;
}

.fragment-panel p {
  max-width: 23rem;
  margin: 8px 0 0;
  color: rgba(232,222,202,.58);
  font-size: .86rem;
  line-height: 1.55;
}

.watermarked-image {
  background:
    linear-gradient(135deg, rgba(207,184,137,.06), transparent),
    #020101;
}

.watermarked-image img {
  user-select: none;
  filter: grayscale(.18) sepia(.14) saturate(.32) contrast(1.2) brightness(.29);
  transform: scale(1.12);
}

.watermarked-image::before {
  content: "CONFIDENCIAL // HESIDIO // @hesidio";
  top: 12px;
  left: 12px;
  color: rgba(232,222,202,.52);
  border-color: rgba(111,13,18,.62);
  background: rgba(0,0,0,.54);
}

.watermarked-image__corner {
  right: 14px;
  bottom: 14px;
  color: rgba(245,245,245,.3);
  text-shadow: 0 2px 14px #000, 0 0 18px rgba(111,13,18,.42);
}

.watermarked-image__diagonal {
  opacity: 1;
  color: rgba(245,245,245,.12);
  font-size: 9rem;
  transform: translate(-50%, -50%) rotate(-23deg);
}

.watermarked-image__pattern {
  color: rgba(245,245,245,.07);
  font-size: .94rem;
  line-height: 4.9rem;
}

.watermarked-image__seal,
.watermarked-image__code {
  position: absolute;
  z-index: 10;
  pointer-events: none;
  font-family: "Courier New", ui-monospace, monospace;
  text-transform: uppercase;
}

.watermarked-image__seal {
  left: 14px;
  bottom: 16px;
  padding: 6px 9px;
  border: 1px solid rgba(111,13,18,.52);
  color: rgba(232,222,202,.46);
  background: rgba(0,0,0,.5);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .14em;
}

.watermarked-image__code {
  right: 14px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
  color: rgba(232,222,202,.18);
  font-size: .54rem;
  letter-spacing: .16em;
}

.fragment-panel .watermarked-image img,
.character-cards .watermarked-image img {
  filter: grayscale(.22) sepia(.18) saturate(.28) contrast(1.3) brightness(.24);
}

.fragment-panel:hover .watermarked-image img,
.character-cards article:hover .watermarked-image img {
  filter: grayscale(.12) sepia(.12) saturate(.42) contrast(1.32) brightness(.31);
}

.character-cards {
  gap: 18px;
}

.character-cards article {
  min-height: 470px;
  border-color: rgba(207,184,137,.16);
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72)),
    rgba(3,1,1,.94);
}

.character-cards .watermarked-image {
  height: 100%;
}

.character-cards .watermarked-image img {
  object-position: 50% 22%;
  transform: scale(1.24);
}

.character-card--ren .watermarked-image img {
  object-position: 48% 18%;
  transform: scale(1.04);
}

.character-card--airi .watermarked-image img {
  object-position: 50% 28%;
  filter: grayscale(.06) sepia(.16) saturate(.42) contrast(1.1) brightness(.36);
  transform: scale(1.04);
}

.character-card--izaya .watermarked-image img {
  object-position: 50% 14%;
  filter: grayscale(.35) sepia(.12) saturate(.18) contrast(1.42) brightness(.22);
}

.character-card--ban .watermarked-image img {
  object-position: 50% 18%;
  filter: grayscale(.16) sepia(.2) saturate(.34) contrast(1.36) brightness(.25);
}

.character-cards article::before {
  width: 168px;
  padding: 10px;
  border-color: rgba(207,184,137,.15);
  color: rgba(232,222,202,.58);
  font-size: .56rem;
  content: "[STATUS]\A INCOMPLETO\A\A[AMEAÇA]\A NÃO MEDIDA\A\A[SINAL]\A " attr(data-signal);
}

.character-cards article::after {
  content: attr(data-file) " // REGISTRO PARCIAL";
  position: absolute;
  z-index: 12;
  left: 18px;
  top: 18px;
  color: rgba(232,222,202,.42);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.character-card--airi::before {
  border-color: rgba(207,184,137,.24);
  color: rgba(232,222,202,.72);
  background: rgba(31,19,15,.6);
  content: "[STATUS]\A HUMANA\A\A[AMEAÇA]\A INDEFINIDA\A\A[ÚLTIMO REGISTRO]\A CHORO BAIXO";
}

.character-card--ren::before {
  content: "[STATUS]\A SILENCIOSO\A\A[AMEAÇA]\A DESCONHECIDA\A\A[ÚLTIMO REGISTRO]\A VENTO ZERO";
}

.character-card--izaya::before {
  color: rgba(255,218,218,.58);
  border-color: rgba(111,13,18,.38);
  content: "[STATUS]\A PROIBIDO\A\A[AMEAÇA]\A ILEGÍVEL\A\A[ÚLTIMO REGISTRO]\A SEM TOQUE";
}

.character-card--ban::before {
  content: "[STATUS]\A RINDO\A\A[AMEAÇA]\A IMPOSSÍVEL\A\A[ÚLTIMO REGISTRO]\A FALHA";
}

.character-cards small {
  font-size: .62rem;
  color: rgba(207,184,137,.7);
}

.character-cards h3 {
  font-size: 2rem;
  line-height: 1;
}

.character-cards p {
  max-width: 28rem;
  font-size: .92rem;
  line-height: 1.55;
}

.watermarked-image--soft-center .watermarked-image__center {
  position: absolute;
  z-index: 8;
  top: 50%;
  left: 50%;
  pointer-events: none;
  color: rgba(245,245,245,.1);
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(4.2rem, 9vw, 8rem);
  font-weight: 950;
  letter-spacing: .12em;
  line-height: 1;
  text-shadow: 0 0 22px rgba(0,0,0,.72);
  transform: translate(-50%, -50%);
  user-select: none;
  white-space: nowrap;
}

.episode-stack a {
  min-height: 126px;
  padding: 22px 24px;
}

.episode-stack a strong {
  font-size: 1.34rem;
  line-height: 1.08;
}

.relic-grid article {
  min-height: 124px;
}

.community-inner h2 {
  max-width: 620px;
}

.studio-section,
.fragments-section,
.characters-section,
.helicon-section,
.season-section,
.community-section {
  scroll-margin-top: 96px;
}

@keyframes smokeVeil {
  0% { opacity: .22; transform: translate3d(-2%, 1%, 0) scale(1); }
  50% { opacity: .5; transform: translate3d(1%, -1%, 0) scale(1.04); }
  100% { opacity: .28; transform: translate3d(2%, 2%, 0) scale(1.08); }
}

@keyframes dustDrift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-80px, -120px, 0); }
}

@media (max-width: 1060px) {
  .hero-copy h1 {
    font-size: 4.9rem;
  }

  .hero-line {
    font-size: 1.72rem;
  }

  .section-copy h2,
  .section-head h2,
  .relic-copy h2,
  .community-inner h2 {
    font-size: 2.08rem;
  }
}

@media (max-width: 720px) {
  .nav {
    min-height: 74px;
  }

  .brand {
    font-size: .68rem;
  }

  .restricted-hero {
    padding-top: 80px;
  }

  .hero-inner {
    top: 74px;
    min-height: calc(100svh - 74px);
  }

  .hero-copy {
    width: min(100% - 34px, 360px);
    padding-top: 0;
  }

  .hero-copy h1 {
    font-size: 3.05rem;
    line-height: .88;
  }

  .hero-subtitle {
    font-size: 1.05rem;
  }

  .hero-line {
    max-width: 17rem;
    font-size: 1.34rem;
    font-weight: 760;
  }

  .hero-actions {
    margin-top: 28px;
  }

  .button,
  .social-links a {
    font-size: .62rem;
  }

  .section-copy h2,
  .section-head h2,
  .relic-copy h2,
  .community-inner h2 {
    font-size: 1.74rem;
    line-height: 1.12;
  }

  .fragment-panel,
  .fragment-panel.wide {
    min-height: 420px;
  }

  .fragment-panel::after {
    left: 14px;
    right: 14px;
    max-width: none;
    font-size: .5rem;
  }

  .fragment-panel h3 {
    font-size: 1.32rem;
  }

  .character-cards article {
    min-height: 430px;
  }

  .character-cards article::before {
    top: 42px;
    font-size: .5rem;
  }

  .character-cards h3 {
    font-size: 1.75rem;
  }

  .watermarked-image__diagonal {
    font-size: 5.8rem;
  }
}

/* Final usability override: readable archive, not empty darkness */
.restricted-hero {
  display: block;
  min-height: auto;
  padding: 92px 0 46px;
}

.hero-inner {
  position: relative;
  top: auto;
  min-height: auto;
  padding: 64px 0 38px;
  z-index: 8;
}

.hero-copy {
  transform: none;
}

.menu,
.button,
.social-links a,
.watermarked-image::before,
.watermarked-image__code,
.watermarked-image__seal,
.character-cards article::before,
.character-cards article::after,
.episode-stack span,
.episode-stack em,
.kicker,
.seal {
  letter-spacing: .07em;
  word-spacing: .08em;
}

.menu {
  gap: 18px;
}

.watermarked-image::before {
  max-width: min(74%, 310px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.character-cards .watermarked-image::before {
  content: "HESIDIO // @hesidio";
  max-width: 190px;
  font-size: .5rem;
}

.character-cards article.character-card--ren::before {
  content: "[STATUS]\A HUMANO\A\A[AMEAÇA]\A NÃO MEDIDA\A\A[ÚLTIMO REGISTRO]\A MONTE HÉLICON";
}

.character-cards article.character-card--airi::before {
  content: "[STATUS]\A HUMANA\A\A[AMEAÇA]\A INDEFINIDA\A\A[ÚLTIMO REGISTRO]\A SOBREVIVEU";
}

.character-cards article.character-card--izaya::before {
  content: "[STATUS]\A PROIBIDO\A\A[AMEAÇA]\A ILEGÍVEL\A\A[ÚLTIMO REGISTRO]\A SEM TOQUE";
}

.character-cards article.character-card--ban::before {
  content: "[STATUS]\A INSTÁVEL\A\A[AMEAÇA]\A IMPOSSÍVEL\A\A[ÚLTIMO REGISTRO]\A AMIGO ANTIGO";
}

.character-cards article::before {
  top: 22px;
  right: 22px;
  width: 172px;
  font-size: .54rem;
  line-height: 1.45;
}

.character-cards article::after {
  max-width: 220px;
  white-space: nowrap;
}

.character-cards article {
  min-height: 440px;
}

.character-cards p {
  max-width: 34rem;
  font-size: .88rem;
}

.character-card--ren .watermarked-image img {
  object-position: 50% 20%;
  filter: grayscale(.16) sepia(.1) saturate(.28) contrast(1.18) brightness(.3);
}

.episode-stack {
  gap: 12px;
}

.episode-stack a,
.episode-stack a:nth-child(even) {
  min-height: 98px;
  padding: 18px 22px;
  transform: none;
}

.episode-stack a strong {
  font-size: 1.18rem;
}

.episode-stack em {
  margin-top: 10px;
  font-size: .62rem;
}

@media (max-width: 1060px) {
  .restricted-hero {
    padding-top: 82px;
  }

  .hero-inner {
    top: auto;
    min-height: auto;
    padding: 50px 0 32px;
  }
}

@media (max-width: 720px) {
  .restricted-hero {
    min-height: auto;
    padding-top: 70px;
  }

  .hero-inner {
    top: auto;
    min-height: auto;
    padding: 38px 0 28px;
  }

  .character-cards article::before {
    top: 46px;
    right: 14px;
    left: auto;
    width: 158px;
    max-width: calc(100% - 28px);
  }

  .character-cards article::after {
    left: 14px;
    top: 16px;
    font-size: .48rem;
  }

  .character-cards .watermarked-image::before {
    top: 92px;
    max-width: 150px;
  }
}

/* Critical archive layout fix: hero image must behave as classified background */
.restricted-hero {
  min-height: min(820px, 92svh);
  padding: 92px 0 56px;
  display: flex;
  align-items: center;
}

.hero-evidence {
  position: absolute;
  inset: 0;
  z-index: -4;
  width: 100%;
  height: 100%;
  margin: 0;
}

.hero-evidence img {
  width: 100%;
  height: 100%;
}

.hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100% - 40px, var(--max));
  max-width: var(--max);
  margin-inline: auto;
  padding: 42px 0 28px;
}

.hero-copy {
  width: min(100%, 780px);
  max-width: 780px;
  margin: 0;
  text-align: left;
}

.hero-copy h1 {
  font-size: clamp(4.25rem, 9.2vw, 8.4rem);
  letter-spacing: .025em;
  text-indent: 0;
  opacity: 1;
  animation: titleGlitch 7s steps(1,end) infinite;
}

.hero-line {
  max-width: 440px;
  font-size: clamp(1.38rem, 2.2vw, 2.1rem);
  font-weight: 820;
}

.hero-publisher {
  max-width: 480px;
}

.character-cards .watermarked-image__diagonal {
  font-size: clamp(4.8rem, 11vw, 8rem);
  color: rgba(245,245,245,.078);
}

.character-cards .watermarked-image__pattern {
  color: rgba(245,245,245,.042);
  font-size: .76rem;
  line-height: 4.8rem;
}

.character-cards .watermarked-image::before {
  top: 14px;
  max-width: 165px;
  padding: 5px 8px;
  letter-spacing: .05em;
  word-spacing: .12em;
}

.character-cards article::after {
  top: 43px;
  left: 20px;
  max-width: 220px;
  padding-top: 6px;
  border-top: 1px solid rgba(207,184,137,.12);
  letter-spacing: .1em;
  word-spacing: .14em;
}

.season-section > .container.season-layout {
  align-items: flex-start !important;
}

.season-section > .container.season-layout .section-copy {
  position: sticky;
  top: 126px;
}

@media (max-width: 1060px) {
  .restricted-hero {
    min-height: auto;
    padding: 86px 0 44px;
  }

  .hero-copy {
    max-width: 680px;
  }

  .season-section > .container.season-layout .section-copy {
    position: static;
  }
}

@media (max-width: 720px) {
  .restricted-hero {
    padding: 86px 0 36px;
  }

  .hero-inner {
    width: min(100% - 30px, var(--max));
    padding: 34px 0 22px;
  }

  .hero-copy {
    width: 100%;
    text-align: left;
  }

  .hero-copy h1 {
    font-size: clamp(2.95rem, 13.6vw, 3.92rem);
    white-space: nowrap;
  }

  .hero-line {
    margin-inline: 0;
    max-width: 18rem;
  }

  .hero-publisher {
    max-width: min(100%, 20rem);
    margin-inline: 0;
    font-size: .86rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .hero-actions {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .button {
    width: 100%;
    min-width: 0;
  }
}

/* HESIDIO weekly launch system */
.launch-countdown {
  width: fit-content;
  margin: 22px 0 0;
  padding: 13px 16px;
  border: 1px solid rgba(207,184,137,.26);
  background:
    linear-gradient(90deg, rgba(130,14,22,.18), transparent),
    rgba(0,0,0,.42);
  color: rgba(240,230,209,.66);
  font-family: var(--font-ui, Arial, Helvetica, sans-serif);
  text-transform: uppercase;
  letter-spacing: .13em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 18px 50px rgba(0,0,0,.24);
}

.launch-countdown span {
  display: block;
  font-size: .62rem;
  font-weight: 900;
}

.launch-countdown strong {
  display: block;
  margin-top: 5px;
  color: var(--text, #f7efe2);
  font-size: clamp(1rem, 2vw, 1.45rem);
  letter-spacing: .06em;
}

.premium-section {
  position: relative;
  padding: clamp(38px, 7vw, 92px) 0;
}

.premium-pass {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr);
  gap: clamp(22px, 5vw, 64px);
  align-items: center;
  padding: clamp(28px, 6vw, 62px);
  border: 1px solid rgba(130,14,22,.42);
  background:
    radial-gradient(circle at 82% 12%, rgba(130,14,22,.24), transparent 20rem),
    linear-gradient(135deg, rgba(18,12,9,.95), rgba(3,3,3,.94));
  box-shadow: 0 40px 120px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.025);
}

.premium-pass h2 {
  margin: 18px 0 12px;
  font-size: clamp(2rem, 4.4vw, 4rem);
  line-height: 1;
}

.premium-pass p {
  max-width: 720px;
  color: rgba(240,230,209,.64);
}

.premium-offer {
  border: 1px solid rgba(207,184,137,.28);
  padding: 24px;
  background:
    repeating-linear-gradient(0deg, transparent 0 18px, rgba(240,230,209,.035) 19px 20px),
    rgba(0,0,0,.34);
}

.premium-offer small {
  color: var(--gold, #cfb889);
  font-family: var(--font-ui, Arial, Helvetica, sans-serif);
  font-weight: 950;
  letter-spacing: .16em;
}

.premium-offer > strong {
  display: block;
  margin: 8px 0 18px;
  color: var(--text, #f7efe2);
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: .95;
}

.premium-offer p {
  margin: 14px 0 0;
  color: rgba(240,230,209,.48);
  font-family: var(--font-ui, Arial, Helvetica, sans-serif);
  font-size: .78rem;
}

@media (max-width: 720px) {
  .launch-countdown {
    width: 100%;
  }

  .premium-pass {
    grid-template-columns: 1fr;
  }
}

/* Final applied pass: this sits after the accumulated archive variants. */
.restricted-hero {
  min-height: min(760px, 88svh);
  padding-block: 84px 46px;
}

.hero-inner {
  padding-block: 34px 18px;
}

.hero-copy {
  max-width: 700px;
}

.hero-copy h1 {
  font-size: clamp(3.65rem, 8vw, 7.15rem);
  line-height: .9;
}

.hero-line {
  max-width: 410px;
  font-size: clamp(1.24rem, 1.9vw, 1.78rem);
  line-height: 1.14;
}

.hero-subtitle {
  font-size: clamp(1rem, 1.55vw, 1.22rem);
}

.section-copy h2,
.section-head h2,
.relic-copy h2,
.community-inner h2,
.approval-copy h2 {
  font-size: clamp(1.9rem, 4vw, 3.85rem);
  line-height: 1.06;
  letter-spacing: 0;
}

.archive-post-card {
  min-height: 270px;
}

.archive-post-card h3 {
  font-size: clamp(1.25rem, 1.8vw, 1.72rem);
  line-height: 1.12;
}

.character-cards article {
  min-height: 420px;
}

.episode-stack a {
  padding: 18px;
}

.episode-stack strong {
  font-size: 1.18rem;
}

@media (max-width: 1060px) {
  .restricted-hero {
    min-height: auto;
  }

  .archive-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .restricted-hero {
    padding-top: 84px;
    padding-bottom: 30px;
  }

  .hero-copy h1 {
    font-size: clamp(2.8rem, 13vw, 3.7rem);
  }

  .hero-line {
    max-width: 19rem;
    font-size: clamp(1.18rem, 6vw, 1.55rem);
  }

  .section-copy h2,
  .section-head h2,
  .relic-copy h2,
  .community-inner h2,
  .approval-copy h2 {
    font-size: clamp(1.68rem, 8vw, 2.55rem);
  }

  .archive-post-grid {
    grid-template-columns: 1fr;
  }
}

/* Official HESIDIO launch news article */
.hesidio-news-page {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 74% 8%, rgba(125,10,19,.34), transparent 27rem),
    radial-gradient(circle at 12% 48%, rgba(171,135,70,.09), transparent 31rem),
    linear-gradient(180deg, #020000 0%, #090202 34%, #020101 100%);
}

.hesidio-news-page .topbar {
  border-bottom-color: rgba(139,17,24,.4);
  background:
    linear-gradient(180deg, rgba(0,0,0,.97), rgba(7,1,1,.72)),
    repeating-linear-gradient(90deg, transparent 0 72px, rgba(184,148,75,.036) 72px 73px);
}

.hesidio-news-shell {
  position: relative;
  z-index: 5;
  width: min(100% - 40px, var(--max));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
  gap: clamp(18px, 2vw, 28px);
  align-items: start;
  padding-top: clamp(108px, 11vw, 148px);
}

.hesidio-news-article {
  min-width: 0;
  padding: clamp(22px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid rgba(216,198,157,.16);
  background:
    radial-gradient(circle at 82% 7%, rgba(139,17,24,.2), transparent 24rem),
    repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 8px),
    rgba(8,4,3,.88);
  box-shadow: 0 38px 130px rgba(0,0,0,.66), inset 0 0 0 1px rgba(0,0,0,.54);
}

.hesidio-news-header {
  display: grid;
  grid-template-columns: minmax(360px, .9fr) minmax(300px, .56fr);
  gap: clamp(28px, 3.2vw, 48px);
  align-items: start;
}

.hesidio-news-header > * {
  min-width: 0;
}

.hesidio-news-header > div {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.hesidio-news-header h1 {
  width: 100%;
  max-width: 15ch;
  margin: 18px 0 16px;
  color: #fff2db;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(2.45rem, 3.25vw, 3.85rem);
  line-height: 1.04;
  letter-spacing: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  text-shadow: 0 16px 70px #000, 0 0 26px rgba(139,17,24,.32);
}

.hesidio-news-header > div > p {
  width: 100%;
  max-width: 38ch;
  color: rgba(240,230,209,.74);
  font-size: clamp(1.05rem, 1.45vw, 1.24rem);
  white-space: normal;
  overflow-wrap: normal;
}

.hesidio-news-header .breadcrumb,
.hesidio-news-header .kicker {
  color: #e4c98f;
}

.hesidio-news-header .breadcrumb {
  display: inline-flex;
  margin-bottom: 12px;
  font-weight: 900;
}

.hesidio-news-header .byline {
  display: grid;
  gap: 6px;
  max-width: 34ch;
  margin-top: 20px;
  color: rgba(216,198,157,.62);
  font-size: .82rem;
  font-weight: 850;
}

.hesidio-news-hero {
  position: relative;
  min-height: clamp(460px, 52vw, 680px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(216,198,157,.2);
  background: #040101;
  user-select: none;
  box-shadow: 0 32px 95px rgba(0,0,0,.62);
}

.hesidio-news-hero::before,
.hesidio-news-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.hesidio-news-hero::before {
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), transparent 38%, rgba(0,0,0,.72)),
    linear-gradient(90deg, rgba(0,0,0,.34), transparent 42%, rgba(91,7,14,.24));
}

.hesidio-news-hero::after {
  display: none;
}

.hesidio-news-hero img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center top;
  user-select: none;
  -webkit-user-drag: none;
  filter: contrast(1.08) saturate(.9);
}

.hesidio-news-hero figcaption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.hesidio-news-alert {
  margin: clamp(22px, 3vw, 34px) 0;
  padding: clamp(18px, 3vw, 26px);
  border-color: rgba(139,17,24,.48);
  border-style: solid;
  border-width: 1px;
  background:
    linear-gradient(110deg, rgba(139,17,24,.17), transparent 58%),
    rgba(0,0,0,.34);
}

.hesidio-news-alert a,
.hesidio-news-body a {
  color: #f0cc7d;
  text-decoration: underline;
  text-decoration-color: rgba(240,204,125,.42);
  text-underline-offset: .16em;
}

.hesidio-news-alert strong {
  display: block;
  margin-bottom: 12px;
  color: #fff0d2;
  font-size: .76rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hesidio-news-alert ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: rgba(240,230,209,.78);
}

.hesidio-news-article .ad-slot {
  margin-block: clamp(24px, 3vw, 36px);
  border: 1px solid rgba(216,198,157,.12);
  padding: 16px;
  background: rgba(0,0,0,.28);
}

.hesidio-news-article .ad-slot > span,
.hesidio-news-sidebar .ad-slot > span {
  display: block;
  margin-bottom: 10px;
  color: rgba(216,198,157,.42);
  font-size: .64rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hesidio-news-body {
  max-width: 820px;
}

.hesidio-news-body p {
  margin: 0 0 18px;
  color: rgba(240,230,209,.84);
  font-size: clamp(1.05rem, 1.2vw, 1.16rem);
  line-height: 1.78;
}

.hesidio-news-body h2 {
  margin-top: clamp(34px, 4vw, 54px);
  color: #fff0d2;
  font-size: clamp(1.55rem, 2.5vw, 2.55rem);
  line-height: 1.08;
}

.hesidio-news-body strong {
  color: #fff3d9;
}

.hesidio-news-cta {
  display: grid;
  gap: 14px;
  margin: clamp(30px, 4vw, 54px) 0;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(139,17,24,.52);
  background:
    radial-gradient(circle at 84% 12%, rgba(139,17,24,.32), transparent 18rem),
    linear-gradient(135deg, rgba(216,198,157,.08), rgba(0,0,0,.48));
}

.hesidio-news-cta span {
  color: #d7b970;
  font: 950 .7rem/1 "Courier New", ui-monospace, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hesidio-news-cta strong {
  color: #fff3df;
  font-family: Georgia, "Times New Roman", ui-serif, serif;
  font-size: clamp(1.7rem, 3vw, 3rem);
  line-height: 1.04;
}

.hesidio-news-cta .button {
  width: fit-content;
}

.hesidio-news-sidebar .side-box {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-color: rgba(139,17,24,.32);
  border-style: solid;
  border-width: 1px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 8px),
    rgba(8,4,3,.8);
}

.hesidio-news-sidebar .section-label {
  color: #d7b970;
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hesidio-news-sidebar .side-box a {
  display: grid;
  gap: 5px;
  border-top: 1px solid rgba(216,198,157,.12);
  padding-top: 14px;
}

.hesidio-news-sidebar .side-box strong {
  color: #fff0d2;
  font-size: 1rem;
  line-height: 1.3;
}

.hesidio-news-sidebar .side-box span:last-child {
  color: rgba(240,230,209,.54);
  font-size: .78rem;
}

.hesidio-news-sidebar .ad-slot {
  margin-top: 16px;
  border: 1px solid rgba(216,198,157,.12);
  padding: 16px;
  background: rgba(0,0,0,.28);
}

@media (max-width: 1060px) {
  .hesidio-news-shell {
    grid-template-columns: 1fr;
  }

  .hesidio-news-header {
    grid-template-columns: 1fr;
  }

  .hesidio-news-hero {
    width: min(100%, 620px);
    min-height: min(136vw, 820px);
  }
}

@media (max-width: 720px) {
  .hesidio-news-shell {
    width: 100vw;
    max-width: 100vw;
    padding-inline: 12px;
    padding-top: 92px;
    overflow: hidden;
  }

  .hesidio-news-article {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    padding-inline: 12px;
    border-inline: 0;
  }

  .hesidio-news-header,
  .hesidio-news-hero,
  .hesidio-news-alert,
  .hesidio-news-body,
  .hesidio-news-sidebar {
    width: 100%;
    max-width: 100%;
  }

  .hesidio-news-header > div {
    width: calc(100vw - 72px) !important;
    max-width: calc(100vw - 72px) !important;
  }

  .hesidio-news-header h1 {
    width: calc(100vw - 72px) !important;
    max-width: calc(100vw - 72px) !important;
    font-size: clamp(1.55rem, 6.7vw, 2rem);
  }

  .hesidio-news-header > div > p {
    width: calc(100vw - 72px) !important;
    max-width: calc(100vw - 72px) !important;
    font-size: .96rem;
  }

  .hesidio-news-hero {
    width: 100%;
    min-height: min(148vw, 690px);
  }

  .hesidio-news-hero::after {
    inset-inline: 12px;
    bottom: 64px;
    font-size: .56rem;
    letter-spacing: .12em;
  }

  .hesidio-news-hero figcaption {
    inset-inline: 12px;
    bottom: 12px;
    font-size: .72rem;
  }

  .hesidio-news-cta .button {
    width: 100%;
  }
}

.unlock-preview::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.08), transparent 46%, rgba(0,0,0,.2)),
    linear-gradient(180deg, rgba(0,0,0,.1), transparent 52%, rgba(0,0,0,.18)),
    radial-gradient(circle at 50% 45%, rgba(111,13,18,.06), transparent 20rem) !important;
}

.unlock-preview img {
  object-position: center top;
  filter: grayscale(0) sepia(.04) saturate(1.18) contrast(1.12) brightness(1.18) !important;
  transform: scale(1.02) !important;
}
