/* ============================================================
   BHAT ADVISORY — brand system
   Saffron & Silicon: Kashmir heritage × precision tech advisory
   ============================================================ */
/* Bunny Fonts — GDPR-compliant, EU-hosted drop-in for Google Fonts (no IP logging, no consent banner required) */
@import url('https://fonts.bunny.net/css?family=playfair-display:500,600,700,800|dm-sans:400,500,600,700|ibm-plex-mono:400,500,600&display=swap');

:root {
  --saffron: #E8650A;
  --navy: #1B3A5C;
  --navy-deep: #142C47;
  --navy-light: #2C5680;
  --green: #2D6A4F;
  --offwhite: #F6F6F6;
  --white: #FFFFFF;
  --charcoal: #3A3A3A;
  --grey: #888888;
  --line: #E2E2E2;
  --red-tint: #FBF0EC;
  --green-tint: #EEF5F1;

  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", "Helvetica Neue", sans-serif;
  --mono: "IBM Plex Mono", monospace;
}

deck-stage:not(:defined) { visibility: hidden; }

deck-stage > section {
  width: 1920px;
  height: 1080px;
  background: var(--white);
  color: var(--charcoal);
  font-family: var(--sans);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
deck-stage > section *, deck-stage > section *::before, deck-stage > section *::after { box-sizing: inherit; }

/* ---------- Slide chrome ---------- */
.slide-body {
  flex: 1;
  padding: 70px 110px 0 110px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.footer {
  height: 64px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 110px;
  font-family: var(--sans);
  font-size: 19px;
  color: var(--grey);
  letter-spacing: 0.04em;
}
.footer .f-left { display: flex; align-items: center; gap: 14px; }
.footer .f-num { font-family: var(--mono); }
.dark .footer { color: rgba(255,255,255,0.45); }

/* ---------- Wordmark ---------- */
.wordmark {
  font-family: var(--serif);
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--navy);
  font-size: 24px;
  line-height: 1;
  display: inline-block;
}
.wordmark .wm-rule {
  display: block;
  height: 3px;
  background: var(--saffron);
  margin-top: 8px;
  width: 100%;
}
.wordmark.on-dark { color: var(--white); }
.wordmark.saffron-text { color: var(--saffron); }

/* ---------- Type ---------- */
.kicker {
  font-family: var(--sans);
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--saffron);
  margin: 0 0 18px 0;
}
.headline {
  font-family: var(--serif);
  font-weight: 700;
  color: var(--navy);
  font-size: 64px;
  line-height: 1.12;
  margin: 0 0 16px 0;
  text-wrap: pretty;
  letter-spacing: -0.005em;
}
.headline .hl { color: var(--saffron); }
.subline {
  font-size: 27px;
  line-height: 1.45;
  color: var(--charcoal);
  margin: 0;
  max-width: 1400px;
  text-wrap: pretty;
}
.head-rule {
  width: 88px;
  height: 4px;
  background: var(--saffron);
  border: none;
  margin: 26px 0 0 0;
}
.src {
  font-family: var(--mono);
  font-size: 17px;
  color: var(--grey);
  letter-spacing: 0.01em;
}

/* ---------- Panels & tiles ---------- */
.stat-tile {
  background: var(--navy);
  color: var(--white);
  padding: 30px 34px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.stat-tile .n {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 58px;
  line-height: 1;
  color: var(--white);
}
.stat-tile .n em { font-style: normal; color: var(--saffron); }
.stat-tile .d {
  font-size: 21px;
  line-height: 1.4;
  color: rgba(255,255,255,0.82);
}
.callout-saffron {
  background: var(--saffron);
  color: var(--white);
  padding: 26px 40px;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
}
.callout-navy {
  background: var(--navy);
  color: var(--white);
  padding: 26px 40px;
  font-size: 26px;
  line-height: 1.45;
}

/* ---------- Tables ---------- */
table.ba { border-collapse: collapse; width: 100%; }
table.ba th {
  background: var(--navy);
  color: var(--white);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 21px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
  padding: 18px 24px;
}
table.ba td {
  font-size: 22px;
  line-height: 1.35;
  padding: 17px 24px;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
table.ba tr:nth-child(even) td { background: var(--offwhite); }

/* ---------- Entrance (gated, reduced-motion safe) ---------- */
@media (prefers-reduced-motion: no-preference) {
  [data-deck-active] .rise {
    animation: ba-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  [data-deck-active] .rise.r2 { animation-delay: 0.12s; }
  [data-deck-active] .rise.r3 { animation-delay: 0.24s; }
}
@keyframes ba-rise {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
