@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
  /* Random Colors: #D35400, #C0392B, #2C3E50, #EAE4D5 */
  --primary-color: #D35400; /* Pumpkin Orange */
  --secondary-color: #A04000; /* Dark Orange */
  --accent-color: #C0392B; /* Red */
  --light-color: #FDF2E9; /* Very Light Orange */
  --dark-color: #2C3E50; /* Dark Blue Gray */
  
  --gradient-primary: linear-gradient(90deg, #D35400 0%, #C0392B 100%);
  --hover-color: #E67E22;
  --background-color: #FFFFFF;
  --text-color: #34495E;
  
  --border-color: rgba(211, 84, 0, 0.2);
  --divider-color: rgba(192, 57, 43, 0.1);
  --shadow-color: rgba(44, 62, 80, 0.1);
  --highlight-color: #F39C12;
  
  --main-font: 'Montserrat', sans-serif;
  --alt-font: 'Lato', sans-serif;
}

body { font-family: var(--alt-font); color: var(--text-color); background-color: var(--background-color); }
h1, h2, h3 { font-family: var(--main-font); letter-spacing: -0.5px; }

/* Styles */
.glass-effect { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.2); }
.btn-action { background: var(--dark-color); color: white; padding: 15px 30px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s; border-radius: 4px; }
.btn-action:hover { background: var(--primary-color); box-shadow: 0 10px 20px rgba(211, 84, 0, 0.3); }

.feature-box { border-bottom: 3px solid var(--primary-color); transition: 0.3s; padding: 2rem; }
.feature-box:hover { background: var(--light-color); transform: translateY(-5px); }

/* Timeline */
.timeline-step { display: flex; margin-bottom: 2rem; align-items: flex-start; }
.step-number { background: var(--gradient-primary); color: white; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-weight: bold; margin-right: 15px; flex-shrink: 0; }

/* Mobile Menu */
#mobile-menu-check { display: none; }
@media (max-width: 768px) {
    .menu-links { max-height: 0; overflow: hidden; position: absolute; top: 70px; left: 0; right: 0; background: var(--dark-color); flex-direction: column; transition: max-height 0.3s ease-out; }
    #mobile-menu-check:checked ~ .menu-links { max-height: 300px; padding: 20px 0; }
    .menu-links li { text-align: center; padding: 10px 0; }
    .menu-icon { display: block; font-size: 24px; cursor: pointer; color: white; }
}
@media (min-width: 769px) { .menu-icon { display: none; } }