@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400&display=swap");

:root {
  --kh-navy:        #0D1B2A;
  --kh-navy-light:  #1A2E42;
  --kh-yellow:      #F5C518;
  --kh-yellow-dark: #E0B310;
  --kh-forest:      #2D4A3E;
  --kh-cream:       #F5F0E8;
  --kh-sage:        #6B8F71;
  --kh-stone:       #C8BFA8;
  --kh-parchment:   #EDE8DC;
  --kh-slate:       #4A5568;
  --kh-chalk:       #FAFAF7;
  --font-display:   "Cormorant Garamond", Georgia, serif;
  --font-sans:      "DM Sans", system-ui, -apple-system, sans-serif;
  --font-mono:      "DM Mono", ui-monospace, Menlo, monospace;
  --ease: cubic-bezier(.2,.6,.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--kh-navy);
  color: var(--kh-cream);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; }
::selection { background: var(--kh-yellow); color: var(--kh-navy); }
.kh-card-hover:hover { background: var(--kh-navy-light) !important; }

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

/* Ticker */
@keyframes kh-ticker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.kh-ticker-track {
  animation: kh-ticker 30s linear infinite;
  width: max-content;
  display: flex;
  align-items: center;
}
.kh-ticker-track:hover { animation-play-state: paused; }
