/* CSS Reset */
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, p, ul, table { margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; line-height: 1.6; color: #333; }

/* Variables */
:root {
    --primary: #0a5c36;
    --secondary: #d4af37;
    --accent: #c1272d;
    --light: #f8f9fa;
    --dark: #1e2a38;
    --gray: #6c757d;
    --container: 1200px;
    --gap: 2rem;
    --radius: 8px;
    --shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Layout */
.container {
    width: 90%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 3rem 0;
}

.section { padding: 4rem 0; }
.grid { display: grid; gap: var(--gap); }
.card { background: white; padding: 2rem; border-radius: var(--radius); box-shadow: var(--shadow); }

/* Typography */
h1 { font-size: 2.5rem; margin-bottom: 1.5rem; color: var(--dark); }
h2 { font-size: 1.8rem; margin-bottom: 1rem; color: var(--primary); }
p { margin-bottom: 1.25rem; font-size: 1.1rem; }

/* Header/Hero */
#hero {
    background: linear-gradient(rgba(10, 92, 54, 0.9), rgba(10, 92, 54, 0.8)), url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="600" viewBox="0 0 1200 600"><rect width="1200" height="600" fill="%230a5c36"/></svg>');
    color: white;
    text-align: center;
    padding: 5rem 0;
}
#hero h1 { font-size: 3rem; color: white; }

/* Buttons */
.cta {
    display: inline-block;
    background: var(--secondary);
    color: var(--dark);
    padding: 0.8rem 2.5rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1rem;
    margin: 1.5rem 0;
    transition: all 0.3s ease;
}
.cta:hover {
    background: #e6c448;
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

/* Sections */
#benefits .grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

#pricing table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
}
#pricing th, #pricing td {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
#pricing th { background: var(--primary); color: white; }
#pricing tr:nth-child(even) { background: #f2f9f5; }

#shipping .process {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    text-align: center;
}

#how-to-order .steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}
.step-card {
    background: white;
    padding: 2rem;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    text-align: center;
}

#faq .faq-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}
#faq h2 { font-size: 1.3rem; }

#support .contact-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

/* Footer */
footer {
    background: var(--dark);
    color: white;
    text-align: center;
    padding: 3rem 0;
}
footer img { margin-bottom: 1.5rem; }
.legal {
    font-size: 0.9rem;
    max-width: 700px;
    margin: 1rem auto;
    color: #aaa;
}

/* Responsive */
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    #hero h1 { font-size: 2.2rem; }
    .container { padding: 2rem 0; }
    .section { padding: 3rem 0; }
}
@media (max-width: 480px) {
    body { font-size: 16px; }
    h1 { font-size: 1.8rem; }
    .cta { display: block; margin: 1rem auto; }
}