/* ═══════════════════════════════════════════════════════════════════
   BASE — Reset, body, container, shared utilities
═══════════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
  transition: background 0.5s ease, color 0.5s ease;
}

/* Smooth transitions on all elements for theme switching */
* { transition: background-color 0.5s ease, border-color 0.5s ease, color 0.4s ease; }
img, canvas, svg { transition: none; }

.container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

/* ── Buttons ── */
.btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--bg); background: var(--primary);
  padding: 14px 26px; border-radius: 4px;
  text-decoration: none; border: none; cursor: pointer;
}
.btn-primary:hover { filter: brightness(1.1); transform: translateY(-2px); }

.btn-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--primary); background: transparent;
  padding: 14px 26px; border-radius: 4px;
  text-decoration: none; border: 1px solid var(--border2); cursor: pointer;
}
.btn-secondary:hover { border-color: var(--primary); transform: translateY(-2px); }

/* ── Scroll reveal ── */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.d1 { transition-delay: 0.1s; }
.d2 { transition-delay: 0.2s; }
.d3 { transition-delay: 0.3s; }
.d4 { transition-delay: 0.4s; }

/* ── Section common ── */
section { padding: 96px 0; }

.sec-eye {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 4px; text-transform: uppercase; color: var(--primary-dim);
  margin-bottom: 14px;
}
.sec-eye::before { content: ''; display: block; width: 32px; height: 1px; background: var(--primary-dim); }

.sec-title {
  font-family: var(--font-head);
  font-size: clamp(32px, 4vw, 52px); font-weight: 700;
  line-height: 1.05; text-transform: uppercase; color: var(--text);
  margin-bottom: 18px;
}
.sec-title .a { color: var(--primary); }
.sec-title .i { font-style: italic; color: var(--secondary); }

.sec-desc {
  font-family: var(--font-body); font-size: 16px;
  color: var(--text-dim); line-height: 1.75; max-width: 500px;
}

/* ── Language visibility ── */
[data-lang="en"]      .t-hi, [data-lang="en"]      .t-hl { display: none; }
[data-lang="hi"]      .t-en, [data-lang="hi"]      .t-hl { display: none; }
[data-lang="hinglish"].t-en, [data-lang="hinglish"].t-hi { display: none; }

/* ── Live pulse dot ── */
.live-dot {
  display: inline-block; width: 6px; height: 6px;
  background: #4CAF50; border-radius: 50%;
  margin-right: 3px;
  animation: livePulse 1.4s ease-in-out infinite;
}
@keyframes livePulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }
