/* Isaiah Adegoke - Official Brand Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..800;1,9..144,300..800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --navy: #0B192C;
  --burgundy: #5E0D1B;
  --burgundy-dark: #430913;
  --gold: #C5A059;
  --gold-light: #DFCA98;
  --parchment: #F9F7F2;
  --offwhite: #F9FAFB;
  --text-main: #0B192C;
  --font-heading: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-family: var(--font-body);
  color: var(--navy);
  background-color: var(--parchment);
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Typography */
.font-heading {
  font-family: var(--font-heading);
}

.font-body {
  font-family: var(--font-body);
}

/* Custom Colors Utilities */
.bg-navy { background-color: var(--navy); }
.bg-burgundy { background-color: var(--burgundy); }
.bg-burgundy-dark { background-color: var(--burgundy-dark); }
.bg-gold { background-color: var(--gold); }
.bg-parchment { background-color: var(--parchment); }
.bg-offwhite { background-color: var(--offwhite); }

.text-navy { color: var(--navy); }
.text-burgundy { color: var(--burgundy); }
.text-gold { color: var(--gold); }
.text-gold-light { color: var(--gold-light); }

.border-navy { border-color: var(--navy); }
.border-burgundy { border-color: var(--burgundy); }
.border-gold { border-color: var(--gold); }

/* Hairline accent line */
.hairline {
  height: 1px;
  background: linear-gradient(90deg, rgba(197, 160, 89, 0.15) 0%, rgba(197, 160, 89, 0.8) 50%, rgba(197, 160, 89, 0.15) 100%);
  width: 100%;
}

/* Scroll reveal animation */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Left scroll progress line */
#scroll-indicator {
  transition: height 0.1s ease-out;
}

/* 3D Book Mockup Styling */
.book-mockup-wrapper {
  perspective: 1200px;
  display: inline-block;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.book-mockup-wrapper:hover {
  transform: translateY(-8px) scale(1.02);
}

.book-3d-shadow {
  box-shadow: 
    0 20px 40px -15px rgba(11, 25, 44, 0.35),
    0 0 0 1px rgba(197, 160, 89, 0.25),
    0 10px 20px -10px rgba(94, 13, 27, 0.2);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--parchment);
}
::-webkit-scrollbar-thumb {
  background: #C5A059;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #5E0D1B;
}

/* Modal and Drawer backdrop */
.modal-backdrop {
  background-color: rgba(11, 25, 44, 0.75);
  backdrop-filter: blur(6px);
}

/* Pulse animation for active audio indicator */
@keyframes audioWave {
  0%, 100% { height: 6px; }
  50% { height: 22px; }
}

.wave-bar-1 { animation: audioWave 0.9s ease-in-out infinite 0.1s; }
.wave-bar-2 { animation: audioWave 0.9s ease-in-out infinite 0.3s; }
.wave-bar-3 { animation: audioWave 0.9s ease-in-out infinite 0.5s; }
.wave-bar-4 { animation: audioWave 0.9s ease-in-out infinite 0.2s; }
