/* Agriculture parallax — homepage hero + harvest band */

.agri-parallax,
.agri-parallax-band {
    --ap-green: #16852d;
    --ap-bright: #45c72f;
    --ap-lime: #8fe83c;
    --ap-ink: #f7faf3;
    --ap-muted: rgba(247, 250, 243, .78);
    --title-font: inherit;
}

.agri-parallax *,
.agri-parallax *::before,
.agri-parallax *::after,
.agri-parallax-band *,
.agri-parallax-band *::before,
.agri-parallax-band *::after {
    box-sizing: border-box;
}

.agri-parallax a,
.agri-parallax-band a {
    font: inherit;
}

/* ── Hero ── */
.agri-parallax {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 0;
    padding: 0 !important;
    color: var(--ap-ink);
    background: #06140b;
    font-family: inherit;
}

.agri-parallax__viewport {
    position: relative;
    overflow: hidden;
    min-height: clamp(620px, calc(100svh - 148px), 920px);
    height: calc(100svh - 148px);
}

.agri-parallax__field {
    position: absolute;
    inset: -8% -6%;
    z-index: 1;
    will-change: transform;
    pointer-events: none;
}

.agri-parallax__field img {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center 55%;
}

.agri-parallax__shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(6, 20, 11, .62) 0%, rgba(6, 20, 11, .28) 42%, rgba(6, 20, 11, .08) 68%, rgba(6, 20, 11, .2) 100%),
        linear-gradient(180deg, rgba(6, 20, 11, .22) 0%, transparent 28%, transparent 58%, rgba(6, 20, 11, .55) 100%);
}

.agri-parallax__card {
    position: absolute;
    z-index: 4;
    overflow: hidden;
    margin: 0;
    border: 2px solid rgba(255, 255, 255, .78);
    border-radius: 18px;
    background: rgba(12, 32, 16, .2);
    box-shadow: 0 18px 40px rgba(6, 20, 11, .28);
    pointer-events: none;
    will-change: transform;
}

.agri-parallax__card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.agri-parallax__card figcaption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    left: 10px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .55);
}

.agri-parallax__card--soil {
    top: 16%;
    right: 6%;
    width: clamp(96px, 10vw, 128px);
    height: clamp(122px, 13vw, 160px);
    animation: agriFloat 8s ease-in-out infinite;
}

.agri-parallax__card--seeds {
    top: 42%;
    right: 18%;
    width: clamp(120px, 12vw, 150px);
    height: clamp(88px, 9vw, 108px);
    animation: agriFloat 10s ease-in-out 1.2s infinite;
}

.agri-parallax__card--sun {
    right: 7%;
    bottom: 18%;
    width: clamp(92px, 9vw, 120px);
    height: clamp(92px, 9vw, 120px);
    animation: agriFloat 9s ease-in-out .6s infinite;
}

.agri-parallax__copy {
    --ap-y: -52%;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 6;
    width: min(620px, calc(100% - 42vw));
    max-width: 620px;
    margin-left: clamp(24px, 7vw, 96px);
    transform: translate3d(0, var(--ap-y), 0);
}

.agri-parallax__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 32px;
    margin-bottom: 18px;
    padding: 0 14px 0 10px;
    border: 1px solid rgba(143, 232, 60, .35);
    border-radius: 999px;
    background: rgba(8, 28, 14, .38);
    color: var(--ap-lime);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.agri-parallax__eyebrow i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ap-lime);
    box-shadow: 0 0 10px var(--ap-lime);
    animation: agriPulse 2.2s ease-out infinite;
}

.agri-parallax__title {
    margin: 0 0 16px !important;
    color: #fff !important;
    font-family: var(--title-font, inherit);
    font-size: clamp(40px, 5.2vw, 68px) !important;
    font-weight: 700 !important;
    letter-spacing: -.04em;
    line-height: 1.02 !important;
    text-transform: none !important;
    text-shadow: 0 12px 40px rgba(0, 0, 0, .35);
}

.agri-parallax__body {
    max-width: 34rem;
    margin: 0 0 28px;
    color: var(--ap-muted);
    font-size: clamp(16px, 1.2vw, 19px);
    line-height: 1.6;
    text-shadow: 0 6px 20px rgba(0, 0, 0, .4);
}

.agri-parallax__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.agri-parallax__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}

.agri-parallax__cta--primary {
    color: #fff !important;
    background: linear-gradient(115deg, #16852d 0%, #45c72f 55%, #8fe83c 100%);
    box-shadow: 0 14px 32px rgba(69, 199, 47, .35);
}

.agri-parallax__cta--primary b {
    font-weight: 500;
}

.agri-parallax__cta--ghost {
    border: 1.5px solid rgba(255, 255, 255, .55);
    color: #fff !important;
    background: rgba(8, 24, 12, .28);
    backdrop-filter: blur(8px);
}

.agri-parallax__cta:hover,
.agri-parallax__cta:focus-visible {
    transform: translateY(-2px);
    color: #fff !important;
}

.agri-parallax__cta--primary:hover,
.agri-parallax__cta--primary:focus-visible {
    box-shadow: 0 18px 36px rgba(69, 199, 47, .48);
}

.agri-parallax__hint {
    position: absolute;
    right: 0;
    bottom: 22px;
    left: 0;
    z-index: 6;
    display: grid;
    gap: 8px;
    justify-items: center;
    color: rgba(247, 250, 243, .78) !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.agri-parallax__hint i {
    width: 18px;
    height: 28px;
    border: 1.5px solid rgba(255, 255, 255, .5);
    border-radius: 999px;
}

.agri-parallax__hint i::after {
    display: block;
    width: 4px;
    height: 4px;
    margin: 6px auto 0;
    border-radius: 50%;
    background: #fff;
    content: "";
    animation: agriScrollDot 1.6s ease-in-out infinite;
}

/* ── Harvest band ── */
.agri-parallax-band {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(320px, 46vw, 460px);
    margin: 0;
    padding: 0 !important;
    color: #fff;
}

.agri-parallax-band .jarallax-img {
    object-fit: cover;
}

.agri-parallax-band__veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(6, 20, 11, .45), rgba(6, 20, 11, .62)),
        radial-gradient(ellipse at 50% 40%, rgba(69, 199, 47, .18), transparent 60%);
}

.agri-parallax-band__inner {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: min(860px, calc(100% - 10vw));
    min-height: inherit;
    margin: 0 auto;
    padding: 72px 0;
    text-align: center;
}

.agri-parallax-band__mark {
    width: 22px;
    height: 12px;
    margin-bottom: 22px;
    border: 1.6px solid var(--ap-lime);
    border-radius: 100% 0 100% 0;
    transform: rotate(-35deg);
}

.agri-parallax-band__quote {
    margin: 0 0 16px;
    color: #fff;
    font-family: var(--title-font, inherit);
    font-size: clamp(28px, 3.4vw, 44px);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1.2;
}

.agri-parallax-band__caption {
    margin: 0;
    color: rgba(247, 250, 243, .72);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.agri-parallax-band--compact {
    min-height: clamp(260px, 34vw, 380px);
}

.agri-parallax-band--compact .agri-parallax-band__inner {
    padding: 56px 0;
}

.agri-parallax-band--compact .agri-parallax-band__quote {
    font-size: clamp(24px, 3vw, 38px);
}

/* ── Page-wide field atmosphere ── */
.agri-page-fx {
    position: fixed;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    mix-blend-mode: multiply;
}

.agri-page-fx__leaf,
.agri-page-fx__seed {
    position: absolute;
    will-change: transform;
}

.agri-page-fx__leaf {
    width: 18px;
    height: 10px;
    border: 1.5px solid rgba(22, 133, 45, .42);
    border-radius: 100% 0 100% 0;
    opacity: .38;
}

.agri-page-fx__leaf--1 { top: 18%; left: 6%; }
.agri-page-fx__leaf--2 { top: 36%; right: 8%; width: 22px; height: 12px; opacity: .28; }
.agri-page-fx__leaf--3 { top: 58%; left: 12%; width: 14px; height: 8px; }
.agri-page-fx__leaf--4 { top: 72%; right: 16%; }
.agri-page-fx__leaf--5 { top: 12%; left: 48%; width: 16px; height: 9px; opacity: .22; }
.agri-page-fx__leaf--6 { top: 84%; left: 38%; width: 20px; height: 11px; }

.agri-page-fx__seed {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #8fe83c;
    box-shadow: 0 0 10px rgba(143, 232, 60, .55);
    opacity: .35;
}

.agri-page-fx__seed--1 { top: 24%; left: 22%; }
.agri-page-fx__seed--2 { top: 48%; right: 24%; }
.agri-page-fx__seed--3 { top: 66%; left: 70%; background: #e7c46a; }
.agri-page-fx__seed--4 { top: 80%; right: 42%; }

[data-parallax],
[data-parallax-img] {
    will-change: transform;
}

/* ── Motion ── */
@keyframes agriFloat {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -10px; }
}

@keyframes agriPulse {
    70% { box-shadow: 0 0 0 8px rgba(143, 232, 60, 0); }
}

@keyframes agriScrollDot {
    0%, 100% { translate: 0 0; opacity: .4; }
    50% { translate: 0 10px; opacity: 1; }
}

.agri-parallax.is-ready .agri-parallax__intro,
.agri-parallax.is-ready .agri-parallax__card,
.agri-parallax.is-ready .agri-parallax__hint {
    opacity: 0;
}

.agri-parallax.is-ready .agri-parallax__intro,
.agri-parallax.is-ready .agri-parallax__hint {
    transform: translateY(22px);
}

.agri-parallax.is-visible .agri-parallax__intro,
.agri-parallax.is-visible .agri-parallax__card,
.agri-parallax.is-visible .agri-parallax__hint {
    opacity: 1;
    transition: opacity .9s cubic-bezier(.16, 1, .3, 1);
}

.agri-parallax.is-visible .agri-parallax__intro,
.agri-parallax.is-visible .agri-parallax__hint {
    transform: none;
    transition: opacity .9s cubic-bezier(.16, 1, .3, 1), transform .9s cubic-bezier(.16, 1, .3, 1);
}

.agri-parallax.is-visible .agri-parallax__card--seeds { transition-delay: .12s; }
.agri-parallax.is-visible .agri-parallax__card--sun { transition-delay: .2s; }
.agri-parallax.is-visible .agri-parallax__hint { transition-delay: .35s; }

@media (max-width: 900px) {
    .agri-parallax__viewport {
        height: calc(100svh - 88px);
        min-height: calc(100svh - 88px);
    }
    .agri-parallax__copy {
        --ap-y: 0px;
        top: auto;
        bottom: 92px;
        width: min(100% - 40px, 640px);
        max-width: none;
        margin-left: 20px;
        transform: none;
    }
    .agri-parallax__title { font-size: clamp(34px, 9vw, 46px) !important; }
    .agri-parallax__card--soil { top: 14%; right: 16px; }
    .agri-parallax__card--seeds { top: auto; right: 16px; bottom: 28%; }
    .agri-parallax__card--sun { display: none; }
}

@media (max-width: 600px) {
    .agri-parallax__card { display: none; }
    .agri-parallax__cta { width: 100%; }
    .agri-parallax__actions { width: min(100%, 320px); }
    .agri-page-fx__leaf--5,
    .agri-page-fx__leaf--6,
    .agri-page-fx__seed--3,
    .agri-page-fx__seed--4 { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .agri-page-fx { display: none; }

    .agri-parallax *,
    .agri-parallax *::before,
    .agri-parallax *::after,
    .agri-parallax-band * {
        animation: none !important;
        transition: none !important;
    }

    .agri-parallax.is-ready .agri-parallax__intro,
    .agri-parallax.is-ready .agri-parallax__card,
    .agri-parallax.is-ready .agri-parallax__hint,
    .agri-parallax.is-visible .agri-parallax__intro,
    .agri-parallax.is-visible .agri-parallax__card,
    .agri-parallax.is-visible .agri-parallax__hint {
        opacity: 1;
        transform: none;
    }
}
