/* LUMEN subpage motion - word reveal, scroll, 3D hero */

/* Word-by-word reveal */
[data-reveal-words] .word {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.4em);
  transition: opacity 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay: calc(var(--wi, 0) * 32ms);
}
[data-reveal-words][data-inview="true"] .word {
  opacity: 1;
  transform: translateY(0);
}

/* Generic reveal */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}
[data-reveal][data-inview="true"] { opacity: 1; transform: translateY(0); }

/* Stagger sub-cards */
.sub-card, .sub-stat, .market-tier, .calc-row, .partner-pillar, .arch-layer {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay: calc(var(--i, 0) * 80ms);
}
.sub-card[data-inview="true"],
.sub-stat[data-inview="true"],
.market-tier[data-inview="true"],
.calc-row[data-inview="true"],
.partner-pillar[data-inview="true"],
.arch-layer[data-inview="true"] {
  opacity: 1;
  transform: translateY(0);
}

/* ========== Investor page ========== */
.investor {
  background: #0a0d12;
  color: #f7e4cf;
}
.investor .chrome { background: rgba(10,13,18,0.85); backdrop-filter: blur(12px); }
.investor .chrome,
.investor .chrome a,
.investor .chrome .brand__mark { color: #f7e4cf; }
.investor .nav a { color: rgba(247,228,207,0.7); }
.investor .nav a:hover, .investor .nav a[aria-current="page"] { color: #f7e4cf; }
.investor .lang-switch button { color: rgba(247,228,207,0.7); border-color: rgba(247,228,207,0.2); background: transparent; }
.investor .lang-switch button[aria-pressed="true"] { color: #0a0d12; background: #f7e4cf; }

/* Investor hero */
.inv-hero {
  position: relative;
  min-height: 100vh;
  padding: clamp(120px, 16vw, 200px) 0 clamp(64px, 8vw, 120px);
  overflow: hidden;
  isolation: isolate;
}
.inv-hero__bg {
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(ellipse 70% 50% at 50% 30%, rgba(214,135,72,0.18), transparent 70%),
    radial-gradient(ellipse 90% 60% at 50% 100%, rgba(214,135,72,0.10), transparent 70%);
}
.inv-hero__grid {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(247,228,207,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(247,228,207,0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black, transparent);
}
.inv-hero__grid::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 30% 30% at 50% 50%, rgba(214,135,72,0.18), transparent);
  animation: inv-pulse 6s ease-in-out infinite alternate;
}
@keyframes inv-pulse { from { opacity: 0.4; } to { opacity: 1; } }

.inv-hero__eyebrow {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.28em;
  text-transform: uppercase; color: rgba(214,135,72,0.95);
  margin-bottom: 28px; display: block;
}
.inv-hero__h1 {
  font-family: var(--font-sans); font-weight: 250;
  font-size: clamp(48px, 8vw, 120px); line-height: 0.96;
  letter-spacing: -0.028em; margin: 0 0 32px; max-width: 18ch;
  text-wrap: balance; color: #f7e4cf;
}
.inv-hero__h1 em {
  font-family: var(--font-serif); font-style: italic; font-weight: 300;
  color: rgba(214,135,72,0.95);
}
.inv-hero__lede {
  font-family: var(--font-serif); font-style: italic;
  font-size: clamp(20px, 1.8vw, 28px); line-height: 1.5;
  color: rgba(247,228,207,0.75); max-width: 64ch; margin: 0 0 48px;
  text-wrap: pretty;
}
.inv-hero__meta {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px; max-width: 900px;
  border-top: 1px solid rgba(247,228,207,0.12);
  padding-top: 32px;
}
.inv-hero__meta-cell {
  display: flex; flex-direction: column; gap: 6px;
}
.inv-hero__meta-k {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em;
  text-transform: uppercase; color: rgba(247,228,207,0.5);
}
.inv-hero__meta-v {
  font-family: var(--font-sans); font-weight: 300; font-size: 22px;
  color: #f7e4cf;
}

/* Block scaffold (dark) */
.inv-block {
  padding: clamp(80px, 12vw, 160px) 0;
  border-top: 1px solid rgba(247,228,207,0.08);
  position: relative;
}
.inv-block__num {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.24em;
  text-transform: uppercase; color: rgba(214,135,72,0.95);
}
.inv-block__title {
  font-family: var(--font-sans); font-weight: 250;
  font-size: clamp(36px, 5vw, 64px); line-height: 1.04;
  letter-spacing: -0.022em; margin: 16px 0 24px; max-width: 22ch;
  text-wrap: balance; color: #f7e4cf;
}
.inv-block__lede {
  font-family: var(--font-serif); font-style: italic;
  font-size: clamp(18px, 1.4vw, 22px); line-height: 1.55;
  color: rgba(247,228,207,0.75); max-width: 64ch; margin: 0 0 64px;
}

/* Market math: tier cards */
.market-grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-bottom: 48px;
}
.market-tier {
  padding: 32px;
  border: 1px solid rgba(247,228,207,0.12);
  background: rgba(247,228,207,0.02);
  position: relative;
  overflow: hidden;
}
.market-tier::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: rgba(214,135,72,0.95);
  transform: scaleY(0); transform-origin: top; transition: transform 0.8s 0.2s ease;
}
.market-tier[data-inview="true"]::before { transform: scaleY(1); }
.market-tier__label {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em;
  text-transform: uppercase; color: rgba(214,135,72,0.95);
  margin-bottom: 16px; display: block;
}
.market-tier__count {
  font-family: var(--font-sans); font-weight: 200;
  font-size: clamp(48px, 5vw, 72px); line-height: 1;
  color: #f7e4cf; margin: 0 0 12px;
  letter-spacing: -0.02em;
}
.market-tier__unit {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: rgba(247,228,207,0.55);
  margin: 0 0 24px;
}
.market-tier__note {
  font-family: var(--font-serif); font-size: 14px; line-height: 1.55;
  color: rgba(247,228,207,0.7); margin: 0;
}

/* Calculation flow */
.calc-flow {
  display: grid; gap: 0;
  border: 1px solid rgba(247,228,207,0.12);
  background: rgba(247,228,207,0.02);
}
.calc-row {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 24px; padding: 24px 32px;
  border-bottom: 1px solid rgba(247,228,207,0.08);
  align-items: center;
}
.calc-row:last-child { border-bottom: 0; background: rgba(214,135,72,0.08); }
.calc-row__op {
  font-family: var(--font-mono); font-size: 14px;
  color: rgba(214,135,72,0.95); width: 32px;
  text-align: center;
}
.calc-row__label {
  font-family: var(--font-sans); font-size: 16px;
  color: #f7e4cf;
}
.calc-row__sub {
  font-family: var(--font-serif); font-size: 13px; font-style: italic;
  color: rgba(247,228,207,0.55); margin-top: 4px;
}
.calc-row__value {
  font-family: var(--font-sans); font-weight: 250;
  font-size: clamp(22px, 2.2vw, 32px);
  color: #f7e4cf; letter-spacing: -0.01em;
  text-align: right; min-width: 200px;
}
.calc-row:last-child .calc-row__value { color: rgba(214,135,72,1); font-weight: 300; }

/* Partner pillars */
.partner-grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.partner-pillar {
  padding: 36px;
  border: 1px solid rgba(247,228,207,0.12);
  background: rgba(247,228,207,0.02);
  position: relative;
}
.partner-pillar__num {
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em;
  color: rgba(214,135,72,0.95); margin-bottom: 16px; display: block;
}
.partner-pillar__title {
  font-family: var(--font-sans); font-weight: 400;
  font-size: 22px; line-height: 1.2; color: #f7e4cf;
  margin: 0 0 16px;
}
.partner-pillar__body {
  font-family: var(--font-serif); font-size: 15px; line-height: 1.6;
  color: rgba(247,228,207,0.75); margin: 0;
}

/* Architecture layer diagram */
.arch-stack {
  display: flex; flex-direction: column;
  border: 1px solid rgba(247,228,207,0.12);
  background: rgba(247,228,207,0.02);
}
.arch-layer {
  display: grid; grid-template-columns: 80px 1fr 1.4fr;
  gap: 24px; padding: 32px;
  border-bottom: 1px solid rgba(247,228,207,0.08);
  align-items: center;
  position: relative;
  transition: background 0.3s ease;
}
.arch-layer:last-child { border-bottom: 0; }
.arch-layer:hover { background: rgba(214,135,72,0.05); }
.arch-layer__num {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.2em;
  color: rgba(214,135,72,0.95);
}
.arch-layer__name {
  font-family: var(--font-sans); font-weight: 400; font-size: 18px;
  color: #f7e4cf;
}
.arch-layer__desc {
  font-family: var(--font-serif); font-size: 14px; line-height: 1.55;
  color: rgba(247,228,207,0.7);
}
.arch-layer.is-partner {
  background: rgba(214,135,72,0.06);
  border-left: 3px solid rgba(214,135,72,0.95);
}
.arch-layer.is-partner .arch-layer__num,
.arch-layer.is-partner .arch-layer__name { color: rgba(214,135,72,1); }

/* Big stat row */
.big-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0;
  border-top: 1px solid rgba(247,228,207,0.12);
  border-left: 1px solid rgba(247,228,207,0.12);
}
.big-stat {
  padding: 40px;
  border-right: 1px solid rgba(247,228,207,0.12);
  border-bottom: 1px solid rgba(247,228,207,0.12);
  display: flex; flex-direction: column; gap: 12px;
}
.big-stat__v {
  font-family: var(--font-sans); font-weight: 200;
  font-size: clamp(40px, 4.5vw, 64px); line-height: 1;
  color: #f7e4cf; letter-spacing: -0.02em;
}
.big-stat__k {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; color: rgba(247,228,207,0.55);
}
.big-stat__sub {
  font-family: var(--font-serif); font-size: 13px; line-height: 1.5;
  color: rgba(247,228,207,0.7); font-style: italic;
}

/* CTA dark */
.inv-cta {
  padding: clamp(80px, 12vw, 160px) 0;
  border-top: 1px solid rgba(247,228,207,0.12);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.inv-cta::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 40% at 50% 50%, rgba(214,135,72,0.12), transparent);
  pointer-events: none;
}
.inv-cta__h {
  font-family: var(--font-sans); font-weight: 250;
  font-size: clamp(36px, 5vw, 64px); line-height: 1.05;
  margin: 0 0 24px; color: #f7e4cf; max-width: 22ch; margin-inline: auto;
  text-wrap: balance;
}
.inv-cta__sub {
  font-family: var(--font-serif); font-style: italic;
  font-size: 18px; color: rgba(247,228,207,0.6); margin: 0 0 40px;
}
.inv-cta .btn {
  background: rgba(214,135,72,0.95); color: #0a0d12;
  border: none; padding: 18px 36px;
  font-family: var(--font-sans); font-weight: 500; letter-spacing: 0.04em;
  font-size: 15px;
  text-decoration: none; display: inline-block;
  transition: transform 0.3s ease, background 0.3s ease;
}
.inv-cta .btn:hover { transform: translateY(-2px); background: rgba(214,135,72,1); }

/* Investor footer override */
.investor .footer {
  background: #060810;
  color: rgba(247,228,207,0.7);
  border-top: 1px solid rgba(247,228,207,0.08);
}
.investor .footer h4, .investor .footer .footer__brand { color: #f7e4cf; }
.investor .footer a { color: rgba(247,228,207,0.7); }
.investor .footer a:hover { color: #f7e4cf; }

/* 3D-feel hero visual */
.inv-hero__visual {
  position: relative;
  margin-top: 72px;
  height: 360px;
  perspective: 1200px;
  transform-style: preserve-3d;
}
.inv-hero__visual-stage {
  position: relative; width: 100%; height: 100%;
  transform: rotateX(calc(var(--ty, 0) * -8deg)) rotateY(calc(var(--tx, 0) * 12deg));
  transition: transform 0.4s ease;
  transform-style: preserve-3d;
}
.inv-globe {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 320px; height: 320px;
  border-radius: 50%;
  border: 1px solid rgba(247,228,207,0.15);
  background: radial-gradient(circle at 35% 35%, rgba(214,135,72,0.18), transparent 70%);
}
.inv-globe::before, .inv-globe::after {
  content: ''; position: absolute; inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(247,228,207,0.08);
}
.inv-globe::before { transform: rotateX(60deg); }
.inv-globe::after { transform: rotateY(60deg); }
.inv-globe-orbit {
  position: absolute; inset: -40px;
  border-radius: 50%;
  border: 1px dashed rgba(247,228,207,0.10);
  animation: orbit-spin 60s linear infinite;
}
@keyframes orbit-spin { to { transform: rotate(360deg); } }
.inv-globe-orbit-2 {
  position: absolute; inset: -80px;
  border-radius: 50%;
  border: 1px dashed rgba(214,135,72,0.18);
  animation: orbit-spin 90s linear infinite reverse;
}
.inv-globe-pin {
  position: absolute; width: 6px; height: 6px;
  background: rgba(214,135,72,0.95);
  border-radius: 50%;
  box-shadow: 0 0 16px rgba(214,135,72,0.95);
  animation: inv-blink 2.4s ease-in-out infinite;
}
@keyframes inv-blink { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } }
