﻿:root {
    --ink: #263d34;
    --muted: #6f7d76;
    --green: #3f6f57;
    --green-deep: #587967;
    --lime: #8eaa7c;
    --blue: #6f92a0;
    --violet: #928da5;
    --orange: #b97956;
    --line: #dfe6e1;
    --soft: #f5f8f5;
    --white: #fff;
    --page: min(1280px, calc(100% - 80px));
    --ease: cubic-bezier(.2, .75, .25, 1);
}

/* Product matrix, protected library and account access */
.footer-logo {
    display: block;
    width: min(190px, 72%);
    height: auto;
    margin-bottom: 22px;
}

.document-list--protected .document span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #39745a;
    font-weight: 650;
}

.document-list--protected .document-status-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(57,116,90,.26);
    border-radius: 50%;
    color: currentColor;
    flex: 0 0 48px;
}

.document-list--protected .document-status-icon svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.document-access-note { margin: 14px 0 22px; color: #75837c; font-size: .72rem; }

.usage-matrix {
    overflow: hidden;
    border: 1px solid rgba(48,111,77,.18);
    border-radius: 18px 54px 18px 18px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(38,59,50,.06);
}

.usage-matrix__bar {
    min-height: 66px;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #fff;
    background: #39745a;
}

.usage-matrix__bar strong { font-size: .78rem; letter-spacing: .025em; }
.usage-matrix__bar span { color: rgba(255,255,255,.74); font-size: .63rem; }
.usage-matrix .product-usage-table-wrap { border: 0; border-radius: 0; }
.usage-matrix .product-usage-table td:nth-last-child(-n+3) { background: #f8faf8; }
.product-usage-table td b { display: block; color: #263b32; font-size: 1rem; font-weight: 650; }
.product-usage-table td small { display: block; margin-top: 3px; color: #85928b; font-size: .55rem; }
.usage-matrix .product-usage-notes { margin: 0; padding: 17px 28px; background: #f3f7f4; }

.usage-guidance {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.usage-guidance article {
    min-height: 180px;
    padding: 30px;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 22px;
    border: 1px solid rgba(48,111,77,.14);
    border-radius: 15px 38px 15px 15px;
    background: #f8faf8;
}

.usage-guidance article > span { color: #87a295; font-size: .62rem; font-weight: 700; }
.usage-guidance h3 { margin: 0 0 12px; color: #263b32; font-size: 1rem; font-weight: 650; }
.usage-guidance p { margin: 0; color: #6b7972; font-size: .76rem; line-height: 1.75; }

.auth-shell {
    min-height: calc(100vh - 88px);
    padding: 96px clamp(24px, 6vw, 88px);
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #f4f8f5 0%, #fff 55%, #edf4ef 100%);
}

.auth-panel {
    width: min(1080px, 100%);
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(390px, .7fr);
    align-items: center;
    gap: clamp(55px, 9vw, 130px);
}

.auth-panel__intro h1 { margin: 12px 0 24px; color: #263b32; font-size: clamp(3rem, 5vw, 5.4rem); line-height: .94; letter-spacing: -.065em; }
.auth-panel__intro > h1:first-child { margin-top: 0; }
.auth-panel__intro h1 em { color: #417960; font-weight: 400; }
.auth-panel__intro > p:last-child { max-width: 500px; color: #697870; line-height: 1.75; }
.auth-card { padding: 42px; border: 1px solid rgba(48,111,77,.16); border-radius: 18px 48px 18px 18px; background: rgba(255,255,255,.94); box-shadow: 0 30px 80px rgba(38,59,50,.08); }
.auth-google { min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 13px; border: 1px solid rgba(38,59,50,.2); border-radius: 999px; color: #263b32; font-size: .76rem; font-weight: 650; }
.auth-google span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(38,59,50,.17); border-radius: 50%; font-weight: 700; }
.auth-divider { margin: 26px 0; display: flex; align-items: center; gap: 14px; color: #8b9791; font-size: .6rem; }
.auth-divider::before,.auth-divider::after { content: ""; height: 1px; flex: 1; background: rgba(48,111,77,.13); }
.auth-card form { display: grid; gap: 18px; }
.auth-card label:not(.check) { display: grid; gap: 8px; color: #4f6258; font-size: .66rem; font-weight: 650; }
.auth-card input:not([type="checkbox"]) { min-height: 48px; padding: 0 2px; border: 0; border-bottom: 1px solid rgba(48,111,77,.24); border-radius: 0; background: transparent; color: #263b32; outline: none; }
.auth-card input:focus { border-color: #39745a; }
.auth-card label small { color: #8a9790; font-weight: 400; }
.auth-card .check { color: #718078; font-size: .64rem; }
.auth-card .button { width: 100%; justify-content: center; }
.auth-switch { margin: 24px 0 0; color: #738079; text-align: center; font-size: .68rem; }
.auth-switch a { color: #39745a; font-weight: 700; }

@media (max-width: 820px) {
    .auth-panel { grid-template-columns: 1fr; gap: 42px; }
    .auth-panel__intro { text-align: center; }
    .auth-panel__intro > p:last-child { margin-inline: auto; }
    .usage-guidance { grid-template-columns: 1fr; }
}

/* Dynamic catalog filters */
.solutions-page .solutions-shell {
    width: min(var(--solutions-max), calc(100% - clamp(72px, 7vw, 104px)));
}

.solutions-toolbar {
    padding: clamp(32px, 3.4vw, 44px);
}

.solutions-toolbar .solutions-family-all {
    --tag-accent: #2f493d;
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    color: var(--tag-accent);
    background: #fff;
    border: 1px solid rgba(47,73,61,.24);
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 650;
}

.solutions-family-all span { display: inline-flex; align-items: center; gap: 10px; }
.solutions-family-all span::before {
    content: "";
    width: 6px;
    height: 6px;
    background: currentColor;
    border-radius: 50%;
}
.solutions-family-all small { color: #7a8881; font-size: .62rem; }
.solutions-toolbar .solutions-family-all:hover,
.solutions-toolbar .solutions-family-all[aria-pressed="true"] {
    color: #fff;
    background: #2f493d;
    border-color: #2f493d;
    transform: translateY(-1px);
}
.solutions-family-all[aria-pressed="true"] small { color: rgba(255,255,255,.72); }

.solutions-category-select option[hidden] { display: none; }
.solutions-filter-status {
    min-height: 16px;
    margin: 12px 0 -12px;
    color: #728178;
    font-size: .65rem;
    text-align: right;
}
.solutions-toolbar__clear { visibility: hidden; opacity: 0; transition: opacity .2s ease; }
.solutions-toolbar__clear.is-visible { visibility: visible; opacity: 1; }
.has-dynamic-filters .solutions-toolbar > .solutions-toolbar__fields > button[type="submit"] { display: none; }
.has-dynamic-filters .solutions-toolbar__fields { grid-template-columns: minmax(200px, 1.25fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(170px, 1fr) auto; }

[data-catalog-results] {
    transition: opacity .24s ease, transform .32s var(--ease), filter .24s ease;
}
[data-catalog-results].is-filtering {
    opacity: .42;
    transform: translateY(8px);
    filter: blur(2px);
    pointer-events: none;
}

.solutions-product-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 22px;
}
.solutions-product-grid > .solution-product-card {
    flex: 0 1 calc((100% - 44px) / 3);
}
.solutions-product-grid > .solutions-empty-state { flex: 1 1 100%; }
.solutions-product-grid .solution-product-card {
    transition: opacity .48s ease, transform .58s var(--ease);
}

/* External account and protected product documents */
.document.is-locked {
    color: #7d8882;
    background: linear-gradient(90deg, transparent, rgba(48,111,77,.025));
}
.document.is-locked span { color: #718078; }
.document-access-note {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 18px 0 28px;
    padding: 20px 22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    color: #66766e;
    background: linear-gradient(118deg, #f7faf8 0%, #edf5f0 100%);
    border: 1px solid rgba(48,111,77,.18);
    border-radius: 18px 44px 18px 18px;
    box-shadow: 0 18px 50px rgba(37,77,56,.07);
    font-size: .72rem;
}
.document-access-note::after {
    content: "";
    width: 180px;
    height: 180px;
    position: absolute;
    z-index: -1;
    right: -92px;
    bottom: -112px;
    border: 1px solid rgba(48,111,77,.11);
    border-radius: 45% 55% 62% 38%;
}
.document-access-note__copy p { max-width: 360px; margin: 0; line-height: 1.55; }
.document-access-note__copy strong { display: block; margin-bottom: 5px; color: #263b32; font-size: .82rem; }
.document-access-note > a {
    min-height: 42px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    background: #39745a;
    border: 1px solid #39745a;
    border-radius: 999px;
    font-weight: 700;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.document-access-note > a:hover,
.document-access-note > a:focus-visible { background: #2c6249; box-shadow: 0 10px 26px rgba(44,98,73,.2); transform: translateY(-2px); }
.document-session-state {
    margin: 11px 0 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #63786d;
    font-size: .68rem;
    font-weight: 650;
}
.document-session-state span {
    width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    color: #fff;
    background: #39745a;
    border-radius: 50%;
    font-size: .62rem;
}

.account-shell {
    min-height: calc(100vh - 82px);
    padding: clamp(92px, 10vw, 150px) clamp(28px, 7vw, 96px);
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #f8faf8 0%, #eef5f0 100%);
}
.account-dashboard {
    width: min(1040px, 100%);
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(48,111,77,.14);
    border-radius: 28px 84px 28px 28px;
    box-shadow: 0 28px 90px rgba(37,77,56,.08);
}
.account-dashboard__intro,
.account-dashboard__access { padding: clamp(42px, 6vw, 78px); }
.account-dashboard__intro { background: #315f49; color: #fff; }
.account-dashboard__intro .eyebrow { color: rgba(255,255,255,.65); }
.account-dashboard__intro h1 { margin: 38px 0 18px; font-size: clamp(3.2rem, 6vw, 5.6rem); line-height: .92; letter-spacing: -.065em; }
.account-dashboard__intro h1 em { color: #dcebdd; font-weight: 400; }
.account-dashboard__intro > p:last-child { color: rgba(255,255,255,.72); }
.account-status { display: inline-flex; align-items: center; gap: 9px; font-size: .74rem; font-weight: 650; }
.account-status i { width: 8px; height: 8px; background: #bfe4c4; border-radius: 50%; box-shadow: 0 0 0 5px rgba(191,228,196,.14); }
.account-dashboard__access h2 { margin: 16px 0 34px; color: #263b32; font-size: clamp(2.6rem, 4.6vw, 4.4rem); line-height: .98; letter-spacing: -.06em; }
.account-access-list { margin-bottom: 38px; display: grid; border-top: 1px solid rgba(48,111,77,.14); }
.account-access-list span { padding: 18px 0; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(48,111,77,.14); color: #52635a; }
.account-access-list b { width: 25px; height: 25px; display: grid; place-items: center; color: #39745a; background: #edf5ef; border-radius: 50%; }
.account-dashboard__access form { display: inline-block; margin-left: 18px; }
.account-logout { padding: 12px 0; color: #718078; background: transparent; border: 0; border-bottom: 1px solid rgba(48,111,77,.22); cursor: pointer; }

@media (max-width: 980px) {
    .solutions-product-grid > .solution-product-card { flex-basis: calc((100% - 22px) / 2); }
    .has-dynamic-filters .solutions-toolbar__fields { grid-template-columns: 1fr 1fr; }
    .solutions-toolbar__clear { grid-column: 1 / -1; justify-self: end; }
}

@media (max-width: 720px) {
    .solutions-page .solutions-shell { width: min(100% - 40px, var(--solutions-max)); }
    .solutions-toolbar { padding: 24px; }
    .has-dynamic-filters .solutions-toolbar__fields { grid-template-columns: 1fr; }
    .solutions-product-grid > .solution-product-card { flex-basis: 100%; }
    .document-access-note { grid-template-columns: 1fr; padding: 21px; gap: 13px; border-radius: 16px 36px 16px 16px; }
    .document-access-note > a { width: 100%; justify-content: space-between; }
    .account-dashboard { grid-template-columns: 1fr; border-radius: 22px 52px 22px 22px; }
    .account-dashboard__access form { display: block; margin: 14px 0 0; }
}

@media (prefers-reduced-motion: reduce) {
    [data-catalog-results],
    .solutions-product-grid .solution-product-card { transition: none; }
}

@media (max-width: 720px) {
    .product-usage-table-wrap { overflow: visible; }
    .product-usage-table { min-width: 0; }
    .product-usage-table thead { display: none; }
    .product-usage-table tbody { padding: 12px; display: grid; gap: 12px; }
    .product-usage-table tr { padding: 20px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px 12px; border: 1px solid rgba(48,111,77,.14); border-radius: 13px 28px 13px 13px; }
    .product-usage-table td { padding: 0; display: block; border: 0 !important; background: transparent !important; font-size: .7rem; }
    .product-usage-table td::before { content: attr(data-label); margin-bottom: 5px; display: block; color: #8b9790; font-size: .5rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
    .product-usage-table td:nth-child(-n+3) { grid-column: 1 / -1; }
    .product-usage-table td:nth-child(3) { padding-bottom: 14px; border-bottom: 1px solid rgba(48,111,77,.12) !important; }
    .usage-matrix__bar { padding: 0 20px; }
    .usage-matrix { border-radius: 14px 34px 14px 14px; }
    .usage-guidance article { padding: 24px 20px; }
    .auth-shell { padding: 72px 20px; }
    .auth-card { padding: 28px 22px; border-radius: 14px 34px 14px 14px; }
}

* { box-sizing: border-box; }
html { height: 100%; scroll-behavior: smooth; }
body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; margin: 0; padding: 0; color: var(--ink); background: var(--white); font-family: "Poppins", "Segoe UI", Arial, sans-serif; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.home-page { overflow-x: hidden; }
main { flex: 1 0 auto; width: 100%; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.container { width: var(--page); margin-inline: auto; }

.scroll-progress { position: fixed; top: 0; left: 0; width: 100%; height: 2px; z-index: 100; pointer-events: none; }
.scroll-progress span { display: block; height: 100%; width: 100%; background: var(--green); transform: scaleX(0); transform-origin: left; }

.site-header { position: relative; z-index: 50; height: 86px; padding: 0 max(32px, calc((100vw - 1380px) / 2)); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); transition: height .35s var(--ease), box-shadow .35s ease, background .35s ease; }
.site-header--home { position: absolute; top: 0; left: 0; right: 0; background: transparent; border- }
.site-header.is-scrolled { position: fixed; height: 72px; top: 0; left: 0; right: 0; background: rgba(255,255,255,.92); border-color: rgba(19,37,31,.08); box-shadow: 0 12px 40px rgba(9,45,29,.07); backdrop-filter: blur(18px); }
.brand img { width: 174px; height: auto; filter: brightness(0) saturate(100%) invert(27%) sepia(29%) saturate(1315%) hue-rotate(104deg) brightness(88%); }
.primary-nav { display: flex; align-items: center; gap: 30px; }
.primary-nav a, .nav-link { position: relative; padding: 12px 0; color: #31413a; font-size: .79rem; font-weight: 650; letter-spacing: .035em; background: none; border: 0; cursor: pointer; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 6px; height: 1px; background: var(--green); transition: right .3s var(--ease); }
.primary-nav a:hover::after, .primary-nav a.active::after { right: 0; }
.primary-nav form { margin: 0; }
.nav-toggle { display: none; }

@media (min-width: 821px) {
    .site-header { justify-content: center; }
    .brand { position: absolute; left: max(32px, calc((100vw - 1380px) / 2)); top: 50%; transform: translateY(-50%); }
    .primary-nav .nav-account-wrapper, .primary-nav > .nav-account-link:not(.mega-trigger) { position: absolute; right: max(32px, calc((100vw - 1380px) / 2)); top: 50%; transform: translateY(-50%); margin: 0; }
    .primary-nav .nav-account-wrapper .nav-account-link { position: relative; right: auto; top: auto; transform: none; }
}

.science-hero { min-height: 100svh; width: var(--page); margin: 0 auto; padding: 150px 0 78px; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, .78fr); align-items: center; gap: clamp(50px, 8vw, 130px); position: relative; isolation: isolate; }
.science-grid { position: absolute; inset: 0; z-index: -2; opacity: .45; background-image: linear-gradient(rgba(10,84,48,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(10,84,48,.055) 1px, transparent 1px); background-size: 84px 84px; mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 76%, transparent); }
.science-hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -240px; top: 5%; border-radius: 50%; border: 1px solid rgba(8,122,69,.12); box-shadow: 0 0 0 90px rgba(8,122,69,.025), 0 0 0 180px rgba(8,122,69,.018); z-index: -1; }
.hero-ambient { position: absolute; z-index: -1; pointer-events: none; filter: blur(.1px); }
.hero-ambient--one { width: 44vw; height: 32vw; min-width: 560px; min-height: 420px; right: -18vw; bottom: -5vw; background: rgba(113,184,46,.075); border-radius: 63% 37% 59% 41% / 42% 61% 39% 58%; }
.hero-ambient--two { width: 260px; height: 390px; left: 37%; top: 8%; border: 1px solid rgba(8,122,69,.11); border-radius: 49% 51% 66% 34% / 38% 59% 41% 62%; }
.micro-label { margin: 0 0 26px; display: flex; align-items: center; gap: 20px; color: var(--green); font-size: .67rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.micro-label span + span { color: #8b9690; }
.micro-label span + span::before { content: ""; display: inline-block; width: 32px; height: 1px; margin: 0 12px 3px 0; background: #c7d0ca; }
.science-hero h1, .research-intro h2, .solutions-sticky h2, .featured-flow h2, .crop-lab h2, .verification h2, .landing-cta h2 { margin: 0; font-size: clamp(3.7rem, 6.8vw, 7.8rem); line-height: .92; letter-spacing: -.075em; font-weight: 560; }
h1 em, h2 em { color: var(--green); font-family: "Poppins", "Segoe UI", sans-serif; font-weight: 400; font-style: italic; }
.science-hero__lead { max-width: 620px; margin: 34px 0 0; padding-left: 72px; color: var(--muted); font-size: clamp(1rem, 1.35vw, 1.25rem); position: relative; }
.science-hero__lead::before { content: ""; position: absolute; left: 0; top: .8em; width: 48px; height: 1px; background: var(--green); }
.button-row { margin-top: 38px; display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.button { min-height: 52px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 99px; font-size: .77rem; font-weight: 750; letter-spacing: .025em; cursor: pointer; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: #fff; background: var(--ink); }
.button-primary { color: #fff; background: var(--green); }
.button-outline { color: var(--ink); border-color: #aebbb4; background: transparent; }
.button-light { color: var(--ink); background: #fff; }
.button-ghost { color: var(--ink); border-color: var(--line); }
.round-link { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-size: .78rem; font-weight: 750; }
.round-link span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #aebbb4; border-radius: 50%; transition: background .25s, color .25s; }
.round-link:hover span { color: #fff; background: var(--green); border-color: var(--green); }
.science-hero__visual { position: relative; min-height: 660px; }
.hero-media { position: absolute; inset: 46px 0 24px 44px; overflow: hidden; border-radius: 49% 49% 18% 22% / 35% 35% 13% 16%; background: #dce9df; box-shadow: 0 40px 80px rgba(10,70,40,.12); clip-path: inset(0 round 49% 49% 18% 22% / 35% 35% 13% 16%); }
.hero-media video { width: 100%; height: 115%; object-fit: cover; filter: saturate(.75) contrast(1.04); transform: translateY(-5%); }
.hero-media__wash { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(245,249,246,.06), transparent 55%, rgba(6,66,36,.28)); }
.hero-media__caption { position: absolute; left: 24px; bottom: 20px; color: rgba(255,255,255,.82); font-size: .63rem; letter-spacing: .09em; text-transform: uppercase; }
.specimen-label { position: absolute; left: 0; top: 0; z-index: 3; width: 112px; height: 112px; padding: 16px; display: flex; flex-direction: column; justify-content: space-between; background: #fff; border: 0; }
.specimen-label span { color: var(--muted); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.specimen-label strong { color: var(--green); font-size: .76rem; }
.hero-orbit { position: absolute; right: -46px; top: 4px; width: 150px; height: 150px; border: 1px solid rgba(8,122,69,.28); border-radius: 50%; }
.hero-orbit::before, .hero-orbit::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(8,122,69,.12); border-radius: 50%; }
.hero-orbit::after { inset: 48%; background: var(--green); border: 0; }
.hero-orbit span { position: absolute; left: 18px; top: 18px; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); }
.scroll-cue { position: absolute; left: 0; bottom: 26px; display: inline-flex; align-items: center; gap: 12px; color: #7e8b84; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.scroll-cue span { width: 1px; height: 38px; background: linear-gradient(var(--green) 50%, #d7dfda 50%); background-size: 100% 200%; animation: scrollLine 1.8s ease infinite; }
@keyframes scrollLine { to { background-position: 0 -200%; } }

.section-flow { position: relative; width: var(--page); margin-inline: auto; isolation: isolate; }
.flow-ribbon { position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgba(8,122,69,.09); border-radius: 50%; }
.flow-ribbon::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(8,122,69,.045); border-radius: inherit; }
.flow-ribbon--research { width: 72vw; height: 390px; left: -39vw; top: 260px; border-radius: 42% 58% 56% 44% / 52% 42% 58% 48%; }
.flow-ribbon--solutions { width: 760px; height: 520px; right: -430px; top: 25%; border-radius: 64% 36% 47% 53% / 39% 57% 43% 61%; }
.flow-ribbon--products { width: 620px; height: 780px; left: -430px; top: 31%; border-radius: 39% 61% 54% 46% / 64% 38% 62% 36%; }
.research-intro { padding: 160px 0 50px; display: grid; grid-template-columns: 1.1fr .72fr; gap: 100px; }
.section-index { position: absolute; top: 58px; left: -20px; z-index: -1; color: rgba(7,82,50,.045); font-size: clamp(12rem, 24vw, 26rem); line-height: 1; font-weight: 800; letter-spacing: -.1em; }
.section-index--right { left: auto; right: -10px; }
.research-intro__head, .research-intro__body { position: relative; z-index: 1; }
.research-intro h2, .solutions-sticky h2, .featured-flow h2, .crop-lab h2, .verification h2 { font-size: clamp(3.1rem, 5.3vw, 6.2rem); }
.research-intro__body { padding-top: 120px; }
.lead-copy { margin: 0 0 34px; color: var(--ink); font-size: clamp(1.3rem, 2vw, 2rem); line-height: 1.35; letter-spacing: -.025em; }
.research-intro__body > p:last-child { max-width: 560px; color: var(--muted); }
.research-landscape { grid-column: 1 / -1; height: 330px; margin: -6px 2% 12px; overflow: hidden; position: relative; border: 1px solid rgba(8,122,69,.1); border-radius: 45% 55% 12% 18% / 24% 32% 13% 18%; background: var(--soft); opacity: .9; box-shadow: 0 34px 80px rgba(9,66,38,.07); }
.research-landscape img { width: 100%; height: 150%; object-fit: cover; object-position: center bottom; opacity: .62; filter: saturate(.68) contrast(1.04); }
.research-landscape__veil { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(255,255,255,.6), transparent 45%, rgba(7,82,50,.08)); pointer-events: none; }
.method-strip { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-strip > div { min-height: 230px; padding: 34px 28px 30px; border-right: 1px solid var(--line); }
.method-strip > div:last-child { border: 0; }
.method-strip span { color: var(--green); font-size: .65rem; font-weight: 750; }
.method-strip strong { display: block; margin: 48px 0 12px; font-size: 1.16rem; }
.method-strip p { margin: 0; color: var(--muted); font-size: .85rem; }

.solutions-flow { padding: 180px 0 150px; display: grid; grid-template-columns: .8fr 1.15fr; gap: 110px; align-items: start; }
.solutions-sticky { position: sticky; top: 130px; }
.solutions-sticky > p:not(.micro-label) { max-width: 470px; margin: 34px 0; color: var(--muted); }
.text-link { display: inline-flex; align-items: center; gap: 22px; padding-bottom: 7px; color: var(--green); border-bottom: 1px solid #b9ccbf; font-size: .77rem; font-weight: 750; }
.solution-sequence { display: grid; }
.solution-panel { --accent: var(--green); min-height: 330px; padding: 42px 34px 44px; border-top: 1px solid var(--line); position: relative; background: rgba(255,255,255,.86); backdrop-filter: blur(10px); }
.solution-panel:nth-child(even) { margin-left: 7%; border-radius: 0 58px 0 42px; }
.solution-panel:nth-child(odd) { margin-right: 7%; border-radius: 58px 0 42px 0; }
.solution-panel:last-child { border-bottom: 1px solid var(--line); }
.solution-panel--lime { --accent: var(--lime); }
.solution-panel--blue { --accent: var(--blue); }
.solution-panel--violet { --accent: var(--violet); }
.solution-panel__top { display: flex; justify-content: space-between; align-items: start; }
.solution-panel__top::after { content: ""; position: absolute; width: 150px; height: 115px; right: 5px; top: 18px; z-index: -1; background: rgba(8,122,69,.06); background: color-mix(in srgb, var(--accent) 9%, white); border-radius: 62% 38% 48% 52% / 44% 63% 37% 56%; }
.solution-panel__top > span { color: var(--accent); font-size: .67rem; font-weight: 800; }
.solution-panel__top img { width: 90px; height: 90px; object-fit: contain; }
.solution-panel h3 { margin: 25px 0 12px; font-size: clamp(2rem, 3vw, 3.25rem); font-weight: 520; letter-spacing: -.05em; }
.solution-panel p { max-width: 510px; margin: 0 0 24px; color: var(--muted); }
.solution-panel a { color: var(--accent); font-size: .75rem; font-weight: 750; }

.evidence-band { margin-block: 65px; padding: 155px max(40px, calc((100vw - 1280px) / 2)); color: #fff; background: var(--green-deep); position: relative; overflow: hidden; isolation: isolate; }
.evidence-band::before { content: ""; position: absolute; width: 580px; height: 580px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; right: -120px; top: -250px; box-shadow: 0 0 0 110px rgba(255,255,255,.025), 0 0 0 220px rgba(255,255,255,.018); }
.curve-cut { position: absolute; left: -5%; width: 110%; height: 122px; z-index: 2; background: var(--white); pointer-events: none; }
.curve-cut--top { top: -76px; border-radius: 0 0 50% 50% / 0 0 100% 100%; }
.curve-cut--bottom { bottom: -76px; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.evidence-orbit { position: absolute; left: -11vw; bottom: -260px; width: 640px; height: 640px; z-index: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 43% 57% 39% 61% / 58% 37% 63% 42%; box-shadow: inset 0 0 0 100px rgba(255,255,255,.018), inset 0 0 0 200px rgba(255,255,255,.012); }
.evidence-band__intro, .evidence-stats { position: relative; z-index: 3; }
.evidence-band .micro-label { color: #9bd580; }
.evidence-band__intro h2 { margin: 0; font-size: clamp(2.8rem, 4.5vw, 5rem); font-weight: 500; line-height: 1; letter-spacing: -.055em; }
.evidence-stats { margin-top: 100px; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 1; }
.evidence-stats > div { min-height: 190px; padding: 0 28px; border-left: 1px solid rgba(255,255,255,.18); }
.evidence-stats > div:first-child { padding-left: 0; border: 0; }
.evidence-stats strong { display: block; color: #fff; font-size: clamp(3.7rem, 6vw, 6.8rem); line-height: 1; font-weight: 400; letter-spacing: -.06em; }
.evidence-stats span { display: block; max-width: 170px; margin-top: 26px; color: rgba(255,255,255,.62); font-size: .74rem; }

.featured-flow { padding: 180px 0 150px; }
.featured-flow__head { position: relative; z-index: 1; max-width: 850px; margin-bottom: 100px; }
.featured-editorial { display: grid; gap: 110px; }
.editorial-product { display: grid; grid-template-columns: 1.15fr .85fr; gap: 85px; align-items: center; }
.editorial-product:nth-child(even) .editorial-product__media { order: 2; }
.editorial-product__media { height: 600px; padding: 60px; display: grid; place-items: center; position: relative; background: #f2f6f2; overflow: hidden; border-radius: 44% 56% 15% 22% / 20% 27% 18% 24%; transform-style: preserve-3d; transition: transform .25s ease; }
.editorial-product:nth-child(even) .editorial-product__media { border-radius: 58% 42% 24% 14% / 27% 19% 25% 17%; }
.editorial-product__media::after { content: ""; position: absolute; width: 330px; height: 330px; border: 1px solid rgba(8,122,69,.13); border-radius: 50%; }
.editorial-product__media img { width: 86%; height: 90%; object-fit: contain; position: relative; z-index: 2; filter: drop-shadow(0 28px 26px rgba(15,56,35,.15)); }
.editorial-product__code { position: absolute; top: 24px; left: 26px; z-index: 3; color: var(--green); font-size: .62rem; letter-spacing: .12em; }
.editorial-product__copy > span { color: var(--green); font-size: .65rem; letter-spacing: .11em; text-transform: uppercase; }
.editorial-product__copy h3 { margin: 18px 0 24px; font-size: clamp(2.8rem, 5vw, 5.8rem); line-height: .94; letter-spacing: -.065em; font-weight: 520; }
.editorial-product__copy p { max-width: 460px; color: var(--muted); }
.editorial-product__copy a { display: inline-flex; gap: 24px; margin-top: 24px; padding-bottom: 7px; color: var(--green); border-bottom: 1px solid #b9ccbf; font-size: .75rem; font-weight: 750; }

.crop-lab { width: 100%; padding: 190px 0 140px; border-top: 0; overflow: hidden; isolation: isolate; }
.crop-lab__curve { position: absolute; left: -7%; right: -7%; top: 16px; height: 220px; z-index: 0; background: var(--soft); border-radius: 50% 50% 28% 72% / 100% 100% 0 0; transform: rotate(-1.4deg); }
.crop-lab__head { width: var(--page); margin: 0 auto 80px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; }
.crop-lab__head, .crop-track { position: relative; z-index: 1; }
.crop-lab__head .micro-label { grid-column: 1 / -1; }
.crop-lab__head h2 { max-width: 850px; }
.crop-lab__head > p:last-child { max-width: 300px; color: var(--muted); }
.crop-track { width: 100%; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.crop-track__inner { width: max-content; display: flex; animation: cropMarquee 42s linear infinite; }
.crop-track:hover .crop-track__inner { animation-play-state: paused; }
.crop-item { width: 220px; min-height: 240px; padding: 34px 20px 24px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; border-right: 1px solid var(--line); }
.crop-item img { width: 120px; height: 145px; object-fit: contain; filter: grayscale(1) opacity(.72); transition: filter .3s, transform .3s; }
.crop-item:hover img { filter: grayscale(0) opacity(1); transform: translateY(-6px); }
.crop-item span { font-size: .76rem; font-weight: 700; }
@keyframes cropMarquee { to { transform: translateX(-50%); } }

.verification { padding: 190px 0; display: grid; grid-template-columns: 1fr .65fr; gap: 100px; align-items: center; overflow: hidden; }
.verification__mark { position: absolute; left: 38%; top: -110px; z-index: -1; color: rgba(8,122,69,.035); font-family: "Poppins", sans-serif; font-size: 42rem; font-weight: 600; line-height: 1; }
.verification__halo { position: absolute; right: -18%; top: 6%; width: 610px; height: 610px; z-index: -1; background: rgba(113,184,46,.06); border: 1px solid rgba(8,122,69,.08); border-radius: 57% 43% 66% 34% / 39% 62% 38% 61%; }
.verification__copy > p:not(.micro-label) { max-width: 560px; margin: 32px 0; color: var(--muted); }
.verification__seals { display: grid; grid-template-columns: 1fr 1fr; border: 0; }
.verification__seals > div { min-height: 330px; padding: 44px 28px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; border-right: 1px solid var(--line); text-align: center; }
.verification__seals > div:last-child { border: 0; }
.verification__seals img { max-width: 115px; max-height: 145px; object-fit: contain; }
.verification__seals span { color: var(--muted); font-size: .72rem; }

.landing-cta { min-height: 680px; padding: 165px max(40px, calc((100vw - 1280px) / 2)) 120px; display: flex; align-items: center; justify-content: space-between; gap: 60px; color: #fff; background: var(--ink); position: relative; overflow: hidden; isolation: isolate; }
.landing-cta::after { content: ""; position: absolute; width: 600px; height: 600px; right: -250px; bottom: -310px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 95px rgba(255,255,255,.02), 0 0 0 190px rgba(255,255,255,.018); }
.curve-cut--cta { top: -78px; background: var(--white); border-radius: 0 0 44% 56% / 0 0 100% 100%; }
.cta-leaf { position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgba(139,209,107,.16); }
.cta-leaf--one { width: 520px; height: 330px; left: -210px; bottom: -110px; border-radius: 72% 28% 63% 37% / 46% 69% 31% 54%; background: rgba(8,122,69,.13); }
.cta-leaf--two { width: 270px; height: 430px; left: 47%; top: 13%; border-radius: 45% 55% 29% 71% / 63% 39% 61% 37%; }
.landing-cta > :not(.curve-cut):not(.cta-leaf) { position: relative; z-index: 3; }
.landing-cta .micro-label { color: #8bd16b; }
.landing-cta h2 { max-width: 900px; font-size: clamp(3.4rem, 6vw, 7.3rem); }
.cta-orbit { flex: 0 0 auto; width: 190px; height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; position: relative; z-index: 2; font-size: .76rem; transition: background .3s, color .3s, transform .3s; }
.cta-orbit:hover { color: var(--ink); background: #fff; transform: rotate(-8deg); }
.cta-orbit strong { font-size: 1.5rem; font-weight: 400; }

[data-reveal] { opacity: 0; transform: translateY(36px); transition: opacity .85s var(--ease), transform .85s var(--ease); }
[data-reveal-delay="1"] { transition-delay: .12s; }
[data-reveal-delay="2"] { transition-delay: .24s; }
[data-reveal-delay="3"] { transition-delay: .36s; }
[data-reveal].is-visible { opacity: 1; transform: none; }

.site-footer { padding: 80px max(40px, calc((100vw - 1280px) / 2)) 30px; display: grid; grid-template-columns: 2fr 1fr 1.5fr; gap: 60px; color: rgba(255,255,255,.62); background: #091b15; }
.site-footer img { width: 170px; margin-bottom: 20px; filter: none; }
.site-footer h2 { color: #fff; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer a, .site-footer span { display: block; margin: 7px 0; font-size: .84rem; }
.copyright { grid-column: 1 / -1; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .72rem; }

/* Catálogo y detalle: misma gramática visual, sin efectos innecesarios. */
.page-hero { min-height: 460px; padding: 110px 0 70px; display: flex; align-items: end; border-bottom: 1px solid var(--line); background: linear-gradient(rgba(255,255,255,.76), rgba(255,255,255,.98)), url('../legacy-assets/field-horizon.png') center bottom / cover; }
.page-hero h1 { max-width: 900px; margin: 0; font-size: clamp(3.4rem, 6vw, 7rem); line-height: .92; letter-spacing: -.07em; font-weight: 540; }
.page-hero > .container > p:last-child { max-width: 620px; color: var(--muted); }
.eyebrow { margin: 0 0 16px; color: var(--green); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.section { padding-block: 110px; }
.section-soft { background: var(--soft); }
.catalog-layout { display: grid; grid-template-columns: 250px 1fr; gap: 60px; }
.filters { position: sticky; top: 100px; align-self: start; }
.filters h2 { margin: 0 0 28px; font-size: 1rem; font-weight: 700; }
.filters label, .login-card label { display: block; margin: 18px 0; color: #44534c; font-size: .74rem; font-weight: 750; }
.filters input, .filters select, .login-card input { width: 100%; margin-top: 7px; padding: 12px 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid #bdc8c1; border-radius: 0; }
.filters .button { width: 100%; margin-top: 15px; }
.clear-filter { display: block; margin-top: 14px; color: var(--muted); text-align: center; font-size: .75rem; }
.results-bar { display: flex; justify-content: space-between; margin-bottom: 24px; padding-bottom: 14px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .75rem; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card { min-width: 0; border: 0; background: #fff; transition: transform .35s var(--ease), box-shadow .35s ease; }
.product-card:hover { transform: translateY(-7px); box-shadow: 0 22px 60px rgba(9,66,38,.09); }
.product-image { height: 330px; padding: 30px; display: grid; place-items: center; overflow: hidden; background: var(--soft); }
.product-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .5s var(--ease); }
.product-card:hover .product-image img { transform: scale(1.045); }
.product-image span, .product-detail-image > span { color: #a9b7af; font-size: 1.6rem; font-weight: 800; }
.product-body { padding: 24px; }
.product-category { display: inline-block; color: var(--green); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-body h3 { margin: 10px 0; font-size: 1.28rem; line-height: 1.15; font-weight: 600; }
.product-body p { min-height: 46px; color: var(--muted); font-size: .84rem; }
.product-body .text-link { margin-top: 12px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 40px; }
.pagination a, .pagination span, .pagination strong { min-width: 40px; padding: 8px 12px; text-align: center; border: 0; font-size: .75rem; }
.pagination strong { color: #fff; background: var(--green); border-color: var(--green); }
.empty-state { grid-column: 1 / -1; padding: 80px; text-align: center; background: var(--soft); }
.product-detail { padding-top: 32px; padding-bottom: 120px; }
.breadcrumbs { display: flex; gap: 10px; margin-bottom: 32px; color: var(--muted); font-size: .72rem; }
.product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.product-detail-image { height: 650px; padding: 56px; display: grid; place-items: center; background: var(--soft); }
.product-detail-image img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 26px 25px rgba(14,55,36,.12)); }
.product-detail-content h1 { margin: 14px 0 24px; font-size: clamp(3.2rem, 5.2vw, 6rem); line-height: .92; letter-spacing: -.07em; font-weight: 540; }
.lead { color: var(--muted); font-size: 1.15rem; }
.description { margin: 24px 0; color: #4f5f57; }
.document-list { display: grid; margin: 30px 0; }
.document { padding: 16px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--line); font-size: .78rem; }
.document:last-child { border-bottom: 1px solid var(--line); }
.document span { color: var(--green); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 45px; }
.section-heading h2 { margin: 0; font-size: clamp(2.3rem, 4vw, 4.4rem); line-height: 1; letter-spacing: -.055em; font-weight: 540; }
.login-section { min-height: calc(100vh - 86px); padding: 70px 20px; display: grid; place-items: center; background: var(--soft); }
.login-card, .account-card { width: min(510px, 100%); padding: 48px; background: #fff; border: 0; }
.login-card h1, .account-card h1 { margin: 8px 0 18px; font-size: 2.7rem; line-height: 1; letter-spacing: -.05em; font-weight: 550; }
.login-card .button { width: 100%; margin-top: 18px; }
.form-error { padding: 12px; color: #8e2c25; background: #fff0ee; font-size: .8rem; }
.check { display: flex !important; align-items: center; gap: 8px; }
.check input { width: auto !important; margin: 0 !important; }
.account-card { margin: auto; text-align: center; }

@media (max-width: 1060px) {
    :root { --page: min(100% - 48px, 920px); }
    .science-hero { grid-template-columns: 1fr .82fr; gap: 45px; }
    .science-hero__visual { min-height: 560px; }
    .research-intro { gap: 55px; }
    .solutions-flow { gap: 60px; }
    .editorial-product { gap: 50px; }
    .editorial-product__media { height: 500px; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
    .site-header { height: 72px; padding-inline: 24px; }
    .brand img { width: 150px; }
    .nav-toggle { display: block; padding: 8px 12px; color: var(--ink); background: #fff; border: 1px solid #aebbb4; border-radius: 99px; font-size: .72rem; }
    .primary-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; padding: 22px 24px; flex-direction: column; align-items: stretch; gap: 4px; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--line); }
    .primary-nav.open { display: flex; }
    .primary-nav a::after { display: none; }
    .science-hero { min-height: auto; padding-top: 125px; grid-template-columns: 1fr; }
    .science-hero__visual { min-height: 560px; }
    .hero-ambient--one { right: -55vw; bottom: 3%; }
    .hero-ambient--two { left: auto; right: -90px; top: 33%; }
    .scroll-cue { display: none; }
    .research-intro { padding-top: 120px; grid-template-columns: 1fr; gap: 20px; }
    .research-intro__body { padding-top: 20px; }
    .method-strip { grid-template-columns: 1fr 1fr; }
    .method-strip > div:nth-child(2) { border-right: 0; }
    .method-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .solutions-flow { padding-block: 120px; grid-template-columns: 1fr; }
    .solutions-sticky { position: relative; top: 0; }
    .flow-ribbon--solutions { right: -540px; }
    .evidence-band { margin-block: 35px; }
    .evidence-stats { grid-template-columns: 1fr 1fr; gap: 55px 0; }
    .evidence-stats > div:nth-child(3) { border-left: 0; padding-left: 0; }
    .editorial-product { grid-template-columns: 1fr; gap: 35px; }
    .editorial-product:nth-child(even) .editorial-product__media { order: 0; }
    .crop-lab__head { grid-template-columns: 1fr; gap: 30px; }
    .crop-lab { padding-top: 160px; }
    .verification { grid-template-columns: 1fr; }
    .landing-cta { flex-direction: column; align-items: flex-start; }
    .site-footer { grid-template-columns: 1fr 1fr; }
    .site-footer > div:first-child { grid-column: 1 / -1; }
    .catalog-layout { grid-template-columns: 1fr; }
    .filters { position: static; }
    .product-detail-grid { grid-template-columns: 1fr; gap: 45px; }
    .product-detail-image { height: 520px; }
}

@media (max-width: 560px) {
    :root { --page: calc(100% - 32px); }
    .science-hero h1 { font-size: 3.7rem; }
    .science-hero__lead { padding-left: 0; }
    .science-hero__lead::before { display: none; }
    .science-hero__visual { min-height: 460px; }
    .hero-media { inset: 42px 0 0 28px; }
    .hero-orbit { right: -20px; width: 110px; height: 110px; }
    .hero-ambient--one { min-width: 440px; min-height: 360px; }
    .hero-ambient--two, .flow-ribbon--products { display: none; }
    .research-intro h2, .solutions-sticky h2, .featured-flow h2, .crop-lab h2, .verification h2 { font-size: 3.4rem; }
    .method-strip { grid-template-columns: 1fr; }
    .method-strip > div { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--line); }
    .method-strip > div:last-child { border-bottom: 0; }
    .research-landscape { height: 260px; margin-inline: 0; border-radius: 40% 60% 10% 14% / 19% 26% 12% 16%; }
    .solution-panel, .solution-panel:nth-child(even), .solution-panel:nth-child(odd) { margin-inline: 0; padding-inline: 22px; }
    .evidence-band { padding: 95px 24px; }
    .curve-cut { height: 72px; }
    .curve-cut--top, .curve-cut--cta { top: -46px; }
    .curve-cut--bottom { bottom: -46px; }
    .evidence-stats { margin-top: 70px; grid-template-columns: 1fr; gap: 45px; }
    .evidence-stats > div { min-height: 0; padding: 0; border-left: 0; }
    .featured-flow { padding-block: 120px; }
    .editorial-product__media { height: 430px; padding: 35px; }
    .crop-lab { padding-top: 140px; }
    .crop-lab__curve { height: 150px; }
    .crop-item { width: 180px; }
    .verification__seals { grid-template-columns: 1fr; }
    .verification__seals > div { min-height: 260px; border-right: 0; border-bottom: 1px solid var(--line); }
    .landing-cta { min-height: 600px; padding: 90px 24px; }
    .cta-orbit { width: 150px; height: 150px; }
    .site-footer { padding: 70px 24px 25px; grid-template-columns: 1fr; gap: 25px; }
    .site-footer > div:first-child { grid-column: auto; }
    .product-grid { grid-template-columns: 1fr; }
    .page-hero { min-height: 390px; }
    .page-hero h1 { font-size: 3.6rem; }
    .product-detail-image { height: 390px; padding: 32px; }
    .login-card { padding: 30px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    [data-reveal] { opacity: 1; transform: none; }
    [data-parallax] { transform: none !important; }
    .crop-track__inner { animation: none; }
}

/* Dirección 02 â€” Biotecnología de campo. Alto contraste, datos y tensión editorial. */
:root {
    --acid: #d8e6cf;
    --signal: #b97956;
    --night: #071b14;
}

body.home-page { background: var(--white); }
.home-page .site-header--home:not(.is-scrolled) { color: #fff; }
.home-page .site-header--home:not(.is-scrolled) .brand img { filter: none; }
.home-page .site-header--home:not(.is-scrolled) .primary-nav a,
.home-page .site-header--home:not(.is-scrolled) .nav-link { color: rgba(255,255,255,.78); }
.home-page .site-header--home:not(.is-scrolled) .primary-nav a::after { background: var(--acid); }

.science-hero {
    width: 100%; min-height: 100svh; margin: 0; padding: 146px max(40px, calc((100vw - 1380px) / 2)) 92px;
    grid-template-columns: minmax(0, 1fr) minmax(470px, .86fr); gap: clamp(45px, 6vw, 100px);
    color: #fff; background: var(--night); overflow: hidden;
}
.science-grid { inset: 0; opacity: .52; background-image: linear-gradient(rgba(183,243,74,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(183,243,74,.065) 1px, transparent 1px); background-size: 92px 92px; mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.4) 65%, transparent); }
.science-hero::before { right: auto; left: -310px; top: 48%; width: 620px; height: 620px; border-color: rgba(183,243,74,.13); box-shadow: 0 0 0 105px rgba(183,243,74,.018), 0 0 0 210px rgba(183,243,74,.012); }
.science-hero__copy { position: relative; z-index: 5; }
.science-hero .micro-label { color: var(--acid); }
.science-hero .micro-label span + span { color: rgba(255,255,255,.48); }
.science-hero .micro-label span + span::before { background: rgba(255,255,255,.26); }
.science-hero h1 { max-width: 900px; font-size: clamp(5rem, 8.2vw, 10rem); line-height: .79; letter-spacing: -.085em; font-weight: 700; text-transform: uppercase; }
.science-hero h1 > span { display: inline-block; }
.science-hero h1 em { color: var(--acid); font-weight: 700; font-style: normal; }
.science-hero h1 small { display: block; margin: 34px 0 0 5px; color: #fff; font-size: clamp(.9rem, 1.2vw, 1.15rem); line-height: 1; letter-spacing: .24em; font-weight: 500; text-transform: uppercase; }
.science-hero__lead { max-width: 590px; margin-top: 34px; color: rgba(255,255,255,.62); font-size: 1rem; }
.science-hero__lead::before { background: var(--acid); }
.science-hero .button-dark { color: var(--night); background: var(--acid); }
.science-hero .button { border-radius: 0 24px 24px 24px; }
.science-hero .round-link { color: #fff; }
.science-hero .round-link span { border-color: rgba(255,255,255,.4); }
.science-hero .round-link:hover span { color: var(--night); background: var(--signal); border-color: var(--signal); }
.science-hero__visual { min-height: min(760px, 75vh); }
.hero-media { inset: 0; border: 0; border-radius: 52% 0 0 18% / 40% 0 0 22%; clip-path: inset(0 round 52% 0 0 18% / 40% 0 0 22%); background: #183d2c; box-shadow: -35px 40px 100px rgba(0,0,0,.34); }
.hero-media video { height: 110%; filter: saturate(.62) contrast(1.16) brightness(.82); }
.hero-media__wash { background: linear-gradient(115deg, rgba(7,27,20,.2), transparent 42%, rgba(7,27,20,.15)), linear-gradient(to top, rgba(7,27,20,.86), transparent 46%); }
.hero-media__word { position: absolute; right: -22px; bottom: 46px; color: rgba(255,255,255,.14); font-size: clamp(4.5rem, 8.4vw, 10rem); line-height: .8; letter-spacing: -.08em; font-weight: 800; writing-mode: vertical-rl; transform: rotate(180deg); }
.hero-media__caption { left: 30px; bottom: 28px; color: var(--acid); font-weight: 600; }
.specimen-label { left: -38px; top: 9%; width: 146px; height: 126px; color: var(--night); background: var(--acid); border: 0; border-radius: 0 30px 30px 30px; box-shadow: 0 20px 50px rgba(0,0,0,.2); }
.specimen-label span { color: rgba(7,27,20,.6); }
.specimen-label strong { color: var(--night); }
.hero-orbit { right: auto; left: -83px; top: auto; bottom: 11%; width: 180px; height: 180px; border-color: rgba(255,158,24,.65); }
.hero-orbit::before { border-color: rgba(255,158,24,.26); }
.hero-orbit::after, .hero-orbit span { background: var(--signal); }
.hero-coordinate { position: absolute; right: 22px; top: 22px; z-index: 3; padding: 13px 16px; display: grid; gap: 3px; color: rgba(255,255,255,.66); background: rgba(7,27,20,.5); backdrop-filter: blur(10px); font-size: .58rem; letter-spacing: .13em; }
.hero-ambient--one { right: -20vw; bottom: -21vw; background: rgba(183,243,74,.1); }
.hero-ambient--two { left: 43%; top: 3%; border-color: rgba(255,158,24,.22); }
.scroll-cue { left: max(40px, calc((100vw - 1380px) / 2)); color: rgba(255,255,255,.5); }
.scroll-cue span { background: linear-gradient(var(--acid) 50%, rgba(255,255,255,.2) 50%); background-size: 100% 200%; }

.impact-marquee { width: 100%; color: var(--night); background: var(--acid); border-block: 1px solid var(--night); }
.impact-marquee__track { margin: 0 max(32px, calc((100vw - 1380px) / 2)); overflow: hidden; padding: 17px 0; }
.impact-marquee__track > div { width: max-content; display: flex; align-items: center; gap: 34px; animation: impactMarquee 28s linear infinite; }
.impact-marquee span { font-size: .7rem; font-weight: 800; letter-spacing: .18em; }
.impact-marquee i { color: var(--signal); font-size: 1.4rem; font-style: normal; font-weight: 800; }
@keyframes impactMarquee { to { transform: translateX(-50%); } }

.research-intro { padding-top: 210px; }
.research-intro h2 { max-width: 890px; font-size: clamp(3.7rem, 5.8vw, 7rem); font-weight: 650; }
.research-intro h2 em { color: var(--green); font-weight: 500; }
.research-intro__body { padding-top: 145px; }
.research-landscape { height: 390px; margin-top: 35px; border-radius: 0 170px 0 170px; border-color: var(--ink); box-shadow: 22px 22px 0 var(--acid); }
.research-landscape img { opacity: .8; filter: saturate(.55) contrast(1.15); }
.method-strip { margin-top: 72px; border-color: var(--ink); }
.method-strip > div { min-height: 260px; border-color: var(--ink); transition: color .35s ease, background .35s ease; }
.method-strip > div:hover { color: #fff; background: var(--night); }
.method-strip > div:hover p { color: rgba(255,255,255,.64); }
.method-strip span { color: var(--signal); }

.solutions-flow { width: 100%; padding: 220px max(40px, calc((100vw - 1280px) / 2)); color: #fff; background: var(--night); }
.solutions-flow .micro-label { color: var(--acid); }
.solutions-sticky h2 { font-size: clamp(3.7rem, 5.5vw, 6.7rem); font-weight: 650; }
.solutions-sticky h2 em { color: var(--acid); font-weight: 500; }
.solutions-sticky > p:not(.micro-label) { color: rgba(255,255,255,.58); }
.solutions-flow .text-link { color: var(--acid); border-color: rgba(183,243,74,.4); }
.solution-sequence { gap: 20px; }
.solution-panel,
.solution-panel:nth-child(even),
.solution-panel:nth-child(odd) { min-height: 360px; margin: 0; padding: 42px 40px; color: #fff; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.16); border-radius: 0 72px 0 72px; backdrop-filter: blur(16px); overflow: hidden; transition: background .35s ease, transform .35s var(--ease); }
.solution-panel:nth-child(even) { border-radius: 72px 0 72px 0; }
.solution-panel:hover { color: var(--night); background: var(--acid); transform: translateX(-18px); }
.solution-panel h3 { max-width: 520px; font-size: clamp(2.3rem, 3.7vw, 4.4rem); font-weight: 650; }
.solution-panel p { color: rgba(255,255,255,.55); }
.solution-panel:hover p { color: rgba(7,27,20,.68); }
.solution-panel:hover a, .solution-panel:hover .solution-panel__top > span { color: var(--night); }
.solution-panel__top img { width: 112px; height: 112px; filter: brightness(0) invert(1); opacity: .86; }
.solution-panel:hover .solution-panel__top img { filter: brightness(0); }
.solution-panel__top::after { width: 220px; height: 170px; background: rgba(183,243,74,.06); }
.flow-ribbon--solutions { border-color: rgba(183,243,74,.13); }

.evidence-band { margin: 0; padding-block: 190px; color: var(--night); background: var(--acid); }
.evidence-band::before { border-color: rgba(7,27,20,.12); box-shadow: 0 0 0 110px rgba(7,27,20,.025), 0 0 0 220px rgba(7,27,20,.018); }
.curve-cut--top { background: var(--night); }
.curve-cut--bottom { background: #fff; }
.evidence-band .micro-label, .evidence-band .micro-label span + span { color: rgba(7,27,20,.64); }
.evidence-band .micro-label span + span::before { background: rgba(7,27,20,.3); }
.evidence-band__intro h2 { max-width: 920px; color: var(--night); font-size: clamp(4rem, 6.4vw, 7.7rem); font-weight: 700; text-transform: uppercase; }
.evidence-stats > div { border-color: rgba(7,27,20,.24); }
.evidence-stats strong { color: var(--night); font-weight: 700; }
.evidence-stats span { color: rgba(7,27,20,.65); font-weight: 500; }
.evidence-orbit { border-color: rgba(7,27,20,.14); box-shadow: inset 0 0 0 100px rgba(7,27,20,.025), inset 0 0 0 200px rgba(7,27,20,.018); }

.featured-flow { padding-top: 230px; }
.featured-flow__head h2 { font-weight: 650; }
.featured-flow__head h2 em { color: var(--signal); font-weight: 500; }
.editorial-product { gap: 100px; }
.editorial-product__media { border-radius: 0 170px 0 170px; background: var(--night); box-shadow: 24px 24px 0 var(--acid); }
.editorial-product:nth-child(even) .editorial-product__media { border-radius: 170px 0 170px 0; background: var(--acid); box-shadow: -24px 24px 0 var(--night); }
.editorial-product__media::after { width: 410px; height: 410px; border-color: rgba(183,243,74,.28); }
.editorial-product:nth-child(even) .editorial-product__media::after { border-color: rgba(7,27,20,.22); }
.editorial-product__code { color: var(--acid); font-weight: 700; }
.editorial-product:nth-child(even) .editorial-product__code { color: var(--night); }
.editorial-product__copy h3 { font-weight: 650; }

.crop-lab { margin-top: 80px; background: #f1f5ec; }
.crop-lab__curve { background: var(--signal); opacity: .92; }
.crop-lab__head h2 { max-width: 1010px; font-size: clamp(3.5rem, 5.3vw, 6.4rem); font-weight: 650; }
.crop-track { border-color: var(--ink); background: #fff; }
.crop-item { border-color: var(--ink); transition: color .3s, background .3s; }
.crop-item:hover { color: #fff; background: var(--night); }
.crop-item img { filter: grayscale(1) contrast(1.12) opacity(.82); }

.verification__seals { border-color: var(--ink); box-shadow: 18px 18px 0 var(--acid); }
.verification__seals > div { border-color: var(--ink); }
.verification h2 { font-weight: 650; }
.verification__halo { background: rgba(255,158,24,.09); border-color: rgba(255,158,24,.2); }

.landing-cta { min-height: 760px; color: #fff; background: var(--night); }
.curve-cut--cta { background: #fff; }
.landing-cta h2 { max-width: 1050px; font-size: clamp(4rem, 6.4vw, 8rem); font-weight: 700; text-transform: uppercase; }
.landing-cta .micro-label { color: var(--acid); }
.cta-orbit { width: 230px; height: 230px; color: var(--night); background: var(--signal); border: 0; }
.cta-orbit:hover { background: var(--acid); }
.cta-leaf--one { background: rgba(183,243,74,.1); border-color: rgba(183,243,74,.2); }
.cta-leaf--two { border-color: rgba(255,158,24,.3); }

@media (max-width: 1060px) {
    .science-hero { grid-template-columns: 1fr .72fr; }
    .science-hero h1 { font-size: clamp(4.5rem, 8vw, 7rem); }
    .editorial-product { gap: 62px; }
}

@media (max-width: 820px) {
    .home-page .site-header--home:not(.is-scrolled) .nav-toggle { color: var(--night); background: var(--acid); border-color: var(--acid); }
    .science-hero { padding: 120px 24px 82px; grid-template-columns: 1fr; }
    .science-hero h1 { font-size: clamp(4.3rem, 14vw, 7rem); }
    .science-hero__visual { min-height: 610px; }
    .hero-media { border-radius: 48% 0 0 15% / 28% 0 0 18%; clip-path: inset(0 round 48% 0 0 15% / 28% 0 0 18%); }
    .specimen-label { left: -2px; }
    .impact-marquee { padding-block: 14px; }
    .research-intro { padding-top: 150px; }
    .research-intro__body { padding-top: 20px; }
    .research-landscape { border-radius: 0 100px 0 100px; box-shadow: 14px 14px 0 var(--acid); }
    .solutions-flow { padding: 150px 24px; }
    .solution-panel:hover { transform: none; }
    .evidence-band { padding: 150px 24px; }
    .editorial-product__media, .editorial-product:nth-child(even) .editorial-product__media { border-radius: 0 100px 0 100px; box-shadow: 14px 14px 0 var(--acid); }
    .landing-cta { padding-inline: 24px; }
}

@media (max-width: 560px) {
    .science-hero { padding-inline: 16px; }
    .science-hero h1 { font-size: 3.85rem; }
    .science-hero h1 small { margin-top: 25px; font-size: .72rem; letter-spacing: .18em; }
    .science-hero__lead { font-size: .92rem; }
    .science-hero__visual { min-height: 500px; }
    .hero-media__word { font-size: 4.4rem; }
    .hero-coordinate { display: none; }
    .research-intro h2, .solutions-sticky h2, .featured-flow h2, .crop-lab__head h2, .verification h2 { font-size: 3.15rem; }
    .research-landscape { height: 270px; border-radius: 0 62px 0 62px; box-shadow: 9px 9px 0 var(--acid); }
    .solution-panel, .solution-panel:nth-child(even), .solution-panel:nth-child(odd) { min-height: 340px; padding: 30px 24px; border-radius: 0 54px 0 54px; }
    .solution-panel__top img { width: 82px; height: 82px; }
    .evidence-band__intro h2 { font-size: 3.4rem; }
    .editorial-product__media, .editorial-product:nth-child(even) .editorial-product__media { border-radius: 0 68px 0 68px; box-shadow: 9px 9px 0 var(--acid); }
    .landing-cta h2 { font-size: 3.55rem; }
}

@media (prefers-reduced-motion: reduce) {
    .impact-marquee__track > div { animation: none; }
}

/* Mandato de marca: experiencia pública luminosa, sin bloques oscuros. */
:root {
    --canvas: #fcfbf7;
    --mint: #f3f6f0;
    --mint-strong: #e5eee0;
    --botanical: #3f6f57;
}

.home-page .site-header--home:not(.is-scrolled) { color: var(--ink); }
.home-page .site-header--home:not(.is-scrolled) .brand img { filter: brightness(0) saturate(100%) invert(27%) sepia(29%) saturate(1315%) hue-rotate(104deg) brightness(88%); }
.home-page .site-header--home:not(.is-scrolled) .primary-nav a,
.home-page .site-header--home:not(.is-scrolled) .nav-link { color: #315f4c; }
.home-page .site-header--home:not(.is-scrolled) .primary-nav a::after { background: var(--botanical); }

.science-hero { color: var(--ink); background: var(--canvas); }
.science-grid { opacity: .7; background-image: linear-gradient(rgba(19,121,75,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(19,121,75,.07) 1px, transparent 1px); }
.science-hero::before { border-color: rgba(63,111,87,.12); box-shadow: 0 0 0 105px rgba(145,174,128,.09), 0 0 0 210px rgba(63,111,87,.025); }
.science-hero .micro-label { color: var(--botanical); }
.science-hero .micro-label span + span { color: #789085; }
.science-hero .micro-label span + span::before { background: #bdcec4; }
.science-hero h1 { color: var(--ink); }
.science-hero h1 em { color: var(--botanical); }
.science-hero h1 small { color: var(--signal); }
.science-hero__lead { color: #62756c; }
.science-hero__lead::before { background: var(--signal); }
.science-hero .button-dark, .button-dark { color: #fff; background: var(--botanical); }
.science-hero .round-link { color: var(--botanical); }
.science-hero .round-link span { border-color: rgba(19,121,75,.42); }
.science-hero .round-link:hover span { color: #fff; background: var(--signal); border-color: var(--signal); }
.hero-media { background: var(--mint-strong); box-shadow: -35px 40px 100px rgba(19,121,75,.14); }
.hero-media video { filter: saturate(.78) contrast(1.03) brightness(1.07); }
.hero-media__wash { background: linear-gradient(115deg, rgba(255,253,247,.18), transparent 44%), linear-gradient(to top, rgba(19,121,75,.38), transparent 48%); }
.hero-media__word { color: rgba(255,255,255,.3); }
.specimen-label { color: var(--ink); background: var(--acid); box-shadow: 0 20px 50px rgba(19,121,75,.16); }
.hero-orbit { border-color: rgba(185,121,86,.62); }
.hero-orbit::before { border-color: rgba(185,121,86,.22); }
.hero-coordinate { color: var(--botanical); background: rgba(255,255,255,.8); border: 1px solid rgba(19,121,75,.14); }
.hero-ambient--one { background: rgba(145,174,128,.14); }
.hero-ambient--two { border-color: rgba(185,121,86,.28); }
.scroll-cue { color: #72887d; }
.scroll-cue span { background: linear-gradient(var(--signal) 50%, #c9d7cf 50%); background-size: 100% 200%; }

.impact-marquee { color: var(--botanical); background: var(--acid); border-color: rgba(19,121,75,.45); }

.method-strip > div:hover { color: var(--ink); background: #fff3d7; }
.method-strip > div:hover p { color: #62756c; }

.solutions-flow { color: var(--ink); background: var(--mint); }
.solutions-flow .micro-label { color: var(--botanical); }
.solutions-sticky h2 { color: var(--ink); }
.solutions-sticky h2 em { color: var(--botanical); }
.solutions-sticky > p:not(.micro-label) { color: #61756b; }
.solutions-flow .text-link { color: var(--botanical); border-color: rgba(19,121,75,.35); }
.solution-panel,
.solution-panel:nth-child(even),
.solution-panel:nth-child(odd) { color: var(--ink); background: rgba(255,255,255,.82); border-color: rgba(19,121,75,.22); box-shadow: 0 24px 70px rgba(19,121,75,.06); }
.solution-panel:hover { color: var(--ink); background: var(--acid); }
.solution-panel p, .solution-panel:hover p { color: #62756c; }
.solution-panel a, .solution-panel__top > span,
.solution-panel:hover a, .solution-panel:hover .solution-panel__top > span { color: var(--botanical); }
.solution-panel__top img, .solution-panel:hover .solution-panel__top img { filter: none; opacity: 1; }
.solution-panel__top::after { background: rgba(145,174,128,.14); }
.flow-ribbon--solutions { border-color: rgba(19,121,75,.14); }

.curve-cut--top { background: var(--mint); }
.evidence-band { box-shadow: inset 0 1px rgba(19,121,75,.15), inset 0 -1px rgba(19,121,75,.15); }

.editorial-product__media { background: var(--mint); box-shadow: 24px 24px 0 var(--acid); }
.editorial-product:nth-child(even) .editorial-product__media { background: #fff2d8; box-shadow: -24px 24px 0 var(--botanical); }
.editorial-product__media::after { border-color: rgba(19,121,75,.25); }
.editorial-product__code { color: var(--botanical); }
.editorial-product:nth-child(even) .editorial-product__code { color: #a65d00; }

.crop-lab { background: #f5faef; }
.crop-item:hover { color: var(--ink); background: var(--acid); }

.verification__halo { background: rgba(185,121,86,.07); border-color: rgba(185,121,86,.16); }

.landing-cta { color: var(--ink); background: linear-gradient(125deg, #f8eee6, #f2f5ef 62%, #e5eee0); }
.landing-cta::after { border-color: rgba(19,121,75,.14); box-shadow: 0 0 0 95px rgba(19,121,75,.025), 0 0 0 190px rgba(19,121,75,.018); }
.landing-cta .micro-label { color: var(--botanical); }
.landing-cta .micro-label span + span { color: #72877c; }
.landing-cta h2 { color: var(--botanical); }
.curve-cut--cta { background: #fff; }
.cta-orbit { color: #fff; background: var(--signal); box-shadow: 0 24px 70px rgba(185,121,86,.16); }
.cta-leaf--one { background: rgba(145,174,128,.16); border-color: rgba(63,111,87,.14); }
.cta-leaf--two { border-color: rgba(185,121,86,.24); }

.site-footer { color: #5f7369; background: var(--mint); border-top: 1px solid rgba(19,121,75,.16); }
.site-footer img { filter: brightness(0) saturate(100%) invert(27%) sepia(29%) saturate(1315%) hue-rotate(104deg) brightness(88%); }
.site-footer h2 { color: var(--botanical); }
.copyright { border-color: rgba(19,121,75,.14); }

@media (max-width: 820px) {
    .home-page .site-header--home:not(.is-scrolled) .nav-toggle { color: #fff; background: var(--botanical); border-color: var(--botanical); }
}

/* Línea gráfica: curvas abiertas y ondas; sin patrones orbitales. */
.science-hero::before {
    width: 76vw; height: 260px; left: -28vw; right: auto; top: auto; bottom: -145px;
    border: 0; border-top: 1px solid rgba(63,111,87,.2); border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    box-shadow: none; transform: rotate(-4deg);
}
.hero-orbit, .evidence-orbit, .hero-ambient--two { display: none !important; }
.round-link span { width: 46px; height: 40px; border-radius: 0 18px 0 18px; }

.flow-ribbon {
    border: 0; border-top: 1px solid rgba(63,111,87,.13); border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.flow-ribbon::after { display: none; }
.flow-ribbon--research { height: 270px; rotate: -8deg; }
.flow-ribbon--solutions { height: 340px; border-top-color: rgba(63,111,87,.15); rotate: 7deg; }
.flow-ribbon--products { height: 420px; rotate: -11deg; }

.evidence-band::before {
    width: 72vw; height: 250px; right: -18vw; top: -110px;
    border: 0; border-bottom: 1px solid rgba(63,111,87,.18); border-radius: 0 0 50% 50% / 0 0 100% 100%;
    box-shadow: none; transform: rotate(5deg);
}
.editorial-product__media::after {
    width: 72%; height: 43%;
    border: 1px solid rgba(63,111,87,.2); border-radius: 0 100% 0 100%; transform: rotate(-8deg);
}
.editorial-product:nth-child(even) .editorial-product__media::after { transform: rotate(8deg); }

.landing-cta::after {
    width: 78vw; height: 300px; right: -30vw; bottom: -190px;
    border: 0; border-top: 1px solid rgba(63,111,87,.18); border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    box-shadow: none; transform: rotate(-6deg);
}
.cta-curve-link {
    flex: 0 0 auto; width: 220px; height: 152px; padding: 28px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
    color: #fff; background: var(--signal); border-radius: 0 82px 0 82px; position: relative; z-index: 3;
    font-size: .76rem; box-shadow: 0 24px 70px rgba(185,121,86,.16); transition: background .3s, transform .3s;
}
.cta-curve-link:hover { color: var(--ink); background: var(--acid); transform: translateY(-5px); }
.cta-curve-link strong { font-size: 1.5rem; font-weight: 400; }

@media (max-width: 560px) {
    .science-hero::before { width: 120vw; left: -60vw; }
    .cta-curve-link { width: 180px; height: 126px; border-radius: 0 64px 0 64px; }
}

/* Ajustes de revisión: menos rótulos, carrusel manual y cierre más sobrio. */
:root { --signal: #e3a23c; }

.research-intro__head { align-self: start; }
.research-intro__body { padding-top: 42px; }
.method-strip { margin-top: 90px; }
.solution-panel__top { justify-content: flex-end; }
.solution-panel__top > span { display: none; }

.evidence-band__intro,
.featured-flow__head { padding-top: 0; }

.editorial-product:nth-child(2) .editorial-product__media img { scale: 1.28; }

.crop-lab { padding-top: 170px; }
.crop-lab__curve { height: 150px; background: #e7eee3; opacity: 1; }
.crop-lab__head { margin-bottom: 56px; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); gap: 26px 55px; }
.crop-lab__head h2 { grid-row: 1 / 3; align-self: end; }
.crop-lab__head > p { margin: 0; align-self: end; }
.crop-controls { display: flex; justify-content: flex-end; gap: 10px; }
.crop-controls button {
    width: 58px; height: 42px; display: grid; place-items: center;
    color: var(--botanical); background: #fff; border: 1px solid rgba(63,111,87,.28); border-radius: 0 18px 0 18px;
    cursor: pointer; transition: color .25s, background .25s, opacity .25s;
}
.crop-controls button:hover { color: #fff; background: var(--botanical); }
.crop-controls button:disabled { opacity: .32; cursor: default; }
.crop-track {
    padding: 10px 0 28px; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-snap-type: x mandatory;
    border: 0; background: transparent; scrollbar-width: none;
}
.crop-track::-webkit-scrollbar { display: none; }
.crop-track__inner {
    width: max-content; padding: 0 max(24px, calc((100vw - 1280px) / 2)); display: flex; gap: 20px;
    animation: none !important;
}
.crop-item {
    width: 238px; min-height: 286px; padding: 30px 26px; flex: 0 0 auto; display: grid; place-items: center;
    background: rgba(255,255,255,.9); border: 1px solid rgba(63,111,87,.2); border-radius: 0 76px 0 76px;
    scroll-snap-align: start; transition: transform .3s var(--ease), box-shadow .3s ease, background .3s;
}
.crop-item:nth-child(even) { border-radius: 76px 0 76px 0; }
.crop-item:hover { color: var(--ink); background: #fff; transform: translateY(-8px); box-shadow: 0 22px 55px rgba(63,111,87,.1); }
.crop-item img { width: 168px; height: 218px; object-fit: contain; filter: grayscale(.8) opacity(.78); }
.crop-item:hover img { filter: grayscale(0) opacity(1); transform: none; }

.landing-cta { min-height: 650px; padding-bottom: 145px; }
.cta-curve-link {
    width: auto; min-width: 220px; height: 58px; padding: 0 24px; flex-direction: row; gap: 24px;
    color: #fff; background: var(--botanical); border-radius: 0 24px 0 24px; box-shadow: 0 16px 36px rgba(63,111,87,.12);
}
.cta-curve-link:hover { color: #fff; background: #527d66; transform: translateY(-3px); }
.cta-curve-link strong { font-size: 1.1rem; }

.site-footer { position: relative; z-index: 1; margin-top: 0; padding-top: 84px; border-top: 0; }
.site-footer::before {
    content: ""; position: absolute; left: 0; top: -54px; width: 100%; height: 56px; z-index: 0;
    pointer-events: none; background: var(--mint); border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.site-footer > * { position: relative; z-index: 1; }

@media (max-width: 820px) {
    .crop-lab__head { grid-template-columns: 1fr; }
    .crop-lab__head h2 { grid-row: auto; }
    .crop-controls { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .research-intro__body { padding-top: 18px; }
    .method-strip { margin-top: 60px; }
    .editorial-product:nth-child(2) .editorial-product__media img { scale: 1.18; }
    .crop-lab { padding-top: 125px; }
    .crop-lab__curve { height: 110px; }
    .crop-item { width: 205px; min-height: 250px; padding: 24px 20px; border-radius: 0 58px 0 58px; }
    .crop-item:nth-child(even) { border-radius: 58px 0 58px 0; }
    .crop-item img { width: 146px; height: 190px; }
    .landing-cta { min-height: 560px; }
    .cta-curve-link { width: auto; min-width: 210px; height: 56px; border-radius: 0 22px 0 22px; }
    .site-footer { padding-top: 72px; }
    .site-footer::before { top: -38px; height: 40px; }
}

/* Revisión de contenido: jerarquía limpia y secciones sin elementos explicativos de más. */
.science-hero__copy { padding-top: 12px; }
.science-hero .button-row { margin-top: 42px; }
.science-hero .button-dark { min-width: 166px; }

.method-strip strong { margin: 20px 0 14px; }
.solutions-sticky { padding-top: 8px; }

.evidence-band {
    width: calc(100% + 80px); margin: 70px -40px; padding-inline: max(80px, calc((100vw - 1200px) / 2));
    border-radius: 50% / 13%; box-shadow: none;
}
.evidence-band::before,
.evidence-band > .curve-cut { display: none; }

.crop-lab__head { grid-template-columns: minmax(0, 1.3fr) minmax(240px, .55fr); align-items: end; }
.crop-lab__head h2 { grid-row: auto; }
.crop-name-list {
    width: var(--page); margin: 20px auto 0; padding: 16px 0;
    display: grid; grid-template-columns: repeat(5, 1fr); position: relative; z-index: 2;
    border-top: 1px solid rgba(63,111,87,.26); border-bottom: 1px solid rgba(63,111,87,.26);
}
.crop-name-list span {
    min-height: 76px; padding: 18px 14px; display: flex; align-items: center; justify-content: center;
    color: var(--botanical); border-right: 1px solid rgba(63,111,87,.16);
    font-size: clamp(.95rem, 1.25vw, 1.2rem); font-weight: 600; letter-spacing: -.02em; text-align: center;
    transition: color .25s, transform .25s;
}
.crop-name-list span:nth-child(5n) { border-right: 0; }
.crop-name-list span:nth-child(-n+5) { border-bottom: 1px solid rgba(63,111,87,.16); }
.crop-name-list span:hover { color: var(--signal); transform: translateY(-2px); }

.verification__seals {
    display: flex; align-items: flex-start; justify-content: center; gap: clamp(38px, 5vw, 78px);
    border: 0; box-shadow: none; background: transparent;
}
.verification__seals > div,
.verification__seals > div:last-child {
    min-height: 0; width: 150px; padding: 0; gap: 20px;
    display: flex; flex-direction: column; justify-content: flex-start; align-items: center;
    border: 0; background: transparent;
}
.verification__seals img { width: 112px; height: 104px; max-width: none; max-height: none; object-fit: contain; }
.verification__seals span { max-width: 140px; color: #6d7d75; font-size: .72rem; line-height: 1.45; text-align: center; }

@media (max-width: 820px) {
    .evidence-band { width: calc(100% + 48px); margin-inline: -24px; padding-inline: 48px; border-radius: 50% / 8%; }
    .crop-lab__head { grid-template-columns: 1fr; }
    .crop-name-list { grid-template-columns: repeat(2, 1fr); }
    .crop-name-list span:nth-child(5n) { border-right: 1px solid rgba(63,111,87,.16); }
    .crop-name-list span:nth-child(2n) { border-right: 0; }
    .crop-name-list span:nth-child(-n+8) { border-bottom: 1px solid rgba(63,111,87,.16); }
}

@media (max-width: 560px) {
    .evidence-band { width: calc(100% + 32px); margin: 45px -16px; padding-inline: 32px; border-radius: 50% / 5%; }
    .crop-name-list span { min-height: 64px; padding-inline: 9px; font-size: .88rem; }
    .verification__seals { justify-content: flex-start; gap: 26px; }
    .verification__seals > div { width: 128px; }
    .verification__seals img { width: 94px; height: 88px; }
}

/* Revisión final de flujo: hero audiovisual, solapes curvos y certificaciones limpias. */
.science-hero {
    grid-template-columns: minmax(0, 720px) 1fr; background: transparent;
}
.science-hero__copy { z-index: 4; }
.science-hero__visual {
    position: absolute; inset: 0; z-index: 0; min-height: 100%;
}
.science-grid { z-index: 2; opacity: .42; mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.45) 62%, transparent 88%); }
.hero-media {
    inset: 0; border-radius: 0; clip-path: none; box-shadow: none; background: var(--canvas);
}
.hero-media video {
    width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.58) contrast(.94) brightness(1.12);
}
.hero-media__wash {
    background:
        linear-gradient(90deg, rgba(252,251,247,.98) 0%, rgba(252,251,247,.93) 35%, rgba(252,251,247,.68) 57%, rgba(252,251,247,.16) 84%),
        linear-gradient(to bottom, rgba(252,251,247,.5), transparent 28%, rgba(252,251,247,.16));
}
.hero-ambient { display: none; }
.science-hero::before { z-index: 3; }
.scroll-cue { z-index: 4; }
.home-page .site-header--home:not(.is-scrolled) { background: rgba(252,251,247,.62); backdrop-filter: blur(12px); }

.evidence-band {
    margin: -90px -40px -80px; z-index: 4;
}
.featured-flow { padding-top: 210px; }
.editorial-product__media::after { display: none; }

.crop-lab { padding-top: 120px; }

.verification { grid-template-columns: minmax(0, 1fr) auto; gap: clamp(70px, 10vw, 150px); }
.verification__seals {
    min-width: 330px; align-items: center; justify-content: flex-end; gap: clamp(50px, 6vw, 90px);
}
.verification__seals > div,
.verification__seals > div:last-child { width: 120px; min-height: 0; padding: 0; }
.verification__seals img {
    width: 120px; height: 112px; object-fit: contain; filter: saturate(.86); opacity: .94;
}

@media (max-width: 820px) {
    .science-hero { grid-template-columns: 1fr; }
    .hero-media__wash { background: linear-gradient(90deg, rgba(252,251,247,.95), rgba(252,251,247,.58)), linear-gradient(to top, rgba(252,251,247,.55), transparent 50%); }
    .evidence-band { margin: -65px -24px -55px; }
    .featured-flow { padding-top: 170px; }
    .verification { grid-template-columns: 1fr; gap: 65px; }
    .verification__seals { min-width: 0; justify-content: flex-start; }
}

@media (max-width: 560px) {
    .hero-media video { object-position: 58% center; }
    .evidence-band { margin: -40px -16px -35px; }
    .crop-lab { padding-top: 95px; }
    .verification__seals { gap: 38px; }
}

/* Cabecera audiovisual inspirada en la referencia: palabra, no isotipo. */
.brand span {
    display: block; color: var(--botanical); font-size: 1.65rem; font-weight: 650; letter-spacing: -.06em;
}
.footer-wordmark {
    display: block; margin-bottom: 18px; color: var(--botanical); font-size: 2.15rem; font-weight: 650; letter-spacing: -.065em;
}

.home-page .site-header--home {
    height: 96px; padding-inline: max(28px, calc((100vw - 1380px) / 2));
    justify-content: center; background: transparent; border: 0; backdrop-filter: none;
}
.home-page .site-header--home .brand { display: none; }
.home-page .site-header--home .primary-nav { justify-content: center; gap: clamp(26px, 3.2vw, 48px); }
.home-page .site-header--home:not(.is-scrolled) .primary-nav a,
.home-page .site-header--home:not(.is-scrolled) .nav-link {
    color: #fff; text-shadow: 0 1px 18px rgba(20,42,33,.28);
}
.home-page .site-header--home .primary-nav a { font-size: .76rem; font-weight: 600; letter-spacing: .01em; }
.home-page .site-header--home .primary-nav a > span { margin-left: 5px; font-size: .84rem; }
.home-page .site-header--home.is-scrolled {
    justify-content: center; background: rgba(252,251,247,.94); backdrop-filter: blur(18px);
}

.science-hero {
    min-height: 100svh; padding: 110px 24px 56px; display: grid; place-items: center; grid-template-columns: 1fr;
    text-align: center; color: #fff;
}
.science-grid, .science-hero::before { display: none; }
.science-hero__copy.hero-center {
    width: min(890px, calc(100% - 32px)); padding: 20px 0; display: flex; flex-direction: column; align-items: center;
    position: relative; z-index: 4;
}
.hero-wordmark {
    margin: 0 0 22px; color: #fff; font-size: clamp(4.6rem, 9vw, 8.6rem); line-height: .82;
    font-weight: 500; letter-spacing: -.085em; text-shadow: 0 7px 36px rgba(20,43,34,.23);
}
.science-hero h1 {
    margin: 0; color: #fff; font-size: clamp(1.65rem, 3.2vw, 3.15rem); line-height: 1.1;
    letter-spacing: -.045em; font-weight: 500; text-transform: none; text-shadow: 0 4px 25px rgba(20,43,34,.24);
}
.hero-signoff {
    margin: 8px 0 0; color: rgba(255,255,255,.93); font-size: clamp(1.05rem, 1.7vw, 1.45rem); font-weight: 300;
}
.science-hero__lead {
    max-width: 630px; margin: 25px 0 0; padding: 0; color: rgba(255,255,255,.83); font-size: .94rem; line-height: 1.7;
}
.science-hero__lead::before { display: none; }
.science-hero .button-row { margin-top: 28px; justify-content: center; }
.science-hero .button-dark {
    min-width: 165px; color: var(--botanical); background: rgba(255,255,255,.94); border-radius: 999px; box-shadow: 0 12px 35px rgba(20,43,34,.12);
}
.science-hero .button-dark:hover { color: #fff; background: var(--botanical); }
.hero-media video { filter: saturate(.66) contrast(.98) brightness(.88); }
.hero-media__wash {
    background: linear-gradient(rgba(39,61,52,.3), rgba(39,61,52,.36)), linear-gradient(90deg, rgba(55,82,70,.1), transparent 60%);
}
.hero-scroll {
    position: absolute; left: 50%; bottom: 36px; z-index: 5; width: 44px; height: 44px;
    display: grid; place-items: center; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.5); border-radius: 50%;
}
.hero-scroll span { width: 12px; height: 12px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-3px) rotate(45deg); }

@media (max-width: 820px) {
    .home-page .site-header--home { height: 76px; justify-content: flex-end; }
    .home-page .site-header--home .nav-toggle { color: var(--botanical); background: rgba(255,255,255,.94); border-color: rgba(255,255,255,.8); }
    .home-page .site-header--home .primary-nav { top: 76px; text-align: center; }
    .home-page .site-header--home .primary-nav a { color: var(--botanical) !important; text-shadow: none !important; }
    .hero-wordmark { font-size: clamp(4rem, 17vw, 6.4rem); }
    .science-hero h1 { font-size: clamp(1.55rem, 6vw, 2.4rem); }
}

@media (max-width: 560px) {
    .science-hero { padding-inline: 16px; }
    .science-hero__copy.hero-center { width: 100%; }
    .hero-wordmark { margin-bottom: 18px; font-size: 4rem; }
    .science-hero__lead { max-width: 330px; font-size: .82rem; }
    .hero-scroll { bottom: 22px; }
}

/* Estados del menú y CTA según revisión. */
.home-page .site-header--home:not(.is-scrolled) {
    background: transparent; box-shadow: none; backdrop-filter: none;
}
.home-page .site-header--home.is-scrolled {
    justify-content: center; background: rgba(252,251,247,.84); box-shadow: 0 10px 38px rgba(35,61,49,.08); backdrop-filter: blur(16px);
}
.home-page .site-header--home.is-scrolled .brand {
    display: block; position: absolute; left: max(28px, calc((100vw - 1380px) / 2)); top: 50%; transform: translateY(-50%);
}
.home-page .site-header--home.is-scrolled .brand span { color: var(--botanical); }
.home-page .site-header--home.is-scrolled .primary-nav a,
.home-page .site-header--home.is-scrolled .nav-link { color: var(--botanical); text-shadow: none; }

.science-hero .button-dark {
    color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.92); box-shadow: none;
}
.science-hero .button-dark:hover { color: var(--botanical); background: #fff; border-color: #fff; }
.hero-scroll {
    position: relative; left: auto; bottom: auto; width: 34px; height: 30px; margin-top: 22px;
    border: 0; border-radius: 0; transform: none;
}
.hero-scroll span { width: 12px; height: 12px; }

@media (max-width: 820px) {
    .home-page .site-header--home.is-scrolled .brand { display: block; left: 24px; }
    .home-page .site-header--home.is-scrolled .brand span { font-size: 1.4rem; }
    .home-page .site-header--home.is-scrolled .nav-toggle { margin-left: auto; }
    .hero-scroll { bottom: auto; }
}

@media (max-width: 560px) {
    .hero-scroll { bottom: auto; margin-top: 18px; }
}

/* Ajustes de cabecera posteriores a revisión. */
.home-page .site-header--home.is-scrolled .brand img {
    width: 148px; filter: brightness(0) saturate(100%) invert(35%) sepia(18%) saturate(1059%) hue-rotate(101deg) brightness(92%);
}
.science-hero h1 {
    max-width: 980px; font-size: clamp(3.4rem, 6.8vw, 7.2rem); line-height: .92; letter-spacing: -.07em; font-weight: 600;
}
.science-hero__lead { margin-top: 28px; }
.science-hero__visual { bottom: -72px; }
.hero-media { bottom: -2px; }
.impact-marquee i { color: var(--botanical); }

@media (max-width: 820px) {
    .home-page .site-header--home.is-scrolled .brand img { width: 124px; }
    .science-hero h1 { font-size: clamp(3rem, 11vw, 5.3rem); }
    .science-hero__visual { bottom: -48px; }
}

@media (max-width: 560px) {
    .science-hero h1 { font-size: 3.15rem; }
    .science-hero__visual { bottom: -36px; }
}

/* Logo vertical del hero construido con el archivo oficial de marca. */
.visually-hidden {
    position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
    overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.hero-vertical-logo {
    display: flex; flex-direction: column; align-items: center; gap: 16px;
    filter: drop-shadow(0 8px 28px rgba(20,43,34,.22));
    transition: opacity .45s ease, transform .45s var(--ease);
}
.hero-vertical-logo__mark,
.hero-vertical-logo__word {
    display: block; flex: 0 0 auto; background-image: url('../legacy-assets/logo-biotech.png'); background-repeat: no-repeat;
}
.hero-vertical-logo__mark {
    width: 104px; height: 116px; background-size: 520px auto; background-position: left center;
}
.hero-vertical-logo__word {
    width: auto; height: auto; color: #fff; background: none;
    font-size: clamp(4.7rem, 8vw, 7.6rem); line-height: .86; letter-spacing: -.075em; font-weight: 500;
}
.site-header.is-scrolled ~ main .hero-vertical-logo {
    opacity: 0; transform: translateY(-16px); pointer-events: none;
}
.hero-vertical-logo + .science-hero__lead { margin-top: 24px; }

@media (max-width: 560px) {
    .hero-vertical-logo { gap: 10px; }
    .hero-vertical-logo__mark { width: 78px; height: 87px; background-size: 390px auto; }
    .hero-vertical-logo__word { font-size: 4.1rem; }
}

.impact-marquee {
    background: linear-gradient(115deg, #edf3ea 0%, #dce8d8 27%, #f6eee5 52%, #e3ece0 76%, #f3f5ef 100%);
    background-size: 220% 220%; animation: pearlescentShift 12s ease-in-out infinite alternate;
}
@keyframes pearlescentShift { to { background-position: 100% 50%; } }
@media (prefers-reduced-motion: reduce) { .impact-marquee { animation: none; } }

/* Propuesta B: franja limpia y escaparate biologico a pantalla completa. */
.impact-marquee { border: 0; }
.proposal-b-hidden { display: none !important; }
.bio-product-stage {
    position: relative; min-height: 100svh; width: 100%; display: grid; grid-template-columns: minmax(320px, .88fr) 1.12fr;
    align-items: center; gap: clamp(30px, 5vw, 100px); padding: clamp(90px, 11vh, 150px) max(6vw, calc((100vw - 1380px) / 2));
    overflow: hidden; isolation: isolate; background: #fff url('../legacy-assets/organic-background.webp') center top / 100% auto repeat-y;
}
.bio-product-stage__wash {
    position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.38) 44%, rgba(255,255,255,.72) 100%);
}
.bio-product-stage__copy { position: relative; z-index: 2; max-width: 650px; }
.bio-product-stage__copy > p { margin: 0 0 24px; color: var(--botanical); font-size: .72rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.bio-product-stage__copy h2 { margin: 0; color: #26352f; font-size: clamp(3.4rem, 5.8vw, 6.8rem); line-height: .9; letter-spacing: -.065em; font-weight: 650; }
.bio-product-stage__copy h2 em { color: #16933f; font-style: normal; }
.bio-product-stage__copy > span { display: block; max-width: 500px; margin-top: 34px; color: #64766e; font-size: clamp(.92rem, 1.2vw, 1.08rem); line-height: 1.7; }
.bio-copy-line { display: block; opacity: 0; transform: translateY(34px); }
.bio-copy-line em { color: #16933f; font-style: normal; }
.bio-copy-subtitle { opacity: 0; transform: translateY(24px); }
.bio-product-stage__copy.is-visible .bio-copy-line--one { animation: bioCopyReveal .72s .08s var(--ease) forwards; }
.bio-product-stage__copy.is-visible .bio-copy-line--two { animation: bioCopyReveal .72s .34s var(--ease) forwards; }
.bio-product-stage__copy.is-visible .bio-copy-subtitle { animation: bioCopyReveal .68s .64s var(--ease) forwards; }
@keyframes bioCopyReveal { to { opacity: 1; transform: translateY(0); } }

.bio-product-stage__products { position: relative; min-height: min(730px, 74svh); }
.bio-product-slide {
    position: absolute; inset: 0; display: grid; grid-template-columns: minmax(250px, 1fr) minmax(210px, .58fr); align-items: center; gap: clamp(24px, 3vw, 54px);
    opacity: 0; visibility: hidden; transition: opacity .75s ease, visibility .75s;
}
.bio-product-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.bio-product-slide__image { display: grid; place-items: center; height: min(700px, 72svh); }
.bio-product-slide__image img {
    display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 30px 28px rgba(38,75,55,.16));
    opacity: 0; transition: opacity .8s ease;
}
.bio-product-slide.is-active .bio-product-slide__image img { opacity: 1; }
.bio-product-slide__caption { align-self: center; margin: 0; padding-left: 28px; border-left: 1px solid rgba(34,94,63,.2); }
.bio-product-slide__caption > span { display: block; color: #71847a; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.bio-product-slide__caption strong { display: block; margin: 8px 0 20px; color: var(--botanical); font-size: clamp(1.4rem, 2.2vw, 2.2rem); line-height: 1.05; font-weight: 800; }
.bio-product-slide__caption a {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 24px; border: 1.5px solid var(--botanical); border-radius: 999px;
    color: var(--botanical); background: rgba(255,255,255,.8); box-shadow: 0 4px 14px rgba(19,121,75,.08); text-decoration: none; font-size: .88rem; font-weight: 700; transition: all .25s ease;
}
.bio-product-slide__caption a:hover { color: #fff; background: var(--botanical); border-color: var(--botanical); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(19,121,75,.22); }
.bio-product-slide__caption > span,
.bio-product-slide__caption > strong,
.bio-product-slide__caption > a { opacity: 0; transform: translateY(16px); }
.bio-product-slide.is-active .bio-product-slide__caption > span { animation: bioCaptionIn .55s .28s var(--ease) forwards; }
.bio-product-slide.is-active .bio-product-slide__caption > strong { animation: bioCaptionIn .6s .48s var(--ease) forwards; }
.bio-product-slide.is-active .bio-product-slide__caption > a { animation: bioCaptionIn .6s .7s var(--ease) forwards; }
@keyframes bioCaptionIn { to { opacity: 1; transform: translateY(0); } }

.bio-product-stage__controls {
    position: absolute; z-index: 4; left: 50%; bottom: 0; transform: translateX(-50%); display: flex; align-items: center; gap: 18px;
}
.bio-product-stage__controls > button {
    width: 48px; height: 48px; min-width: 48px; min-height: 48px; padding: 0; border: 1.5px solid rgba(19, 121, 75, 0.22); border-radius: 50%;
    color: var(--botanical); background: rgba(255, 255, 255, 0.88); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05); transition: all .25s ease;
}
.bio-product-stage__controls > button:hover { background: var(--botanical); color: #fff; border-color: var(--botanical); transform: scale(1.06); box-shadow: 0 6px 18px rgba(19, 121, 75, 0.25); }
.bio-product-stage__dots { display: flex; align-items: center; gap: 8px; }
.bio-product-stage__dots button { width: 9px; height: 9px; min-width: 9px; min-height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(34, 94, 63, 0.26); cursor: pointer; transition: width .3s ease, border-radius .3s ease, background .3s ease; }
.bio-product-stage__dots button.is-active { width: 32px; border-radius: 10px; background: var(--botanical); }

@media (max-width: 900px) {
    .bio-product-stage {
        min-height: auto; grid-template-columns: 1fr; align-content: start; gap: 30px; padding: 90px 24px 70px; background-position: center top;
    }
    .bio-product-stage__copy { max-width: 620px; margin: 0 auto; text-align: center; }
    .bio-product-stage__copy > p { margin-bottom: 16px; }
    .bio-product-stage__copy h2 { font-size: clamp(2.4rem, 7vw, 4.2rem); }
    .bio-product-stage__copy > span { margin: 18px auto 0; font-size: clamp(0.9rem, 2vw, 1.02rem); }
    .bio-product-stage__products { width: 100%; max-width: 440px; margin: 0 auto; min-height: 570px; position: relative; }
    .bio-product-slide {
        display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 0; inset: 0; position: absolute;
    }
    .bio-product-slide__image {
        display: flex; align-items: center; justify-content: center; height: 280px; max-height: 280px; width: 100%; margin-bottom: 12px;
    }
    .bio-product-slide__image img {
        height: 100%; max-height: 280px; width: auto; max-width: 220px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(38,75,55,.14));
    }
    .bio-product-slide__caption {
        position: static; transform: none; max-width: 100%; width: 100%; margin: 0; padding: 0; border-left: none;
        display: flex; flex-direction: column; align-items: center; text-align: center;
    }
    .bio-product-slide__caption > span {
        display: block; color: #71847a; font-size: 0.72rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 6px;
    }
    .bio-product-slide__caption strong {
        display: block; margin: 0 0 16px; color: var(--botanical); font-size: clamp(1.65rem, 5vw, 2.1rem); line-height: 1.1; font-weight: 800; letter-spacing: -0.02em;
    }
    .bio-product-slide__caption a { min-height: 48px; padding: 12px 28px; font-size: 0.9rem; font-weight: 700; width: auto; }
    .bio-product-stage__controls {
        position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; align-items: center; justify-content: center; gap: 16px; width: 100%;
    }
    .bio-product-stage__controls > button { width: 48px; height: 48px; min-width: 48px; min-height: 48px; }
}

@media (max-width: 480px) {
    .bio-product-stage { padding: 70px 16px 50px; gap: 20px; }
    .bio-product-stage__copy h2 { font-size: clamp(2rem, 9vw, 2.6rem); }
    .bio-product-stage__copy > span { margin-top: 12px; font-size: 0.86rem; }
    .bio-product-stage__products { min-height: 520px; }
    .bio-product-slide__image { height: 245px; max-height: 245px; margin-bottom: 10px; }
    .bio-product-slide__image img { max-height: 245px; max-width: 190px; }
    .bio-product-slide__caption > span { font-size: 0.68rem; margin-bottom: 4px; }
    .bio-product-slide__caption strong { font-size: 1.55rem; margin-bottom: 14px; }
    .bio-product-slide__caption a { min-height: 48px; padding: 12px 24px; font-size: 0.85rem; }
    .bio-product-stage__controls { bottom: 0; gap: 12px; }
    .bio-product-stage__controls > button { width: 48px; height: 48px; min-width: 48px; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .bio-product-slide, .bio-product-slide__image img { transition: none; }
    .bio-copy-line, .bio-copy-subtitle { opacity: 1; transform: none; animation: none !important; }
}
/* Propuesta B: familias del portafolio con Biologicos como lanzamiento. */
.portfolio-families {
    position: relative; width: 100%; padding: clamp(120px, 15vw, 210px) clamp(38px, 7vw, 110px);
    overflow: hidden; isolation: isolate; color: #26352f; background-color: #fff;
    background-image: linear-gradient(rgba(255,255,255,.91), rgba(255,255,255,.91)), url('../legacy-assets/organic-background.webp');
    background-position: center, center bottom; background-size: auto, 100% auto; background-repeat: no-repeat, repeat-y;
}
.portfolio-families__wave {
    position: absolute; z-index: -1; inset: 0; opacity: .2; background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(224,242,232,.32), rgba(255,255,255,.12));
}
.portfolio-families__header { max-width: 820px; margin: 0 auto clamp(64px, 7vw, 100px); padding-inline: clamp(12px, 2vw, 28px); text-align: center; }
.portfolio-families__header h2 { margin: 0; font-size: clamp(3rem, 5.2vw, 6.1rem); line-height: .96; letter-spacing: -.06em; font-weight: 650; }
.portfolio-families__header h2 em { color: var(--botanical); font-style: normal; }
.portfolio-families__header p { max-width: 650px; margin: 28px auto 0; color: #687a71; font-size: clamp(.96rem, 1.25vw, 1.12rem); }
.portfolio-families__grid { width: min(1060px, 100%); margin-inline: auto; display: grid; grid-template-columns: 1.28fr repeat(3, 1fr); gap: 18px; align-items: stretch; }
.family-card {
    --family-accent: #3b7659; position: relative; min-height: 440px; display: flex; flex-direction: column; justify-content: space-between;
    padding: 34px 30px 32px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--family-accent) 28%, transparent);
    border-radius: 44px 8px 44px 8px; background: rgba(255,255,255,.86); box-shadow: 0 24px 68px rgba(32,74,52,.06);
    transition: transform .35s var(--ease), box-shadow .35s ease, background .35s ease;
}
.family-card:hover { transform: translateY(-8px); box-shadow: 0 30px 74px rgba(32,74,52,.11); }
.family-card--biological {
    --family-accent: #2f8b52; min-height: 490px; margin-top: -25px; padding: 36px 36px 34px; color: #1f4d35;
    border-color: rgba(47,139,82,.44); background: linear-gradient(145deg, rgba(235,246,236,.98), rgba(255,255,255,.92));
    box-shadow: 0 30px 86px rgba(47,139,82,.13);
}
.family-card--protection { --family-accent: #3973ae; }
.family-card--regulation { --family-accent: #9189bd; }
.family-card__badge {
    position: absolute; top: 0; right: 32px; padding: 7px 16px 8px; border-radius: 0 0 15px 15px; color: #fff;
    background: var(--family-accent); font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase;
}
.family-card__icon { width: 138px; height: 138px; display: grid; place-items: center; align-self: center; margin: 0 0 12px; }
.family-card__icon img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s var(--ease); }
.family-card:hover .family-card__icon img { transform: translateY(-5px) scale(1.04); }
.family-card--biological .family-card__icon { width: 172px; height: 172px; margin-top: 0; }
.family-card__copy > span { display: block; margin-bottom: 8px; color: var(--family-accent); font-size: .67rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.family-card h3 { margin: 0; color: var(--family-accent); font-size: clamp(1.35rem, 1.8vw, 2rem); line-height: 1.02; letter-spacing: -.035em; }
.family-card p { min-height: 72px; margin: 16px 0 25px; color: #687a71; font-size: .84rem; line-height: 1.6; }
.family-card a { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--family-accent); font-size: .72rem; font-weight: 750; text-decoration: none; }
.family-card a::after { content: ''; position: absolute; left: 30px; right: 30px; bottom: 24px; height: 1px; background: color-mix(in srgb, var(--family-accent) 28%, transparent); }
.family-card--biological a { width: max-content; min-height: 44px; padding: 0 18px; border: 1px solid var(--family-accent); border-radius: 999px; }
.family-card--biological a::after { display: none; }
.portfolio-families__all { display: flex; width: max-content; align-items: center; gap: 18px; margin: 54px auto 0; padding-bottom: 7px; color: var(--botanical); border-bottom: 1px solid rgba(34,94,63,.32); font-size: .76rem; font-weight: 750; text-decoration: none; }

@media (max-width: 1100px) {
    .portfolio-families__grid { grid-template-columns: 1.15fr 1fr; }
    .family-card--biological { margin-top: 0; }
}
@media (max-width: 680px) {
    .portfolio-families { padding: 105px 30px; background-image: linear-gradient(rgba(255,255,255,.94), rgba(255,255,255,.94)), url('../legacy-assets/organic-background.webp'); }
    .portfolio-families__header { margin-bottom: 50px; }
    .portfolio-families__header h2 { font-size: 3rem; }
    .portfolio-families__grid { grid-template-columns: 1fr; gap: 14px; }
    .family-card, .family-card--biological { min-height: 370px; padding: 28px 25px; border-radius: 32px 7px 32px 7px; }
    .family-card--biological { min-height: 430px; }
    .family-card p { min-height: 0; }
    .family-card a::after { left: 25px; right: 25px; }
}

/* Reticula global de contenido para Propuesta B: fondos full width, contenido alineado. */
:root { --proposal-content: 1120px; --proposal-gutter: clamp(32px, 6vw, 88px); }
.home-page main > .section-flow,
.featured-flow { width: min(var(--proposal-content), calc(100% - (var(--proposal-gutter) * 2))); margin-inline: auto; }
.bio-product-stage { padding-inline: max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2)); }
.portfolio-families { padding-inline: max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2)); }
.portfolio-families__header { max-width: 920px; margin-left: auto; margin-right: auto; padding-inline: 0; text-align: center; }
.portfolio-families__header p { margin-left: auto; margin-right: auto; }
.portfolio-families__grid { width: 100%; }
.evidence-band { padding-inline: max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2)); }
.crop-lab__head, .crop-name-list { width: 100%; }
.landing-cta, .site-footer { padding-left: max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2)); padding-right: max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2)); }

@media (max-width: 900px) {
    :root { --proposal-gutter: 32px; }
    .home-page main > .section-flow,
    .featured-flow { width: calc(100% - 64px); }
}
@media (max-width: 560px) {
    :root { --proposal-gutter: 24px; }
    .home-page main > .section-flow,
    .featured-flow { width: calc(100% - 48px); }
    .portfolio-families__header { text-align: center; }
}

/* Índice editorial de cultivos: una pieza tipográfica, contenida y sin tarjetas. */
.crop-horizon {
    min-height: 680px;
    padding: clamp(120px, 11vw, 165px) max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2));
    display: grid;
    grid-template-columns: minmax(330px, .78fr) minmax(520px, 1.22fr);
    align-items: center;
    gap: clamp(70px, 9vw, 140px);
    position: relative;
    overflow: hidden;
    color: var(--ink);
    background: #fff;
    isolation: isolate;
}
.crop-horizon__heading {
    width: 100%;
    margin: 0;
    position: relative;
    z-index: 3;
    text-align: left;
}
.crop-horizon__heading h2 {
    margin: 0;
    font-size: clamp(3.4rem, 5.1vw, 6.2rem);
    font-weight: 650;
    line-height: .94;
    letter-spacing: -.065em;
}
.crop-horizon__heading h2 em { color: var(--botanical); font-style: normal; font-weight: 450; }
.crop-horizon__heading p {
    max-width: 430px;
    margin: 30px 0 0;
    color: #66786f;
    font-size: clamp(.94rem, 1.15vw, 1.08rem);
    line-height: 1.65;
}
.crop-horizon__waves {
    width: 84%;
    height: 250px;
    position: absolute;
    left: -28%;
    bottom: -145px;
    z-index: 0;
    border-top: 1px solid rgba(62, 126, 91, .16);
    border-radius: 50% 50% 0 0 / 92% 92% 0 0;
    transform: rotate(4deg);
}
.crop-horizon__waves::before,
.crop-horizon__waves::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    border-radius: inherit;
    border-top: 1px solid rgba(79, 167, 126, .12);
}
.crop-horizon__waves::before { top: 22px; transform: rotate(2deg); }
.crop-horizon__waves::after { top: 48px; border-color: rgba(96, 178, 208, .09); transform: rotate(-1deg); }
.crop-horizon__constellation {
    width: 100%;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(28px, 4vw, 60px);
    position: relative;
    z-index: 2;
    border-top: 1px solid rgba(63, 111, 87, .22);
}
.crop-horizon__crop {
    min-height: 88px;
    padding: 18px 3px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--botanical);
    position: relative;
    border-bottom: 1px solid rgba(63, 111, 87, .22);
    transition: color .3s ease, padding .35s var(--ease);
}
.crop-horizon__crop::after {
    content: "â†—";
    color: rgba(63, 111, 87, .34);
    font-size: 1rem;
    opacity: 0;
    translate: -8px 8px;
    transition: opacity .3s ease, translate .3s ease;
}
.crop-horizon__crop strong {
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 500;
    letter-spacing: -.045em;
}
.crop-horizon__crop:hover { padding-left: 12px; color: #1f8a4c; }
.crop-horizon__crop:hover::after { opacity: 1; translate: 0 0; }

@media (max-width: 900px) {
    .crop-horizon { min-height: 0; grid-template-columns: 1fr; gap: 72px; }
    .crop-horizon__heading { max-width: 680px; }
    .crop-horizon__waves { width: 120%; left: -48%; bottom: -110px; }
}

@media (max-width: 560px) {
    .crop-horizon { padding-top: 105px; padding-bottom: 100px; gap: 55px; }
    .crop-horizon__heading h2 { font-size: 3.25rem; }
    .crop-horizon__constellation { grid-template-columns: 1fr; }
    .crop-horizon__crop { min-height: 68px; }
    .crop-horizon__crop strong { font-size: 1.3rem; }
    .crop-horizon__waves { width: 180%; left: -80%; bottom: -90px; opacity: .75; }
}

/* Cultivos 03: manifiesto tipográfico en movimiento. */
.crop-spectrum {
    min-height: 720px;
    padding: clamp(115px, 10vw, 160px) 0 clamp(110px, 9vw, 145px);
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, #fff 0%, rgba(242, 248, 243, .82) 56%, #fff 100%);
    isolation: isolate;
}
.crop-spectrum::before {
    content: "";
    width: 74vw;
    height: 240px;
    position: absolute;
    right: -24vw;
    top: 44px;
    z-index: -1;
    border-top: 1px solid rgba(63, 111, 87, .1);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    transform: rotate(-5deg);
}
.crop-spectrum__heading {
    width: min(920px, calc(100% - (var(--proposal-gutter) * 2)));
    margin: 0 auto clamp(78px, 8vw, 115px);
    text-align: center;
}
.crop-spectrum__heading h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(3.6rem, 6.2vw, 7.2rem);
    font-weight: 650;
    line-height: .92;
    letter-spacing: -.07em;
}
.crop-spectrum__heading h2 em {
    color: var(--botanical);
    font-style: normal;
    font-weight: 430;
}
.crop-spectrum__heading p {
    max-width: 620px;
    margin: 30px auto 0;
    color: #687a71;
    font-size: clamp(.94rem, 1.2vw, 1.08rem);
    line-height: 1.65;
}
.crop-stream {
    width: 108%;
    margin-left: -4%;
    overflow: hidden;
    border-block: 1px solid rgba(63, 111, 87, .17);
    background: rgba(255, 255, 255, .78);
    transform: rotate(-2deg);
}
.crop-stream--secondary {
    margin-top: 20px;
    color: #fff;
    border-color: rgba(63, 111, 87, .08);
    background: linear-gradient(90deg, #dfece1, #cadfce 52%, #e8f1e7);
    transform: rotate(1.8deg);
}
.crop-stream__track {
    width: max-content;
    display: flex;
    will-change: transform;
    animation: cropStreamForward 42s linear infinite;
}
.crop-stream--secondary .crop-stream__track { animation: cropStreamReverse 48s linear infinite; }
.crop-stream:hover .crop-stream__track { animation-play-state: paused; }
.crop-stream__set { display: flex; flex: 0 0 auto; align-items: center; }
.crop-stream__set span {
    min-height: 104px;
    padding: 20px clamp(28px, 3vw, 52px);
    display: inline-flex;
    align-items: center;
    color: var(--botanical);
    font-size: clamp(2.1rem, 3.5vw, 4.2rem);
    font-weight: 520;
    line-height: 1;
    letter-spacing: -.055em;
    white-space: nowrap;
}
.crop-stream__set span::after {
    content: "+";
    margin-left: clamp(55px, 7vw, 110px);
    color: #80aa8e;
    font-size: .48em;
    font-weight: 400;
}
.crop-stream--secondary .crop-stream__set span { color: rgba(47, 91, 67, .78); font-weight: 430; }
.crop-stream--secondary .crop-stream__set span::after { color: rgba(255, 255, 255, .78); }

@keyframes cropStreamForward { to { transform: translateX(-50%); } }
@keyframes cropStreamReverse { from { transform: translateX(-50%); } to { transform: translateX(0); } }

@media (max-width: 820px) {
    .crop-spectrum { min-height: 650px; }
    .crop-spectrum__heading { width: calc(100% - 64px); }
    .crop-stream__set span { min-height: 88px; }
}

@media (max-width: 560px) {
    .crop-spectrum { min-height: 0; padding-block: 100px 105px; }
    .crop-spectrum__heading { width: calc(100% - 48px); margin-bottom: 65px; text-align: left; }
    .crop-spectrum__heading h2 { font-size: 3.15rem; }
    .crop-spectrum__heading p { margin-left: 0; }
    .crop-stream { width: 116%; margin-left: -8%; }
    .crop-stream__set span { min-height: 76px; padding-inline: 24px; font-size: 2rem; }
    .crop-stream__set span::after { margin-left: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .crop-stream { overflow-x: auto; scrollbar-width: none; }
    .crop-stream::-webkit-scrollbar { display: none; }
    .crop-stream__track { animation: none; }
    .crop-stream__set[aria-hidden="true"],
    .crop-stream--secondary { display: none; }
}

/* Ajuste de tono: movimiento y tipografía con carácter de laboratorio. */
.crop-spectrum {
    min-height: 680px;
    padding-block: clamp(120px, 10vw, 155px) clamp(105px, 8vw, 135px);
    background: linear-gradient(180deg, #fdfdfb, #f7faf7 58%, #fdfdfb);
    border-top: 1px solid rgba(63, 111, 87, .09);
    border-bottom: 1px solid rgba(63, 111, 87, .09);
}
.crop-spectrum::before { opacity: .46; }
.crop-spectrum__heading { margin-bottom: clamp(68px, 7vw, 92px); }
.crop-spectrum__heading h2 {
    font-size: clamp(3.35rem, 5.45vw, 6.35rem);
    font-weight: 560;
    line-height: .96;
    letter-spacing: -.058em;
}
.crop-spectrum__heading h2 em { font-weight: 420; }
.crop-spectrum__heading p {
    margin-top: 26px;
    color: #65756d;
    font-size: clamp(.9rem, 1.05vw, 1rem);
    letter-spacing: .01em;
}
.crop-stream,
.crop-stream--secondary {
    width: 100%;
    margin-left: 0;
    transform: none;
    border-color: rgba(63, 111, 87, .15);
    background: rgba(255, 255, 255, .68);
}
.crop-stream--secondary {
    margin-top: 0;
    border-top: 0;
    background: rgba(232, 240, 233, .72);
}
.crop-stream__track { animation-duration: 76s; }
.crop-stream--secondary .crop-stream__track { animation-duration: 88s; }
.crop-stream__set span {
    min-height: 84px;
    padding: 18px clamp(30px, 3.4vw, 56px);
    color: #345f4a;
    font-size: clamp(1.5rem, 2.4vw, 2.65rem);
    font-weight: 480;
    letter-spacing: -.035em;
}
.crop-stream__set span::after {
    content: "";
    width: 1px;
    height: 26px;
    margin-left: clamp(60px, 7vw, 118px);
    display: block;
    flex: 0 0 auto;
    background: rgba(63, 111, 87, .22);
}
.crop-stream--secondary .crop-stream__set span {
    color: rgba(52, 95, 74, .74);
    font-weight: 430;
}
.crop-stream--secondary .crop-stream__set span::after { background: rgba(63, 111, 87, .17); }

@media (max-width: 560px) {
    .crop-spectrum { padding-block: 95px 100px; }
    .crop-spectrum__heading h2 { font-size: 3rem; }
    .crop-stream { width: 100%; margin-left: 0; }
    .crop-stream__set span { min-height: 70px; font-size: 1.6rem; }
    .crop-stream__set span::after { height: 22px; margin-left: 52px; }
}

/* Portafolio como lámina científica: dato, curva de crecimiento y cuatro estaciones. */
.portfolio-families {
    padding-top: clamp(125px, 12vw, 180px);
    padding-bottom: clamp(125px, 11vw, 165px);
    background-image:
        linear-gradient(rgba(255, 255, 255, .965), rgba(249, 252, 249, .965)),
        url('../legacy-assets/organic-background.webp');
}
.portfolio-families__wave { opacity: .08; }
.portfolio-families__header {
    width: 100%;
    max-width: none;
    margin: 0 0 clamp(90px, 9vw, 130px);
    display: grid;
    grid-template-columns: auto minmax(420px, 1fr) minmax(260px, .48fr);
    align-items: end;
    gap: clamp(30px, 5vw, 78px);
    text-align: left;
}
.portfolio-families__ten {
    
    font-size: clamp(8rem, 14vw, 14.5rem);
    font-weight: 580;
    line-height: .7;
    letter-spacing: -.1em;
    -webkit-text-stroke: 1px rgba(47, 108, 73, .52);
}
.portfolio-families__ten sup {
    color: var(--botanical);
    font-size: .3em;
    vertical-align: top;
    -webkit-text-stroke: 0;
}
.portfolio-families__header h2 {
    margin: 0;
    font-size: clamp(3.2rem, 5vw, 6rem);
    font-weight: 560;
    line-height: .94;
    letter-spacing: -.062em;
}
.portfolio-families__header h2 em { font-weight: 420; }
.portfolio-families__header p {
    max-width: 340px;
    margin: 0 0 7px;
    color: #687a71;
    font-size: .96rem;
    line-height: 1.65;
}
.portfolio-map {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: relative;
    isolation: isolate;
}
.portfolio-map__curve {
    width: 108%;
    height: 132px;
    position: absolute;
    left: -4%;
    top: 96px;
    z-index: -1;
    border-top: 1px solid rgba(63, 111, 87, .3);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    transform: rotate(-1.5deg);
}
.portfolio-map__curve::after {
    content: "";
    position: absolute;
    inset: 14px 0 auto;
    border-top: 1px solid rgba(74, 143, 104, .1);
    border-radius: inherit;
}
.family-node {
    --node-accent: var(--botanical);
    min-height: 430px;
    padding: 0 clamp(22px, 2.5vw, 38px) 26px;
    display: grid;
    grid-template-rows: 185px 1fr;
    position: relative;
    border-left: 1px solid rgba(63, 111, 87, .15);
}
.family-node:last-child { border-right: 1px solid rgba(63, 111, 87, .15); }
.family-node--protection { --node-accent: #3973ae; }
.family-node--regulation { --node-accent: #9189bd; }
.family-node__status {
    position: absolute;
    top: -34px;
    left: clamp(22px, 2.5vw, 38px);
    color: #277949;
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.family-node__icon {
    width: 132px;
    height: 132px;
    align-self: start;
    display: grid;
    place-items: center;
    position: relative;
}
.family-node__icon::after {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    left: 50%;
    bottom: -22px;
    background: var(--node-accent);
    transform: translateX(-50%) rotate(45deg);
    box-shadow: 0 0 0 5px #fff;
}
.family-node__icon img {
    width: 112px;
    height: 112px;
    object-fit: contain;
    transition: transform .35s var(--ease);
}
.family-node:hover .family-node__icon img { transform: translateY(-5px); }
.family-node__copy { padding-top: 24px; }
.family-node__copy h3 {
    margin: 0;
    color: var(--node-accent);
    font-size: clamp(1.45rem, 2vw, 2.15rem);
    font-weight: 560;
    letter-spacing: -.045em;
}
.family-node__copy p {
    min-height: 88px;
    margin: 18px 0 28px;
    color: #687a71;
    font-size: .84rem;
    line-height: 1.62;
}
.family-node__copy a {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 7px;
    color: var(--node-accent);
    border-bottom: 1px solid color-mix(in srgb, var(--node-accent) 30%, transparent);
    font-size: .7rem;
    font-weight: 750;
}
.portfolio-families__all { margin-top: 54px; }

@media (max-width: 1000px) {
    .portfolio-families__header { grid-template-columns: auto 1fr; }
    .portfolio-families__header p { grid-column: 2; max-width: 520px; }
    .portfolio-map { grid-template-columns: 1fr 1fr; row-gap: 70px; }
    .portfolio-map__curve { display: none; }
    .family-node:nth-child(4) { border-left: 1px solid rgba(63, 111, 87, .15); }
    .family-node:nth-child(3) { border-right: 1px solid rgba(63, 111, 87, .15); }
    .family-node__icon::after { bottom: -18px; }
}

@media (max-width: 620px) {
    .portfolio-families { padding-inline: 24px; }
    .portfolio-families__header { grid-template-columns: 1fr; gap: 28px; }
    .portfolio-families__ten { font-size: 8rem; }
    .portfolio-families__header h2 { font-size: 3.15rem; }
    .portfolio-families__header p { grid-column: auto; }
    .portfolio-map { grid-template-columns: 1fr; row-gap: 0; }
    .family-node,
    .family-node:last-child {
        min-height: 0;
        padding: 35px 0 42px;
        grid-template-columns: 105px 1fr;
        grid-template-rows: auto;
        gap: 22px;
        border-left: 0;
        border-right: 0;
        border-top: 1px solid rgba(63, 111, 87, .15);
    }
    .family-node__status { top: 16px; left: 127px; }
    .family-node__icon { width: 100px; height: 100px; }
    .family-node__icon img { width: 88px; height: 88px; }
    .family-node__icon::after { display: none; }
    .family-node__copy { padding-top: 4px; }
    .family-node--biological .family-node__copy { padding-top: 25px; }
    .family-node__copy p { min-height: 0; margin-block: 12px 20px; }
}

/* Portafolio 04: selector técnico de una sola familia visible. */
.portfolio-families {
    padding-top: clamp(125px, 11vw, 170px);
    padding-bottom: clamp(120px, 10vw, 155px);
    background: #fbfcfa;
}
.portfolio-families__wave,
.portfolio-map,
.portfolio-families::before,
.portfolio-families::after { display: none !important; }
.portfolio-family-lab__header {
    width: 100%;
    margin-bottom: clamp(70px, 7vw, 100px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .38fr);
    align-items: end;
    gap: clamp(55px, 8vw, 120px);
}
.portfolio-family-lab__years {
    margin: 0 0 28px;
    display: flex;
    align-items: center;
    gap: 18px;
    color: #687a71;
}
.portfolio-family-lab__years strong {
    color: var(--botanical);
    font-size: clamp(2.7rem, 4.2vw, 4.6rem);
    font-weight: 520;
    line-height: .8;
    letter-spacing: -.07em;
}
.portfolio-family-lab__years span {
    max-width: 150px;
    font-size: .66rem;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.portfolio-family-lab__header h2 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(3.5rem, 5.8vw, 6.75rem);
    font-weight: 560;
    line-height: .92;
    letter-spacing: -.065em;
}
.portfolio-family-lab__header h2 em { color: var(--botanical); font-style: normal; font-weight: 420; }
.portfolio-family-lab__header > p {
    max-width: 330px;
    margin: 0 0 8px;
    color: #687a71;
    font-size: .96rem;
    line-height: 1.7;
}
.family-selector { width: auto; background: #f2f6f2; margin-inline: calc(50% - 50vw); padding-inline: calc(50vw - 50%); }
.family-selector__tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid rgba(63, 111, 87, .18);
}
.family-selector__tabs button {
    min-height: 66px;
    padding: 14px 18px;
    color: #728078;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    font: inherit;
    font-size: .85rem;
    font-weight: 650;
    cursor: pointer;
    transition: color .25s ease, border-color .25s ease, background .25s ease;
}
.family-selector__tabs button:hover { color: var(--botanical); background: rgba(232, 240, 233, .42); }
.family-selector__tabs button.is-active {
    color: var(--botanical);
    border-bottom-color: var(--botanical);
    background: rgba(232, 240, 233, .68);
}
.family-selector__tabs button[data-family-tab="biological"].is-active {
    color: #238b57;
    border-bottom-color: #238b57;
    background: color-mix(in srgb, #238b57 9%, white);
}
.family-selector__tabs button[data-family-tab="nutrition"].is-active {
    color: #7d8f3f;
    border-bottom-color: #7d8f3f;
    background: color-mix(in srgb, #7d8f3f 11%, white);
}
.family-selector__tabs button[data-family-tab="protection"].is-active {
    color: #3973ae;
    border-bottom-color: #3973ae;
    background: color-mix(in srgb, #3973ae 10%, white);
}
.family-selector__tabs button[data-family-tab="regulation"].is-active {
    color: #9189bd;
    border-bottom-color: #9189bd;
    background: color-mix(in srgb, #9189bd 12%, white);
}
.family-selector__stage {
    min-height: 510px;
    position: relative;
    overflow: hidden;
}
.family-selector__panel {
    --selector-accent: var(--botanical);
    min-height: 510px;
    padding: clamp(54px, 6vw, 88px);
    display: none;
    grid-template-columns: minmax(300px, .8fr) minmax(380px, 1.2fr);
    align-items: center;
    gap: clamp(65px, 9vw, 140px);
}
.family-selector__panel--biological { --selector-accent: #238b57; }
.family-selector__panel--nutrition { --selector-accent: #7d8f3f; }
.family-selector__panel--protection { --selector-accent: #3973ae; }
.family-selector__panel--regulation { --selector-accent: #9189bd; }
.family-selector__panel.is-active { display: grid; animation: familyPanelIn .45s var(--ease) both; }
.family-selector__visual {
    min-height: 330px;
    display: grid;
    place-items: center;
    position: relative;
}
.family-selector__visual::before {
    content: "";
    width: 310px;
    height: 250px;
    position: absolute;
    background: color-mix(in srgb, var(--selector-accent) 7%, white);
    border-radius: 68% 32% 58% 42% / 46% 64% 36% 54%;
}
.family-selector__panel--biological .family-selector__visual::before,
.family-selector__panel--nutrition .family-selector__visual::before {
    width: 360px;
    height: 270px;
    border-radius: 62% 38% 56% 44% / 42% 60% 40% 58%;
}
.family-selector__panel--biological .family-selector__visual::before {
    background: color-mix(in srgb, var(--selector-accent) 17%, white);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--selector-accent) 10%, transparent);
}
.family-selector__panel--nutrition .family-selector__visual::before {
    background: color-mix(in srgb, var(--selector-accent) 23%, white);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--selector-accent) 12%, transparent);
}
.family-selector__visual img {
    width: min(380px, 100%);
    height: auto;
    max-height: 300px;
    position: relative;
    z-index: 1;
    object-fit: contain;
}
.family-selector__panel--regulation .family-selector__visual img {
    width: min(250px, 72%);
}
.family-selector__copy h3 {
    margin: 0 0 14px;
    color: var(--selector-accent);
    font-size: .76rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.family-selector__copy h4 {
    max-width: 600px;
    margin: 0;
    color: var(--ink);
    font-size: clamp(2.4rem, 4.2vw, 4.8rem);
    font-weight: 520;
    line-height: .98;
    letter-spacing: -.06em;
}
.family-selector__copy p {
    max-width: 560px;
    margin: 24px 0 28px;
    color: #687a71;
    line-height: 1.7;
}
.family-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 14px 48px !important; /* Regla Global: Padding 48px */
    background: var(--selector-accent, #238b57) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    font-size: 0.92rem !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.3s ease !important;
    width: fit-content !important;
}
.family-action-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
    filter: brightness(1.08) !important;
}
.family-action-btn svg {
    width: 1.5rem !important; /* Regla Global: Mínimo 1.5rem */
    height: 1.5rem !important;
    flex-shrink: 0 !important;
    display: block !important;
}
@keyframes familyPanelIn {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1;  }
}

@media (max-width: 850px) {
    .portfolio-families { padding-top: 70px; padding-bottom: 70px; }
    .portfolio-family-lab__header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; }
    .portfolio-family-lab__header > p { max-width: 560px; }
    .portfolio-family-lab__header h2 { font-size: clamp(2.4rem, 6.5vw, 3.5rem); }
    .family-selector__panel { grid-template-columns: 1fr; gap: 28px; padding: 40px 24px; }
    .family-selector__visual { min-height: 240px; }
    .family-selector__visual img { width: min(340px, 100%); max-height: 230px; }
    .family-selector__panel--regulation .family-selector__visual img { width: min(210px, 65%); }
}

@media (max-width: 640px) {
    .portfolio-families { padding-inline: 16px; padding-top: 50px; padding-bottom: 50px; overflow-x: hidden; }
    .portfolio-family-lab__header h2 { font-size: clamp(2.1rem, 7vw, 2.8rem); }
    .family-selector { margin-inline: -16px; padding-inline: 0; border-radius: 0; }
    .family-selector__tabs {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 0;
        border-bottom: 1px solid rgba(63, 111, 87, .16);
    }
    .family-selector__tabs button {
        min-height: 50px;
        padding: 12px 8px;
        font-size: 0.82rem;
        font-weight: 600;
        text-align: center;
        border: 0;
        border-bottom: 2px solid transparent;
        background: rgba(255, 255, 255, 0.45);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .family-selector__tabs button:nth-child(1),
    .family-selector__tabs button:nth-child(2) {
        border-bottom: 1px solid rgba(63, 111, 87, .1);
    }
    .family-selector__tabs button:nth-child(odd) {
        border-right: 1px solid rgba(63, 111, 87, .1);
    }
    .family-selector__tabs button.is-active {
        font-weight: 700;
        background: #ffffff !important;
    }
    .family-selector__tabs button[data-family-tab="biological"].is-active {
        color: #238b57;
        border-bottom: 3px solid #238b57 !important;
    }
    .family-selector__tabs button[data-family-tab="nutrition"].is-active {
        color: #7d8f3f;
        border-bottom: 3px solid #7d8f3f !important;
    }
    .family-selector__tabs button[data-family-tab="protection"].is-active {
        color: #3973ae;
        border-bottom: 3px solid #3973ae !important;
    }
    .family-selector__tabs button[data-family-tab="regulation"].is-active {
        color: #9189bd;
        border-bottom: 3px solid #9189bd !important;
    }
    .family-selector__panel { min-height: 0; padding: 28px 16px 36px; gap: 20px; }
    .family-selector__stage { min-height: 0; }
    .family-selector__visual { min-height: 180px; max-height: 200px; }
    .family-selector__visual::before { width: 240px; height: 165px; }
    .family-selector__panel--biological .family-selector__visual::before,
    .family-selector__panel--nutrition .family-selector__visual::before { width: 260px; height: 175px; }
    .family-selector__visual img { width: min(270px, 92%); max-height: 175px; }
    .family-selector__panel--regulation .family-selector__visual img { width: min(160px, 58%); }
    .family-selector__copy h3 { font-size: 0.72rem; margin: 0 0 8px; }
    .family-selector__copy h4 { font-size: clamp(1.45rem, 5.8vw, 1.85rem); line-height: 1.15; letter-spacing: -0.03em; }
    .family-selector__copy p { font-size: 0.88rem; line-height: 1.55; margin: 12px 0 20px; color: #5a6e63; }
    .family-action-btn {
        width: 100% !important;
        padding: 14px 24px !important;
        justify-content: center !important;
        font-size: 0.92rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .family-selector__panel.is-active { animation: none; }
}

/* Resultados en campo: cifras reales sobre fotografía agrícola. */
.impact-results {
    min-height: 700px;
    padding: clamp(115px, 11vw, 165px) max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2));
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #244637;
    isolation: isolate;
}
.impact-results__media {
    position: absolute;
    inset: -8%;
    z-index: -3;
    background: url('../legacy-assets/hero-poster.png') center 54% / cover no-repeat;
    will-change: transform;
}
.impact-results__veil {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(20, 48, 35, .9), rgba(20, 48, 35, .58) 52%, rgba(20, 48, 35, .73)),
        linear-gradient(180deg, rgba(14, 37, 27, .1), rgba(14, 37, 27, .36));
}
.impact-results__inner { width: min(var(--proposal-content), 100%); margin-inline: auto; }
.impact-results__header {
    margin-bottom: clamp(70px, 7vw, 100px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
    align-items: end;
    gap: clamp(55px, 8vw, 120px);
}
.impact-results__header h2 {
    margin: 0;
    max-width: 720px;
    color: #fff;
    font-size: clamp(3.4rem, 5.6vw, 6.5rem);
    font-weight: 540;
    line-height: .93;
    letter-spacing: -.065em;
}
.impact-results__header p {
    max-width: 330px;
    margin: 0 0 8px;
    color: rgba(255, 255, 255, .74);
    font-size: .94rem;
    line-height: 1.65;
}
.impact-results__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .3);
    border-bottom: 1px solid rgba(255, 255, 255, .3);
}
.impact-results__grid article {
    min-height: 255px;
    padding: 38px clamp(22px, 2.8vw, 40px) 34px;
    position: relative;
    border-left: 1px solid rgba(255, 255, 255, .22);
    outline: 0;
    transition: background .3s ease, transform .35s var(--ease);
}
.impact-results__grid article:last-child { border-right: 1px solid rgba(255, 255, 255, .22); }
.impact-results__grid article::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -1px;
    height: 3px;
    background: #cfe6d4;
    transition: right .35s var(--ease);
}
.impact-results__grid article:hover,
.impact-results__grid article:focus-visible {
    background: rgba(255, 255, 255, .09);
    transform: translateY(-8px);
}
.impact-results__grid article:hover::after,
.impact-results__grid article:focus-visible::after { right: 0; }
.impact-results__grid strong {
    display: block;
    color: #fff;
    font-size: clamp(4rem, 6vw, 7rem);
    font-weight: 560;
    line-height: .82;
    letter-spacing: -.075em;
    text-shadow: 0 8px 30px rgba(8, 27, 18, .2);
    transition: transform .35s var(--ease);
}
.impact-results__grid article:hover strong,
.impact-results__grid article:focus-visible strong { transform: translateY(-7px); }
.impact-results__grid h3 {
    margin: 32px 0 8px;
    color: #fff;
    font-size: .92rem;
    font-weight: 650;
    line-height: 1.35;
}
.impact-results__grid p {
    max-width: 190px;
    margin: 0;
    color: rgba(255, 255, 255, .66);
    font-size: .76rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .impact-results__header { grid-template-columns: 1fr; gap: 28px; }
    .impact-results__header p { max-width: 560px; }
    .impact-results__grid { grid-template-columns: 1fr 1fr; }
    .impact-results__grid article:nth-child(2) { border-right: 1px solid rgba(255, 255, 255, .22); }
    .impact-results__grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .22); }
}

@media (max-width: 560px) {
    .impact-results { min-height: 0; padding-block: 100px; }
    .impact-results__header h2 { font-size: 3.2rem; }
    .impact-results__grid { grid-template-columns: 1fr; }
    .impact-results__grid article,
    .impact-results__grid article:nth-child(2),
    .impact-results__grid article:last-child {
        min-height: 190px;
        padding: 30px 22px;
        border-right: 1px solid rgba(255, 255, 255, .22);
        border-bottom: 1px solid rgba(255, 255, 255, .22);
    }
    .impact-results__grid article:last-child { border-bottom: 0; }
    .impact-results__grid strong { font-size: 4.5rem; }
    .impact-results__grid h3 { margin-top: 22px; }
}

/* CTA biológico: micrografía original confinada a una esquina. */
.landing-cta {
    min-height: 0;
    padding-top: clamp(88px, 7vw, 110px);
    padding-bottom: clamp(92px, 8vw, 125px);
    background: linear-gradient(118deg, #faf5ef 0%, #f3f6f1 58%, #edf5ef 100%);
}
.landing-cta .cta-leaf { display: none; }
.landing-cta::after {
    content: "";
    width: min(760px, 59vw);
    height: 92%;
    position: absolute;
    right: -54px;
    bottom: -34px;
    z-index: 0;
    pointer-events: none;
    border: 0;
    border-radius: 0;
    background: url('../legacy-assets/biological-corner-v1.png') right bottom / cover no-repeat;
    box-shadow: none;
    opacity: .32;
    transform: none;
    mix-blend-mode: multiply;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 27%, #000 62%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 27%, #000 62%);
}
.landing-cta > :not(.curve-cut):not(.cta-leaf) { position: relative; z-index: 3; }

@media (max-width: 820px) {
    .landing-cta { padding: 88px var(--proposal-gutter) 100px; }
    .landing-cta::after { width: 82vw; right: -24vw; opacity: .25; }
}

@media (max-width: 560px) {
    .landing-cta { padding: 78px var(--proposal-gutter) 88px; }
    .landing-cta::after {
        width: 112vw;
        height: 66%;
        right: -48vw;
        bottom: -10px;
        opacity: .2;
    }
}

/* Respaldo técnico: micrografía panorámica propia, distinta del patrón del CTA. */
.verification {
    position: relative;
    display: block;
    width: 100%;
    min-height: 0;
    margin-inline: 0;
    padding: clamp(96px, 7.5vw, 120px) max(var(--proposal-gutter), calc((100vw - var(--proposal-content)) / 2)) clamp(66px, 5.5vw, 84px);
    background: #fff;
    isolation: isolate;
}
.verification::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: url('../legacy-assets/biological-certification-v1.png') center / cover no-repeat;
    mix-blend-mode: normal;
    opacity: .18;
    filter: saturate(.18) brightness(1.08) contrast(.68);
}
.verification::after {
    display: none;
}
.verification > * { position: relative; z-index: 2; }
.verification__inner {
    width: min(var(--proposal-content), 100%);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(430px, .78fr);
    align-items: center;
    gap: clamp(70px, 9vw, 140px);
}
.verification__copy h2 { max-width: 650px; font-size: clamp(3.15rem, 5.2vw, 5.8rem); }
.verification__copy h2 em {
    display: inline-block;
    color: #4c7b64;
    font-weight: 400;
}
.verification__copy > p {
    max-width: 590px;
    margin: 30px 0 34px;
    color: var(--muted);
    font-size: 1.04rem;
    line-height: 1.7;
}
.verification .button-outline {
    color: #fff;
    background: var(--botanical);
    border-color: var(--botanical);
}
.verification .button-outline:hover { color: #fff; background: #527d66; border-color: #527d66; }
.verification__proof {
    min-height: 220px;
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: clamp(32px, 5vw, 70px);
    padding-block: 18px;
    isolation: isolate;
}
.verification__proof::before {
    content: "";
    position: absolute;
    left: 0;
    top: 55%;
    width: 100%;
    height: 92px;
    z-index: -1;
    border-top: 1px solid rgba(63, 111, 87, .24);
    border-radius: 50%;
    transform: translateY(-50%);
}
.verification__proof::after {
    display: none;
}
.verification__seal {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}
.verification__seal--icontec,
.verification__seal--mega { transform: none; }
.verification__seal::before {
    content: "";
    width: 9px;
    height: 9px;
    position: absolute;
    left: 50%;
    top: 52%;
    z-index: -1;
    background: #4c7b64;
    border: 5px solid rgba(255,255,255,.92);
    border-radius: 50%;
    box-sizing: content-box;
    transform: translate(-50%, -50%);
}
.verification__seal img {
    width: 106px;
    height: 98px;
    object-fit: contain;
    filter: saturate(.84);
}
.verification__seal div { min-height: 54px; }
.verification__seal strong,
.verification__seal span { display: block; }
.verification__seal strong {
    max-width: 190px;
    color: var(--ink);
    font-size: .82rem;
    line-height: 1.35;
}
.verification__seal span {
    margin-top: 7px;
    color: #73837b;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

@media (max-width: 820px) {
    .verification {
        min-height: 0;
        padding: 92px var(--proposal-gutter) 72px;
    }
    .verification::before { opacity: .16; background-position: 56% center; }
    .verification__inner { grid-template-columns: 1fr; gap: 56px; }
    .verification__proof { width: min(520px, 100%); min-height: 210px; }
}

@media (max-width: 560px) {
    .verification {
        min-height: 0;
        padding: 78px var(--proposal-gutter) 62px;
    }
    .verification::before { opacity: .13; background-position: 61% center; }
    .verification__copy h2 { font-size: clamp(2.75rem, 13vw, 3.7rem); }
    .verification__proof { min-height: 190px; gap: 20px; padding-block: 8px; }
    .verification__proof::before { left: 0; width: 100%; height: 70px; }
    .verification__proof::after { display: none; }
    .verification__seal--icontec,
    .verification__seal--mega { transform: none; }
    .verification__seal img { width: 88px; height: 86px; }
    .verification__seal strong { font-size: .72rem; }
}

/* Cierre editorial: certificaciones en registro, CTA blanco y footer gris. */
.verification {
    padding-top: clamp(95px, 7vw, 118px);
    padding-bottom: clamp(74px, 6vw, 96px);
    background: #fcfcfa;
}
.verification::before {
    opacity: .055;
    filter: saturate(0) brightness(1.1) contrast(.55);
}
.verification__inner { display: block; }
.verification__copy {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, .68fr);
    grid-template-rows: auto auto;
    align-items: end;
    column-gap: clamp(70px, 10vw, 150px);
    row-gap: 28px;
}
.verification__copy h2 {
    grid-column: 1;
    grid-row: 1 / 3;
    max-width: 720px;
    font-size: clamp(3.4rem, 5.7vw, 6.4rem);
}
.verification__copy h2 em {
    display: inline;
    color: #4c7b64;
    font-style: normal;
    font-weight: 500;
}
.verification__copy > p {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    font-size: 1rem;
}
.verification__copy > .button {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
}
.verification__proof {
    width: 100%;
    min-height: 0;
    margin-top: clamp(52px, 5vw, 72px);
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(63,111,87,.24);
    border-bottom: 1px solid rgba(63,111,87,.18);
}
.verification__proof::before,
.verification__proof::after,
.verification__seal::before { display: none; }
.verification__seal {
    min-height: 168px;
    padding: 30px clamp(26px, 4vw, 54px);
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 3vw, 42px);
    text-align: left;
}
.verification__seal:first-child { border-right: 1px solid rgba(63,111,87,.18); }
.verification__seal img { width: 100px; height: 104px; }
.verification__seal div { min-height: 0; }
.verification__seal strong { max-width: 230px; font-size: .9rem; }
.verification__seal span { margin-top: 9px; }

.landing-cta {
    color: var(--botanical);
    background: #fff;
}
.landing-cta h2 { color: var(--botanical); }
.landing-cta::after {
    opacity: .17;
    mix-blend-mode: normal;
    filter: saturate(.28) brightness(1.06) contrast(.72);
}
.curve-cut--cta { background: #fcfcfa; }

.site-footer {
    color: #637069;
    background: #e4e6e4;
}
.site-footer::before { background: #e4e6e4; }
.site-footer h2,
.site-footer .footer-wordmark { color: var(--botanical); }
.site-footer a:hover { color: var(--botanical); }
.copyright { border-color: rgba(36,72,55,.14); }

@media (max-width: 820px) {
    .verification__copy { grid-template-columns: 1fr; grid-template-rows: auto; gap: 26px; }
    .verification__copy h2,
    .verification__copy > p,
    .verification__copy > .button { grid-column: 1; grid-row: auto; }
    .verification__proof { width: 100%; }
    .verification::before { opacity: .045; }
}

@media (max-width: 620px) {
    .verification__proof { grid-template-columns: 1fr; }
    .verification__seal { min-height: 140px; grid-template-columns: 86px 1fr; padding: 24px 10px; gap: 22px; }
    .verification__seal:first-child { border-right: 0; border-bottom: 1px solid rgba(63,111,87,.18); }
    .verification__seal img { width: 78px; height: 82px; }
    .verification__copy h2 { font-size: clamp(2.8rem, 13vw, 4rem); }
    .landing-cta::after { opacity: .13; }
}

/* Ajuste de acciones: una sola conversión al cierre de la página. */
.verification__copy { grid-template-rows: auto; }
.verification__copy h2 { grid-row: 1; }
.verification__copy > p { grid-row: 1; align-self: center; }

.landing-cta::after {
    width: min(940px, 74vw);
    height: 100%;
    right: -36px;
    bottom: 0;
    opacity: .27;
    background-position: right center;
    filter: saturate(.38) brightness(1.04) contrast(.78);
}
.cta-curve-link {
    width: auto;
    min-width: 0;
    height: 62px;
    padding: 6px 8px 6px 36px;
    gap: 20px;
    color: var(--ink, #263d34);
    background: #ffffff;
    border: 1.5px solid rgba(38, 61, 52, 0.2);
    border-radius: 999px;
    box-shadow: 0 12px 32px rgba(38, 61, 52, 0.08), 0 2px 6px rgba(0, 0, 0, 0.03);
    font-size: 1.02rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    text-decoration: none;
}
.cta-curve-link span {
    color: var(--ink, #263d34);
    letter-spacing: -0.01em;
    white-space: nowrap;
    transition: color 0.3s ease;
}
.cta-curve-link strong {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: var(--botanical, #1b4d3e);
    border-radius: 50%;
    font-size: 1.5rem;
    flex-shrink: 0;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 12px rgba(27, 77, 62, 0.25);
}
.cta-curve-link strong svg,
.cta-curve-link strong .cta-arrow-icon {
    width: 1.5rem;
    height: 1.5rem;
    display: block;
}
.cta-curve-link:hover {
    color: var(--green, #3f6f57);
    background: #f4f8f5;
    border-color: var(--green, #3f6f57);
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(38, 61, 52, 0.14);
}
.cta-curve-link:hover span {
    color: var(--green, #3f6f57);
}
.cta-curve-link:hover strong {
    background: #14382c;
    transform: translateX(4px);
    box-shadow: 0 6px 16px rgba(20, 56, 44, 0.4);
}

@media (max-width: 820px) {
    .verification__copy h2,
    .verification__copy > p { grid-row: auto; }
    .landing-cta::after { width: 94vw; right: -28vw; opacity: .23; }
}

@media (max-width: 560px) {
    .cta-curve-link { height: 56px; padding: 6px 6px 6px 22px; gap: 14px; font-size: 0.95rem; }
    .cta-curve-link strong { width: 44px; height: 44px; font-size: 1.3rem; }
    .cta-curve-link strong svg { width: 1.35rem; height: 1.35rem; }
    .landing-cta::after { width: 120vw; right: -54vw; opacity: .19; }
}

/* CTA de cierre: impacto tipográfico con un tono más editorial. */
.landing-cta h2 {
    max-width: 850px;
    font-size: clamp(3.35rem, 5.15vw, 6rem);
    line-height: .98;
    letter-spacing: -.058em;
    font-weight: 600;
    text-transform: none;
}
.landing-cta h2 em {
    color: #5b856f;
    font-family: "Poppins", "Segoe UI", sans-serif;
    font-style: normal;
    font-weight: 400;
}

@media (max-width: 820px) {
    .landing-cta h2 { max-width: 720px; font-size: clamp(3.1rem, 10vw, 5rem); }
}

@media (max-width: 560px) {
    .landing-cta h2 { font-size: clamp(2.75rem, 13vw, 3.75rem); line-height: 1.01; letter-spacing: -.052em; }
}

/* Continuidad directa entre certificaciones y CTA: sin franja curva vacía. */
.curve-cut--cta { display: none; }
.landing-cta { padding-top: clamp(38px, 4vw, 56px); }

@media (max-width: 820px) {
    .landing-cta { padding-top: 44px; }
}

@media (max-width: 560px) {
    .landing-cta { padding-top: 36px; }
}

/* Mega navegación: portafolio por familias y conocimiento por cultivo. */
.site-header { overflow: visible; }
.nav-mega { position: relative; }
.mega-trigger { font-family: inherit; }
.mega-panel {
    width: min(1120px, calc(100vw - 64px));
    padding: 0;
    position: fixed;
    left: 50%;
    top: 96px;
    z-index: 80;
    color: var(--ink);
    background: rgba(255,255,255,.985);
    border: 1px solid rgba(63,111,87,.16);
    border-radius: 0 0 30px 30px;
    box-shadow: 0 26px 70px rgba(30,67,49,.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -10px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
    overflow: hidden;
}
.mega-panel--account {
    width: 200px !important;
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 15px) !important;
    transform: translateY(-10px) !important;
    padding: 15px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
}

.mega-panel--account::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}
@media (min-width: 821px) {
    .nav-mega:hover .mega-panel--account,
    .nav-mega:focus-within .mega-panel--account,
    .nav-mega.is-open .mega-panel--account {
        transform: translateY(0) !important;
    }
}
.site-header.is-scrolled .mega-panel { top: 72px; }
.nav-mega.is-open .mega-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}
.mega-panel__inner {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    min-height: 245px;
}
.mega-panel__intro {
    padding: 34px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
    background: #f2f6f2;
}
.mega-panel__intro > span {
    color: #6d7e75;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.mega-panel__intro > strong {
    max-width: 190px;
    color: var(--botanical);
    font-size: 1.35rem;
    line-height: 1.18;
    letter-spacing: -.035em;
}
.primary-nav .mega-panel__intro > a {
    width: max-content;
    padding: 0 0 5px;
    color: var(--botanical) !important;
    border-bottom: 1px solid rgba(63,111,87,.35);
    font-size: .7rem;
    text-shadow: none !important;
}
.primary-nav .mega-panel a::after { display: none; }
.mega-panel__families {
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.primary-nav .mega-family {
    min-height: 190px;
    padding: 26px 20px;
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto 64px;
    align-items: end;
    color: var(--botanical) !important;
    background: #fafbf9;
    border: 1px solid rgba(63,111,87,.12);
    border-radius: 20px;
    text-shadow: none !important;
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
}
.primary-nav .mega-family:hover { background: #f3f7f3; border-color: rgba(63,111,87,.28); transform: translateY(-3px); }
.primary-nav .mega-family--new { background: #eef7ee; border-color: rgba(42,139,82,.26); }
.mega-family small {
    width: max-content;
    position: absolute;
    top: 26px;
    left: 20px;
    margin: 0;
    padding: 4px 9px;
    color: #fff;
    background: #2f8b56;
    border-radius: 99px;
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.mega-family strong {
    grid-row: 2;
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 1.15;
}
.mega-family span {
    grid-row: 3;
    align-self: start;
    color: #76857d;
    font-size: .7rem;
    line-height: 1.5;
}
.mega-panel__crops {
    padding: 28px 32px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-content: center;
}
.primary-nav .mega-panel__crops a {
    min-height: 82px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--botanical) !important;
    border-right: 1px solid rgba(63,111,87,.13);
    border-bottom: 1px solid rgba(63,111,87,.13);
    text-shadow: none !important;
    transition: color .2s ease, background .2s ease;
}
.primary-nav .mega-panel__crops a:nth-child(5n) { border-right: 0; }
.primary-nav .mega-panel__crops a:nth-child(n+6) { border-bottom: 0; }
.primary-nav .mega-panel__crops a:hover { color: #2f8b56 !important; background: #f5f8f5; }
.mega-panel__crops span { font-size: .86rem; font-weight: 600; }
.mega-panel__crops b { font-size: .75rem; font-weight: 500; }

@media (min-width: 821px) {
    .nav-mega:hover .mega-panel,
    .nav-mega:focus-within .mega-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }
}

@media (max-width: 820px) {
    .primary-nav .nav-mega { width: 100%; }
    .primary-nav .mega-trigger { width: 100%; padding: 14px 0; color: var(--botanical) !important; text-align: center; }
    .mega-panel,
    .site-header.is-scrolled .mega-panel {
        width: 100%;
        max-height: 58vh;
        position: static;
        transform: none;
        display: none;
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        border: 0;
        border-radius: 18px;
        box-shadow: none;
        background: #f8faf8;
    }
    .nav-mega.is-open .mega-panel { display: block; transform: none; }
    .mega-panel__inner { grid-template-columns: 1fr; min-height: 0; }
    .mega-panel__intro { padding: 24px; }
    .mega-panel__intro > strong { max-width: 310px; }
    .mega-panel__families { grid-template-columns: 1fr 1fr; padding: 12px; }
    .primary-nav .mega-family { min-height: 150px; grid-template-rows: minmax(0, 1fr) auto 54px; text-align: left; }
    .mega-panel__crops { grid-template-columns: 1fr 1fr; padding: 12px; }
    .primary-nav .mega-panel__crops a,
    .primary-nav .mega-panel__crops a:nth-child(5n),
    .primary-nav .mega-panel__crops a:nth-child(n+6) { min-height: 60px; border-right: 0; border-bottom: 1px solid rgba(63,111,87,.13); text-align: left; }
}

@media (max-width: 480px) {
    .mega-panel__families { grid-template-columns: 1fr; }
    .primary-nav .mega-family { min-height: 150px; }
}

/* Soluciones: catálogo editorial alineado con la propuesta B. */
.solutions-page {
    --solutions-max: 1160px;
    overflow-x: hidden;
    background: #fff;
}
.solutions-shell {
    width: min(var(--solutions-max), calc(100% - 64px));
    margin-inline: auto;
}
.solutions-catalog-hero {
    min-height: 610px;
    padding: 100px 0 88px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #fbfcfa;
}
.solutions-catalog-hero__background {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(251,252,250,.98) 0%, rgba(251,252,250,.88) 49%, rgba(251,252,250,.7) 100%),
        url('../legacy-assets/organic-background.webp') 70% 42% / 105% auto no-repeat;
}
.solutions-catalog-hero__background::after {
    content: "";
    position: absolute;
    width: 54vw;
    height: 270px;
    right: -12vw;
    bottom: 5%;
    border: 1px solid rgba(48,111,77,.09);
    border-radius: 58% 42% 64% 36% / 48% 63% 37% 52%;
    transform: rotate(-4deg);
}
.solutions-catalog-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    align-items: end;
    gap: clamp(50px, 9vw, 145px);
}
.catalog-breadcrumbs {
    margin-bottom: 42px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #74827b;
    font-size: .69rem;
}
.catalog-breadcrumbs a { color: var(--botanical); font-weight: 650; }
.solutions-catalog-hero h1 {
    max-width: 920px;
    margin: 0;
    color: #263b32;
    font-size: clamp(4.2rem, 7.2vw, 7.8rem);
    font-weight: 650;
    line-height: .88;
    letter-spacing: -.076em;
}
.solutions-catalog-hero h1 em {
    color: #417960;
    font-weight: 400;
}
.solutions-catalog-hero__inner > div:first-child > p {
    max-width: 720px;
    margin: 38px 0 0;
    color: #67776f;
    font-size: clamp(.96rem, 1.2vw, 1.12rem);
    line-height: 1.75;
}
.catalog-hero-stat {
    min-height: 180px;
    padding: 24px 0 4px 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-left: 1px solid rgba(48,111,77,.22);
}
.catalog-hero-stat strong {
    color: #417960;
    font-size: clamp(4.6rem, 7vw, 7rem);
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.08em;
}
.catalog-hero-stat span {
    max-width: 130px;
    margin-top: 22px;
    color: #66766e;
    font-size: .73rem;
    line-height: 1.5;
}

.solutions-family-section { padding: 118px 0 138px; background: #fff; }
.solutions-family-section__heading {
    margin-bottom: 68px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    align-items: end;
    gap: 70px;
}
.solutions-family-section__heading h2,
.solutions-results-heading h2,
.solutions-advisory h2 {
    margin: 0;
    color: #263b32;
    font-size: clamp(2.9rem, 5.2vw, 5.6rem);
    font-weight: 620;
    line-height: .94;
    letter-spacing: -.064em;
}
.solutions-family-section__heading h2 em,
.solutions-advisory h2 em { color: #417960; font-weight: 400; }
.solutions-family-section__heading > p {
    margin: 0 0 6px;
    color: #6d7c74;
    font-size: .92rem;
    line-height: 1.7;
}
.solutions-family-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid rgba(48,111,77,.15);
    border-bottom: 1px solid rgba(48,111,77,.15);
}
.solutions-family-card {
    --family-accent: #417960;
    min-height: 218px;
    padding: 30px 24px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    border-right: 1px solid rgba(48,111,77,.15);
    transition: background .3s ease, transform .3s var(--ease);
}
.solutions-family-card:last-child { border-right: 0; }
.solutions-family-card::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 100%;
    bottom: -1px;
    height: 3px;
    background: var(--family-accent);
    transition: right .35s var(--ease);
}
.solutions-family-card:hover,
.solutions-family-card.is-active { background: color-mix(in srgb, var(--family-accent) 5%, white); }
.solutions-family-card:hover::after,
.solutions-family-card.is-active::after { right: 24px; }
.solutions-family-card--biologicos { --family-accent: #2f8b56; }
.solutions-family-card--nutricionales { --family-accent: #417960; }
.solutions-family-card--quimicos { --family-accent: #3575b5; }
.solutions-family-card--reguladores { --family-accent: #8c84bd; }
.solutions-family-card__index {
    color: #9caaa3;
    font-size: 1.1rem;
    font-weight: 500;
}
.solutions-family-card__icon {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
}
.solutions-family-card__icon img { width: 100%; height: 100%; object-fit: contain; }
.solutions-family-card > span:last-child { display: block; }
.solutions-family-card strong {
    display: block;
    color: var(--family-accent);
    font-size: .96rem;
    font-weight: 700;
}
.solutions-family-card small {
    display: block;
    margin-top: 6px;
    color: #7a8881;
    font-size: .68rem;
}

.solutions-catalog {
    padding: 92px 0 140px;
    position: relative;
    isolation: isolate;
    background: #f5f8f6;
}
.solutions-catalog::before {
    content: "";
    position: absolute;
    left: -5%;
    top: -62px;
    z-index: -1;
    width: 110%;
    height: 110px;
    background: #f5f8f6;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.solutions-catalog__microbes {
    position: absolute;
    right: -4%;
    top: 90px;
    z-index: -1;
    width: min(430px, 34vw);
    height: 500px;
    pointer-events: none;
    opacity: .055;
    background: url('../legacy-assets/biological-corner-v1.png') right top / contain no-repeat;
}
.solutions-toolbar {
    min-height: 104px;
    padding: 18px 20px 18px 28px;
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) minmax(230px, .72fr) auto auto;
    align-items: end;
    gap: 18px;
    position: sticky;
    top: 88px;
    z-index: 12;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(48,111,77,.13);
    border-radius: 18px 44px 18px 18px;
    box-shadow: 0 18px 45px rgba(32,73,53,.06);
    backdrop-filter: blur(16px);
}
.solutions-search,
.solutions-category-select { display: grid; gap: 7px; }
.solutions-search > span,
.solutions-category-select > span {
    color: #728178;
    font-size: .59rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.solutions-search input,
.solutions-category-select select,
.solutions-crop-select select,
.solutions-pest-select select {
    width: 100%;
    min-height: 48px;
    padding: 0 4px;
    color: #263b32;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(48,111,77,.24);
    border-radius: 0;
    outline: 0;
    font-size: .82rem;
    transition: border-color .2s ease;
}
.solutions-search input:focus,
.solutions-category-select select:focus,
.solutions-crop-select select:focus,
.solutions-pest-select select:focus { border-color: #417960; }
.solutions-toolbar button,
.solutions-toolbar .solutions-submit-btn {
    min-width: 138px;
    min-height: 48px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    background: #417960;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 700;
}
.solutions-toolbar button b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #417960;
    background: #fff;
    border-radius: 50%;
    font-size: .9rem;
    font-weight: 500;
}
.solutions-toolbar__clear {
    align-self: center;
    color: #728178;
    font-size: .68rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.solutions-results-heading {
    margin: 92px 0 42px;
    padding-bottom: 30px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 36px;
    border-bottom: 1px solid rgba(48,111,77,.14);
}
.solutions-results-heading h2 { font-size: clamp(2.7rem, 4.8vw, 4.9rem); }
.solutions-results-heading p {
    max-width: 580px;
    margin: 18px 0 0;
    color: #6d7c74;
    font-size: .86rem;
}
.solutions-results-heading > span {
    flex: 0 0 auto;
    color: #728178;
    font-size: .7rem;
}
.solutions-results-heading > span strong {
    margin-right: 5px;
    color: #417960;
    font-size: 1.55rem;
    font-weight: 500;
}
.solutions-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 22px;
}
.solution-product-card {
    --card-accent: #417960;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.solution-product-card--biologicos { --card-accent: #2f8b56; }
.solution-product-card--nutricionales { --card-accent: #417960; }
.solution-product-card--quimicos { --card-accent: #3575b5; }
.solution-product-card--reguladores { --card-accent: #8c84bd; }
.solution-product-card__media {
    height: 390px;
    padding: 50px 36px 38px;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--card-accent) 5%, white);
    border: 1px solid color-mix(in srgb, var(--card-accent) 15%, white);
    border-radius: 26px 72px 24px 24px;
}
.solution-product-card__media::before {
    content: "";
    position: absolute;
    left: -20%;
    right: -12%;
    bottom: -34%;
    height: 58%;
    background: color-mix(in srgb, var(--card-accent) 7%, transparent);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    transition: transform .55s var(--ease);
}
.solution-product-card__media img {
    width: 82%;
    height: 88%;
    position: relative;
    z-index: 2;
    object-fit: contain;
    filter: drop-shadow(0 24px 20px rgba(28,61,45,.13));
    transition: transform .55s var(--ease);
}
.solution-product-card:hover .solution-product-card__media img { transform: translateY(-8px) scale(1.025); }
.solution-product-card:hover .solution-product-card__media::before { transform: translateY(-12px); }
.solution-product-card__category {
    position: absolute;
    left: 24px;
    top: 23px;
    z-index: 3;
    color: var(--card-accent);
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.solution-product-card__arrow {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    position: absolute;
    top: 17px;
    right: 18px;
    z-index: 3;
    color: var(--card-accent);
    background: rgba(255,255,255,.82);
    border: 1px solid color-mix(in srgb, var(--card-accent) 20%, white);
    border-radius: 50%;
    transition: color .25s ease, background .25s ease, transform .25s ease;
}
.solution-product-card:hover .solution-product-card__arrow { color: #fff; background: var(--card-accent); transform: rotate(8deg); }
.solution-product-card__placeholder { color: #9ba9a1; font-size: 1.4rem; font-weight: 700; }
.solution-product-card__body {
    min-height: 224px;
    padding: 27px 20px 24px;
    display: flex;
    flex-direction: column;
}
.solution-product-card__body h3 {
    margin: 0 0 13px;
    color: #263b32;
    font-size: clamp(1.25rem, 1.65vw, 1.55rem);
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -.035em;
}
.solution-product-card__body p {
    margin: 0;
    color: #718078;
    font-size: .77rem;
    line-height: 1.65;
}
.solution-product-card__body .solution-product-card__active {
    margin: -5px 0 13px;
    color: var(--card-accent);
    font-size: .62rem;
    font-weight: 750;
    line-height: 1.45;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.solution-product-card__link {
    width: max-content;
    margin-top: auto;
    padding-top: 24px;
    color: var(--card-accent);
    border-bottom: 1px solid color-mix(in srgb, var(--card-accent) 30%, white);
    font-size: .68rem;
    font-weight: 700;
}
.solutions-catalog .pagination { margin-top: 72px; }
.solutions-catalog .pagination a,
.solutions-catalog .pagination span,
.solutions-catalog .pagination strong {
    min-width: 46px;
    min-height: 42px;
    display: inline-grid;
    place-items: center;
    border-color: rgba(48,111,77,.18);
    border-radius: 999px;
}
.solutions-catalog .pagination strong { background: #417960; border-color: #417960; }
.solutions-empty-state {
    grid-column: 1 / -1;
    min-height: 330px;
    padding: 60px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(48,111,77,.12);
    border-radius: 30px 80px 30px 30px;
}
.solutions-empty-state h2 { max-width: 680px; margin: 0; font-size: 2.2rem; line-height: 1.1; }
.solutions-empty-state p { color: #718078; }
.solutions-empty-state a { margin-top: 18px; color: #417960; font-size: .76rem; font-weight: 700; }

.solutions-advisory {
    padding: 130px 0;
    position: relative;
    overflow: hidden;
    background: #fff;
}
.solutions-advisory::after {
    content: "";
    position: absolute;
    right: -3%;
    bottom: -12%;
    width: min(520px, 42vw);
    height: 500px;
    pointer-events: none;
    opacity: .075;
    background: url('../legacy-assets/biological-corner-v1.png') right bottom / contain no-repeat;
}
.solutions-advisory__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .62fr) auto;
    align-items: end;
    gap: 64px;
    position: relative;
    z-index: 1;
}
.solutions-advisory p { margin: 0 0 6px; color: #6d7c74; font-size: .88rem; line-height: 1.75; }
.solutions-advisory a {
    min-width: 230px;
    min-height: 58px;
    padding: 0 9px 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    background: #417960;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 650;
}
.solutions-advisory a span {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: #417960;
    background: #fff;
    border-radius: 50%;
}

@media (max-width: 980px) {
    .solutions-family-nav { grid-template-columns: repeat(4, 1fr); }
    .solutions-family-card--all { grid-column: 1 / -1; min-height: 120px; flex-direction: row; align-items: center; }
    .solutions-family-card--all::after { left: 24px; }
    .solutions-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solutions-toolbar { grid-template-columns: 1fr 1fr auto; }
    .solutions-toolbar__clear { grid-column: 1 / -1; justify-self: end; }
    .solutions-advisory__inner { grid-template-columns: 1fr 1fr; }
    .solutions-advisory__inner h2 { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
    .solutions-shell { width: min(100% - 36px, var(--solutions-max)); }
    .solutions-catalog-hero { min-height: 590px; padding: 74px 0 70px; }
    .solutions-catalog-hero__inner { grid-template-columns: 1fr; gap: 44px; }
    .catalog-breadcrumbs { margin-bottom: 32px; }
    .solutions-catalog-hero h1 { font-size: clamp(3.35rem, 14.8vw, 5.4rem); }
    .solutions-catalog-hero__inner > div:first-child > p { margin-top: 28px; font-size: .88rem; }
    .catalog-hero-stat { min-height: 0; padding: 20px 0 0; flex-direction: row; align-items: end; gap: 18px; border-left: 0; border-top: 1px solid rgba(48,111,77,.18); }
    .catalog-hero-stat strong { font-size: 4rem; }
    .catalog-hero-stat span { margin: 0 0 2px; }
    .solutions-family-section { padding: 88px 0 112px; }
    .solutions-family-section__heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 46px; }
    .solutions-family-section__heading h2 { font-size: 3rem; }
    .solutions-family-section__heading > p { max-width: 480px; }
    .solutions-family-nav { grid-template-columns: 1fr 1fr; }
    .solutions-family-card { min-height: 178px; border-bottom: 1px solid rgba(48,111,77,.15); }
    .solutions-family-card:nth-child(odd) { border-right: 0; }
    .solutions-family-card--all { grid-column: 1 / -1; min-height: 100px; border-right: 0; }
    .solutions-family-card__icon { width: 56px; height: 56px; }
    .solutions-catalog { padding-top: 68px; }
    .solutions-toolbar { padding: 22px; grid-template-columns: 1fr; position: relative; top: 0; border-radius: 18px 38px 18px 18px; }
    .solutions-toolbar button { width: 100%; }
    .solutions-toolbar__clear { grid-column: auto; justify-self: center; }
    .solutions-results-heading { margin-top: 70px; align-items: start; flex-direction: column; gap: 18px; }
    .solutions-results-heading h2 { font-size: 3rem; }
    .solutions-product-grid { grid-template-columns: 1fr; }
    .solution-product-card__media { height: 410px; }
    .solution-product-card__body { min-height: 205px; padding-inline: 10px; }
    .solutions-advisory { padding: 100px 0; }
    .solutions-advisory__inner { grid-template-columns: 1fr; gap: 30px; }
    .solutions-advisory__inner h2 { grid-column: auto; font-size: 3.2rem; }
    .solutions-advisory a { width: min(100%, 300px); }
}

@media (max-width: 420px) {
    .solutions-family-nav { grid-template-columns: 1fr; }
    .solutions-family-card,
    .solutions-family-card:nth-child(odd) { min-height: 132px; border-right: 0; }
    .solutions-family-card:not(.solutions-family-card--all) { flex-direction: row; align-items: center; gap: 22px; }
    .solutions-family-card__icon { flex: 0 0 54px; }
    .solution-product-card__media { height: 355px; padding-inline: 28px; }
    .solutions-empty-state { padding: 42px 24px; }
}

/* Product filters and regional sales directory */
.solutions-catalog {
    padding-top: 46px;
}

.solutions-toolbar {
    min-height: 0;
    padding: 30px;
    display: block;
    position: relative;
    top: auto;
    border-radius: 22px;
}

.solutions-family-filters {
    margin: 0;
    padding: 0 0 26px;
    border: 0;
    border-bottom: 1px solid rgba(48,111,77,.14);
}

.solutions-family-filters legend {
    margin-bottom: 14px;
    color: #66766e;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.solutions-family-filters__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.solutions-family-tag {
    --tag-accent: #417960;
    position: relative;
    cursor: pointer;
}

.solutions-family-tag--biologicos { --tag-accent: #2f8b56; }
.solutions-family-tag--nutricionales { --tag-accent: #417960; }
.solutions-family-tag--quimicos { --tag-accent: #3575b5; }
.solutions-family-tag--reguladores { --tag-accent: #8c84bd; }

.solutions-family-tag input {
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.solutions-family-tag span {
    min-height: 42px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--tag-accent);
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--tag-accent) 25%, white);
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 650;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.solutions-family-tag span::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    background: var(--tag-accent);
    border-radius: 50%;
}

.solutions-family-tag small {
    color: color-mix(in srgb, var(--tag-accent) 70%, white);
    font-size: .62rem;
    font-weight: 600;
}

.solutions-family-tag:hover span { transform: translateY(-1px); }
.solutions-family-tag input:focus-visible + span { outline: 2px solid var(--tag-accent); outline-offset: 3px; }
.solutions-family-tag input:checked + span {
    color: #fff;
    background: var(--tag-accent);
    border-color: var(--tag-accent);
}
.solutions-family-tag input:checked + span::before { background: #fff; }
.solutions-family-tag input:checked + span small { color: rgba(255,255,255,.72); }

.solutions-toolbar__fields {
    padding-top: 22px;
    display: grid;
    grid-template-columns: minmax(200px, 1.25fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(180px, 1.1fr) auto auto;
    align-items: end;
}

.solutions-toolbar button,
.solutions-toolbar .solutions-submit-btn {
    width: auto;
    min-width: 140px;
    min-height: 48px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #fff;
    background: #417960;
    border: 0;
    border-radius: 12px;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.solutions-toolbar button:hover,
.solutions-toolbar .solutions-submit-btn:hover {
    color: #fff;
    background: #315f49;
    transform: translateY(-1px);
}

.solutions-toolbar__clear {
    align-self: end;
    min-height: 48px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #728178;
    font-size: .74rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(48,111,77,.2);
    border-radius: 10px;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.solutions-toolbar__clear svg {
    width: 1.5rem;
    height: 1.5rem;
    stroke-width: 2.2;
    flex-shrink: 0;
}

.solutions-toolbar__clear:hover {
    color: #c62828;
    border-color: rgba(198,40,40,.35);
    background: rgba(198,40,40,.04);
}

.solution-product-card__crops {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 10px 0 14px;
}

.crop-tag {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    font-size: .68rem;
    font-weight: 600;
    color: #2b5742;
    background: rgba(48,111,77,.08);
    border: 1px solid rgba(48,111,77,.12);
    border-radius: 6px;
    letter-spacing: .01em;
}

.crop-tag--more {
    background: rgba(48,111,77,.15);
    font-weight: 700;
}

.solution-product-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    padding: 6px 0;
}

.solution-product-card__link .card-action-icon {
    width: 1.5rem;
    height: 1.5rem;
    stroke-width: 2.2;
    flex-shrink: 0;
    transition: transform .25s ease;
}

.solution-product-card:hover .solution-product-card__link .card-action-icon {
    transform: translateX(4px);
}

.solutions-results-heading {
    margin-top: 74px;
}

.sales-directory {
    padding: 126px 0 138px;
    position: relative;
    overflow: hidden;
    background: #edf3ef;
}

.sales-directory::before {
    content: "";
    position: absolute;
    right: -7%;
    top: -6%;
    width: min(480px, 36vw);
    height: 520px;
    pointer-events: none;
    opacity: .04;
    background: url('../legacy-assets/biological-corner-v1.png') right top / contain no-repeat;
}

.sales-directory__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr);
    align-items: end;
    gap: 72px;
    position: relative;
}

.sales-directory__heading > div > p {
    margin: 0 0 18px;
    color: #417960;
    font-size: .63rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sales-directory__heading h2 {
    margin: 0;
    color: #263b32;
    font-size: clamp(3rem, 5vw, 5.5rem);
    font-weight: 620;
    line-height: .94;
    letter-spacing: -.064em;
}

.sales-directory__heading h2 em {
    color: #417960;
    font-weight: 400;
}

.sales-directory__heading > p {
    max-width: 390px;
    margin: 0 0 6px;
    color: #687970;
    font-size: .88rem;
    line-height: 1.75;
}

.sales-zone-filters {
    margin: 54px 0 32px;
    padding-bottom: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    border-bottom: 1px solid rgba(48,111,77,.15);
}

.sales-zone-filters button {
    min-height: 38px;
    padding: 0 16px;
    color: #557166;
    background: transparent;
    border: 1px solid rgba(48,111,77,.22);
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-size: .68rem;
    font-weight: 650;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.sales-zone-filters button:hover,
.sales-zone-filters button.is-active {
    color: #fff;
    background: #417960;
    border-color: #417960;
}

.sales-contact-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

.sales-contact-card {
    flex: 0 1 calc((100% - 36px) / 3);
    min-height: 320px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(48,111,77,.12);
    border-radius: 18px 46px 18px 18px;
    box-shadow: 0 18px 45px rgba(32,73,53,.045);
    transition: transform .3s var(--ease), box-shadow .3s ease;
}

.sales-contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 52px rgba(32,73,53,.08);
}

.sales-contact-card[hidden] { display: none; }

.sales-contact-card__top {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 20px;
}

.sales-contact-card__top span {
    color: #417960;
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .09em;
    line-height: 1.5;
    text-transform: uppercase;
}

.sales-contact-card__top b {
    color: #b8c6bf;
    font-size: .72rem;
    font-weight: 500;
}

.sales-contact-card h3 {
    margin: 56px 0 8px;
    color: #263b32;
    font-size: 1.42rem;
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.sales-contact-card > p {
    margin: 0;
    color: #77867e;
    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .035em;
    line-height: 1.5;
    text-transform: uppercase;
}

.sales-contact-card__links {
    margin-top: auto;
    padding-top: 30px;
    display: grid;
    gap: 13px;
}

.sales-contact-card__links a {
    min-width: 0;
    color: #315f49;
    font-size: .72rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.sales-contact-card__links a span {
    display: block;
    margin-bottom: 3px;
    color: #9ba8a1;
    font-size: .55rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .solutions-toolbar__fields { grid-template-columns: 1fr 1fr auto; }
    .solutions-toolbar__clear { grid-column: 1 / -1; justify-self: end; margin-bottom: 0; }
    .sales-contact-card { flex-basis: calc((100% - 18px) / 2); }
}

@media (max-width: 720px) {
    .solutions-catalog { padding-top: 34px; }
    .solutions-toolbar { padding: 22px; }
    .solutions-toolbar__fields { grid-template-columns: 1fr; }
    .solutions-toolbar button { width: 100%; }
    .solutions-toolbar__clear { grid-column: auto; justify-self: center; }
    .sales-directory { padding: 94px 0 104px; }
    .sales-directory__heading { grid-template-columns: 1fr; gap: 26px; }
    .sales-directory__heading h2 { font-size: 3.25rem; }
    .sales-zone-filters { margin-top: 40px; }
    .sales-contact-card { flex-basis: 100%; min-height: 290px; }
}

/* Technical use accordion on product detail */
.product-page .product-detail {
    padding-bottom: 76px;
}

.product-usage {
    padding: 96px 0 112px;
    background: #fff;
    border-top: 1px solid rgba(48,111,77,.12);
}

.product-usage__heading {
    margin-bottom: 54px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
    align-items: end;
    gap: 72px;
}

.product-usage__heading > div > p {
    margin: 0 0 18px;
    color: #417960;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.product-usage__heading h2 {
    margin: 0;
    color: #263b32;
    font-size: clamp(3rem, 4.8vw, 5.3rem);
    font-weight: 620;
    line-height: .94;
    letter-spacing: -.062em;
}

.product-usage__heading h2 em {
    color: #417960;
    font-weight: 400;
}

.product-usage__heading > p {
    margin: 0 0 5px;
    color: #6d7c74;
    font-size: .86rem;
    line-height: 1.75;
}

.product-usage-accordion {
    border-top: 1px solid rgba(48,111,77,.22);
}

.product-usage-accordion details {
    border-bottom: 1px solid rgba(48,111,77,.22);
}

.product-usage-accordion summary {
    min-height: 92px;
    padding: 0 6px;
    display: grid;
    grid-template-columns: 54px 1fr 42px;
    align-items: center;
    gap: 18px;
    color: #263b32;
    cursor: pointer;
    list-style: none;
}

.product-usage-accordion summary::-webkit-details-marker { display: none; }

.product-usage-accordion summary > span {
    color: #93a69d;
    font-size: .68rem;
    font-weight: 650;
}

.product-usage-accordion summary > strong {
    font-size: 1.08rem;
    font-weight: 620;
    letter-spacing: -.02em;
}

.product-usage-accordion summary > i {
    width: 38px;
    height: 38px;
    position: relative;
    border: 1px solid rgba(48,111,77,.26);
    border-radius: 50%;
}

.product-usage-accordion summary > i::before,
.product-usage-accordion summary > i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 1px;
    background: #417960;
    transform: translate(-50%, -50%);
    transition: transform .25s ease;
}

.product-usage-accordion summary > i::after { transform: translate(-50%, -50%) rotate(90deg); }
.product-usage-accordion details[open] summary > i::after { transform: translate(-50%, -50%) rotate(0); }

.product-usage-panel {
    padding: 0 6px 44px 72px;
}

.product-usage-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(48,111,77,.16);
    border-radius: 14px 34px 14px 14px;
}

.product-usage-table {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
    color: #34483e;
    background: #fff;
    font-size: .76rem;
}

.product-usage-table th,
.product-usage-table td {
    padding: 18px 20px;
    text-align: left;
    vertical-align: middle;
    border-right: 1px solid rgba(48,111,77,.12);
    border-bottom: 1px solid rgba(48,111,77,.12);
}

.product-usage-table th:last-child,
.product-usage-table td:last-child { border-right: 0; }
.product-usage-table tbody tr:last-child td { border-bottom: 0; }

.product-usage-table th {
    color: #417960;
    background: #f3f7f4;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.product-usage-table th small {
    color: #83928a;
    font-size: .52rem;
    font-weight: 650;
    letter-spacing: .04em;
    text-transform: none;
}

.product-usage-table td strong { color: #263b32; font-weight: 650; }
.product-usage-table td em { color: #5f7168; }

.product-usage-notes {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    color: #7a8881;
    font-size: .65rem;
}

.product-usage-notes p { margin: 0; }
.product-usage-notes strong { color: #417960; }

.product-usage-panel--text {
    max-width: 900px;
    color: #687970;
    font-size: .84rem;
    line-height: 1.8;
}

.product-usage-panel--text p { margin: 0; }

.product-usage__source {
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: #89978f;
    font-size: .62rem;
}

.product-usage__source a {
    color: #417960;
    font-weight: 700;
    border-bottom: 1px solid rgba(48,111,77,.28);
}

.product-page .section-soft {
    padding-block: 104px 118px;
}

.sales-directory--product {
    border-top: 1px solid rgba(48,111,77,.1);
}

/* En las fichas, el directorio conserva el fondo a sangre pero alinea su
   contenido con el contenedor central del resto de la página. */
.product-page .sales-directory .solutions-shell {
    width: var(--page);
    margin-inline: auto;
}

@media (max-width: 820px) {
    .product-usage__heading { grid-template-columns: 1fr; gap: 24px; }
    .product-usage-panel { padding-left: 0; }
}

@media (max-width: 560px) {
    .product-page .product-detail { padding-bottom: 58px; }
    .product-usage { padding: 78px 0 86px; }
    .product-usage__heading { margin-bottom: 38px; }
    .product-usage__heading h2 { font-size: 3.2rem; }
    .product-usage-accordion summary { min-height: 82px; grid-template-columns: 34px 1fr 38px; gap: 10px; }
    .product-usage-accordion summary > strong { font-size: .9rem; }
    .product-usage-panel { padding: 0 0 34px; }
    .product-usage__source { align-items: flex-start; flex-direction: column; }
}

/* Final cascade for the static usage matrix */
.usage-matrix .product-usage-table-wrap { border: 0; border-radius: 0; }
.usage-matrix .product-usage-table td:nth-last-child(-n+3) { background: #f8faf8; }
.usage-matrix .product-usage-notes { margin: 0; padding: 17px 28px; background: #f3f7f4; }

@media (max-width: 720px) {
    .product-usage-table-wrap { overflow: visible; }
    .product-usage-table { min-width: 0; }
    .product-usage-table thead { display: none; }
    .product-usage-table tbody { padding: 12px; display: grid; gap: 12px; }
    .product-usage-table tr { padding: 20px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px 12px; border: 1px solid rgba(48,111,77,.14); border-radius: 13px 28px 13px 13px; }
    .product-usage-table td { padding: 0; display: block; border: 0 !important; background: transparent !important; font-size: .7rem; }
    .product-usage-table td::before { content: attr(data-label); margin-bottom: 5px; display: block; color: #8b9790; font-size: .5rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
    .product-usage-table td:nth-child(-n+3) { grid-column: 1 / -1; }
    .product-usage-table td:nth-child(3) { padding-bottom: 14px; border-bottom: 1px solid rgba(48,111,77,.12) !important; }
}

.product-page .product-usage { padding-top: 58px; }
.sales-directory__heading > div > p { display: none; }

.product-identity {
    margin: -8px 0 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px 20px;
}

.product-identity strong { color: #39745a; font-size: .82rem; font-weight: 650; }
.product-identity span { padding-left: 20px; color: #7e8b84; font-size: .62rem; border-left: 1px solid rgba(48,111,77,.2); }

.product-profile-facts {
    margin: 26px 0 28px;
    display: grid;
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(48,111,77,.14);
    border-radius: 12px 30px 12px 12px;
    background: rgba(48,111,77,.14);
}

.product-profile-facts article {
    min-height: 68px;
    padding: 14px 18px;
    display: grid;
    grid-template-columns: 132px 1fr;
    align-items: center;
    gap: 16px;
    background: #fff;
}

.product-profile-facts article > span { color: #849088; font-size: .56rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.product-profile-facts article > div { display: flex; flex-wrap: wrap; gap: 7px; }
.product-profile-facts article b { padding: 7px 11px; color: #315f49; border: 1px solid rgba(48,111,77,.16); border-radius: 999px; background: #f4f8f5; font-size: .61rem; font-weight: 650; }

@media (max-width: 560px) {
    .product-identity { align-items: flex-start; flex-direction: column; }
    .product-identity span { padding-left: 0; border-left: 0; }
    .product-profile-facts article { grid-template-columns: 1fr; gap: 10px; }
}

.primary-nav .nav-account-link {
    min-height: 40px;
    padding: 10px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border: 1px solid #39745a;
    border-radius: 999px;
    background: #39745a;
    transition: color .25s ease, background .25s ease, border-color .25s ease;
}

.primary-nav .nav-account-link::after { display: none; }
.primary-nav .nav-account-link:hover { color: #39745a; background: transparent; }

.primary-nav .nav-account-link.nav-account-link--active {
    background: #eab308;
    border-color: #eab308;
    color: #1a2e24;
    font-weight: 650;
}
.primary-nav .nav-account-link.nav-account-link--active:hover {
    background: #ca8a04;
    border-color: #ca8a04;
    color: #fff;
}

.home-page .site-header--home:not(.is-scrolled) .primary-nav .nav-account-link {
    color: #fff;
    border-color: rgba(255,255,255,.78);
    background: rgba(255,255,255,.08);
}

.home-page .site-header--home:not(.is-scrolled) .primary-nav .nav-account-link:hover {
    color: #315f49;
    background: #fff;
}

@media (max-width: 820px) {
    .primary-nav .nav-account-link { margin-top: 8px; width: 100%; }
    .home-page .site-header--home:not(.is-scrolled) .primary-nav .nav-account-link {
        color: #fff !important;
        border-color: #39745a;
        background: #39745a;
    }
}

/* Final catalog interaction cascade */
.solutions-page .solutions-shell { width: min(var(--solutions-max), calc(100% - clamp(72px, 7vw, 104px))); }
.solutions-toolbar { padding: clamp(32px, 3.4vw, 44px); }
.solutions-toolbar .solutions-family-all {
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    color: #2f493d;
    background: #fff;
    border: 1px solid rgba(47,73,61,.24);
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 650;
}
.solutions-toolbar .solutions-family-all:hover,
.solutions-toolbar .solutions-family-all[aria-pressed="true"] { color: #fff; background: #2f493d; border-color: #2f493d; transform: translateY(-1px); }
.solutions-family-all[aria-pressed="true"] small { color: rgba(255,255,255,.72); }
.solutions-filter-status { min-height: 16px; margin: 12px 0 -12px; color: #728178; font-size: .65rem; text-align: right; }
.solutions-toolbar__clear { visibility: hidden; opacity: 0; transition: opacity .2s ease; }
.solutions-toolbar__clear.is-visible { visibility: visible; opacity: 1; }
.has-dynamic-filters .solutions-toolbar > .solutions-toolbar__fields > button[type="submit"] { display: none; }
.has-dynamic-filters .solutions-toolbar__fields { grid-template-columns: minmax(200px, 1.25fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(170px, 1fr) auto; }
[data-catalog-results] { transition: opacity .24s ease, transform .32s var(--ease), filter .24s ease; }
[data-catalog-results] { margin-top: clamp(42px, 5vw, 64px); }
[data-catalog-results].is-filtering { opacity: .42; transform: translateY(8px); filter: blur(2px); pointer-events: none; }
.solutions-product-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 22px; }
.solutions-product-grid > .solution-product-card { flex: 0 1 calc((100% - 44px) / 3); }
.solutions-product-grid > .solutions-empty-state { flex: 1 1 100%; }

@media (max-width: 1180px) {
    .has-dynamic-filters .solutions-toolbar__fields { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
    .solutions-product-grid > .solution-product-card { flex-basis: calc((100% - 22px) / 2); }
}
@media (max-width: 720px) {
    .solutions-page .solutions-shell { width: min(100% - 40px, var(--solutions-max)); }
    .solutions-toolbar { padding: 24px; }
    .has-dynamic-filters .solutions-toolbar__fields { grid-template-columns: 1fr; }
    .solutions-product-grid > .solution-product-card { flex-basis: 100%; }
}

/* Keep the external-user account action legible in the scrolled header. */
.home-page .site-header--home.is-scrolled .primary-nav .nav-account-link {
    color: #fff;
    border-color: #39745a;
    background: #39745a;
}

.home-page .site-header--home.is-scrolled .primary-nav .nav-account-link:hover,
.home-page .site-header--home.is-scrolled .primary-nav .nav-account-link:focus-visible {
    color: #39745a;
    background: #fff;
}

/* Live product finder on technical detail pages. */
.product-finder {
    margin-top: 32px;
    position: relative;
    z-index: 12;
}

.product-finder__form {
    padding: 22px 26px;
    display: grid;
    grid-template-columns: minmax(230px, .72fr) minmax(380px, 1.28fr);
    align-items: center;
    gap: 32px;
    position: relative;
    border: 1px solid rgba(48,111,77,.16);
    border-radius: 22px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 18px 48px rgba(30,72,52,.07);
}

.product-finder__form > label span {
    display: block;
    margin-bottom: 5px;
    color: #417960;
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.product-finder__form > label strong { color: #263b32; font-size: .82rem; font-weight: 600; }
.product-finder__field { display: flex; align-items: center; border-bottom: 1px solid rgba(48,111,77,.28); }
.product-finder__field:focus-within { border-color: #39745a; }
.product-finder__field input {
    min-width: 0;
    width: 100%;
    padding: 13px 0;
    color: #263b32;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: .86rem;
}
.product-finder__field button {
    padding: 9px 14px;
    color: #39745a;
    border: 1px solid rgba(57,116,90,.28);
    border-radius: 999px;
    background: #fff;
    font-size: .66rem;
    font-weight: 650;
    cursor: pointer;
}

.product-finder__results {
    width: calc(64% - 12px);
    max-height: min(510px, 62vh);
    padding: 10px;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    overflow: auto;
    border: 1px solid rgba(48,111,77,.15);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(26,65,47,.16);
}
.product-finder__results[hidden] { display: none; }
.product-finder__matches { display: grid; }
.product-finder__matches > a {
    padding: 13px 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2px 18px;
    border-radius: 11px;
    transition: background .2s ease, transform .2s ease;
}
.product-finder__matches > a[hidden] { display: none; }
.product-finder__matches > a:hover,
.product-finder__matches > a:focus-visible { background: #f0f6f2; transform: translateX(3px); outline: 0; }
.product-finder__matches > a span { color: #7c8b83; font-size: .54rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.product-finder__matches > a strong { color: #263b32; font-size: .82rem; font-weight: 650; }
.product-finder__matches > a b { grid-column: 2; grid-row: 1 / span 2; color: #39745a; font-size: .8rem; font-weight: 500; }
.product-finder__matches > p { margin: 0; padding: 22px 14px; color: #78877f; font-size: .76rem; }
.product-finder__all { margin-top: 6px; padding: 12px 14px; display: flex; justify-content: space-between; color: #39745a; border-top: 1px solid rgba(48,111,77,.13); font-size: .67rem; font-weight: 650; }

@media (max-width: 720px) {
    .product-finder { width: min(100% - 40px, var(--page)); margin-top: 20px; }
    .product-finder__form { padding: 20px; grid-template-columns: 1fr; gap: 14px; }
    .product-finder__results { width: 100%; }
}

.product-identity--pending { color: #6e7d75; }
.document.is-unavailable { color: #8b9891; cursor: default; }
.document.is-unavailable span { font-size: .68rem; }
.product-usage--pending { padding-top: 60px; }
.usage-matrix--pending { overflow: hidden; }
.usage-matrix__placeholder {
    min-height: 310px;
    padding: clamp(34px, 5vw, 66px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
    align-items: center;
    gap: clamp(38px, 7vw, 100px);
    background: #fff;
}
.usage-matrix__placeholder > div > span { color: #417960; font-size: .58rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.usage-matrix__placeholder h2 { max-width: 590px; margin: 12px 0 16px; color: #263b32; font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: .98; letter-spacing: -.055em; }
.usage-matrix__placeholder p { max-width: 620px; margin: 0; color: #6f7f77; font-size: .82rem; line-height: 1.7; }
.usage-matrix__placeholder ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; border: 1px solid rgba(48,111,77,.15); border-radius: 18px; overflow: hidden; }
.usage-matrix__placeholder li { min-height: 84px; padding: 12px 8px; display: grid; place-items: center; color: #39745a; border-right: 1px solid rgba(48,111,77,.13); background: #f4f8f5; font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.usage-matrix__placeholder li:last-child { border-right: 0; }

@media (max-width: 820px) {
    .usage-matrix__placeholder { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .usage-matrix__placeholder ul { grid-template-columns: repeat(2, 1fr); }
    .usage-matrix__placeholder li { border-bottom: 1px solid rgba(48,111,77,.13); }
}

/* Contact territory */
.contact-page main { overflow: hidden; background: #fff; }
.contact-page .site-footer { margin-top: 0; }
.contact-hero {
    position: relative;
    isolation: isolate;
    min-height: 430px;
    padding: clamp(78px, 9vw, 132px) max(40px, calc((100vw - 1360px) / 2));
    display: grid;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, #fbfcfa 0%, #f3f7f4 100%);
}
.contact-hero::before,
.contact-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
}
.contact-hero::before {
    width: 660px;
    height: 310px;
    right: -120px;
    top: -140px;
    border: 1px solid rgba(48,111,77,.09);
    border-radius: 50%;
    transform: rotate(-8deg);
}
.contact-hero::after {
    width: 180px;
    height: 180px;
    right: 12%;
    bottom: -108px;
    background: rgba(117,169,138,.09);
    border-radius: 42% 58% 65% 35%;
}
.contact-hero__inner {
    width: min(100%, 1240px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    align-items: end;
    gap: clamp(42px, 8vw, 120px);
}
.contact-hero__copy h1 {
    max-width: 900px;
    margin: 0 0 24px;
    color: #263b32;
    font-size: clamp(3.25rem, 6.7vw, 7.15rem);
    line-height: .88;
    letter-spacing: -.073em;
}
.contact-hero__copy h1 em { color: #417960; font-weight: 400; }
.contact-hero__copy p { max-width: 700px; margin: 0; color: #6c7c74; font-size: clamp(.86rem, 1.1vw, 1rem); line-height: 1.75; }
.contact-hero__fact { padding-left: 25px; display: grid; border-left: 1px solid rgba(48,111,77,.18); }
.contact-hero__fact strong { color: #39745a; font-size: clamp(3.5rem, 6vw, 6rem); line-height: .9; letter-spacing: -.07em; }
.contact-hero__fact span { max-width: 160px; margin-top: 12px; color: #708078; font-size: .68rem; line-height: 1.55; }

.contact-territory {
    padding: clamp(50px, 6vw, 90px) max(20px, calc((100vw - 1280px) / 2));
    background: #edf4ef;
    position: relative;
    overflow: hidden;
}

/* The container grid */
.contact-territory__inner {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(32px, 4vw, 56px);
    align-items: start;
    min-height: calc(100vh - 120px);
    position: relative;
    z-index: 1;
}

/* LEFT COLUMN (MAP) */
.contact-map-panel {
    align-self: start;
    position: -webkit-sticky;
    position: sticky;
    top: 110px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    z-index: 2;
    padding: 10px 0;
}

.contact-map-panel__heading,
.contact-map-panel__caption,
.contact-map-panel__legend,
.contact-map-legend,
.contact-map-stage + p,
.contact-map-stage + small {
    display: none !important;
}

.contact-map-stage {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-map-stage > svg {
    width: 100%;
    max-width: 500px;
    height: auto;
    max-height: 72vh;
    display: block;
    border: 0;
    filter: drop-shadow(0 20px 40px rgba(31, 80, 57, 0.08));
    transform-origin: top center;
    transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}

.contact-map-stage svg > style,
.contact-map-stage svg > text {
    display: none !important;
}

.contact-map__country { stroke: rgba(48,111,77,.1); stroke-width: 1.5; fill: transparent; }
.contact-map__ridge { fill: none; stroke: rgba(48,111,77,.15); stroke-width: 1.4; stroke-dasharray: 4 8; animation: stroke-march 30s linear infinite; }
@keyframes stroke-march { to { stroke-dashoffset: -100; } }
.contact-map__ridge--soft { opacity: .4; }

/* MAP INTERACTION CSS */
.st0.is-covered { outline: none !important; cursor: pointer; transition: fill 0.24s ease, opacity 0.24s ease, filter 0.24s ease; }
.st0.is-covered:hover { fill: #4a876a; filter: drop-shadow(0 5px 5px rgba(38,80,58,.2)); }
.st0.is-covered.is-active { fill: #39745a; filter: drop-shadow(0 5px 5px rgba(38,80,58,.2)); }
.st0.is-covered.is-muted { fill: #e8f0eb; opacity: .52; }
.contact-map__legend circle { fill: #39745a; }
.contact-map__legend text { fill: #75847c; font-family: Poppins, sans-serif; font-size: 12px; }

/* RIGHT COLUMN (DIRECTORY) */
.contact-directory {
    min-width: 0;
    width: 100%;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}

.contact-directory__heading > span { color: #39745a; font-size: .65rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; position: relative; display: inline-block; padding-left: 30px; }
.contact-directory__heading > span::before { content: ""; position: absolute; left: 0; top: 50%; width: 20px; height: 2px; background: #39745a; transform: translateY(-50%); }
.contact-directory__heading h2 { margin: 15px 0 35px; color: #263b32; font-size: clamp(2.5rem, 4vw, 4rem); line-height: .9; letter-spacing: -.05em; text-transform: uppercase; }
.contact-directory__heading h2 em { color: #39745a; font-weight: 300; font-style: italic; }

.contact-zone-filter {
    margin: 0 0 28px;
    padding-bottom: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border-bottom: 1px solid rgba(48,111,77,.15);
}

.contact-zone-filter button {
    min-height: 48px;
    padding: 0 22px;
    color: #39745a;
    background: #ffffff;
    border: 1.5px solid rgba(48,111,77,.2);
    border-radius: 8px;
    font: inherit;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all .3s cubic-bezier(0.2, 1, 0.2, 1);
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.contact-zone-filter button::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #39745a;
    transition: top 0.3s cubic-bezier(0.2, 1, 0.2, 1);
    z-index: -1;
}

.contact-zone-filter button:hover {
    color: #fff;
    background: #39745a;
    border-color: #39745a;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(57,116,90,0.18);
}

.contact-zone-filter button:hover::before {
    top: 0;
}

.contact-zone-filter button.is-active {
    color: #fff;
    background: #39745a;
    border-color: #39745a;
    font-weight: 800;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(57,116,90,0.25);
}

/* CARDS GRID & CARDS */
.contact-advisor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
    align-content: start;
    width: 100%;
}

.contact-advisor-card {
    height: auto;
    min-height: 240px;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    opacity: 1;
    background: #ffffff;
    border: 1px solid rgba(48,111,77,.08);
    border-radius: 0 32px 0 0;
    box-shadow: 0 10px 30px rgba(32,73,53,.04);
    transition: opacity .35s ease, transform .4s cubic-bezier(0.2, 1, 0.2, 1), box-shadow .4s ease;
    position: relative;
    overflow: hidden;
}

.contact-advisor-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: #39745a;
    transition: width 0.4s cubic-bezier(0.2, 1, 0.2, 1);
}

.contact-advisor-card[hidden] {
    display: none !important;
}

.contact-advisor-card:hover {
    box-shadow: 0 20px 48px rgba(32,73,53,.09);
    transform: translateY(-6px);
}

.contact-advisor-card:hover::after {
    width: 100%;
}

.contact-advisor-card.is-filter-leaving {
    opacity: 0;
    transform: translateY(16px) scale(0.96);
}

.contact-advisor-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(48,111,77,.1);
    padding-bottom: 12px;
}

.contact-advisor-card__meta span {
    max-width: 80%;
    color: #39745a;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-advisor-card__meta b {
    color: #a3b3ab;
    font-size: .8rem;
    font-weight: 400;
    font-family: inherit;
}

.contact-advisor-card h3 {
    margin: 0 0 6px;
    color: #263b32;
    font-size: clamp(1.2rem, 1.6vw, 1.45rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.03em;
    transition: color 0.3s ease;
}

.contact-advisor-card:hover h3 {
    color: #39745a;
}

.contact-advisor-card p {
    margin: 0;
    color: #697d74;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.contact-advisor-card__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
    padding-top: 6px;
}

.contact-advisor-btn {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 16px;
    background: #f4f8f5;
    border: 1px solid rgba(48,111,77,.12);
    border-radius: 10px;
    color: #263b32;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.2, 1, 0.2, 1);
}

.contact-advisor-btn:hover {
    background: #eaf3ee;
    border-color: #39745a;
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(32,73,53,.07);
}

.contact-advisor-btn__icon {
    width: 1.6rem;
    height: 1.6rem;
    min-width: 1.6rem;
    flex-shrink: 0;
    color: #2e7d56;
    transition: transform 0.3s ease;
}

.contact-advisor-btn:hover .contact-advisor-btn__icon {
    transform: scale(1.12);
}

.contact-advisor-btn__content {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    overflow: hidden;
}

.contact-advisor-btn small {
    color: #7a8e83;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1;
}

.contact-advisor-btn strong {
    overflow-wrap: anywhere;
    color: #1f3b2f;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
}

/* RESPONSIVE */
@media (max-width: 1080px) {
    .contact-territory__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .contact-map-panel {
        position: relative;
        top: 0;
    }
}

@media (max-width: 720px) {
    .contact-hero { min-height: 0; padding: 72px 24px 40px; }
    .contact-hero__inner { grid-template-columns: 1fr; gap: 32px; }
    .contact-hero__copy h1 { font-size: clamp(2.8rem, 12vw, 4.5rem); }
    .contact-hero__fact { grid-template-columns: auto 1fr; align-items: end; gap: 16px; padding-left: 18px; }
    .contact-territory { padding: 40px 16px; }
    .contact-territory__inner { gap: 36px; min-height: auto; }
    .contact-advisor-grid { grid-template-columns: 1fr; }
    .contact-advisor-card { min-height: auto; }
}

.turnstile-preview { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; min-height:68px; padding:12px 14px; border:1px solid #d5e0dc; border-radius:12px; background:#f8faf9; color:#214438; }
.turnstile-preview__check { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#3d7b62; color:#fff; font-weight:800; }
.turnstile-preview span:nth-child(2) { display:flex; flex-direction:column; font-size:11px; }
.turnstile-preview span:nth-child(2) strong { font-size:12px; }
.turnstile-preview b { color:#7b8b85; font-size:7px; line-height:1.2; letter-spacing:.08em; text-align:right; }

/* Internal editorial pages */
.editorial-shell { width:min(1120px, calc(100% - clamp(48px, 10vw, 144px))); margin-inline:auto; }
.editorial-hero { min-height:72vh; display:flex; align-items:flex-end; padding:clamp(150px, 18vh, 220px) 0 clamp(72px, 9vw, 120px); background:#f6f9f7; position:relative; overflow:hidden; }
.editorial-hero::after { content:""; position:absolute; inset:auto -8% -28% 38%; height:70%; border:1px solid rgba(61,123,98,.13); border-radius:50% 50% 0 0; transform:rotate(-4deg); pointer-events:none; }
.editorial-kicker { margin:0 0 22px; color:#3d7b62; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.editorial-hero h1, .about-principles h2 { margin:0; color:#203f35; font-size:clamp(48px, 7vw, 92px); line-height:.94; letter-spacing:-.065em; }
.editorial-hero h1 em, .about-principles h2 em { color:#4c806d; font-weight:400; }
.editorial-lead { width:min(720px, 100%); margin:38px 0 0; color:#637c73; font-size:clamp(17px, 1.55vw, 22px); line-height:1.65; }
.about-manifesto { padding:clamp(90px, 11vw, 160px) 0; background:#fff; }
.about-manifesto__grid { display:grid; grid-template-columns:90px 1.05fr .8fr; gap:clamp(32px, 6vw, 86px); align-items:start; }
.about-manifesto__index { margin:0; color:#aabdb6; font-size:13px; }
.about-manifesto h2 { margin:0; color:#203f35; font-size:clamp(38px, 4.4vw, 66px); line-height:1.02; letter-spacing:-.05em; }
.about-manifesto__grid > div p { margin:0 0 24px; color:#647b73; font-size:17px; line-height:1.75; }
.about-principles { padding:clamp(90px, 11vw, 150px) 0; background:#eef5f1; }
.about-principles header { max-width:850px; }
.about-principles h2 { font-size:clamp(42px, 5vw, 72px); }
.about-principles__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:80px; background:#ccdcd6; border-block:1px solid #ccdcd6; }
.about-principles__grid article { min-height:300px; padding:36px; background:#eef5f1; }
.about-principles__grid span { color:#7c968c; font-size:11px; }
.about-principles__grid h3 { margin:88px 0 16px; color:#203f35; font-size:24px; }
.about-principles__grid p { margin:0; color:#667d75; line-height:1.65; }
.editorial-cta { padding:74px 0; background:#3d7b62; color:#fff; }
.editorial-cta .editorial-shell { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.editorial-cta h2 { margin:0; font-size:clamp(32px, 4vw, 58px); letter-spacing:-.045em; }
.editorial-cta a { display:inline-flex; align-items:center; gap:30px; padding:16px 22px; border:1px solid rgba(255,255,255,.55); border-radius:999px; color:#fff; font-weight:700; text-decoration:none; white-space:nowrap; }
.editorial-cta--soft { background:#f3f6f4; color:#203f35; }
.editorial-cta--soft a { border-color:#9cb9ae; color:#2e6d56; }
.crops-index { padding:clamp(86px, 10vw, 150px) 0; background:#fff; }
.crops-index header { display:grid; grid-template-columns:1fr .8fr; gap:60px; align-items:end; margin-bottom:64px; }
.crops-index header h2 { margin:0; color:#203f35; font-size:clamp(42px, 5vw, 70px); letter-spacing:-.055em; }
.crops-index header p { margin:0; color:#647b73; line-height:1.7; }
.crops-index__grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #d4e0dc; }
.crops-index__grid article { min-width:0; border-bottom:1px solid #d4e0dc; }
.crops-index__grid article:nth-child(odd) { border-right:1px solid #d4e0dc; }
.crop-card__trigger { width:100%; min-height:180px; display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:22px; align-items:center; padding:34px 28px; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:background-color .32s ease, transform .32s ease; }
.crop-card__trigger:hover, .crop-card__trigger:focus-visible { background:#f0f6f2; outline:0; }
.crop-card__number { align-self:start; color:#93aaa1; font-size:11px; letter-spacing:.08em; }
.crop-card__copy { display:grid; gap:18px; }
.crop-card__copy strong { color:#285846; font-size:27px; line-height:1.05; }
.crop-card__copy small { max-width:280px; color:#6a7f77; font-size:16px; line-height:1.55; }
.crop-card__action { color:#3d7b62; font-size:12px; font-weight:700; white-space:nowrap; }
.crop-card__action b { display:inline-block; margin-left:5px; transition:transform .25s ease; }
.crop-card__trigger:hover .crop-card__action b, .crop-card__trigger:focus-visible .crop-card__action b { transform:translateX(5px); }

.crop-dialog { width:min(940px, calc(100% - 32px)); max-height:calc(100vh - 32px); padding:0; border:0; border-radius:38px; background:transparent; color:#203f35; overflow:visible; }
.crop-dialog::backdrop { background:rgba(20,48,39,.35); backdrop-filter:blur(8px); }
.crop-dialog[open] { animation:crop-dialog-in .35s cubic-bezier(.2,.8,.2,1); }
.crop-dialog__surface { position:relative; display:grid; grid-template-columns:145px minmax(0,1fr); gap:0 38px; max-height:calc(100vh - 32px); padding:58px; overflow:auto; border:1px solid #d5e3dd; border-radius:38px; background:linear-gradient(135deg,#f4f8f6 0 145px,#fff 145px); box-shadow:0 32px 90px rgba(23,61,48,.2); }
.crop-dialog__close { position:absolute; z-index:2; top:22px; right:22px; width:42px; height:42px; display:grid; place-items:center; padding:0; border:1px solid #c9dcd3; border-radius:50%; background:#fff; color:#285846; font:400 28px/1 Arial,sans-serif; cursor:pointer; transition:transform .25s ease, background-color .25s ease; }
.crop-dialog__close:hover { transform:rotate(8deg); background:#edf5f1; }
.crop-dialog__rail { grid-row:1/3; display:flex; min-width:0; flex-direction:column; align-items:center; gap:22px; }
.crop-dialog__index { width:100%; display:flex; min-height:210px; flex-direction:column; align-items:center; gap:22px; color:#3d7b62; font-size:46px; font-weight:600; letter-spacing:-.06em; }
.crop-dialog__index i { width:1px; min-height:160px; flex:1; background:#b9d1c6; }
.crop-dialog__media { position:relative; width:145px; aspect-ratio:16/10; flex:0 0 auto; margin:auto 0 0; overflow:hidden; border:1px solid #cbded5; border-radius:30px 30px 10px 30px; background:#eaf2ee; box-shadow:0 14px 34px rgba(29,74,57,.12); }
.crop-dialog__media::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.45); }
.crop-dialog__media img { width:100%; height:100%; display:block; object-fit:cover; transition:opacity .22s ease, transform .35s ease; }
.crop-dialog__content { padding:8px 34px 24px 0; }
.crop-dialog__eyebrow { margin:0 0 18px; color:#3d7b62; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.crop-dialog__content h2 { margin:0; color:#203f35; font-size:clamp(46px,6vw,78px); line-height:.95; letter-spacing:-.06em; }
.crop-dialog__scientific { margin:16px 0 28px; color:#3d7b62; font-size:19px; font-style:italic; }
.crop-dialog__description { margin:0; color:#5d746b; font-size:17px; line-height:1.75; }
.crop-dialog__source { display:grid; grid-template-columns:1fr auto; gap:5px 20px; align-items:center; margin-top:30px; padding:18px 0; border-top:1px solid #d6e2dd; border-bottom:1px solid #d6e2dd; color:#315f4e; text-decoration:none; }
.crop-dialog__source span { grid-column:1; color:#82958e; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.crop-dialog__source strong { grid-column:1; font-size:12px; line-height:1.5; }
.crop-dialog__source b { grid-column:2; grid-row:1/3; font-size:18px; }
.crop-dialog__actions { grid-column:2; display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding-right:34px; }
.crop-dialog__actions .button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:0 22px; text-decoration:none; }
.crop-dialog__download { border-color:#3d7b62; background:#3d7b62; color:#fff; }
.crop-dialog__protected { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.crop-dialog__protected .is-disabled { border-color:#d6e2dd; background:#eef3f0; color:#81928b; cursor:not-allowed; }
.crop-dialog__protected > a { color:#315f4e; font-size:12px; font-weight:700; text-underline-offset:5px; }
.crop-dialog__lock-icon { width:18px; height:18px; flex:0 0 18px; }
body.crop-dialog-open { overflow:hidden; }

.crop-dialog__nav { position:fixed; top:50%; transform:translateY(-50%); z-index:10; display:grid; place-items:center; width:72px; height:72px; padding:0; border:0; border-radius:50%; background:#fff; color:#203f35; cursor:pointer; box-shadow:0 16px 32px rgba(20,48,39,.15); transition:transform .25s cubic-bezier(.2,.8,.2,1), background-color .25s ease; }
.crop-dialog__nav:hover { background:#eaf2ee; transform:translateY(-50%) scale(1.05); }
.crop-dialog__nav svg { width:36px; height:36px; }
.crop-dialog__nav--prev { left:clamp(16px, 4vw, 40px); }
.crop-dialog__nav--next { right:clamp(16px, 4vw, 40px); }

@keyframes crop-dialog-in { from { opacity:0; transform:translateY(20px) scale(.985); } to { opacity:1; transform:none; } }

@media (max-width: 820px) {
    .editorial-shell { width:min(100% - 36px, 1120px); }
    .editorial-hero { min-height:auto; padding-top:150px; }
    .about-manifesto__grid { grid-template-columns:1fr; }
    .about-manifesto__index { display:none; }
    .about-principles__grid { grid-template-columns:1fr; }
    .about-principles__grid article { min-height:auto; }
    .about-principles__grid h3 { margin-top:40px; }
    .editorial-cta .editorial-shell, .crops-index header { display:grid; grid-template-columns:1fr; }
    .crops-index__grid { grid-template-columns:1fr; }
    .crops-index__grid article:nth-child(odd) { border-right:0; }
    .crop-card__trigger { grid-template-columns:38px 1fr; min-height:0; padding:28px 10px; }
    .crop-card__action { grid-column:2; }
    .crop-dialog__surface { grid-template-columns:1fr; padding:58px 26px 30px; background:#fff; }
    .crop-dialog__rail { grid-row:auto; flex-direction:row; align-items:center; gap:16px; margin-bottom:20px; }
    .crop-dialog__index { width:auto; min-height:0; flex-direction:row; justify-content:flex-start; font-size:28px; }
    .crop-dialog__index i { width:70px; min-height:1px; flex:0 0 70px; }
    .crop-dialog__media { width:132px; margin:0 0 0 auto; border-radius:20px 20px 7px 20px; }
    .crop-dialog__content { padding:0; }
    .crop-dialog__content h2 { font-size:clamp(42px,14vw,64px); }
    .crop-dialog__description { font-size:15px; }
    .crop-dialog__actions { grid-column:1; align-items:stretch; flex-direction:column; padding:24px 0 0; }
    .crop-dialog__actions .button, .crop-dialog__protected { width:100%; }
    .crop-dialog__protected { align-items:stretch; flex-direction:column; text-align:center; }
    
    .crop-dialog__nav { top:auto; bottom:24px; transform:none; width:64px; height:64px; box-shadow:0 8px 24px rgba(20,48,39,.2); }
    .crop-dialog__nav:hover { transform:none; }
    .crop-dialog__nav svg { width:32px; height:32px; }
    .crop-dialog__nav--prev { left:24px; }
    .crop-dialog__nav--next { right:24px; }
    .crop-dialog__surface { padding-bottom:100px; }
}


/* About Page Specific Styles */
.text-center { text-align: center; }






/* Values Section */
.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    margin-top: 50px;
}
.value-card {
    background: transparent;
    padding: 30px 20px;
    border-radius: 20px;
    transition: transform 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.value-card:hover {
    transform: translateY(-5px);
}
.value-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    margin-bottom: 20px;
    color: var(--ink);
}
.value-icon svg {
    width: 48px;
    height: 48px;
    stroke: var(--ink);
}
.value-card h3 {
    font-size: 1.5rem;
    color: var(--ink);
    margin-bottom: 10px;
}
.value-card p {
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

/* Our Team Section */
.about-team .product-detail-image {
    position: relative;
}

/* Timeline Accordion */
.timeline-accordion input[type="radio"] {
    display: none;
}
.timeline-accordion {
    display: flex;
    width: 100%;
    height: 600px;
    gap: 15px;
    margin-top: 40px;
}

.t-panel {
    background-color: #f4f7f5;
    border: 1px solid var(--line);
    height: 100%;
    border-radius: 40px;
    cursor: pointer;
    flex: 1;
    position: relative;
    transition: all 0.7s cubic-bezier(0.25, 1, 0.5, 1);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

.t-panel-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.6;
    transition: transform 0.7s ease, opacity 0.7s ease;
    z-index: 1;
}

.t-panel:hover .t-panel-bg, .timeline-accordion input[type="radio"]:checked + .t-panel .t-panel-bg {
    transform: scale(1.05);
    opacity: 1;
}

.timeline-accordion input[type="radio"]:checked + .t-panel {
    flex: 4;
}

.t-year-vertical {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%) rotate(-90deg);
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--ink);
    transition: opacity 0.3s ease;
    white-space: nowrap;
    z-index: 2;
}

.timeline-accordion input[type="radio"]:checked + .t-panel .t-year-vertical {
    opacity: 0;
    pointer-events: none;
}

.t-content {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 40px;
    opacity: 0;
    
    transition: all 0.5s ease 0.2s;
    z-index: 3;
    pointer-events: none;
}

.timeline-accordion input[type="radio"]:checked + .t-panel .t-content {
    opacity: 1;
    
    pointer-events: auto;
}

.t-year-massive {
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 900;
    line-height: 1;
    
    -webkit-text-stroke: 3px var(--ink); color: rgba(24, 38, 30, 0.08);
    margin-bottom: 20px;
}

.t-phase {
    display: inline-block;
    padding: 6px 16px;
    background: var(--lime);
    color: var(--ink);
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.t-content h3 {
    font-size: 2.2rem;
    color: var(--ink);
    margin: 0 0 15px;
    font-weight: 600;
}

.t-content p {
    font-size: 1.05rem;
    color: var(--muted);
    line-height: 1.6;
    max-width: 500px;
    margin: 0;
}

@media (max-width: 900px) {
    .timeline-accordion {
        flex-direction: column;
        height: 1000px;
    }
    .t-panel {
        flex: 1;
        width: 100%;
    }
    .t-year-vertical {
        transform: translate(-50%, -50%);
        bottom: auto;
        top: 50%;
    }
    .timeline-accordion input[type="radio"]:checked + .t-panel {
        flex: 3;
    }
    .t-content {
        left: 30px;
        right: 30px;
/* Values Section */
.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    margin-top: 50px;
}
.value-card {
    background: transparent;
    padding: 30px 20px;
    border-radius: 20px;
    transition: transform 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.value-card:hover {
    transform: translateY(-5px);
}
.value-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    margin-bottom: 20px;
    color: var(--ink);
}
.value-icon svg {
    width: 48px;
    height: 48px;
    stroke: var(--ink);
}
.value-card h3 {
    font-size: 1.5rem;
    color: var(--ink);
    margin-bottom: 10px;
}
.value-card p {
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

/* Our Team Section */
.about-team .product-detail-image {
    position: relative;
}

/* Timeline Accordion */
.timeline-accordion input[type="radio"] {
    display: none;
}
.timeline-accordion {
    display: flex;
    width: 100%;
    height: 600px;
    gap: 15px;
    margin-top: 40px;
}

.t-panel {
    background-color: #f4f7f5;
    border: 1px solid var(--line);
    height: 100%;
    border-radius: 40px;
    cursor: pointer;
    flex: 1;
    position: relative;
    transition: all 0.7s cubic-bezier(0.25, 1, 0.5, 1);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

.t-panel-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.6;
    transition: transform 0.7s ease, opacity 0.7s ease;
    z-index: 1;
}

.t-panel:hover .t-panel-bg, .timeline-accordion input[type="radio"]:checked + .t-panel .t-panel-bg {
    transform: scale(1.05);
    opacity: 1;
}

.timeline-accordion input[type="radio"]:checked + .t-panel {
    flex: 4;
}

.t-year-vertical {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%) rotate(-90deg);
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--ink);
    transition: opacity 0.3s ease;
    white-space: nowrap;
    z-index: 2;
}

.timeline-accordion input[type="radio"]:checked + .t-panel .t-year-vertical {
    opacity: 0;
    pointer-events: none;
}

.t-content {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 40px;
    opacity: 0;
    
    transition: all 0.5s ease 0.2s;
    z-index: 3;
    pointer-events: none;
}

.timeline-accordion input[type="radio"]:checked + .t-panel .t-content {
    opacity: 1;
    
    pointer-events: auto;
}

.t-year-massive {
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 900;
    line-height: 1;
    
    -webkit-text-stroke: 3px var(--ink); color: rgba(24, 38, 30, 0.08);
    margin-bottom: 20px;
}

.t-phase {
    display: inline-block;
    padding: 6px 16px;
    background: var(--lime);
    color: var(--ink);
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.t-content h3 {
    font-size: 2.2rem;
    color: var(--ink);
    margin: 0 0 15px;
    font-weight: 600;
}

.t-content p {
    font-size: 1.05rem;
    color: var(--muted);
    line-height: 1.6;
    max-width: 500px;
    margin: 0;
}

@media (max-width: 900px) {
    .timeline-accordion {
        flex-direction: column;
        height: 1000px;
    }
    .t-panel {
        flex: 1;
        width: 100%;
    }
    .t-year-vertical {
        transform: translate(-50%, -50%);
        bottom: auto;
        top: 50%;
    }
    .timeline-accordion input[type="radio"]:checked + .t-panel {
        flex: 3;
    }
    .t-content {
        left: 30px;
        right: 30px;
        bottom: 30px;
    }
    .t-year-massive {
        font-size: 4rem;
    }
    .t-content h3 {
        font-size: 1.5rem;
    }
}

/* ==========================================================================
   SISTEMA DE DESLIZADORES (SCROLLBARS) MODERNOS Y MINIMALISTAS
   ========================================================================== */

/* Soporte global para navegadores modernos (Firefox, Chrome, Edge, Safari) */
html {
    scrollbar-width: thin;
    scrollbar-color: #3f6f57 #eef3f0;
}

/* Chrome, Edge, Safari, Opera (WebKit & Blink) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f6f3;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb {
    background: #587967;
    border-radius: 999px;
    border: 2px solid #f1f6f3;
    transition: background 0.25s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: #263d34;
}

::-webkit-scrollbar-corner {
    background: transparent;
}

/* Deslizadores internos refinados (Modales, Tablas, Textareas, Paneles) */
.custom-scrollbar,
.custom-modal-body,
.crop-dialog__surface,
.usage-matrix,
.table-scroll,
textarea {
    scrollbar-width: thin;
    scrollbar-color: #3f6f57 #f5f8f6;
}

.custom-scrollbar::-webkit-scrollbar,
.custom-modal-body::-webkit-scrollbar,
.crop-dialog__surface::-webkit-scrollbar,
.usage-matrix::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar,
textarea::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track,
.custom-modal-body::-webkit-scrollbar-track,
.crop-dialog__surface::-webkit-scrollbar-track,
.usage-matrix::-webkit-scrollbar-track,
.table-scroll::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track {
    background: #f0f5f2;
    border-radius: 999px;
    margin: 4px 0;
}

.custom-scrollbar::-webkit-scrollbar-thumb,
.custom-modal-body::-webkit-scrollbar-thumb,
.crop-dialog__surface::-webkit-scrollbar-thumb,
.usage-matrix::-webkit-scrollbar-thumb,
.table-scroll::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb {
    background: #4a7560;
    border-radius: 999px;
    border: 1px solid #f0f5f2;
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover,
.custom-modal-body::-webkit-scrollbar-thumb:hover,
.crop-dialog__surface::-webkit-scrollbar-thumb:hover,
.usage-matrix::-webkit-scrollbar-thumb:hover,
.table-scroll::-webkit-scrollbar-thumb:hover,
textarea::-webkit-scrollbar-thumb:hover {
    background: #263d34;
}

/* ==========================================================================
   ESTILOS PREMIUM PARA EL MODAL DE POSTULACIÓN / FORMULARIOS
   ========================================================================== */

.custom-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(18, 38, 29, 0.7) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

.custom-modal-overlay.is-active {
    display: flex !important;
}

.custom-modal-window {
    background: #ffffff !important;
    border-radius: 28px !important;
    width: 100% !important;
    max-width: 620px !important;
    max-height: min(90vh, 820px) !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 30px 80px -20px rgba(10, 32, 22, 0.45) !important;
    overflow: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.custom-modal-head {
    padding: 28px 32px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #edf2ee !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
}

.custom-modal-head-title {
    margin: 0 !important;
    font-size: 1.85rem !important;
    font-weight: 800 !important;
    color: var(--ink, #263d34) !important;
    letter-spacing: -0.5px !important;
}

.custom-modal-close-btn {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #f2f6f4 !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #4a5c53 !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}

.custom-modal-close-btn:hover {
    background: #e1ebe5 !important;
    color: var(--ink, #263d34) !important;
    transform: rotate(90deg) scale(1.05) !important;
}

.custom-modal-close-btn svg {
    width: 1.5rem !important;
    height: 1.5rem !important;
}

.custom-modal-body {
    padding: 28px 32px 32px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    box-sizing: border-box !important;
}

.form-field-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.form-field-group label {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--ink, #263d34) !important;
    margin: 0 !important;
}

.form-field-group input[type="text"],
.form-field-group input[type="email"],
.form-field-group textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1px solid #d4ded8 !important;
    border-radius: 12px !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    color: var(--ink, #263d34) !important;
    background: #fafbfa !important;
    transition: all 0.25s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.form-field-group input:focus,
.form-field-group textarea:focus {
    border-color: var(--green, #3f6f57) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(63, 111, 87, 0.12) !important;
}

.file-upload-box {
    border: 2px dashed #b5c7bd !important;
    border-radius: 14px !important;
    padding: 22px !important;
    background: #f8faf9 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

.file-upload-box:hover {
    border-color: var(--green, #3f6f57) !important;
    background: #f1f7f4 !important;
}

.file-upload-box input[type="file"] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
}
