:root {
--color-primary: #3A4739;
--color-secondary: #728C58;
--color-tertiary: #9BAA7F;
--color-quaternary: #B8C9A0;
--color-accent: #E37D2C;
--color-white: #ffffff;
--color-gray-light: #FCF9F3;
--color-gray: #6c757d;
--color-dark: #1C201D;
--color-sand: #EBE0C7;
--font-primary: 'Inter', sans-serif;
--transition: all 0.3s ease;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: var(--font-primary);
font-size: 1.125rem;
line-height: 1.7;
color: var(--color-dark);
background: var(--color-white);
overflow-x: hidden;
}

.navbar-fixed {
position: fixed;
top: 0;
width: 100%;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(16px);
border-bottom: 1px solid rgba(58, 71, 57, 0.1);
z-index: 1000;
padding: 1rem 0;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
transition: var(--transition);
}

.navbar-brand {
display: flex;
align-items: center;
gap: 0.75rem;
font-weight: 700;
font-size: 1.25rem;
color: var(--color-primary);
text-decoration: none;
}

.navbar-brand svg {
height: 36px;
width: auto;
transition: var(--transition);
}

.navbar-brand:hover svg {
filter: drop-shadow(0 0 8px rgba(227, 125, 44, 0.4));
}

.nav-link {
color: var(--color-dark);
font-weight: 500;
padding: 0.5rem 1rem;
transition: var(--transition);
text-decoration: none;
position: relative;
}

.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 2px;
background: var(--color-accent);
transition: var(--transition);
transform: translateX(-50%);
}

.nav-link:hover::after {
width: 80%;
}

.hero-section {
min-height: 100vh;
display: flex;
align-items: center;
padding: 11rem 0 6rem;
background: linear-gradient(135deg, rgba(114, 140, 88, 0.06) 0%, rgba(58, 71, 57, 0.1) 100%);
position: relative;
overflow: hidden;
}

.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: 
linear-gradient(rgba(58, 71, 57, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(58, 71, 57, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
pointer-events: none;
}

.hero-content h1 {
font-size: 3.5rem;
font-weight: 800;
line-height: 1.2;
margin-bottom: 1.5rem;
color: var(--color-primary);
}

.hero-content p {
font-size: 1.25rem;
color: var(--color-gray);
margin-bottom: 2rem;
}

.hero-visual img {
width: 100%;
border-radius: 12px;
box-shadow: 0 20px 60px rgba(58, 71, 57, 0.2);
}

.btn-primary {
background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
color: var(--color-dark);
padding: 1rem 2.5rem;
border: none;
border-radius: 8px;
font-weight: 600;
font-size: 1.125rem;
cursor: pointer;
transition: var(--transition);
text-decoration: none;
display: inline-block;
}

.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(227, 125, 44, 0.3);
}

.btn-secondary {
background: transparent;
color: var(--color-primary);
padding: 1rem 2.5rem;
border: 2px solid var(--color-primary);
border-radius: 8px;
font-weight: 600;
font-size: 1.125rem;
cursor: pointer;
transition: var(--transition);
text-decoration: none;
display: inline-block;
}

.btn-secondary:hover {
background: var(--color-primary);
color: var(--color-white);
}

.section-title {
font-size: 2.75rem;
font-weight: 800;
margin-bottom: 1.5rem;
color: var(--color-primary);
}

.section-subtitle {
font-size: 1.25rem;
color: var(--color-gray);
margin-bottom: 3rem;
}

.section-padding {
padding: 6rem 0;
}

.panel {
background: var(--color-sand);
border: 1px solid rgba(58, 71, 57, 0.15);
border-radius: 12px;
padding: 3rem;
transition: var(--transition);
}

.panel:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(58, 71, 57, 0.1);
}

.tab-container {
display: flex;
gap: 1rem;
margin-bottom: 2rem;
border-bottom: 2px solid var(--color-sand);
}

.tab-btn {
padding: 1rem 2rem;
background: transparent;
border: none;
font-size: 1.125rem;
font-weight: 600;
color: var(--color-gray);
cursor: pointer;
transition: var(--transition);
position: relative;
}

.tab-btn.active {
color: var(--color-primary);
}

.tab-btn.active::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
right: 0;
height: 2px;
background: var(--color-accent);
}

.tab-content {
display: none;
animation: fadeIn 0.3s ease;
}

.tab-content.active {
display: block;
}

@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}

.timeline-track {
display: flex;
gap: 2rem;
padding: 2rem 0;
position: relative;
}

.timeline-track::before {
content: '';
position: absolute;
    top: 22%;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-secondary), var(--color-accent));
transform: translateY(-50%);
z-index: 0;
}

.timeline-item {
flex: 1;
position: relative;
z-index: 1;
}

.timeline-marker {
width: 24px;
height: 24px;
background: var(--color-accent);
border-radius: 50%;
margin: 0 auto 1rem;
border: 4px solid var(--color-white);
box-shadow: 0 2px 8px rgba(227, 125, 44, 0.3);
}

.timeline-item h4 {
font-size: 1.125rem;
font-weight: 700;
color: var(--color-primary);
margin-bottom: 0.5rem;
text-align: center;
}

.timeline-item p {
font-size: 0.95rem;
color: var(--color-gray);
text-align: center;
}

.faq-item {
background: var(--color-white);
border: 1px solid rgba(58, 71, 57, 0.15);
border-radius: 8px;
margin-bottom: 1rem;
overflow: hidden;
transition: var(--transition);
}

.faq-question {
padding: 1.5rem 2rem;
font-size: 1.125rem;
font-weight: 600;
color: var(--color-primary);
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
transition: var(--transition);
}

.faq-question:hover {
background: var(--color-gray-light);
}

.faq-question::after {
content: '+';
font-size: 1.5rem;
font-weight: 400;
transition: var(--transition);
}

.faq-item.active .faq-question::after {
content: '−';
}

.faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}

.faq-answer.active {
max-height: 500px;
}

.faq-answer-content {
padding: 0 2rem 1.5rem 2rem;
color: var(--color-gray);
line-height: 1.7;
}

.form-group {
margin-bottom: 1.5rem;
}

.form-label {
display: block;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--color-dark);
}

.form-control {
width: 100%;
padding: 1rem;
border: 2px solid rgba(58, 71, 57, 0.15);
border-radius: 8px;
font-size: 1rem;
font-family: var(--font-primary);
transition: var(--transition);
background: var(--color-white);
}

.form-control:focus {
outline: none;
border-color: var(--color-accent);
box-shadow: 0 0 0 3px rgba(227, 125, 44, 0.1);
}

.error-message {
color: #dc3545;
font-size: 0.875rem;
margin-top: 0.5rem;
display: block;
}

.footer {
background: var(--color-primary);
color: var(--color-white);
padding: 4rem 0 2rem;
}

.footer-links {
list-style: none;
padding: 0;
}

.footer-links li {
margin-bottom: 0.75rem;
}

.footer-links a {
color: var(--color-white);
text-decoration: none;
opacity: 0.8;
transition: var(--transition);
}

.footer-links a:hover {
opacity: 1;
color: var(--color-accent);
}

.cookie-notice {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: var(--color-white);
border-top: 2px solid var(--color-accent);
box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
padding: 2rem;
z-index: 9999;
transform: translateY(100%);
transition: transform 0.3s ease;
display: none;
}

.cookie-notice.show {
transform: translateY(0);
}

.cookie-notice.hide {
transform: translateY(100%);
}

.slider-container {
position: relative;
width: 100%;
overflow: hidden;
border-radius: 12px;
}

.slider-wrapper {
display: flex;
transition: transform 0.5s ease;
}

.slider-item {
flex: 0 0 100%;
}

.slider-item img {
width: 100%;
border-radius: 12px;
}

.compare-slider {
position: relative;
width: 100%;
height: 500px;
overflow: hidden;
border-radius: 12px;
}

.compare-before,
.compare-after {
position: absolute;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
}

.compare-after {
clip-path: inset(0 50% 0 0);
}

@media (max-width: 768px) {
.hero-content h1 {
font-size: 2.5rem;
}

.section-title {
font-size: 2rem;
}

.timeline-track {
flex-direction: column;
}

.timeline-track::before {
width: 2px;
height: 100%;
left: 12px;
top: 0;
}

.timeline-marker {
margin: 0 0 1rem 0;
}

.timeline-item h4,
.timeline-item p {
text-align: left;
}
}

@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
