/* Variant 2: style.css */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');

:root {
  --primary-color: #337357;
  --secondary-color: #5CB338;
  --accent-color: #FFC145;
  --light-color: #ECE852;
  --dark-color: #1A3A2B;
  --gradient-primary: linear-gradient(135deg, #337357 0%, #5CB338 100%);
  --hover-color: #E0A800;
  --background-color: #F8FBF8;
  --text-color: #2D3748;
  --border-color: rgba(51, 115, 87, 0.2);
  --divider-color: rgba(92, 179, 56, 0.2);
  --shadow-color: rgba(51, 115, 87, 0.15);
  --highlight-color: #D35400;
  --main-font: 'Lora', serif;
  --alt-font: 'Roboto', sans-serif;
}

body { font-family: var(--alt-font); background-color: var(--background-color); color: var(--text-color); margin: 0; line-height: 1.6; }
h1, h2, h3, h4, h5, h6 { font-family: var(--main-font); color: var(--primary-color); }
a { color: var(--primary-color); text-decoration: none; }
.hover\:text-underline:hover { text-decoration: underline; color: var(--accent-color); }

.glass-panel { 
    background: rgba(255, 255, 255, 0.85); 
    backdrop-filter: blur(10px); 
    border: 1px solid var(--border-color); 
    box-shadow: 8px 8px 20px var(--shadow-color), -8px -8px 20px #ffffff; 
    border-radius: 16px; 
}

.btn { 
    background: var(--primary-color); 
    color: #ffffff !important; 
    padding: 16px 32px; 
    border-radius: 40px; 
    display: inline-block; 
    font-weight: 700; 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); 
    box-shadow: 0 4px 15px rgba(51, 115, 87, 0.4); 
}
.btn:hover { background: var(--secondary-color); transform: translateY(-3px); box-shadow: 0 8px 20px rgba(92, 179, 56, 0.5); }

section { padding-top: 10dvh; padding-bottom: 10dvh; }
.hero { min-height: 75vh; background: linear-gradient(rgba(248, 251, 248, 0.75), rgba(248, 251, 248, 0.75)), url('./img/bg.jpg') no-repeat center center/cover; display: flex; align-items: center; }

.hamburger { display: none; }
.nav-menu ul { display: flex; gap: 25px; list-style: none; margin: 0; padding: 0; }
header { display: flex; justify-content: space-between; align-items: center; padding: 20px 5%; background-color: var(--primary-color); color: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
header a { color: #fff; }
footer { display: flex; justify-content: space-between; align-items: center; padding: 50px 5%; background-color: var(--primary-color); color: #fff; flex-wrap: wrap; }
footer a { color: #fff; }

@media (max-width: 768px) {
    .nav-menu { display: none; width: 100%; }
    .nav-menu ul { flex-direction: column; width: 100%; text-align: center; padding-top: 20px; }
    .hamburger { display: block; font-size: 30px; cursor: pointer; color: #fff; }
    header { flex-wrap: wrap; }
    #menu-toggle:checked ~ .nav-menu { display: block; }
    footer { flex-direction: column; gap: 25px; text-align: center; }
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.flex-wrap { display: flex; flex-wrap: wrap; gap: 20px; }
.w-50 { width: calc(50% - 10px); }
.w-40 { width: calc(40% - 10px); }
.w-60 { width: calc(60% - 10px); }

@media (max-width: 768px) { .w-50, .w-40, .w-60 { width: 100%; } }

input, textarea { width: 100%; padding: 14px; margin-bottom: 15px; border-radius: 10px; border: 1px solid var(--border-color); background: #fff; color: var(--text-color); box-shadow: inset 2px 2px 5px rgba(0,0,0,0.03); }
input:focus, textarea:focus { outline: none; border-color: var(--secondary-color); box-shadow: 0 0 0 3px rgba(92, 179, 56, 0.2); }

.timeline { border-left: 3px dashed var(--secondary-color); padding-left: 30px; margin-left: 20px; }
.timeline-item { position: relative; margin-bottom: 40px; }
.timeline-item::before { content: '\f00c'; font-family: 'Font Awesome 5 Free'; font-weight: 900; position: absolute; left: -45px; top: 5px; color: #fff; background: var(--secondary-color); border-radius: 50%; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; font-size: 12px; border: 3px solid var(--background-color); }

.divider { height: 3px; background: var(--gradient-primary); width: 60px; margin: 0 auto; display: block; border-radius: 3px; }
.text-center { text-align: center; }

details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }