@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Nunito:wght@400;600;700;800&display=swap');

:root {
  --color-bg: #FCFCFC;
  --color-text: #113426;
  --color-accent: #E85D22;
  --color-accent-hover: #C94812;
  --color-card-bg: #FFFFFF;
  --color-secondary-bg: #EEF2EF; /* Light sage green for alternating sections */
  
  --font-heading: 'Libre Baskerville', serif;
  --font-body: 'Nunito', sans-serif;
}

body {
  margin: 0;
  background-color: var(--color-bg);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M226.5 92.9c14.3 7.3 22.8 23 21 38.6l-5.1 44.5c-2.4 20.8-22.1 34.6-42.3 29.5l-43.2-10.9C137 189.7 127 172.5 131 155.1l9.1-40.4c4.6-20.5 25.8-31.9 44.9-24.2l41.5 16.8zm130 0l41.5-16.8c19.1-7.7 40.3 3.7 44.9 24.2l9.1 40.4c4 17.4-6 34.6-25.9 39.5l-43.2 10.9c-20.2 5.1-39.9-8.7-42.3-29.5l-5.1-44.5c-1.8-15.6 6.7-31.3 21-38.6zm-208 191.6l-41.5 16.8C87.9 309 76.5 330.2 84.2 349.3l16.8 41.5c7.7 19.1 28.9 30.5 48 22.8l41.5-16.8c19.1-7.7 30.5-28.9 22.8-48l-16.8-41.5c-7.7-19.1-28.9-30.5-48-22.8zm215.1 0c-19.1-7.7-40.3 3.7-48 22.8l-16.8 41.5c-7.7 19.1 3.7 40.3 22.8 48l41.5 16.8c19.1 7.7 40.3-3.7 48-22.8l16.8-41.5c7.7-19.1-3.7-40.3-22.8-48l-41.5-16.8zm-99.3-88.7c-36.9-3.7-74 15.3-91.8 49.3L153.2 284c-15.4 29.3-6.4 65.5 20.6 83.9l46.2 31.5c24.5 16.7 57.6 16.7 82.1 0l46.2-31.5c27-18.4 36-54.6 20.6-83.9l-19.2-36.9c-17.8-34-54.9-53-91.8-49.3z" fill="%23113426" fill-opacity="0.04"/></svg>');
  background-size: 300px;
  background-attachment: fixed;
  color: var(--color-text);
  font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--color-text);
  margin-top: 0;
}

a {
  color: var(--color-accent);
  transition: color 0.3s ease;
}

a:hover {
  color: var(--color-accent-hover);
}

/* Premium Buttons */
.btn-primary {
  display: inline-block;
  background: var(--color-accent);
  color: #FFF;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 999px;
  text-decoration: none;
  border: none;
  box-shadow: 0 8px 24px rgba(217, 138, 108, 0.25);
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(217, 138, 108, 0.35);
  background: var(--color-accent-hover);
  color: #FFF;
}

/* Navbar Mobile Hamburger Styles */
.mobile-menu-btn {
  display: block;
  background: none;
  border: none;
  font-size: 36px;
  cursor: pointer;
  color: var(--color-text);
  padding: 0 8px;
}
.nav-links {
  display: none !important;
  width: 100%;
  flex-direction: column;
  padding: 16px 0;
  gap: 12px !important;
}
.nav-links[data-open="true"] { display: flex !important; }
.nav-book-btn {
  margin: 16px 0 0 0 !important;
  width: 100%;
  text-align: center;
}
.nav-logo { height: 60px !important; }

.btn-secondary {
  display: inline-block;
  background: var(--color-card-bg);
  color: var(--color-text);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(44, 74, 59, 0.15);
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn-secondary:hover {
  background: var(--color-secondary-bg);
  transform: translateY(-2px);
}

/* Cards & Sections */
.card {
  background: var(--color-card-bg);
  border: 1px solid rgba(44, 74, 59, 0.08);
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 10px 30px rgba(44, 74, 59, 0.04);
  transition: all 0.4s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(44, 74, 59, 0.08);
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.fade-in-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }

/* Sections */
.section-light {
  background: transparent;
  padding: 80px 24px;
}

.section-alt {
  background: var(--color-secondary-bg);
  padding: 80px 24px;
}

.section-dark {
  background: var(--color-text);
  color: var(--color-bg);
  padding: 80px 24px;
}

.section-dark h1, .section-dark h2, .section-dark h3, .section-dark p {
  color: var(--color-bg);
}
