/* =============================================================
   MIRAI — Global Tokens + Header
   Font: Montserrat body · Cormorant Garamond display
   Palette: White canvas · Amaranth red · Cool Gray
   ============================================================= */

/* ===== BLOCK: Size-matched fallback fonts =====
   Shown until the Google fonts arrive. Scaled to the brand fonts'
   measured width (Cormorant = 88.5% of Georgia, Montserrat = 113% of
   Arial) so text doesn't rewrap — and the page doesn't jump — on swap. */
@font-face {
  font-family: 'Cormorant Fallback';
  src: local('Georgia');
  size-adjust: 88.5%;
}

@font-face {
  font-family: 'Montserrat Fallback';
  src: local('Arial');
  size-adjust: 113%;
}

/* ===== BLOCK: Design Tokens (global — applied at :root) ===== */
:root {
  --void:       #080810;
  --void-2:     #10101C;
  --void-3:     #18182A;
  --void-4:     #222238;
  --red:        #DB324D;    /* Amaranth — action / CTA / accent */
  --red-dark:   #B81E3B;
  --gray:       #8D99AE;    /* Cool Gray — muted UI */
  --gray-light: #D1D7E2;
  --yellow:     #F8FCDA;    /* Light Yellow — editorial surface / cards */
  --honeydew:   #EFF8E2;
  --white:      #FFFFFF;
  --blue-gray:  #4D5568;
  --text-dark:  #1a1a1a;
  --text-body:  #374151;

  --ff-display: 'Cormorant Garamond', 'Cormorant Fallback', Georgia, serif;
  --ff-body:    'Montserrat', 'Montserrat Fallback', system-ui, sans-serif;
}

/* ===== BLOCK: Global reset & base ===== */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
}

body {
  font-family: var(--ff-body);
  background-color: var(--white);
  color: var(--text-dark);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ===== BLOCK: Header shell — transparent until scrolled ===== */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: transparent;
  border-bottom: 0.5px solid transparent;
  padding: 0 2.5rem;
  height: 56px;
  display: flex;
  align-items: center;
  transition: background 0.35s ease, border-color 0.35s ease,
              backdrop-filter 0.35s ease;
}

/* ===== BLOCK: Inner container (matches hero max-width) ===== */
.header-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* ===== BLOCK: Logo group ===== */
.header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* ===== BLOCK: Sticky / scrolled state (applied by stickynav.js) ===== */
#header.sticky {
  background: rgba(8, 8, 16, 0.97);
  border-bottom-color: rgba(141, 153, 174, 0.15);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
