/* ============================================================
   DGI — Despertando o Guerreiro Interior
   Redesign visual: ritual-místico moderno.
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  /* Profundidades — preto-vazio, índigo, brumas roxas */
  --void:        #07060f;
  --ink:         #0d0918;
  --night:       #15102a;
  --fog:         #1f1538;
  --mist:        #2c2049;
  --plum:        #3a2a5c;

  /* Brasas — recém adicionadas, dão calor ao ritual */
  --ember-deep:  #5a2916;
  --ember:       #c97237;
  --ember-glow:  #f4a85c;
  --ember-spark: #ffd58a;

  /* Marca */
  --gold:        #c9a961;
  --gold-light:  #e5c98d;
  --gold-faint:  rgba(201,169,97,0.18);
  --turq:        #6fb9b0;
  --turq-deep:   #2d5e58;
  --turq-faint:  rgba(111,185,176,0.18);

  /* Texto */
  --bone:        #f2ede4;
  --bone-90:     rgba(242,237,228,0.92);
  --bone-70:     rgba(242,237,228,0.72);
  --bone-50:     rgba(242,237,228,0.5);
  --bone-30:     rgba(242,237,228,0.3);
  --bone-14:     rgba(242,237,228,0.14);
  --bone-08:     rgba(242,237,228,0.08);

  /* Tipografias */
  --serif: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
  --inscription: 'Cinzel', 'Cormorant Garamond', serif;
  --sans: 'Manrope', system-ui, -apple-system, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Easing */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* Geometria */
  --max-w: 1320px;
  --max-w-text: 720px;
  --pad-x: clamp(24px, 5vw, 80px);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { background: var(--void); }
body{
  font-family: var(--sans);
  color: var(--bone);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  font-weight: 300;
  font-size: 17px;
  letter-spacing: 0.005em;
}
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }

/* ---------- Grão de filme global ---------- */
/* SVG fractal noise convertido em data-uri. Pintado em layer fixa por
   cima de tudo, com mix-blend-mode soft-light, opacidade muito baixa.
   Dá idade e "veracidade" ao site inteiro. */
body::before{
  content: '';
  position: fixed; inset:0;
  pointer-events: none;
  z-index: 200;
  opacity: 0.55;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
/* Vinheta global muito sutil — escurece bordas como filme analógico */
body::after{
  content:'';
  position:fixed; inset:0;
  pointer-events:none;
  z-index:199;
  background: radial-gradient(ellipse 110% 80% at 50% 50%, transparent 50%, rgba(0,0,0,0.45) 100%);
}

/* ---------- Logos imagens ---------- */
.nav-logo .glyph{
  width: 42px; height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(111,185,176,0.25));
}
.footer-brand img{
  width: 56px; height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 2px 12px rgba(111,185,176,0.2));
}
.footer-logo-completa{
  display: block;
  max-width: 220px;
  height: auto;
  margin-top: 16px;
  filter: drop-shadow(0 2px 12px rgba(111,185,176,0.15));
}
.inscription{
  font-family: var(--inscription);
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

/* ---------- Cursor de scroll global ---------- */
.scroll-progress{
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(to right, transparent, var(--turq) 30%, var(--gold) 70%, transparent);
  z-index: 300;
  pointer-events: none;
  transition: width 0.05s linear;
}

/* ============================================================
   NAVEGAÇÃO
   ============================================================ */
.nav{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 18px var(--pad-x);
  background: linear-gradient(to bottom, rgba(7,6,15,0.92), rgba(7,6,15,0.6) 70%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: padding 0.4s var(--ease-out);
}
.nav.scrolled{
  padding: 12px var(--pad-x);
  background: rgba(7,6,15,0.85);
  border-bottom: 0.5px solid var(--bone-08);
}
.nav-inner{
  max-width: var(--max-w);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.nav-logo{
  display: flex;
  align-items: center;
  gap: 14px;
}
.nav-logo .glyph { width: 38px; height: 38px; }
.nav-logo-text{
  font-family: var(--inscription);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.32em;
  color: var(--bone);
}
.nav-logo-sub{
  font-family: var(--serif);
  font-style: italic;
  font-size: 11.5px;
  color: var(--turq);
  margin-top: 3px;
  letter-spacing: 0.08em;
}
.nav-links{ display:flex; gap: 36px; align-items: center; }
.nav-links a{
  font-family: var(--inscription);
  font-size: 11px;
  letter-spacing: 0.28em;
  color: var(--bone-70);
  transition: color 0.4s var(--ease-out);
  font-weight: 500;
  text-transform: uppercase;
}
.nav-links a:hover { color: var(--gold); }
.nav-cta{
  padding: 12px 22px;
  border: 0.5px solid var(--turq);
  color: var(--turq) !important;
  letter-spacing: 0.22em !important;
  font-size: 10.5px !important;
  transition: all 0.4s var(--ease-out);
}
.nav-cta:hover{
  background: var(--turq);
  color: var(--ink) !important;
  border-color: var(--turq);
}
.menu-toggle{
  display:none;
  background:transparent; border:none; color: var(--bone);
  cursor:pointer; padding:8px;
}

/* ============================================================
   HERO — Cinematográfico, full-bleed, partículas de brasa
   ============================================================ */
.hero{
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  padding: 140px var(--pad-x) 80px;
  overflow: hidden;
  display: flex;
  align-items: center;
  isolation: isolate;
}
.hero-bg{
  position: absolute;
  inset: 0;
  z-index: -2;
}
.hero-bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 35% center;
  transform-origin: 40% 60%;
  animation: hero-burns 28s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes hero-burns{
  from { transform: scale(1.04); }
  to   { transform: scale(1.14) translate(-1.5%, -1%); }
}
.hero-bg::after{
  /* Gradiente protetor + duotone púrpura cinematográfico */
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 70% 50%, transparent 0%, rgba(13,9,24,0.55) 50%, rgba(7,6,15,0.95) 95%),
    linear-gradient(to right, rgba(7,6,15,0.2) 0%, rgba(7,6,15,0.7) 60%, rgba(7,6,15,0.95) 100%),
    linear-gradient(to top, var(--void) 0%, transparent 30%);
}
.hero-grid{
  position: relative;
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  z-index: 2;
}

/* Linha vertical numerais — lateral esquerda cravada */
.hero-side{
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.32em;
  color: var(--bone-50);
}
.hero-side .v-line{
  width: 1px; height: 60px;
  background: linear-gradient(to bottom, transparent, var(--gold-faint));
}

.hero-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 36px;
  font-family: var(--inscription);
  font-size: 11px;
  letter-spacing: 0.4em;
  color: var(--gold);
  font-weight: 500;
}
.hero-eyebrow::before, .hero-eyebrow::after{
  content:''; width:42px; height:1px; background: var(--gold);
}

.hero-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 8vw, 132px);
  line-height: 0.92;
  letter-spacing: -0.025em;
  color: var(--bone);
  margin-bottom: 28px;
  max-width: 18ch;
}
.hero-title .line1, .hero-title .line2 { display: block; }
.hero-title em{
  font-style: italic;
  color: var(--gold-light);
  position: relative;
}
/* Sublinhado dourado que se desenha sob "atravessam" */
.hero-title em::after{
  content: '';
  position: absolute;
  left: 0; right: 0;
  bottom: 0.05em;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold) 15%, var(--gold) 85%, transparent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.8s 1.6s var(--ease-out);
}
.hero.awake .hero-title em::after { transform: scaleX(1); }
.hero-question{
  display: block;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(28px, 3.4vw, 48px);
  color: var(--ember-glow);
  margin-top: 32px;
  letter-spacing: -0.01em;
  padding-left: 1.2em;
  position: relative;
}
.hero-question::before{
  content: '—';
  position: absolute;
  left: 0; top: 0.25em;
  font-style: normal;
  color: var(--gold);
  font-size: 0.6em;
  letter-spacing: 0;
}

.hero-sub{
  font-family: var(--sans);
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.65;
  color: var(--bone-70);
  margin-top: 48px;
  margin-bottom: 56px;
  max-width: 540px;
  font-weight: 300;
}

.hero-ctas{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 80px;
}

/* Botões base */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 18px 30px;
  font-family: var(--inscription);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  position: relative;
  transition: all 0.5s var(--ease-out);
  overflow: hidden;
  isolation: isolate;
}
.btn-primary{
  background: var(--gold);
  color: var(--void);
  box-shadow: 0 12px 40px -8px rgba(201,169,97,0.35);
}
.btn-primary::before{
  content:'';
  position:absolute; inset:0; z-index:-1;
  background: var(--ember-glow);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.6s var(--ease-out);
}
.btn-primary:hover::before { transform: scaleX(1); }
.btn-primary:hover{
  box-shadow: 0 14px 50px -8px rgba(244,168,92,0.45);
  transform: translateY(-1px);
}
.btn-secondary{
  background: transparent;
  color: var(--bone);
  border: 0.5px solid var(--bone-30);
}
.btn-secondary:hover{
  border-color: var(--turq);
  color: var(--turq);
}
.btn-arrow{
  display: inline-block;
  width: 16px; height: 1px;
  background: currentColor;
  position: relative;
}
.btn-arrow::after{
  content:''; position:absolute;
  right: 0; top: -3px;
  width: 8px; height: 1px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: right center;
}

/* Stats monumentais no rodapé do hero */
.hero-stats{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 720px;
  border-top: 0.5px solid var(--bone-14);
  padding-top: 36px;
  position: relative;
}
.hero-stat{
  display: flex;
  flex-direction: column;
  position: relative;
  padding-right: 24px;
}
.hero-stat + .hero-stat{ padding-left: 32px; border-left: 0.5px solid var(--bone-08); }
.hero-stat-num{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 1;
  color: var(--bone);
  letter-spacing: -0.02em;
  font-feature-settings: "lnum";
}
.hero-stat-num .unit{ font-size: 0.55em; color: var(--gold); margin-left: 0.08em; vertical-align: 0.18em; letter-spacing: 0; font-style: italic; }
.hero-stat-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.3em;
  color: var(--bone-50);
  margin-top: 12px;
  text-transform: uppercase;
}

/* Glyph rotativo do labirinto na lateral direita do hero */
.hero-glyph{
  position: absolute;
  right: -8%;
  top: 50%;
  transform: translateY(-50%);
  width: 60vh;
  height: 60vh;
  max-width: 620px;
  max-height: 620px;
  opacity: 0.18;
  pointer-events: none;
  z-index: 1;
  animation: glyph-rotate 220s linear infinite;
}
@keyframes glyph-rotate{
  from { transform: translateY(-50%) rotate(0deg); }
  to   { transform: translateY(-50%) rotate(360deg); }
}

/* Indicador de descer — fixado no canto inferior direito,
   fora do fluxo do conteúdo para não sobrepor as stats. */
.scroll-hint{
  position: absolute;
  bottom: 32px;
  right: var(--pad-x);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  font-family: var(--inscription);
  font-size: 9px;
  letter-spacing: 0.4em;
  color: var(--bone-50);
  z-index: 3;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-transform: uppercase;
}
.scroll-hint span{ writing-mode: vertical-rl; }
.scroll-hint-line{
  width: 1px; height: 60px;
  background: linear-gradient(to bottom, var(--bone-50), transparent);
  position: relative;
  overflow: hidden;
  writing-mode: horizontal-tb;
}
.scroll-hint-line::after{
  content:'';
  position: absolute;
  top: -50px; left: 0; right: 0;
  height: 30px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  animation: scroll-drip 2.6s ease-in-out infinite;
}
@keyframes scroll-drip{
  0%   { transform: translateY(0); }
  100% { transform: translateY(100px); }
}

/* Entrada cinematográfica do hero — sequence */
.hero .hero-eyebrow,
.hero .hero-title .line1,
.hero .hero-title .line2,
.hero .hero-question,
.hero .hero-sub,
.hero .hero-ctas,
.hero .hero-stat,
.hero .scroll-hint{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 1.4s var(--ease-out), transform 1.4s var(--ease-out);
}
.hero.awake .hero-eyebrow      { opacity:1; transform:none; transition-delay: 0.2s; }
.hero.awake .hero-title .line1 { opacity:1; transform:none; transition-delay: 0.5s; }
.hero.awake .hero-title .line2 { opacity:1; transform:none; transition-delay: 0.9s; }
.hero.awake .hero-question     { opacity:1; transform:none; transition-delay: 1.6s; }
.hero.awake .hero-sub          { opacity:1; transform:none; transition-delay: 2.0s; }
.hero.awake .hero-ctas         { opacity:1; transform:none; transition-delay: 2.3s; }
.hero.awake .hero-stat:nth-child(1){ opacity:1; transform:none; transition-delay: 2.6s; }
.hero.awake .hero-stat:nth-child(2){ opacity:1; transform:none; transition-delay: 2.75s; }
.hero.awake .hero-stat:nth-child(3){ opacity:1; transform:none; transition-delay: 2.9s; }
.hero.awake .scroll-hint       { opacity:1; transform: none; transition-delay: 3.2s; }

@media (prefers-reduced-motion: reduce){
  .hero-bg img { animation: none; }
  .hero-glyph { animation: none; }
  .scroll-hint-line::after { animation: none; }
  .hero *, .hero { transition: none !important; }
  .hero .hero-eyebrow,
  .hero .hero-title .line1,
  .hero .hero-title .line2,
  .hero .hero-question,
  .hero .hero-sub,
  .hero .hero-ctas,
  .hero .hero-stat,
  .hero .scroll-hint{ opacity:1; transform:none; }
  .hero-title em::after { transform: scaleX(1); }
}

/* ============================================================
   ÂNCORA LATERAL — numerais romanos sticky por toda a página
   ============================================================ */
.side-rail{
  position: fixed;
  left: 24px; top: 0;
  height: 100vh;
  width: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 80;
}
.side-rail-line{
  width: 1px; height: 80px;
  background: linear-gradient(to bottom, transparent, var(--bone-14), transparent);
}
.side-rail-num{
  font-family: var(--inscription);
  font-size: 11px;
  letter-spacing: 0.28em;
  color: var(--bone-50);
  margin: 12px 0;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-transform: uppercase;
  transition: color 0.4s var(--ease-out);
}
@media (max-width: 1100px){ .side-rail{ display:none; } }

/* ============================================================
   SEÇÕES — base
   ============================================================ */
section{
  position: relative;
  padding: clamp(64px, 9vw, 120px) var(--pad-x);
  scroll-margin-top: 80px;
  isolation: isolate;
}
.section-inner{
  max-width: var(--max-w);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.section-inner.narrow { max-width: 980px; }

.eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-family: var(--inscription);
  font-size: 11px;
  letter-spacing: 0.34em;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 32px;
  text-transform: uppercase;
}
.eyebrow::before{ content:''; width:42px; height:1px; background: var(--gold); }
.eyebrow .num{ color: var(--gold-light); }

.h-section{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 5.2vw, 78px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--bone);
  margin-bottom: 28px;
  max-width: 18ch;
}
.h-section em{ font-style: italic; color: var(--gold-light); }
.h-section .turq { color: var(--turq); font-style: italic; }
.lead{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(20px, 1.8vw, 26px);
  line-height: 1.5;
  color: var(--bone-70);
  max-width: 720px;
  letter-spacing: -0.005em;
}
.section-center{ text-align:center; }
.section-center .lead, .section-center .h-section { margin-left:auto; margin-right:auto; }
.section-center .eyebrow{ justify-content: center; }
.section-center .eyebrow::before{ display:none; }
.section-center .eyebrow{
  position:relative;
  padding: 0 60px;
}
.section-center .eyebrow::before, .section-center .eyebrow::after{
  content:''; position:absolute; top:50%; width:42px; height:1px; background: var(--gold); display:block;
}
.section-center .eyebrow::before{ left: 0; }
.section-center .eyebrow::after{ right: 0; }

/* Reveal classes — scroll-tied entradas */
.reveal{
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 1.2s var(--ease-out), transform 1.2s var(--ease-out);
}
.reveal.in{ opacity:1; transform:none; }
.reveal-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
.reveal-stagger.in > *{ opacity:1; transform:none; }
.reveal-stagger.in > *:nth-child(1){ transition-delay: 0.05s; }
.reveal-stagger.in > *:nth-child(2){ transition-delay: 0.15s; }
.reveal-stagger.in > *:nth-child(3){ transition-delay: 0.25s; }
.reveal-stagger.in > *:nth-child(4){ transition-delay: 0.35s; }
.reveal-stagger.in > *:nth-child(5){ transition-delay: 0.45s; }
.reveal-stagger.in > *:nth-child(6){ transition-delay: 0.55s; }
.reveal-stagger.in > *:nth-child(7){ transition-delay: 0.65s; }
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > * { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Watermark de fundo — numeral romano monumental */
.bg-numeral{
  position: absolute;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(280px, 36vw, 560px);
  line-height: 1;
  color: var(--bone);
  opacity: 0.025;
  top: 50%;
  right: -2%;
  transform: translateY(-50%);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.bg-numeral.left{ left: -2%; right: auto; }

/* Watermark de fundo — labirinto */
.bg-labirinto{
  position: absolute;
  width: 90vw;
  max-width: 1100px;
  aspect-ratio: 1;
  opacity: 0.04;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* Fundo seção — radial sutil */
.bg-radial-dim{
  background:
    radial-gradient(ellipse 90% 60% at 50% 30%, var(--fog) 0%, var(--ink) 60%, var(--void) 100%);
}
.bg-night{ background: var(--ink); }
.bg-deeper{ background: var(--void); }

/* ============================================================
   SEÇÃO 2 — O QUE É (NÃO É / É)
   ============================================================ */
.naoe-e{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: 56px;
  position: relative;
}
.naoe-e::before{
  content: '';
  position: absolute;
  left: 50%; top: 8%; bottom: 8%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--gold-faint) 20%, var(--gold-faint) 80%, transparent);
}
.nae-col{ padding: 0 48px; }
.nae-col-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.4em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.nae-col.nao .nae-col-label{ color: var(--bone-50); }
.nae-col.sim .nae-col-label{ color: var(--turq); }
.nae-col h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 52px;
  line-height: 1;
  margin-bottom: 36px;
}
.nae-col.nao h3{ color: var(--bone-50); }
.nae-col.sim h3{ color: var(--bone); }
.nae-item{
  padding: 22px 0;
  border-bottom: 0.5px solid var(--bone-08);
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.65;
  font-weight: 300;
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.nae-item:last-child{ border-bottom: none; }
.nae-item-mark{
  flex-shrink: 0;
  font-family: var(--inscription);
  font-size: 11px;
  letter-spacing: 0.16em;
  margin-top: 4px;
  color: var(--gold);
  opacity: 0.6;
  width: 24px;
}
.nae-col.nao .nae-item{ color: var(--bone-50); }
.nae-col.nao .nae-item-mark{ color: var(--bone-30); }
.nae-col.sim .nae-item{ color: var(--bone-90); }

.fecho-quote{
  margin-top: 56px;
  padding: 40px 48px;
  border-left: 1px solid var(--gold);
  background: linear-gradient(to right, rgba(201,169,97,0.05), transparent 60%);
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(22px, 2.4vw, 32px);
  color: var(--bone);
  line-height: 1.5;
  max-width: 880px;
  position: relative;
}
.fecho-quote::before{
  content: '';
  position: absolute;
  left: -1px; top: 0;
  width: 1px; height: 40%;
  background: var(--ember-glow);
  animation: quote-spark 4s var(--ease-in-out) infinite alternate;
}
@keyframes quote-spark{
  0%   { height: 30%; top: 5%; opacity: 0.6; }
  100% { height: 50%; top: 50%; opacity: 1; }
}

/* ============================================================
   SEÇÃO 3 — PARA QUEM (PORTAS)
   ============================================================ */
.portas{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 56px;
}
.porta{
  position: relative;
  padding: 44px 40px;
  border: 0.5px solid;
  overflow: hidden;
  transition: transform 0.6s var(--ease-out), border-color 0.6s var(--ease-out);
}
.porta:hover{ transform: translateY(-4px); }
.porta.aberta{
  background: linear-gradient(180deg, rgba(111,185,176,0.05) 0%, transparent 100%);
  border-color: rgba(111,185,176,0.25);
}
.porta.aberta:hover{ border-color: rgba(111,185,176,0.45); }
.porta.entreaberta{
  background: linear-gradient(180deg, rgba(201,169,97,0.04) 0%, transparent 100%);
  border-color: rgba(201,169,97,0.22);
}
.porta.entreaberta:hover{ border-color: rgba(201,169,97,0.42); }

.porta-glyph{
  position: absolute;
  right: -50px; top: -50px;
  width: 240px; height: 240px;
  opacity: 0.06;
  pointer-events: none;
}
.porta-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.36em;
  margin-bottom: 24px;
  text-transform: uppercase;
}
.porta.aberta .porta-label{ color: var(--turq); }
.porta.entreaberta .porta-label{ color: var(--gold); }
.porta h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.15;
  margin-bottom: 36px;
}
.porta-list{ list-style: none; }
.porta-list li{
  padding: 18px 0;
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bone-90);
  border-bottom: 0.5px solid var(--bone-08);
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.porta-list li:last-child{ border-bottom: none; }
.porta-list li::before{
  content: '';
  flex-shrink: 0;
  width: 14px; height: 1px;
  margin-top: 14px;
  background: var(--gold);
  opacity: 0.6;
}

.fecho-cta{
  text-align: center;
  margin-top: 56px;
}
.fecho-cta p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(20px, 2vw, 28px);
  color: var(--bone-90);
  margin-bottom: 32px;
}

/* ============================================================
   SEÇÃO 4 — 7 PORTAIS — caminho serpentino
   ============================================================ */
.portais{
  margin-top: 64px;
  position: relative;
}
.portal{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  padding: 48px 0;
  align-items: center;
  border-bottom: 0.5px solid var(--bone-08);
}
.portal:last-child{ border-bottom: none; }
.portal:nth-child(even){ direction: rtl; }
.portal:nth-child(even) > * { direction: ltr; }
.portal-num-block{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.portal-num{
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(120px, 18vw, 220px);
  line-height: 0.9;
  color: var(--bone);
  letter-spacing: -0.04em;
  position: relative;
}
.portal-num::after{
  content: '';
  display: block;
  width: 60%;
  height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
  margin-top: 24px;
}
.portal.destaque .portal-num{ color: var(--gold-light); }

.portal-arq{
  font-family: var(--inscription);
  font-size: 11px;
  letter-spacing: 0.4em;
  color: var(--turq);
  text-transform: uppercase;
  margin-bottom: 18px;
}
.portal.destaque .portal-arq{ color: var(--gold); }
.portal h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.05;
  margin-bottom: 24px;
  color: var(--bone);
  letter-spacing: -0.015em;
}
.portal-desc{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 17px;
  line-height: 1.7;
  color: var(--bone-70);
  max-width: 480px;
}
.portal-glyph{
  width: 64px;
  height: 64px;
  opacity: 0.7;
  margin-bottom: 8px;
}

/* ============================================================
   SEÇÃO 5 — 13 ENCONTROS — rio vertical
   ============================================================ */
.encontros{
  margin-top: 56px;
  position: relative;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.encontros::before{
  content:'';
  position:absolute;
  left: 60px; top: 30px; bottom: 30px;
  width: 1px;
  background: linear-gradient(to bottom, transparent, var(--gold-faint) 4%, var(--gold-faint) 96%, transparent);
}
.encontro{
  position: relative;
  padding: 32px 0 32px 130px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  transition: transform 0.6s var(--ease-out);
}
.encontro:hover{ transform: translateX(6px); }
.enc-marker{
  position: absolute;
  left: 0; top: 32px;
  width: 120px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.enc-num{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 42px;
  line-height: 1;
  color: var(--bone-50);
  width: 60px;
  text-align: right;
  letter-spacing: -0.02em;
  transition: color 0.4s var(--ease-out);
}
.encontro:hover .enc-num{ color: var(--gold-light); }
.enc-dot{
  width: 9px; height: 9px;
  background: var(--ink);
  border: 1px solid var(--gold);
  border-radius: 50%;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out);
}
.encontro:hover .enc-dot{ background: var(--gold); box-shadow: 0 0 0 6px rgba(201,169,97,0.15); }

.enc-title{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.2;
  color: var(--bone);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.enc-tags{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.enc-tag{
  font-family: var(--inscription);
  font-size: 9.5px;
  letter-spacing: 0.24em;
  padding: 6px 14px;
  border: 0.5px solid;
  text-transform: uppercase;
  font-weight: 500;
}
.enc-tag.t{
  color: var(--turq);
  border-color: rgba(111,185,176,0.35);
  background: rgba(111,185,176,0.05);
}
.enc-tag.g{
  color: var(--gold);
  border-color: rgba(201,169,97,0.35);
  background: rgba(201,169,97,0.05);
}
.enc-mural{
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.5;
  color: var(--bone-90);
  padding: 18px 24px;
  background: rgba(111,185,176,0.04);
  border-left: 1px solid var(--turq);
  max-width: 720px;
}
.enc-mural-label{
  display: block;
  font-family: var(--inscription);
  font-size: 9.5px;
  letter-spacing: 0.32em;
  color: var(--turq);
  font-style: normal;
  margin-bottom: 6px;
  font-weight: 500;
}

/* Encontro Rito — destaque */
.encontro.rito{
  margin: 48px 0;
  padding: 56px 56px 56px 130px;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(201,169,97,0.12) 0%, transparent 60%),
    linear-gradient(135deg, rgba(89,32,16,0.4) 0%, rgba(15,9,24,0.95) 100%);
  border: 0.5px solid rgba(201,169,97,0.35);
  position: relative;
  overflow: hidden;
}
.encontro.rito::before{
  content:'';
  position:absolute;
  top: 50%; right: -10%;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217,114,55,0.2) 0%, transparent 60%);
  transform: translateY(-50%);
  pointer-events: none;
  animation: ember-pulse 6s var(--ease-in-out) infinite alternate;
}
@keyframes ember-pulse{
  from { opacity: 0.6; transform: translateY(-50%) scale(0.95); }
  to { opacity: 1; transform: translateY(-50%) scale(1.05); }
}
.encontro.rito:hover{ transform: none; }
.encontro.rito .enc-num{
  color: var(--gold-light);
  font-size: 56px;
}
.encontro.rito .enc-title{
  color: var(--gold-light);
  font-size: clamp(28px, 2.8vw, 38px);
  margin-bottom: 16px;
}
.enc-rito-frase{
  font-family: var(--serif);
  font-style: italic;
  font-size: 19px;
  color: var(--bone-90);
  line-height: 1.5;
  margin-top: 14px;
  max-width: 600px;
}

/* ============================================================
   SEÇÃO 6 — MÉTODO (pilares + arquétipos)
   ============================================================ */
.pilares{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 56px;
}
.pilar{
  padding: 36px 32px;
  background: rgba(31,21,56,0.4);
  border: 0.5px solid var(--bone-08);
  position: relative;
  transition: all 0.6s var(--ease-out);
}
.pilar:hover{
  border-color: rgba(201,169,97,0.25);
  background: rgba(31,21,56,0.6);
  transform: translateY(-3px);
}
.pilar-num{
  font-family: var(--serif);
  font-style: italic;
  font-size: 56px;
  color: var(--gold);
  opacity: 0.55;
  line-height: 1;
  margin-bottom: 14px;
}
.pilar h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.1;
  color: var(--bone);
  margin-bottom: 6px;
}
.pilar-autor{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.3em;
  color: var(--turq);
  text-transform: uppercase;
  margin-bottom: 28px;
}
.pilar p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--bone-70);
  margin-bottom: 14px;
}
.pilar p strong{
  font-weight: 500;
  color: var(--bone);
}
.pilar-gesto{
  margin-top: 24px;
  padding: 18px 22px;
  border: 0.5px solid rgba(201,169,97,0.2);
  background: rgba(201,169,97,0.04);
}
.pilar-gesto-label{
  font-family: var(--inscription);
  font-size: 9.5px;
  letter-spacing: 0.32em;
  color: var(--gold);
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 8px;
}
.pilar-gesto p{
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  color: var(--bone-90);
  margin: 0;
}

.bridge{
  text-align: center;
  margin: 64px auto 32px;
  max-width: 600px;
}
.bridge-line{
  width: 1px; height: 60px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  margin: 0 auto 24px;
}
.bridge p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  color: var(--bone-70);
}

.arquetipos{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.arq{
  padding: 36px 24px;
  border: 0.5px solid var(--gold-faint);
  background: rgba(201,169,97,0.025);
  text-align: center;
  transition: all 0.5s var(--ease-out);
}
.arq:hover{
  background: rgba(201,169,97,0.06);
  border-color: rgba(201,169,97,0.35);
  transform: translateY(-3px);
}
.arq-glyph{
  width: 48px; height: 48px;
  margin: 0 auto 18px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--gold-faint);
  border-radius: 50%;
  transition: transform 0.6s var(--ease-out);
}
.arq:hover .arq-glyph{ transform: rotate(180deg); border-color: var(--gold); }
.arq h4{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  color: var(--gold-light);
  margin-bottom: 8px;
}
.arq p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  color: var(--bone-70);
}

/* ============================================================
   SEÇÃO 7 — SÍMBOLOS
   ============================================================ */
.simbolo-hero{
  margin-top: 56px;
  padding: 36px 44px;
  border: 0.5px solid rgba(201,169,97,0.3);
  background:
    radial-gradient(ellipse at 50% 50%, rgba(201,169,97,0.06) 0%, transparent 60%),
    linear-gradient(135deg, rgba(31,21,56,0.6), rgba(15,9,24,0.4));
  display: flex;
  align-items: center;
  gap: 44px;
  position: relative;
  overflow: hidden;
}
.simbolo-hero-glyph{
  width: 140px; height: 140px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: glyph-rotate 120s linear infinite;
  flex-shrink: 0;
}
.simbolo-hero-glyph img,
.simbolo-hero-glyph svg{
  width: 100%; height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 16px rgba(201,169,97,0.22));
}
.simbolo-hero-text{ flex: 1; min-width: 0; }
.simbolo-hero-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.4em;
  color: var(--gold);
  margin-bottom: 10px;
  text-transform: uppercase;
}
.simbolo-hero h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.05;
  color: var(--gold-light);
  margin-bottom: 12px;
}
.simbolo-hero p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.5;
  color: var(--bone-90);
  max-width: 540px;
  margin: 0;
}

.simbolos-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}
.simbolo{
  padding: 36px 32px;
  border: 0.5px solid var(--bone-08);
  background: rgba(31,21,56,0.35);
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 24px;
  align-items: start;
  transition: all 0.5s var(--ease-out);
}
.simbolo:hover{
  border-color: var(--bone-14);
  background: rgba(31,21,56,0.55);
  transform: translateY(-3px);
}
.simbolo-icon{
  width: 70px; height: 70px;
  border: 1px solid var(--gold-faint);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.simbolo h4{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  color: var(--bone);
  margin-bottom: 10px;
}
.simbolo p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.65;
  color: var(--bone-70);
}

.buddy{
  margin-top: 24px;
  padding: 56px 48px;
  border: 0.5px solid rgba(111,185,176,0.25);
  background:
    radial-gradient(ellipse at 70% 50%, rgba(111,185,176,0.06) 0%, transparent 60%),
    linear-gradient(135deg, rgba(31,21,56,0.4), rgba(15,9,24,0.3));
  text-align: center;
  position: relative;
  overflow: hidden;
}
.buddy h4{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(28px, 3vw, 38px);
  color: var(--turq);
  margin-bottom: 14px;
}
.buddy p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.55;
  color: var(--bone-90);
  max-width: 640px;
  margin: 0 auto;
}

/* ============================================================
   SEÇÃO 8 — ACORDOS
   ============================================================ */
.pacto-intro{
  max-width: 760px;
  margin: 48px auto 0;
  text-align: center;
}
.pacto-intro p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 17px;
  line-height: 1.8;
  color: var(--bone-90);
}
.gesto-pacto{
  max-width: 720px;
  margin: 56px auto;
  padding: 40px 48px;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--gold);
  text-align: center;
  position: relative;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(201,169,97,0.05) 0%, transparent 70%);
}
.gesto-pacto-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.4em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 24px;
  font-weight: 500;
}
.gesto-pacto p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 28px);
  color: var(--bone);
  line-height: 1.4;
}
.gesto-pacto em{ color: var(--gold-light); }

.ancoras-titulo{
  text-align: center;
  margin-bottom: 40px;
}
.ancoras-titulo p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  color: var(--bone-70);
}
.ancoras{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 980px;
  margin: 0 auto;
}
.ancora{
  padding: 40px 36px;
  background: rgba(31,21,56,0.4);
  border: 0.5px solid var(--bone-08);
  transition: all 0.5s var(--ease-out);
  position: relative;
}
.ancora:hover{
  border-color: var(--gold-faint);
  transform: translateY(-3px);
}
.ancora-num{
  font-family: var(--serif);
  font-style: italic;
  font-size: 32px;
  color: var(--gold);
  opacity: 0.85;
  margin-bottom: 12px;
  line-height: 1;
}
.ancora h4{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 30px;
  color: var(--bone);
  margin-bottom: 16px;
}
.ancora p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--bone-90);
}

/* ============================================================
   SEÇÃO 9 — FACILITADORES
   ============================================================ */
.facilitadores{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 56px;
}
.fac{
  background: rgba(31,21,56,0.4);
  border: 0.5px solid rgba(111,185,176,0.2);
  overflow: hidden;
  transition: all 0.6s var(--ease-out);
  position: relative;
}
.fac:hover{ border-color: rgba(111,185,176,0.4); transform: translateY(-4px); }
.fac-foto{
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--mist);
}
.fac-foto img{
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 6s var(--ease-out);
}
.fac:hover .fac-foto img{ transform: scale(1.04); }
.fac-foto::after{
  /* Gradiente protetor */
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 40%, rgba(13,9,24,0.85) 100%);
}
.fac-name-overlay{
  position: absolute;
  left: 36px; right: 36px;
  bottom: 24px;
  z-index: 2;
}
.fac-tag{
  font-family: var(--inscription);
  font-size: 9.5px;
  letter-spacing: 0.32em;
  color: var(--gold);
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 8px;
}
.fac-name-overlay h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1;
  color: var(--bone);
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.fac-titulo{
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: var(--turq);
}
.fac-body{
  padding: 36px 36px 40px;
}
.fac-bio{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.75;
  color: var(--bone-90);
  margin-bottom: 24px;
}
.fac-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 28px;
}
.fac-tag-item{
  font-family: var(--inscription);
  font-size: 9px;
  letter-spacing: 0.18em;
  padding: 5px 11px;
  border: 0.5px solid;
  text-transform: uppercase;
  font-weight: 500;
}
.fac-tag-item.t{ color: var(--turq); border-color: rgba(111,185,176,0.35); }
.fac-tag-item.g{ color: var(--gold); border-color: rgba(201,169,97,0.35); }
.fac-quote{
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.55;
  color: var(--bone-90);
  padding: 20px 24px;
  border-left: 1px solid var(--gold);
  background: rgba(201,169,97,0.03);
}

.assistentes-bridge{
  text-align: center;
  margin: 72px auto 40px;
}
.assistentes-bridge .bridge-line{ margin-bottom: 30px; }
.ass-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.4em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 18px;
}
.assistentes-bridge h3{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(28px, 3vw, 38px);
  color: var(--bone);
  margin-bottom: 18px;
}
.assistentes-bridge p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.75;
  color: var(--bone-70);
  max-width: 620px;
  margin: 0 auto 6px;
}
.assistentes-bridge .sub-italic{
  font-family: var(--serif);
  font-style: italic;
  color: var(--bone-50);
  font-size: 15px;
}
.assistentes{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 820px;
  margin: 0 auto;
}
.ass{
  background: rgba(31,21,56,0.35);
  border: 0.5px solid var(--gold-faint);
  padding: 32px 28px;
  text-align: center;
  transition: all 0.5s var(--ease-out);
}
.ass:hover{ border-color: rgba(201,169,97,0.4); transform: translateY(-3px); }
.ass-foto{
  width: 140px; height: 140px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 22px;
  border: 1px solid var(--gold-faint);
  position: relative;
}
.ass-foto img{ width:100%; height:100%; object-fit: cover; }
.ass-foto::after{
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(circle at center, transparent 50%, rgba(13,9,24,0.4) 100%);
}
.ass h4{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  color: var(--bone);
  margin-bottom: 4px;
}
.ass-sub{
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: var(--turq);
  margin-bottom: 18px;
}
.ass-tags{
  display: flex; flex-wrap: wrap; gap: 5px; justify-content: center;
  margin-bottom: 18px;
}
.ass-tag{
  font-family: var(--inscription);
  font-size: 8.5px;
  letter-spacing: 0.18em;
  padding: 4px 10px;
  border: 0.5px solid rgba(111,185,176,0.3);
  color: var(--turq);
  text-transform: uppercase;
  font-weight: 500;
}
.ass p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
  color: var(--bone-70);
}

.frase-ass{
  max-width: 720px;
  margin: 56px auto 0;
  padding: 24px 30px;
  border-left: 1px solid var(--turq);
  background: rgba(111,185,176,0.04);
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.55;
  color: var(--bone-90);
  text-align: center;
}
.frase-ass em{ color: var(--turq); }

/* ============================================================
   SEÇÃO 10 — CAMPO EM MOVIMENTO
   ============================================================ */
.video-wrap{
  display: block;
  max-width: 1040px;
  margin: 56px auto 0;
  position: relative;
  aspect-ratio: 16/9;
  border: 0.5px solid rgba(201,169,97,0.3);
  overflow: hidden;
  background: var(--ink);
  cursor: pointer;
  transition: transform 0.5s var(--ease-out), border-color 0.5s var(--ease-out);
}
.video-wrap:hover{ border-color: var(--gold); }
.video-iframe{
  width: 100%; height: 100%; border: none; display: block;
}
.video-wrap::before{
  content:'';
  position: absolute; inset: -1px;
  background: linear-gradient(135deg, transparent 60%, rgba(201,169,97,0.15) 70%, transparent 80%);
  pointer-events: none; z-index: 3;
}
.video-legenda{
  text-align: center;
  margin-top: 18px;
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.32em;
  color: var(--bone-50);
  text-transform: uppercase;
}
.cm-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 980px;
  margin: 56px auto 0;
}
.cm-item{
  text-align: center;
  padding: 32px 20px;
  border-top: 0.5px solid var(--gold-faint);
  position: relative;
}
.cm-item::before{
  content: '';
  position: absolute;
  top: -1px; left: 50%;
  transform: translateX(-50%);
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
}
.cm-item h5{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  color: var(--bone);
  margin-bottom: 10px;
}
.cm-item p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--bone-70);
}

.imagem-grupo{
  max-width: 1200px;
  margin: 72px auto 0;
  overflow: hidden;
  position: relative;
  border: 0.5px solid var(--gold-faint);
}
.imagem-grupo img{
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1.02);
  transition: transform 8s var(--ease-out);
}
.imagem-grupo.in img{ transform: scale(1.08); }
.imagem-grupo::after{
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(7,6,15,0.5) 100%);
  pointer-events: none;
}

/* ============================================================
   SEÇÃO 11 — RITO — cinematográfico
   ============================================================ */
.secao-rito{
  background:
    radial-gradient(ellipse 100% 80% at 50% 40%, rgba(89,32,16,0.3) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(217,114,55,0.15) 0%, transparent 50%),
    linear-gradient(180deg, var(--void) 0%, #02020a 100%);
  padding: clamp(96px, 13vw, 160px) var(--pad-x);
  overflow: hidden;
  position: relative;
}
/* Partículas de brasa */
.brasas{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.brasa{
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--ember-spark) 0%, var(--ember) 40%, transparent 80%);
  box-shadow: 0 0 8px var(--ember-glow);
  opacity: 0;
  bottom: 0;
  animation-name: brasa-up;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
  will-change: transform, opacity;
}
@keyframes brasa-up{
  0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
  10%  { opacity: 0.9; }
  60%  { opacity: 0.5; }
  100% { transform: translateY(-90vh) translateX(20px) scale(0.4); opacity: 0; }
}
.brasa:nth-child(1){  left: 8%;  animation-duration: 12s; animation-delay: 0s;   }
.brasa:nth-child(2){  left: 16%; animation-duration: 16s; animation-delay: 4s;   }
.brasa:nth-child(3){  left: 27%; animation-duration: 14s; animation-delay: 8s;   }
.brasa:nth-child(4){  left: 38%; animation-duration: 18s; animation-delay: 2s;   }
.brasa:nth-child(5){  left: 49%; animation-duration: 13s; animation-delay: 6s;   }
.brasa:nth-child(6){  left: 60%; animation-duration: 15s; animation-delay: 10s;  }
.brasa:nth-child(7){  left: 71%; animation-duration: 17s; animation-delay: 1s;   }
.brasa:nth-child(8){  left: 82%; animation-duration: 11s; animation-delay: 5s;   }
.brasa:nth-child(9){  left: 92%; animation-duration: 19s; animation-delay: 9s;   }
.brasa:nth-child(10){ left: 33%; animation-duration: 20s; animation-delay: 12s;  }
.brasa:nth-child(11){ left: 55%; animation-duration: 14s; animation-delay: 14s;  }
.brasa:nth-child(12){ left: 78%; animation-duration: 16s; animation-delay: 7s;   }

.rito-header{
  text-align: center;
  max-width: 880px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.chama{
  width: 64px; height: 78px;
  margin: 0 auto 40px;
  display: block;
  animation: chama-flicker 6.5s ease-in-out infinite;
  transform-origin: center bottom;
  filter: drop-shadow(0 0 24px rgba(244,168,92,0.4));
}
@keyframes chama-flicker{
  0%   { opacity: 1.00; transform: scale(1.00) skewX(0deg); }
  17%  { opacity: 0.88; transform: scale(1.04) skewX(-1deg); }
  29%  { opacity: 0.95; transform: scale(0.98) skewX(0.5deg); }
  44%  { opacity: 0.82; transform: scale(1.02) skewX(-0.5deg); }
  61%  { opacity: 1.00; transform: scale(1.06) skewX(1deg); }
  73%  { opacity: 0.92; transform: scale(0.96) skewX(-0.5deg); }
  88%  { opacity: 0.98; transform: scale(1.01) skewX(0deg); }
  100% { opacity: 1.00; transform: scale(1.00) skewX(0deg); }
}
.rito-header .eyebrow{ color: var(--ember-glow); }
.rito-header .eyebrow::before, .rito-header .eyebrow::after{ background: var(--ember-glow); }
.rito-header .h-section em{ color: var(--ember-glow); }
.rito-header .lead{ max-width: 680px; margin: 0 auto; font-size: clamp(22px, 2.2vw, 28px); }

.rito-video{
  display: block;
  max-width: 980px;
  margin: 64px auto 0;
  aspect-ratio: 16/9;
  border: 1px solid rgba(201,169,97,0.35);
  overflow: hidden;
  background: var(--ink);
  position: relative;
  box-shadow:
    0 0 0 1px rgba(201,169,97,0.1),
    0 30px 80px -20px rgba(0,0,0,0.7),
    0 0 100px -20px rgba(217,114,55,0.2);
}
.rito-video iframe{ width:100%; height:100%; border:none; display:block; position:relative; z-index:1; }
.rito-video::before, .rito-video::after{
  content:''; position: absolute;
  width: 24px; height: 24px;
  border: 1px solid var(--gold);
  z-index: 3;
  pointer-events: none;
}
.rito-video::before{ top: -1px; left: -1px; border-right:none; border-bottom:none; }
.rito-video::after{ bottom: -1px; right: -1px; border-left:none; border-top:none; }

.rito-ancoras{
  max-width: 700px;
  margin: 64px auto 0;
  display: flex; flex-direction: column;
  gap: 24px;
}
.rito-ancora{
  display: flex; gap: 24px;
  align-items: flex-start;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.55;
  color: var(--bone-90);
}
.rito-ancora-dot{
  flex-shrink: 0;
  width: 8px; height: 8px;
  background: var(--ember);
  border-radius: 50%;
  margin-top: 14px;
  box-shadow: 0 0 12px var(--ember-glow);
}

.fecho-rito{
  text-align: center;
  margin: 80px auto 0;
  max-width: 720px;
  position: relative;
  z-index: 2;
}
.fecho-rito .line-v{
  width: 1px; height: 80px;
  background: linear-gradient(to bottom, transparent, var(--ember), transparent);
  margin: 0 auto 40px;
}
.fecho-rito p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(28px, 3.6vw, 44px);
  color: var(--bone);
  line-height: 1.25;
  letter-spacing: -0.015em;
}
.fecho-rito em{ color: var(--ember-glow); }

/* ============================================================
   SEÇÃO INVESTIMENTO
   ============================================================ */
.invest-pilares{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 56px;
}
.invest-pilar{
  padding: 32px 28px;
  border: 0.5px solid rgba(111,185,176,0.2);
  background: rgba(111,185,176,0.03);
  text-align: left;
  transition: all 0.5s var(--ease-out);
}
.invest-pilar:hover{
  border-color: rgba(111,185,176,0.4);
  background: rgba(111,185,176,0.06);
  transform: translateY(-3px);
}
.invest-icone{
  width: 52px; height: 52px;
  border: 1px solid rgba(111,185,176,0.3);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 24px;
  transition: transform 0.6s var(--ease-out);
}
.invest-pilar:hover .invest-icone{ transform: rotate(180deg); }
.invest-pilar h4{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  color: var(--bone);
  margin-bottom: 16px;
}
.invest-pilar p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--bone-70);
}
.invest-fecho-caixa{
  max-width: 800px;
  margin: 40px auto 0;
  padding: 28px 40px;
  border-top: 1px solid var(--gold-faint);
  border-bottom: 1px solid var(--gold-faint);
  text-align: center;
  background: rgba(201,169,97,0.03);
}
.invest-fecho-caixa p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.65;
  color: var(--bone-90);
}
.invest-fecho-caixa em{ color: var(--gold-light); }

/* ============================================================
   SEÇÃO 12 — CONVITE FINAL
   ============================================================ */
.secao-convite{
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, rgba(47,33,73,0.6) 0%, transparent 60%),
    linear-gradient(180deg, var(--void) 0%, var(--ink) 60%, var(--night) 100%);
  padding: clamp(80px, 11vw, 130px) var(--pad-x);
  overflow: hidden;
  position: relative;
}
.convite-header{
  text-align: center;
  max-width: 880px;
  margin: 0 auto 56px;
  position: relative;
  z-index: 2;
}
.convite-selo{
  width: 56px; height: 56px;
  margin: 0 auto 28px;
  display: block;
  animation: glyph-rotate 90s linear infinite;
}
.convite-header .eyebrow{ color: var(--turq); }
.convite-header .eyebrow::before, .convite-header .eyebrow::after{ background: var(--turq); }
.convite-pergunta-1{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(20px, 2.2vw, 26px);
  color: var(--bone-90);
  line-height: 1.45;
  margin-bottom: 16px;
  margin-top: 24px;
}
.convite-pergunta-2{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(36px, 4.4vw, 56px);
  color: var(--gold-light);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
}
.passos{
  max-width: 760px;
  margin: 0 auto 40px;
  padding: 44px 44px;
  border: 0.5px solid rgba(111,185,176,0.25);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(111,185,176,0.06) 0%, transparent 70%);
  position: relative;
}
.passos-label{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.4em;
  color: var(--gold);
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 24px;
  font-weight: 500;
}
.passos-intro{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.55;
  color: var(--bone-90);
  text-align: center;
  margin-bottom: 40px;
}
.passos-intro em{ color: var(--turq); }
.conversa-aspectos{
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.conversa-aspecto{
  display: flex;
  gap: 22px;
  align-items: flex-start;
}
.conversa-aspecto-icone{
  width: 44px; height: 44px;
  border: 0.5px solid rgba(111,185,176,0.35);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(111,185,176,0.03);
  flex-shrink: 0;
  transition: all 0.5s var(--ease-out);
}
.conversa-aspecto:hover .conversa-aspecto-icone{
  border-color: var(--turq);
  background: rgba(111,185,176,0.1);
}
.conversa-aspecto p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bone-90);
  padding-top: 8px;
}
.passos-fecho{
  margin-top: 32px;
  padding-top: 24px;
  border-top: 0.5px solid var(--bone-08);
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: 16px;
  color: var(--bone-70);
}

.cta-final{
  text-align: center;
  margin-bottom: 32px;
}
.btn-whatsapp{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 24px 44px;
  background: var(--turq);
  color: var(--ink);
  font-family: var(--inscription);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: all 0.5s var(--ease-out);
  box-shadow: 0 14px 50px -10px rgba(111,185,176,0.4);
}
.btn-whatsapp::before{
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.3) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.8s var(--ease-out);
}
.btn-whatsapp:hover::before{ transform: translateX(100%); }
.btn-whatsapp:hover{
  transform: translateY(-2px);
  background: var(--gold-light);
  box-shadow: 0 16px 60px -10px rgba(229,201,141,0.5);
}
.garantias{
  margin-top: 20px;
  font-family: var(--inscription);
  font-size: 9.5px;
  letter-spacing: 0.32em;
  color: var(--bone-50);
  text-transform: uppercase;
}
.reverencia{
  max-width: 680px;
  margin: 36px auto 0;
  padding: 24px 32px;
  border-left: 1px solid var(--gold);
  background: rgba(201,169,97,0.03);
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.reverencia svg{ flex-shrink: 0; margin-top: 4px; }
.reverencia p{
  font-family: var(--serif);
  font-style: italic;
  font-size: 16.5px;
  line-height: 1.65;
  color: var(--bone-90);
}

.fecho-convite{
  text-align: center;
  margin-top: 64px;
}
.fecho-convite .line-v{
  width: 1px; height: 60px;
  background: linear-gradient(to bottom, transparent, var(--turq), transparent);
  margin: 0 auto 36px;
}
.fecho-convite p{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(24px, 3vw, 36px);
  color: var(--bone);
  line-height: 1.3;
}
.fecho-convite em{ color: var(--turq); }

/* ============================================================
   FECHOS DE SEÇÃO (textos curtos itálicos)
   ============================================================ */
.fecho-section{
  margin-top: 56px;
  text-align: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(20px, 2.2vw, 26px);
  color: var(--bone-90);
  line-height: 1.4;
}
.fecho-section em{ color: var(--turq); font-style: italic; }
.fecho-section em.g{ color: var(--gold-light); }

/* ============================================================
   FOOTER
   ============================================================ */
footer{
  background: linear-gradient(180deg, var(--ink) 0%, var(--void) 100%);
  padding: 96px var(--pad-x) 0;
  border-top: 0.5px solid var(--gold-faint);
  position: relative;
}
.footer-inner{ max-width: var(--max-w); margin: 0 auto; }
.footer-grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 64px;
  padding-bottom: 64px;
}
.footer-brand{
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 24px;
}
.footer-brand-text h4{
  font-family: var(--inscription);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.32em;
  color: var(--bone);
}
.footer-brand-text p{
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: var(--turq);
  margin-top: 4px;
}
.footer-desc{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.75;
  color: var(--bone-70);
  max-width: 380px;
  margin-bottom: 28px;
}
.footer-coletivo{
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: var(--bone-50);
  line-height: 1.5;
}
.footer-coletivo strong{
  font-family: var(--inscription);
  font-style: normal;
  display: block;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.3em;
  font-weight: 500;
  text-transform: uppercase;
  margin-top: 8px;
}
.footer-col h5{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.36em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 24px;
  font-weight: 500;
}
.footer-contacts{ display: flex; flex-direction: column; gap: 18px; }
.footer-contact{
  display: flex; align-items: center; gap: 14px;
  transition: transform 0.4s var(--ease-out);
}
.footer-contact:hover{ transform: translateX(4px); }
.footer-contact-icon{
  width: 36px; height: 36px;
  border: 0.5px solid rgba(111,185,176,0.4);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.4s var(--ease-out);
}
.footer-contact:hover .footer-contact-icon{
  background: rgba(111,185,176,0.1);
  border-color: var(--turq);
}
.footer-contact-label{
  font-family: var(--inscription);
  font-size: 9.5px;
  letter-spacing: 0.28em;
  color: var(--bone-50);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.footer-contact-value{
  font-family: var(--sans);
  font-weight: 400;
  font-size: 15px;
  color: var(--bone-90);
}
.footer-links{ display: flex; flex-direction: column; gap: 12px; }
.footer-links a{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14.5px;
  color: var(--bone-70);
  transition: color 0.3s var(--ease-out);
}
.footer-links a:hover{ color: var(--turq); }
.footer-bottom{
  border-top: 0.5px solid var(--bone-08);
  padding: 28px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.footer-copy{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--bone-30);
  text-transform: uppercase;
}
.footer-legal{ display: flex; gap: 24px; }
.footer-legal a{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--bone-50);
  text-transform: uppercase;
  transition: color 0.3s var(--ease-out);
}
.footer-legal a:hover{ color: var(--gold); }
.footer-ultima{
  border-top: 0.5px solid var(--gold-faint);
  margin: 0 calc(-1 * var(--pad-x));
  padding: 32px var(--pad-x);
  background: rgba(0,0,0,0.5);
  text-align: center;
}
.footer-ultima p{
  font-family: var(--serif);
  font-style: italic;
  font-size: 16px;
  color: var(--bone-50);
  line-height: 1.5;
}
.footer-ultima em{ color: var(--turq); }

/* ============================================================
   FLOATING WHATSAPP — sempre presente, lateral direita inferior
   ============================================================ */
.float-whatsapp{
  position: fixed;
  bottom: 24px; right: 24px;
  width: 60px; height: 60px;
  border-radius: 50%;
  background: var(--turq);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 36px -8px rgba(111,185,176,0.4), 0 0 0 0 rgba(111,185,176,0.5);
  z-index: 90;
  transition: all 0.5s var(--ease-out);
  opacity: 0;
  transform: translateY(20px) scale(0.8);
  pointer-events: none;
  animation: pulse-ring 3s ease-out infinite;
}
.float-whatsapp.show{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.float-whatsapp:hover{
  background: var(--gold-light);
  transform: scale(1.08);
}
@keyframes pulse-ring{
  0%   { box-shadow: 0 12px 36px -8px rgba(111,185,176,0.4), 0 0 0 0 rgba(111,185,176,0.5); }
  70%  { box-shadow: 0 12px 36px -8px rgba(111,185,176,0.4), 0 0 0 16px rgba(111,185,176,0); }
  100% { box-shadow: 0 12px 36px -8px rgba(111,185,176,0.4), 0 0 0 0 rgba(111,185,176,0); }
}

/* ============================================================
   MODAIS
   ============================================================ */
.modal-overlay{
  position: fixed; inset:0;
  background: rgba(7,6,15,0.88);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center; justify-content: center;
  padding: 24px;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.4s var(--ease-out);
}
.modal-overlay.aberto { display:flex; opacity:1; }
.modal-caixa{
  position: relative;
  width: 100%;
  max-width: 720px;
  max-height: 85vh;
  background: linear-gradient(180deg, var(--night), var(--ink));
  border: 0.5px solid var(--gold-faint);
  padding: 64px 56px 48px;
  overflow-y: auto;
  transform: translateY(20px) scale(0.98);
  transition: transform 0.5s var(--ease-out);
}
.modal-overlay.aberto .modal-caixa{ transform: translateY(0) scale(1); }
.modal-fechar{
  position: absolute;
  top: 20px; right: 20px;
  width: 40px; height: 40px;
  background: transparent;
  border: 0.5px solid var(--bone-30);
  border-radius: 50%;
  color: var(--bone);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  transition: all 0.4s var(--ease-out);
}
.modal-fechar:hover{
  border-color: var(--gold);
  color: var(--gold);
}
.modal-tag{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.4em;
  color: var(--turq);
  text-transform: uppercase;
  margin-bottom: 18px;
}
.modal-titulo{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 38px;
  line-height: 1.1;
  color: var(--bone);
  margin-bottom: 32px;
}
.modal-titulo em{ color: var(--gold-light); }
.modal-conteudo{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--bone-90);
}
.modal-conteudo p { margin-bottom: 18px; }
.modal-conteudo strong{ color: var(--bone); font-weight: 500; }
.modal-conteudo a{
  color: var(--turq);
  border-bottom: 0.5px solid rgba(111,185,176,0.4);
  transition: color 0.3s, border-color 0.3s;
}
.modal-conteudo a:hover{ color: var(--gold); border-bottom-color: var(--gold); }
.modal-divisor{
  width: 60px; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  margin: 28px 0;
  border: none;
}
.modal-data{
  font-family: var(--inscription);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--bone-50);
  margin-top: 24px;
  text-transform: uppercase;
}
body.modal-travado{ overflow: hidden; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px){
  .nav-links{ display:none; }
  .nav-links.open{
    display:flex;
    position: absolute; top:100%; left:0; right:0;
    flex-direction: column;
    background: rgba(7,6,15,0.96);
    padding: 24px var(--pad-x);
    gap: 18px;
    border-bottom: 0.5px solid var(--bone-08);
  }
  .menu-toggle { display:block; }
  .hero-glyph{ display:none; }
  .naoe-e { grid-template-columns: 1fr; gap: 48px; }
  .naoe-e::before{ display:none; }
  .nae-col { padding: 0; }
  .portas { grid-template-columns: 1fr; }
  .portal{ grid-template-columns: 1fr; gap: 24px; }
  .portal:nth-child(even){ direction: ltr; }
  .pilares { grid-template-columns: 1fr; }
  .arquetipos { grid-template-columns: 1fr 1fr; }
  .simbolo-hero{ gap: 28px; padding: 48px 32px; }
  .simbolo-hero-glyph{ width: 140px; height: 140px; }
  .simbolos-grid { grid-template-columns: 1fr; }
  .ancoras { grid-template-columns: 1fr; }
  .facilitadores { grid-template-columns: 1fr; }
  .assistentes { grid-template-columns: 1fr; }
  .cm-grid { grid-template-columns: 1fr; }
  .invest-pilares { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  .encontros::before{ left: 30px; }
  .encontro{ padding-left: 80px; }
  .enc-marker{ width: 70px; }
  .enc-num{ width: 32px; font-size: 28px; }
  .encontro.rito{ padding: 36px 32px 36px 80px; }
}
@media (max-width: 820px){
  :root{ --pad-x: clamp(20px, 6vw, 32px); }
  section{ padding: clamp(64px, 14vw, 96px) var(--pad-x); }
  .nav{ padding: 14px var(--pad-x); }
  .nav.scrolled{ padding: 10px var(--pad-x); }
  .nav-logo .glyph{ width: 36px; height: 36px; }
  .nav-logo-text{ font-size: 13px; }
  .nav-logo-sub{ font-size: 10.5px; }

  .hero{ padding: 110px var(--pad-x) 60px; min-height: 100svh; }
  .hero-title{ font-size: clamp(40px, 11vw, 64px); line-height: 0.96; max-width: 100%; }
  .hero-question{ font-size: clamp(22px, 5.5vw, 32px); margin-top: 24px; }
  .hero-sub{ font-size: 15.5px; margin-top: 36px; margin-bottom: 40px; }
  .hero-ctas{ margin-bottom: 56px; gap: 10px; }
  .btn{ padding: 16px 22px; font-size: 10px; letter-spacing: 0.22em; }
  .hero-stats{ grid-template-columns: 1fr 1fr; gap: 0; padding-top: 28px; }
  .hero-stat{ padding-right: 16px; }
  .hero-stat + .hero-stat{ padding-left: 20px; }
  .hero-stat:nth-child(3){
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: none;
    border-top: 0.5px solid var(--bone-08);
    padding-top: 22px;
    margin-top: 22px;
  }
  .hero-stat-num{ font-size: clamp(42px, 11vw, 56px); }
  .scroll-hint{ display: none; }

  .h-section{ font-size: clamp(32px, 8vw, 48px); }
  .lead{ font-size: clamp(17px, 4.5vw, 21px); }
  .eyebrow{ font-size: 10px; letter-spacing: 0.28em; }
  .section-center .eyebrow{ padding: 0 36px; }
  .section-center .eyebrow::before, .section-center .eyebrow::after{ width: 28px; }
  .eyebrow::before { width: 28px; }

  .nae-col h3{ font-size: 38px; }
  .nae-item{ font-size: 15.5px; padding: 18px 0; }
  .fecho-quote{ padding: 32px 28px; font-size: 19px; margin-top: 56px; }

  .porta{ padding: 40px 28px; }
  .porta h3{ font-size: clamp(22px, 5.5vw, 28px); margin-bottom: 24px; }
  .porta-list li{ font-size: 15px; padding: 16px 0; }

  .portais{ margin-top: 56px; }
  .portal{ padding: 40px 0; gap: 16px; }
  .portal-num{ font-size: clamp(80px, 22vw, 120px); line-height: 0.95; }
  .portal-num::after{ width: 40%; margin-top: 16px; }
  .portal h3{ font-size: clamp(28px, 7vw, 38px); margin-bottom: 18px; }
  .portal-desc{ font-size: 15.5px; }
  .portal-arq{ font-size: 10px; }

  .encontros{ margin-top: 56px; }
  .encontros::before{ left: 18px; }
  .encontro{ padding: 22px 0 22px 56px; }
  .enc-marker{ width: 48px; gap: 10px; top: 22px; }
  .enc-num{ width: 24px; font-size: 22px; }
  .enc-dot{ width: 7px; height: 7px; }
  .enc-title{ font-size: clamp(19px, 4.5vw, 22px); }
  .enc-mural{ font-size: 16px; padding: 14px 18px; }
  .encontro.rito{ padding: 36px 24px 36px 56px; }
  .encontro.rito .enc-num{ font-size: 32px; }
  .encontro.rito .enc-title{ font-size: clamp(22px, 5.5vw, 28px); }
  .enc-rito-frase{ font-size: 16px; }

  .pilar{ padding: 32px 24px; }
  .pilar h3{ font-size: 26px; }
  .pilar p{ font-size: 14.5px; }
  .pilar-gesto{ padding: 14px 16px; }
  .pilar-gesto p{ font-size: 15.5px; }
  .bridge{ margin: 64px auto 32px; }
  .arquetipos { grid-template-columns: 1fr 1fr; gap: 12px; }
  .arq{ padding: 28px 18px; }
  .arq h4{ font-size: 22px; }
  .arq p{ font-size: 13px; }

  .simbolo{ grid-template-columns: 1fr; text-align: center; padding: 28px 24px; }
  .simbolo-icon{ margin: 0 auto; }
  .simbolo h4{ font-size: 22px; }
  .simbolo-hero{ padding: 28px 24px; gap: 20px; flex-direction: column; text-align: center; }
  .simbolo-hero-text{ text-align: center; }
  .simbolo-hero-glyph{ width: 96px; height: 96px; }
  .buddy{ padding: 40px 28px; }
  .buddy h4{ font-size: 26px; }
  .buddy p{ font-size: 17px; }

  .pacto-intro p{ font-size: 16px; }
  .gesto-pacto{ padding: 36px 28px; margin: 56px auto; }
  .gesto-pacto p{ font-size: 19px; }
  .ancora{ padding: 32px 24px; }
  .ancora h4{ font-size: 24px; }
  .ancora p{ font-size: 14.5px; }

  .facilitadores{ margin-top: 56px; }
  .fac-name-overlay{ left: 24px; right: 24px; bottom: 18px; }
  .fac-name-overlay h3{ font-size: 30px; }
  .fac-titulo{ font-size: 14px; }
  .fac-body{ padding: 28px 24px 32px; }
  .fac-bio{ font-size: 14.5px; }
  .fac-quote{ font-size: 15.5px; padding: 16px 18px; }
  .ass{ padding: 28px 22px; }
  .ass-foto{ width: 120px; height: 120px; }

  .video-wrap, .rito-video{ margin-top: 56px; }
  .video-play{ width: 64px; height: 64px; }
  .video-play svg{ width: 26px; height: 26px; }
  .video-cta{ font-size: 11px; }
  .video-meta{ font-size: 14px; }
  .imagem-grupo{ margin-top: 56px; aspect-ratio: 16/10; }

  .secao-rito{ padding: clamp(96px, 18vw, 140px) var(--pad-x); }
  .chama{ width: 64px; height: 76px; margin-bottom: 40px; }
  .rito-ancora{ font-size: 16.5px; gap: 16px; }
  .fecho-rito{ margin-top: 72px; }
  .fecho-rito p{ font-size: clamp(24px, 7vw, 36px); }

  .invest-pilar{ padding: 32px 24px; }
  .invest-pilar h4{ font-size: 22px; }
  .invest-fecho-caixa{ padding: 28px 24px; }
  .invest-fecho-caixa p{ font-size: 16px; }

  .secao-convite{ padding: clamp(64px, 12vw, 96px) var(--pad-x); }
  .convite-header{ margin-bottom: 40px; }
  .convite-selo{ width: 48px; height: 48px; margin-bottom: 22px; }
  .convite-pergunta-1{ font-size: 18px; }
  .convite-pergunta-2{ font-size: clamp(32px, 9vw, 48px); }
  .passos{ padding: 40px 28px; }
  .passos-intro{ font-size: 17px; margin-bottom: 28px; }
  .conversa-aspecto{ gap: 16px; }
  .conversa-aspecto p{ font-size: 14.5px; padding-top: 6px; }
  .conversa-aspecto-icone{ width: 38px; height: 38px; }
  .btn-whatsapp{ padding: 20px 28px; font-size: 10px; letter-spacing: 0.22em; }
  .reverencia{ padding: 22px 26px; margin-top: 40px; }
  .reverencia p{ font-size: 15px; }
  .fecho-convite{ margin-top: 72px; }

  .modal-caixa{ padding: 48px 24px 36px; }
  .modal-titulo{ font-size: 28px; }
  .modal-conteudo{ font-size: 14px; }

  .footer-bottom{ flex-direction: column; text-align: center; gap: 18px; }
  .footer-legal{ justify-content: center; flex-wrap: wrap; }

  .float-whatsapp{ bottom: 16px; right: 16px; width: 52px; height: 52px; }
  .float-whatsapp svg{ width: 22px; height: 22px; }
}
@media (max-width: 480px){
  .nav-logo-sub{ display: none; }
  .hero-ctas{ flex-direction: column; align-items: stretch; }
  .btn{ justify-content: center; }
  .arquetipos { grid-template-columns: 1fr; }
  .footer-logo-completa{ max-width: 200px; }
  .bg-numeral{ font-size: clamp(180px, 50vw, 280px); }
}

/* Pause Rito particles when tab hidden */
.secao-rito.hidden-tab .chama,
.secao-rito.hidden-tab .brasa{ animation-play-state: paused; }
