/* ── TOKENS ProfecIA ── */

/* Adicionar ANTES do html:not(.light) { */
:root {
  --fr-bg:      #060d0f;
  --fr-surface: #0b1518;
  --fr-text:    #e0f4f1;
  --fr-text2:   #7ab8b0;
  --fr-text3:   #2e6660;
  --fr-accent:  #00d2b4;
  --fr-accent2: #00f5d4;
  --fr-border:  rgba(0,210,180,.08);
  --fr-border2: rgba(0,210,180,.20);
  --fr-glow:    rgba(0,210,180,.06);
  --fr-scan:    rgba(0,210,180,.03);
  --fr-shadow:  0 20px 48px -12px rgba(0,0,0,.7);
  --fr-surface2:#0f1e22;
  --fr-muted:   #2a5a54;
}
  /* Paleta ciano/petróleo — terminal, infraestrutura, circuito */
  html:not(.light) {
    --fr-bg:       #060d0f;
    --fr-surface:  #0b1518;
    --fr-surface2: #0f1e22;
    --fr-border:   rgba(0,210,180,.08);
    --fr-border2:  rgba(0,210,180,.20);
    --fr-glow:     rgba(0,210,180,.06);
    --fr-accent:   #00d2b4;
    --fr-accent2:  #00f5d4;
    --fr-muted:    #2a5a54;
    --fr-text:     #e0f4f1;
    --fr-text2:    #7ab8b0;
    --fr-text3:    #2e6660;
    --fr-shadow:   0 20px 48px -12px rgba(0,0,0,.7);
    --fr-scan:     rgba(0,210,180,.03);
  }
  html.light {
    --fr-bg:       #f0f8f7;
    --fr-surface:  #ffffff;
    --fr-surface2: #e4f4f2;
    --fr-border:   rgba(0,120,100,.10);
    --fr-border2:  rgba(0,120,100,.22);
    --fr-glow:     rgba(0,120,100,.06);
    --fr-accent:   #007a6a;
    --fr-accent2:  #005a4d;
    --fr-muted:    #5a9a90;
    --fr-text:     #0a1e1c;
    --fr-text2:    #2a5a54;
    --fr-text3:    #7ab8b0;
    --fr-shadow:   0 20px 48px -12px rgba(0,80,70,.10);
    --fr-scan:     rgba(0,120,100,.02);
  }

  .fr-scope {
    background: var(--fr-bg);
    color: var(--fr-text);
    font-family: 'Plus Jakarta Sans', sans-serif;
    min-height: 100vh;
  }

  /* Linhas de scan — efeito terminal */
  .fr-scope::before {
    content: '';
    position: fixed;
    inset: 0;
    background: repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      var(--fr-scan) 2px,
      var(--fr-scan) 4px
    );
    pointer-events: none;
    z-index: 0;
  }

  /* ── LAYOUT ── */
  .fr-wrap {
    position: relative;
    z-index: 1;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px 80px;
  }

  /* ── HERO ── */
  .fr-hero {
    padding: 36px 0 10px;
    border-bottom: 1px solid var(--fr-border);
    margin-bottom: 36px;
    position: relative;
  }
  .fr-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--fr-accent);
    background: var(--fr-glow);
    border: 1px solid var(--fr-border2);
    padding: 5px 14px;
    border-radius: 5px;
    margin-bottom: 20px;
  }
  .fr-hero-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 700;
    line-height: 1.0;
    letter-spacing: -.03em;
    color: var(--fr-text);
    margin-bottom: 12px;
  }
  .fr-hero-title em {
    font-style: normal;
    color: var(--fr-accent);
  }
  .fr-hero-sub {
    font-size: 18px;
    color: var(--fr-text2);
    max-width: 800px;
    line-height: 1.6;
    margin-bottom: 22px;
    font-family: 'JetBrains Mono', monospace;
  }
  .fr-hero-stats {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
  }
  .fr-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .fr-stat-n {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--fr-accent);
    line-height: 1;
  }
  .fr-stat-l {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--fr-text3);
  }

  /* ── MANIFESTO ── */
  .fr-manifesto {
    background: var(--fr-surface);
    border: 1px solid var(--fr-border2);
    border-left: 3px solid var(--fr-accent);
    border-radius: 5px;
    padding: 28px 32px;
    margin-bottom: 56px;
    position: relative;
  }
  .fr-manifesto::before {
    content: '"';
    font-family: 'Space Grotesk', sans-serif;
    font-size: 120px;
    font-weight: 700;
    color: var(--fr-accent);
    opacity: .08;
    position: absolute;
    top: -20px;
    left: 20px;
    line-height: 1;
    pointer-events: none;
  }
  .fr-manifesto p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--fr-text2);
    position: relative;
  }
  .fr-manifesto strong {
    color: var(--fr-accent);
  }

  /* ── ESTRUTURA EDITORIAL ── */
  .fr-structure {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 56px;
  }
  .fr-struct-card {
    background: var(--fr-surface);
    border: 1px solid var(--fr-border);
    border-radius: 5px;
    padding: 20px 22px;
  }
  .fr-struct-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--fr-accent);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .fr-struct-num::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--fr-border2);
  }
  .fr-struct-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--fr-text);
    margin-bottom: 8px;
  }
  .fr-struct-desc {
    font-size: 13px;
    color: var(--fr-text2);
    line-height: 1.6;
  }

  /* ── CASOS — grid de cards ── */
  .fr-section-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--fr-text3);
    margin-top: 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .fr-section-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--fr-border);
  }
  .fr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    margin-bottom: 56px;
  }
  .fr-card {
    background: var(--fr-surface);
    border: 1px solid var(--fr-border);
    border-radius: 5px;
    overflow: hidden;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    transition: border-color .2s, transform .2s, box-shadow .2s;
    cursor: pointer;
  }
  .fr-card:hover {
    border-color: var(--fr-accent);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,210,180,.12);
  }
  .fr-card-header {
    padding: 20px 20px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }
  .fr-card-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--fr-accent);
    background: var(--fr-glow);
    border: 1px solid var(--fr-border2);
    padding: 3px 10px;
    border-radius: 5px;
    white-space: nowrap;
  }
  .fr-card-year {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--fr-text3);
  }
  .fr-card-body {
    padding: 16px 20px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .fr-card-prophecy {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--fr-text3);
    letter-spacing: .06em;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .fr-card-prophecy span {
    color: var(--fr-accent2);
  }
  .fr-card-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--fr-text);
    line-height: 1.35;
  }
  .fr-card-desc {
    font-size: 13px;
    color: var(--fr-text2);
    line-height: 1.6;
    flex: 1;
  }
  .fr-card-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--fr-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .fr-card-location {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--fr-text3);
    letter-spacing: .08em;
  }
  .fr-card-cta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--fr-accent);
    letter-spacing: .1em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 4px;
  }

  /* ── AUTORES ── */
  .fr-autores {
    background: var(--fr-surface);
    border: 1px solid var(--fr-border);
    border-radius: 5px;
    padding: 28px 32px;
    margin-bottom: 56px;
  }
  .fr-autores-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--fr-text);
    margin-bottom: 20px;
  }
  .fr-autores-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }
  .fr-autor {
    background: var(--fr-surface2);
    border: 1px solid var(--fr-border);
    border-radius: 5px;
    padding: 14px 16px;
  }
  .fr-autor-name {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--fr-text);
    margin-bottom: 4px;
  }
  .fr-autor-obra {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--fr-accent);
    letter-spacing: .06em;
    margin-bottom: 6px;
  }
  .fr-autor-desc {
    font-size: 12px;
    color: var(--fr-text2);
    line-height: 1.5;
  }

  /* ══════════════════════════════════════════════
   AUTORES — página fr-aut (p-aut1.html)
   ══════════════════════════════════════════════ */
.fr-aut-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 56px;
}
.fr-aut-intro {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 48px;
}
.fr-aut-intro-stat {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  padding: 20px;
  text-align: center;
}
.fr-aut-intro-n {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 36px;
  font-weight: 700;
  color: var(--fr-accent);
  line-height: 1;
  margin-bottom: 6px;
}
.fr-aut-intro-l {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fr-text3);
}
.fr-aut-card {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  position: relative;
}
.fr-aut-card:hover {
  border-color: var(--fr-accent);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,210,180,.10);
}
.fr-aut-card.top { border-color: var(--fr-border2); }
.fr-aut-card.top .fr-aut-name::after {
  content: ' ★';
  color: var(--fr-accent);
  font-size: 14px;
}
.fr-aut-portrait {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--fr-surface2);
  position: relative;
}
.fr-aut-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: contrast(1.05);
  transition: filter .3s;
}
.fr-aut-card:hover .fr-aut-portrait img { filter: contrast(1.08); }
.fr-aut-portrait-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 72px;
  font-weight: 700;
  color: var(--fr-accent);
  opacity: .15;
  letter-spacing: -.04em;
}
.fr-aut-year-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--fr-accent);
  background: rgba(6,13,15,.85);
  border: 1px solid var(--fr-border2);
  padding: 4px 10px;
  border-radius: 5px;
  backdrop-filter: blur(4px);
}
.fr-aut-body {
  padding: 20px 20px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fr-aut-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--fr-text);
  line-height: 1.2;
}
.fr-aut-obra {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--fr-accent);
  text-transform: uppercase;
}
.fr-aut-bio {
  font-size: 13px;
  color: var(--fr-text2);
  line-height: 1.6;
}
.fr-aut-conceito {
  font-size: 13px;
  color: var(--fr-text);
  line-height: 1.5;
  padding: 10px 12px;
  background: var(--fr-surface2);
  border-left: 2px solid var(--fr-accent);
  border-radius: 0 6px 6px 0;
  margin-top: 4px;
}
.fr-aut-realidade {
  font-size: 12px;
  color: var(--fr-text2);
  line-height: 1.5;
  margin-top: 4px;
}
.fr-aut-realidade strong { color: var(--fr-text); }
.fr-aut-footer {
  padding: 12px 20px;
  border-top: 1px solid var(--fr-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.fr-aut-gap {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--fr-accent);
  font-weight: 500;
}
.fr-aut-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
.fr-aut-badge-ncp {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .08em;
  color: #a070ff;
  background: rgba(123,47,255,.12);
  border: 1px solid rgba(123,47,255,.25);
  padding: 3px 8px;
  border-radius: 5px;
  text-decoration: none;
  transition: background .2s;
  white-space: nowrap;
}
.fr-aut-badge-ncp:hover { background: rgba(123,47,255,.22); }
.fr-aut-badge-fict {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--fr-accent);
  background: var(--fr-glow);
  border: 1px solid var(--fr-border2);
  padding: 3px 8px;
  border-radius: 5px;
}

  /* ── BREADCRUMB ── */
  .fr-breadcrumb {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--fr-text3);
    padding: 16px 0 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
  .fr-breadcrumb a {
    color: var(--fr-text3);
    text-decoration: none;
    transition: color .2s;
  }
  .fr-breadcrumb a:hover { color: var(--fr-accent); }
  .fr-breadcrumb span { color: var(--fr-accent); font-weight: 600; }

/* ── ProfecIA — override fundo menu lateral ── */
html:not(.light) {
  --rz-bg:       #060d0f;
  --rz-surface:  #0b1518;
  --rz-surface2: #0f1e22;
  --rz-accent:   #00d2b4;
  --rz-accent2:  #00f5d4;
  --rz-border:   rgba(0,210,180,.08);
  --rz-border2:  rgba(0,210,180,.20);
  --rz-glow:     rgba(0,210,180,.06);
  --rz-text:     #e0f4f1;
  --rz-text2:    #7ab8b0;
  --rz-text3:    #2e6660;
}
html.light {
  --rz-accent:   #007a6a;
  --rz-accent2:  #005a4d;
}

/* ══════════════════════════════════════════════════════
   ADDON — classes usadas nos HTMLs, ausentes no prof.css
   Colar no final do prof.css
   ══════════════════════════════════════════════════════ */

/* ── fr-section (wrapper de cada secção) ── */
.fr-section {
  margin-bottom: 36px;
}

/* ── fr-hero-gap (gap temporal no hero) ── */
.fr-hero-gap {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #00d2b4;
  margin-bottom: 16px;
}

/* ── fr-back (botão voltar) ── */
.fr-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--fr-text3);
  text-decoration: none;
  margin-top: 48px;
  transition: color .2s;
}
.fr-back:hover { color: var(--fr-accent); }

/* ── PROPHECY ── */
.fr-prophecy-block {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border2);
  border-radius: 5px;
  overflow: hidden;
}
.fr-prophecy-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--fr-border);
  position: relative;
}
.fr-prophecy-icon {
  font-size: 28px;
  line-height: 1;
  flex-shrink: 0;
}
.fr-prophecy-meta {
  flex: 1;
}
.fr-prophecy-author {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--fr-text);
  margin-bottom: 4px;
}
.fr-prophecy-obra {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--fr-accent);
}
.fr-prophecy-year-badge {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--fr-accent);
  background: var(--fr-glow);
  border: 1px solid var(--fr-border2);
  padding: 6px 14px;
  border-radius: 5px;
  flex-shrink: 0;
}
.fr-prophecy-body {
  padding: 24px 28px;
}
.fr-prophecy-quote {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-style: italic;
  color: var(--fr-text);
  line-height: 1.6;
  border-left: 3px solid var(--fr-accent);
  padding: 12px 20px;
  background: var(--fr-surface2);
  border-radius: 0 8px 8px 0;
  margin-bottom: 20px;
}
.fr-prophecy-analysis {
  font-size: 14px;
  color: var(--fr-text2);
  line-height: 1.75;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}
.fr-prophecy-analysis strong { color: var(--fr-text); }
.fr-prophecy-source {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--fr-text3);
  letter-spacing: .06em;
}
.fr-prophecy-source a {
  color: var(--fr-accent);
  text-decoration: none;
}
.fr-prophecy-source a:hover { text-decoration: underline; }

/* ── TIMELINE ── */
.fr-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 32px;
  border-left: 2px solid var(--fr-border2);
}
.fr-tl-item {
  position: relative;
  padding: 0 0 32px 24px;
}
.fr-tl-item:last-child { padding-bottom: 0; }
.fr-tl-dot {
  position: absolute;
  left: -7px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--fr-accent);
  border: 2px solid var(--fr-bg);
  box-shadow: 0 0 0 2px var(--fr-accent);
}
.fr-tl-dot.muted {
  background: var(--fr-muted);
  box-shadow: 0 0 0 2px var(--fr-muted);
}
.fr-tl-year {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--fr-accent);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.fr-tl-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--fr-text);
  margin-bottom: 6px;
  line-height: 1.35;
}
.fr-tl-desc {
  font-size: 13px;
  color: var(--fr-text2);
  line-height: 1.65;
}
.fr-tl-desc strong { color: var(--fr-text); }

/* ── DATA GRID ── */
.fr-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.fr-data-card {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color .2s;
}
.fr-data-card:hover { border-color: var(--fr-border2); }
.fr-data-n {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: var(--fr-accent);
  line-height: 1;
}
.fr-data-label {
  font-size: 12px;
  color: var(--fr-text2);
  line-height: 1.55;
}
.fr-data-source {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--fr-text3);
  text-transform: uppercase;
  margin-top: 4px;
}

/* ── REALITY BLOCKS ── */
.fr-reality-block {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 20px;
}
.fr-reality-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--fr-border);
}
.fr-reality-flag {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
}
.fr-reality-meta { flex: 1; }
.fr-reality-location {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--fr-text3);
  margin-bottom: 4px;
}
.fr-reality-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--fr-text);
  margin-bottom: 4px;
  line-height: 1.3;
}
.fr-reality-period {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--fr-accent);
  letter-spacing: .06em;
}
.fr-reality-body {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 14px;
  color: var(--fr-text2);
  line-height: 1.75;
}
.fr-reality-body strong { color: var(--fr-text); }
.fr-reality-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 24px 16px;
}
.fr-reality-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--fr-accent);
  background: var(--fr-glow);
  border: 1px solid var(--fr-border2);
  padding: 3px 10px;
  border-radius: 5px;
}
.fr-reality-source {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--fr-text3);
  letter-spacing: .06em;
  padding: 12px 24px 20px;
  border-top: 1px solid var(--fr-border);
}
.fr-reality-source a {
  color: var(--fr-accent);
  text-decoration: none;
}
.fr-reality-source a:hover { text-decoration: underline; }

/* ── TENSION ── */
.fr-tension {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border2);
  border-left: 3px solid var(--fr-accent);
  border-radius: 0 12px 12px 0;
  padding: 28px 32px;
}
.fr-tension-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--fr-text);
  margin-bottom: 16px;
  line-height: 1.3;
}
.fr-tension-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 14px;
  color: var(--fr-text2);
  line-height: 1.75;
}
.fr-tension-body strong { color: var(--fr-text); }

/* ── NEXO ── */
.fr-nexo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.fr-nexo-card {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  padding: 20px 22px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  position: relative;
}
.fr-nexo-card:hover {
  border-color: var(--fr-accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,210,180,.10);
}
.fr-nexo-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .10em;
  color: var(--fr-text3);
  text-transform: uppercase;
}
.fr-nexo-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--fr-text);
  line-height: 1.35;
}
.fr-nexo-desc {
  font-size: 12px;
  color: var(--fr-text2);
  line-height: 1.6;
}
.fr-nexo-arrow {
  font-size: 16px;
  color: var(--fr-accent);
  margin-top: 4px;
  transition: transform .2s;
}
.fr-nexo-card:hover .fr-nexo-arrow { transform: translateX(4px); }

/* ── SECT (p-sect.html — sectorial) ── */
.fr-sect-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.fr-sect-item {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 0;
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  overflow: hidden;
  background: var(--fr-surface);
  margin-bottom: 24px;
}
.fr-sect-item.reverse {
  grid-template-columns: 1fr 340px;
}
.fr-sect-item.reverse .fr-sect-img { order: 2; }
.fr-sect-item.reverse .fr-sect-content { order: 1; }
.fr-sect-img {
  background: var(--fr-surface2);
  position: relative;
  min-height: 260px;
  overflow: hidden;
}
.fr-sect-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fr-sect-img-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  opacity: .25;
}
.fr-sect-content {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fr-sect-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fr-accent);
}
.fr-sect-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--fr-text);
  line-height: 1.25;
}
.fr-sect-lead {
  font-size: 13px;
  color: var(--fr-text2);
  line-height: 1.65;
}
.fr-sect-casos {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.fr-sect-caso {
  background: var(--fr-surface2);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  padding: 12px 14px;
  text-decoration: none;
  transition: border-color .2s;
}
.fr-sect-caso:hover { border-color: var(--fr-accent); }
.fr-sect-caso-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--fr-text3);
  margin-bottom: 4px;
}
.fr-sect-caso-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--fr-text);
  margin-bottom: 4px;
}
.fr-sect-caso-desc {
  font-size: 12px;
  color: var(--fr-text2);
  line-height: 1.55;
}
.fr-sect-badge-ncp {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: .06em;
  color: #a070ff;
  background: rgba(123,47,255,.12);
  border: 1px solid rgba(123,47,255,.25);
  padding: 2px 7px;
  border-radius: 15px;
  margin-left: 6px;
}
.fr-sect-divider {
  height: 1px;
  background: var(--fr-border);
  margin: 8px 0 32px;
}

/* ── DESTAQUE — cards Huxley / Shelley / Bradbury (pfc.html) ── */
.fr-destaque-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 56px;
}
.fr-destaque-card {
  background: var(--fr-surface);
  border: 1px solid var(--fr-border);
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.fr-destaque-card:hover {
  border-color: var(--fr-accent);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,210,180,.10);
}
.fr-destaque-portrait {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--fr-surface2);
  flex-shrink: 0;
}
.fr-destaque-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: contrast(1.04) sepia(.08);
  transition: filter .3s;
}
.fr-destaque-card:hover .fr-destaque-portrait img {
  filter: contrast(1.08) sepia(.04);
}
.fr-destaque-portrait-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 56px;
  font-weight: 700;
  color: var(--fr-accent);
  opacity: .15;
  letter-spacing: -.04em;
}
.fr-destaque-body {
  padding: 20px 22px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.fr-destaque-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fr-destaque-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--fr-text);
  line-height: 1.2;
}
.fr-destaque-obra {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--fr-accent);
}
.fr-destaque-desc {
  font-size: 13px;
  color: var(--fr-text2);
  line-height: 1.7;
  flex: 1;
}
.fr-destaque-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--fr-border);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--fr-accent);
}
.fr-destaque-arrow {
  transition: transform .2s;
}
.fr-destaque-card:hover .fr-destaque-arrow {
  transform: translateX(4px);
}

/* ══════════════════════════════════════════════
   RESPONSIVE PROFECIA — TABLET (768px – 1023px)
   ══════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1023px) {
  .fr-wrap         { padding: 0px 14px 48px; }
  .fr-hero         { padding: 28px 0 24px; margin-bottom: 40px; }
  .fr-hero-title   { font-size: clamp(28px, 4vw, 42px); }
  .fr-hero-sub     { font-size: 16px; }
  .fr-hero-stats   { gap: 14px; }
  .fr-stat-n       { font-size: 24px; }

  .fr-manifesto    { padding: 22px 26px; margin-bottom: 40px; }
  .fr-manifesto p  { font-size: 15px; }

  .fr-structure    { grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 40px; }

  .fr-grid         { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }

  .fr-aut-grid     { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .fr-aut-intro    { grid-template-columns: 200px 1fr; gap: 20px; }

  .fr-sect-item    { grid-template-columns: 280px 1fr; }
  .fr-sect-item.reverse { grid-template-columns: 1fr 280px; }
  .fr-sect-content { padding: 22px 24px; }
  .fr-sect-title   { font-size: 18px; }

  .fr-nexo-grid    { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  .fr-destaque-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }

  .fr-timeline     { padding-left: 20px; }

  .fr-prophecy-body,
  .fr-reality-body,
  .fr-tension      { padding: 22px 26px; }
  .fr-tension-title { font-size: 17px; }

  .fr-data-grid    { grid-template-columns: repeat(2, 1fr); }
}

/* ══════════════════════════════════════════════
   RESPONSIVE PROFECIA — MOBILE (até 767px)
   ══════════════════════════════════════════════ */
@media (max-width: 767px) {
  .fr-wrap { padding: 0px 14px 48px; }
  .fr-hero         { padding: 20px 0 18px; margin-bottom: 28px; }
  .fr-hero-title   { font-size: clamp(26px, 7vw, 36px); }
  .fr-hero-sub     { font-size: 14px; }
  .fr-hero-stats   { gap: 14px; flex-wrap: wrap; }
  .fr-stat-n       { font-size: 22px; }

  .fr-manifesto    { padding: 18px 18px; margin-bottom: 28px; }
  .fr-manifesto::before { font-size: 80px; top: -10px; left: 10px; }

  .fr-structure    { grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
  .fr-struct-card  { padding: 16px 18px; }

  .fr-grid         { grid-template-columns: 1fr; gap: 14px; margin-bottom: 32px; }

  .fr-sect-item,
  .fr-sect-item.reverse { grid-template-columns: 1fr; }
  .fr-sect-img     { min-height: 180px; }
  .fr-sect-content { padding: 18px; }
  .fr-sect-title   { font-size: 17px; }

  .fr-nexo-grid    { grid-template-columns: 1fr; }

  .fr-destaque-grid { grid-template-columns: 1fr; gap: 14px; margin-bottom: 32px; }

  .fr-prophecy-body,
  .fr-reality-body,
  .fr-tension      { padding: 18px 16px; }
  .fr-tension-title { font-size: 16px; }
  .fr-tension      { padding: 18px 16px; }

  .fr-data-grid    { grid-template-columns: 1fr 1fr; }
  .fr-timeline     { padding-left: 12px; }
  .fr-prophecy-header { flex-wrap: wrap; }
  .fr-sect-content { padding: 18px; }
  .fr-hero-eyebrow {
    font-size: 10px;
    letter-spacing: .08em;
    padding: 4px 10px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .fr-destaque-grid { grid-template-columns: 1fr; }
}


/* ── RESPONSIVE ADDON ── */
@media (max-width: 900px) {
  .fr-sect-item,
  .fr-sect-item.reverse {
    grid-template-columns: 1fr;
  }
  .fr-sect-item.reverse .fr-sect-img { order: 0; }
  .fr-sect-item.reverse .fr-sect-content { order: 0; }
  .fr-sect-img { min-height: 200px; }
  .fr-nexo-grid { grid-template-columns: 1fr; }
  .fr-timeline { padding-left: 16px; }
}
@media (max-width: 600px) {
  .fr-data-grid { grid-template-columns: 1fr 1fr; }
  .fr-prophecy-header { flex-wrap: wrap; }
  .fr-prophecy-body,
  .fr-reality-body,
  .fr-tension { padding: 20px; }
  .fr-sect-content { padding: 20px; }
}

@media (max-width: 700px) {
  .fr-aut-grid { grid-template-columns: 1fr; }
  .fr-aut-intro { grid-template-columns: 1fr; }
}
/* ── CONTROLO DE IDIOMA — independente do portal.js ── */
[data-lang="pt"] .en-only,
[data-lang="pt"] .es-only { display: none !important; }

[data-lang="en"] .pt-only,
[data-lang="en"] .es-only { display: none !important; }

[data-lang="es"] .pt-only,
[data-lang="es"] .en-only { display: none !important; }

/* Estado inicial — antes do JS carregar, mostra PT por defeito */
body:not([data-lang]) .en-only,
body:not([data-lang]) .es-only { display: none !important; }

/* ══════════════════════════════════════════════
   RESPONSIVE PROFECIA — TABLET (768px – 1023px)
   ══════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1023px) {
  .fr-wrap { padding: 0px 14px 48px; }
  .fr-hero              { padding: 28px 0 24px; margin-bottom: 32px; }
  .fr-hero-title        { font-size: clamp(28px, 4vw, 42px); }
  .fr-hero-sub          { font-size: 16px; }
  .fr-hero-stats        { gap: 14px; }
  .fr-stat-n            { font-size: 24px; }

  .fr-manifesto         { padding: 22px 26px; margin-bottom: 40px; }
  .fr-manifesto p       { font-size: 15px; }

  .fr-structure         { grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 40px; }
  .fr-grid              { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .fr-autores-grid      { grid-template-columns: repeat(2, 1fr); }

  .fr-aut-grid          { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .fr-aut-intro         { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  .fr-sect-item         { grid-template-columns: 280px 1fr; }
  .fr-sect-item.reverse { grid-template-columns: 1fr 280px; }
  .fr-sect-content      { padding: 22px 24px; }
  .fr-sect-title        { font-size: 18px; }

  .fr-nexo-grid         { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .fr-destaque-grid     { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .fr-data-grid         { grid-template-columns: repeat(2, 1fr); }
  .fr-timeline          { padding-left: 20px; }

  .fr-prophecy-body,
  .fr-reality-body,
  .fr-tension           { padding: 22px 26px; }
  .fr-tension-title     { font-size: 17px; }
}

/* ══════════════════════════════════════════════
   RESPONSIVE PROFECIA — MOBILE PORTRAIT (até 767px)
   ══════════════════════════════════════════════ */
@media (max-width: 767px) {
  .fr-wrap              { padding: 0px 14px 48px; }
  .fr-hero              { padding: 20px 0 16px; margin-bottom: 24px; }
  .fr-hero-title        { font-size: clamp(24px, 7vw, 34px); line-height: 1.1; }
  .fr-hero-sub          { font-size: 14px; line-height: 1.6; }
  .fr-hero-stats        { gap: 12px; flex-wrap: wrap; }
  .fr-hero-eyebrow      { font-size: 10px; letter-spacing: .08em; padding: 4px 10px;
                          max-width: 100%; overflow: hidden;
                          text-overflow: ellipsis; white-space: nowrap; }
  .fr-stat-n            { font-size: 22px; }

  .fr-manifesto         { padding: 16px 16px; margin-bottom: 24px; }
  .fr-manifesto::before { font-size: 72px; top: -8px; left: 8px; }
  .fr-manifesto p       { font-size: 14px; }

  .fr-structure         { grid-template-columns: 1fr; gap: 10px; margin-bottom: 24px; }
  .fr-struct-card       { padding: 14px 16px; }

  .fr-grid              { grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
  .fr-autores-grid      { grid-template-columns: 1fr; }

  .fr-aut-grid          { grid-template-columns: 1fr; gap: 14px; margin-bottom: 32px; }
  .fr-aut-intro         { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 28px; }
  .fr-aut-intro-n       { font-size: 28px; }
  .fr-aut-intro-stat    { padding: 14px 12px; }

  .fr-sect-item,
  .fr-sect-item.reverse { grid-template-columns: 1fr; }
  .fr-sect-item.reverse .fr-sect-img     { order: 0; }
  .fr-sect-item.reverse .fr-sect-content { order: 1; }
  .fr-sect-img          { min-height: 180px; }
  .fr-sect-content      { padding: 16px; }
  .fr-sect-title        { font-size: 16px; }

  .fr-nexo-grid         { grid-template-columns: 1fr; }
  .fr-destaque-grid     { grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
  .fr-data-grid         { grid-template-columns: 1fr 1fr; }
  .fr-timeline          { padding-left: 12px; }

  .fr-prophecy-header   { flex-wrap: wrap; gap: 10px; }
  .fr-prophecy-body,
  .fr-reality-body,
  .fr-tension           { padding: 16px 14px; }
  .fr-tension-title     { font-size: 15px; }

  .fr-section           { margin-bottom: 28px; }
  .fr-section-label     { font-size: 13px; margin-bottom: 12px; }
}

/* ══════════════════════════════════════════════
   RESPONSIVE PROFECIA — MOBILE PEQUENO (até 400px)
   ══════════════════════════════════════════════ */
@media (max-width: 400px) {
  .fr-wrap              { padding: 0px 14px 48px; }
  .fr-hero-title        { font-size: clamp(22px, 8vw, 28px); }
  .fr-hero-sub          { font-size: 13px; }
  .fr-stat-n            { font-size: 20px; }
  .fr-aut-intro         { grid-template-columns: 1fr 1fr; gap: 8px; }
  .fr-aut-intro-n       { font-size: 24px; }
  .fr-prophecy-body,
  .fr-reality-body,
  .fr-tension           { padding: 14px 12px; }
}

/* ══════════════════════════════════════════════
   RESPONSIVE PROFECIA — LANDSCAPE MOBILE (altura < 500px)
   ══════════════════════════════════════════════ */
@media (max-height: 500px) and (orientation: landscape) {
  .fr-wrap              { padding: 0px 14px 48px; }
  .fr-hero              { padding: 12px 0 12px; margin-bottom: 16px; }
  .fr-hero-title        { font-size: clamp(20px, 4vw, 28px); }
  .fr-hero-sub          { font-size: 13px; }
  .fr-hero-stats        { gap: 16px; }
  .fr-manifesto         { margin-bottom: 20px; padding: 14px 18px; }
  .fr-section           { margin-bottom: 20px; }
}
@media (min-width: 1024px) {
  .fr-aut-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
  .fr-wrap     { padding: 76px 24px 80px; }
}