﻿:root {
    --brand-green: #043A0D;
    --brand-yellow: #FBD417;
    --brand-orange: #EA7F12;
    --brand-white: #FFFFFF;
    --charcoal: #043A0D;
    --charcoal-soft: #0b4a18;
    --gold: #FBD417;
    --gold-dark: #EA7F12;
    --green: #043A0D;
    --blue: #043A0D;
    --off-white: #f7f8f5;
    --white: #FFFFFF;
    --muted: #5f6f61;
    --border: rgba(4, 58, 13, 0.08);
    --primary: var(--brand-orange);
    --secondary: var(--brand-yellow);
    --brand-accent: var(--brand-green);
    --shadow-soft: 0 10px 24px rgba(4, 58, 13, 0.08);
    --shadow-medium: 0 12px 30px rgba(4, 58, 13, 0.12);
    --shadow-strong: 0 18px 45px rgba(4, 58, 13, 0.16);
    --shadow: var(--shadow-strong);
    --radius-sm: 12px;
    --radius-md: 18px;
    --radius: 22px;
    --radius-lg: 30px;
    --radius-pill: 999px;
    --space-xs: 8px;
    --space-sm: 12px;
    --space-md: 18px;
    --space-lg: 24px;
    --space-xl: 40px;
    --space-2xl: 60px;
    --space-3xl: 84px;
    --transition-fast: 0.2s ease;
    --transition-medium: 0.3s ease;
    --transition-slow: 0.4s ease;
    --max-width: 1180px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Argo Nova", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--charcoal);
    background: #f8faf7;
    line-height: 1.6;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

    img:not([src]),
    img[src=""] {
        visibility: hidden;
    }

a {
    color: inherit;
    text-decoration: none;
}

    a:hover {
        color: var(--brand-orange);
    }

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -0.02em;
    line-height: 1.05;
    color: var(--brand-green);
}

h1 {
    max-width: 850px;
    font-size: clamp(2.65rem, 7vw, 5.4rem);
}

p {
    line-height: 1.7;
    color: var(--charcoal-soft);
}

.hero h1,
.section-heading h2,
.cta-band h2 {
    font-weight: 900;
}

.hero h1 {
    max-width: 12ch;
}

input,
select,
textarea {
    border: 1px solid rgba(4, 58, 13, 0.14);
    border-radius: 14px;
    padding: 13px 14px;
    font: inherit;
    background: var(--white);
}

    input:focus,
    select:focus,
    textarea:focus {
        outline: none;
        border-color: var(--brand-orange);
        box-shadow: 0 0 0 4px rgba(234, 127, 18, 0.14);
    }

textarea {
    min-height: 96px;
    resize: vertical;
}

section {
    position: relative;
    padding: var(--space-3xl) 0;
}

    section + section {
        border-top: 1px solid rgba(4, 58, 13, 0.04);
    }

summary {
    cursor: pointer;
    font-weight: 850;
    font-size: 1.05rem;
}

details {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 19px 22px;
}

    details + details {
        margin-top: var(--space-sm);
    }

    details p {
        margin-top: var(--space-sm);
        color: var(--muted);
    }

.card-image img,
.image-panel img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
