:root {
  /* Palette: #C0392B (Red), #2C3D4F (Dark Blue), #EAE4D5 (Warm Grey/Beige), #F39C12 (Orange) */
  --primary-color: #C0392B;
  --secondary-color: #2C3D4F;
  --accent-color: #F39C12;
  --light-color: #EAE4D5;
  --dark-color: #1A1A1A;
  --background-color: #FDFDFD;
  --text-color: #212121;
  --highlight-color: #FFE600;
  
  --border-color: #D7DBDD;
  --shadow-color: rgba(192, 57, 43, 0.2);
  
  --main-font: 'Open Sans', sans-serif;
  --heading-font: 'Montserrat', sans-serif;
}

body {
  font-family: var(--main-font);
  color: var(--text-color);
  background-color: var(--background-color);
}

h1, h2, h3, h4, .btn-active {
  font-family: var(--heading-font);
  text-transform: uppercase;
}

/* Dynamic Lines Pattern */
.bg-pattern {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40' stroke='%23C0392B' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  pointer-events: none;
}

.btn-active {
  background: var(--primary-color);
  color: white;
  border-radius: 50px;
  box-shadow: 0 10px 20px -5px var(--shadow-color);
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-active:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 25px -5px var(--shadow-color);
  background: #a93226;
}

.card-dynamic {
  background: white;
  border-bottom: 3px solid var(--primary-color);
  transition: all 0.3s;
}
.card-dynamic:hover {
  background: var(--secondary-color);
  color: white;
}
.card-dynamic:hover h4 {
  color: var(--accent-color);
}
.card-dynamic:hover svg {
  color: white;
}