@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&display=swap');

* {
    font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
a,
button,
.button,
.elementor-button,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="reset"] {
    font-family: 'Newsreader', Georgia, serif !important;
}

.fa,
.fas,
.far,
.fab,
.fal,
[class^="fa-"],
[class*=" fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Brands", FontAwesome !important;
}

[class^="eicon"],
[class*=" eicon"] {
    font-family: eicons !important;
}

.dashicons,
[class^="dashicons-"],
[class*=" dashicons-"] {
    font-family: dashicons !important;
}

.material-icons {
    font-family: "Material Icons" !important;
}

html {
    margin-top: 0 !important;
}

a {
    text-decoration: none !important;
    outline: none !important;
}

a:focus {
    color: initial !important;
}

.otgs-development-site-front-end,
.admin-bar .xpro-theme-builder-frontend,
#ast-scroll-top,
.wpml-ls-legacy-list-vertical,
.xpro-theme-builder-wrapper .xpro-main-toggle,
header.entry-header .entry-title,
#menu-language-switcher-header li a span.ast-header-navigation-arrow {
    display: none !important;
}

.admin-bar .custom-header.header-scrolled .xpro-theme-builder-header-nav {
    top: 0 !important;
}

.eael-simple-menu-container.preset-1 {
    background: transparent !important;
}

.eael-simple-menu-container .eael-simple-menu li a {
    display: flex !important;
    font-size: 12px !important;
    padding: 0px 8px;
}

.header-scrolled {
    border-bottom: 1px solid #f5f5f5;
}

.header-scrolled .custom-header-button svg path {
    stroke: #ffffff;
}

#menu-language-switcher-header li a {
    padding: 0px;
}

#menu-language-switcher-header li a span {
    margin: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#menu-language-switcher-header li a span svg {
    fill: #ffffff;
    height: 16px;
}

header .xpro-elementor-search-wrapper {
    max-height: 16px;
}

.eael-simple-menu-container.preset-1 .eael-simple-menu li.current-menu-ancestor>a.eael-item-active,
.eael-simple-menu-container.preset-1 .eael-simple-menu li:hover>a,
.eael-simple-menu-container.preset-1 .eael-simple-menu li.current-menu-item>a.eael-item-active {
    background-color: transparent !important;
}

.eael-simple-menu-container.preset-1 .eael-simple-menu li ul {
    background: #ffffff;
    border-radius: 0;
    width: fit-content;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li a {
    color: rgba(0, 40, 3, 1) !important;
    padding: 0 12px !important;
    border-bottom: none !important;
}

.eael-simple-menu-container.preset-1 .eael-simple-menu li ul li a:hover {
    color: rgba(0, 40, 3, 1);
}

.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li ul li a span {
    transform: none !important;
}

.elementor-button-content-wrapper {
    align-items: center;
}

.elementor-button-icon svg {
    width: 12px;
}

.for_whom_table_data,
.for_whom_table_data h3 {
    transition: all 0.3s;
}

.for_whom_table_data:hover {
    background-color: rgba(0, 40, 3, 0.8);
}

.for_whom_table_data:hover h3 {
    color: #ffffff !important;
}

.custom_search_btn .xpro-elementor-search-button {
    width: 60px !important;
}

.e-n-tab-title[aria-selected="true"] {
    background-color: rgba(0, 40, 3, 0.8) !important;
}

.e-n-tab-title[aria-selected="true"] span.e-n-tab-title-text {
    color: #ffffff !important;
}

.ideas-card,
.ideas-card h2,
.ideas-card h5,
.ideas-card a {
    transition: all 0.3s;
}

.ideas-card:hover h4,
.ideas-card:hover p {
    color: #ffffff !important;
}

.ideas-card:hover a {
    background-color: #ffffff !important;
}

.landscape-pallet-card .elementor-widget {
    height: 100%;
}

.custom-header.header-scrolled {
    background-color: #f9fbf3;
}

.logo-scrolled {
    display: none;
}

.custom-header.header-scrolled .logo-default {
    display: none;
}

.custom-header.header-scrolled .logo-scrolled {
    display: block;
}

.custom-header.header-scrolled .eael-simple-menu-container .eael-simple-menu li a {
    color: rgba(0, 40, 3, 1);
}

.custom-header.header-scrolled .xpro-elementor-search-button svg path {
    stroke: rgba(0, 40, 3, 1);
}

.custom-header.header-scrolled #menu-language-switcher-header li a span svg {
    fill: rgba(0, 40, 3, 1);
}

.custom-header.header-scrolled .elementor-button {
    background-color: rgba(0, 40, 3, 1) !important;
    color: #ffffff !important;
}

.landscape-pallet-card-overlay {
    backdrop-filter: blur(10px);
}

.bg-blur-filter {
    filter: blur(5px);
}

.elementor-counter-title {
    text-align: left;
}

#fluentform_1 .ff-el-form-control {
    border: none !important;
    outline: none !important;
    border-radius: 0;
    font-size: 12px;
    box-shadow: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

#fluentform_1 ::place-holder {
    color: rgba(0, 40, 3, 0.2);
}

#fluentform_1 .ff-el-input--label {
    margin: 0px;
    padding: 8px 16px;
}

#fluentform_1 .ff-el-input--label label {
    font-weight: 400;
    font-style: Regular;
    font-size: 12px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    color: rgba(0, 40, 3, 0.8);
}

#fluentform_1 textarea.ff-el-form-control {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -ms-border-radius: 0 !important;
    -o-border-radius: 0 !important;
}

.fluentform .ff-el-group {
    margin-bottom: 0px !important;
}

#fluentform_1 .ff-btn-submit {
    background: #ffffff !important;
    color: rgba(0, 40, 3, 1) !important;
    margin-top: 16px;
    border-radius: 0;
    box-shadow: none;
    font-weight: 400;
    font-style: Regular;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

#fluentform_1 .ff-btn-submit::after {
    content: "";
    display: inline-flex;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(0, 40, 3, 1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E") center / 10px no-repeat;
}

body.single-svc_tree_product #content,
body.single-svc_accessory #content,
body.single-svc_project #content,
body.single-svc_tree_product .ast-container,
body.single-svc_accessory .ast-container,
body.single-svc_project .ast-container,
body.single-svc_tree_product .site-content,
body.single-svc_accessory .site-content,
body.single-svc_project .site-content,
body.single-svc_tree_product #primary,
body.single-svc_accessory #primary,
body.single-svc_project #primary,
body.single-svc_tree_product .main-header-bar-wrap,
body.single-svc_accessory .main-header-bar-wrap,
body.single-svc_project .main-header-bar-wrap {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.silscape-single-wrapper {
    background: #ffffff;
    color: #002803;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.silscape-single-wrapper img {
    display: block;
    max-width: 100%;
}

.silscape-single-wrapper button {
    font: inherit;
    color: inherit;
    margin: 0;
    border: 0;
    cursor: pointer;
}

.shell {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 16px;
}

.hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    background-color: linear-gradient(180deg, #FFFFFFBF 50%, #FFFFFF 95%);
    background-size: cover;
    background-position: center 36%;
    min-height: 420px;
    padding: 160px 0 40px 0;
    width: 100%;
    margin: 0;
    overflow: visible !important;
    border-bottom: 1px solid #f5f5f5;
}

.hero__inner {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 16px;
    color: #fff;
    overflow: visible !important;
}

.hero__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
    position: relative;
}

.project-breadcrumb {
    font-size: 14px;
    color: #335335;
    font-weight: 500;
}

.project-breadcrumb a {
    color: #335335;
    text-decoration: none;
}

.project-breadcrumb a:hover {
    text-decoration: underline;
}

.silscape-wpml-dropdown {
    position: relative !important;
    display: inline-block !important;
    z-index: 99999 !important;
}

.silscape-wpml-current {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none !important;
    cursor: pointer !important;
    padding: 6px 10px !important;
    border-radius: 0 !important;
    transition: opacity 0.2s ease !important;
}

.silscape-wpml-current:hover {
    opacity: 0.85 !important;
}

.silscape-wpml-chevron {
    width: 10px !important;
    height: 6px !important;
    stroke: #ffffff !important;
    transition: transform 0.2s ease !important;
}

.silscape-wpml-dropdown.is-open .silscape-wpml-chevron,
.silscape-wpml-dropdown:hover .silscape-wpml-chevron {
    transform: rotate(180deg) !important;
}

.silscape-wpml-sub {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    right: 0 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    min-width: 180px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
    border: 1px solid #e8e6df !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(6px) !important;
    transition: all 0.2s ease !important;
    z-index: 999999 !important;
}

.silscape-wpml-dropdown.is-open .silscape-wpml-sub,
.silscape-wpml-dropdown:hover .silscape-wpml-sub {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.silscape-wpml-sub li {
    margin: 0 !important;
    padding: 0 !important;
}

.silscape-wpml-sub li a {
    display: block !important;
    padding: 9px 20px !important;
    color: #1b3a1c !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    white-space: nowrap !important;
}

.silscape-wpml-sub li a:hover {
    background: #f4f6f1 !important;
    color: #002803 !important;
}

.hero__eyebrow {
    margin: 0 0 10px 0;
    font-size: 18px;
    line-height: 26px;
    font-weight: 500;
    color: #335335;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.hero__title {
    margin: 0;
    font-size: 52px;
    line-height: 62px;
    font-weight: 500;
    letter-spacing: -0.2px;
    max-width: 940px;
    color: #002803;
}

.project {
    padding: 50px 0 80px;
}

.project__figure {
    margin: 0;
    /*aspect-ratio: 1020 / 645;*/
    aspect-ratio: 2 / 1;
    border-radius: 0;
    overflow: hidden;
    background: #dfe4d8;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.project__figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project__tags {
    margin-top: 22px;
}

.tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tag {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 14px;
    border-radius: 0;
    background: #eef1e9;
    color: #325233;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease;
    border: 1px solid #dce2d6;
}

.project__title {
    margin: 14px 0 0;
    font-size: 28px;
    line-height: 34px;
    font-weight: 500;
    color: #002803;
    text-transform: capitalize;
}

.project__meta {
    margin: 8px 0 0;
    font-size: 16px;
    line-height: 24px;
    color: #325233;
    font-weight: 500;
}

.project__body {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.project__body p {
    margin: 0;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.2px;
    color: #325233;
}

.project__subhead {
    margin: 36px 0 0;
    font-size: 20px;
    line-height: 26px;
    font-weight: 500;
    color: #002803;
    border-bottom: 2px solid #325233;
    padding-bottom: 8px;
}

.spec {
    margin-top: 10px;
}

.spec__row {
    display: grid;
    grid-template-columns: 240px 1fr;
    column-gap: 20px;
    align-items: baseline;
    padding: 14px 0;
    border-bottom: 1px solid #c7d1c3;
}

.spec__label {
    font-size: 15px;
    line-height: 22px;
    color: #325233;
    font-weight: 600;
}

.spec__value {
    font-size: 15.5px;
    line-height: 23px;
    color: #002803;
    font-weight: 500;
}

.spec-table-wrap {
    margin-top: 16px;
    overflow-x: auto;
    background: #ffffff;
    border-radius: 0;
    border: 1px solid #c7d1c3;
}

.spec-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 12px;
    text-transform: uppercase;
    margin: 0px;
}

.spec-table th {
    background: #eef1e9;
    color: #002803;
    font-weight: 500;
    padding: 12px 16px;
    border-bottom: 1px solid #c7d1c3;
}

.spec-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #eef1e9;
    color: #325233;
}

.spec-table td a {color: #325233;}

.spec-table tr:last-child td {
    border-bottom: none;
}

.project__cta {
    margin-top: 36px;
}

.card__cta-single {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 10px 16px !important;
    border-radius: 0 !important;
    background: #2B4C38 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    border: 1.5px solid #2B4C38 !important;
    outline: none !important;
    box-shadow: 0 4px 14px rgba(43, 76, 56, 0.2) !important;
}

.card__cta-single .card__cta-label {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.card__cta-single .card__bubble {
    flex: none !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 0% !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform .2s ease !important;
}

.card__cta-single .card__bubble svg {
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    transform: rotate(45deg) !important;
}

.card__cta-single .card__bubble svg path {
    stroke: #ffffff !important;
}

.card__cta-single:hover {
    background: #1B3324 !important;
    border-color: #1B3324 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(43, 76, 56, 0.3) !important;
}

.card__cta-single.is-added {
    background: #002803 !important;
    border-color: #002803 !important;
}

.card__cta-single.is-added .card__cta-label {
    color: #ffffff !important;
}

.card__cta-single.is-added .card__bubble {
    background: #ffffff !important;
    display: none!important;
}

.project__two-col {
    margin-top: 36px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
}

.project__col .project__subhead {
    margin-top: 0;
}

/* ===== Editorial project sections (Ficha / Especies / Estado actual / Árbol singular / Lecturas / Fuentes) ===== */

.project__section {
    margin-top: 48px;
}

.project__section-title {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.project__section-num {
    font-size: 13px;
    font-weight: 600;
    color: #7c8f78;
    letter-spacing: 0.5px;
}

.project__section-intro {
    margin: 12px 0 0;
    font-size: 15.5px;
    line-height: 24px;
    color: #325233;
    max-width: 720px;
}

/* Ficha stat row */
.stat-row {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #c7d1c3;
    background: #ffffff;
}

.stat-box {
    padding: 14px 18px;
    border-right: 1px solid #c7d1c3;
}

.stat-box:last-child {
    border-right: none;
}

.stat-box__label {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #5c6b58;
}

.stat-box__value {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #002803;
}

/* Ficha table reuses .spec / .spec__row; add spacing when following stats */
.project__section--ficha .spec {
    margin-top: 24px;
}

/* Especies table adds a header row on top of the shared .spec-table look */
.spec-table thead th {
    background: #eef1e9;
}

.spec-table td em {
    font-style: italic;
    color: #002803;
}

/* Two narrative blocks side by side ("Lo que ya estaba" / "Lo que se ha ido añadiendo") */
.project__narrative-row {
    margin-top: 28px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
}

.project__narrative-block h4 {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    color: #002803;
}

.project__narrative-block p {
    margin: 0;
    font-size: 15.5px;
    line-height: 24px;
    color: #325233;
}

/* Two-photo row under the narrative blocks */
.photo-pair {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.photo-pair figure {
    margin: 0;
}

.photo-pair img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #dfe4d8;
}

.photo-pair figcaption,
.project__figure-caption,
.spotlight__secondary-img figcaption,
.lecturas-grid figcaption {
    margin-top: 8px;
    font-size: 12px;
    line-height: 18px;
    color: #5c6b58;
}

.project__figure--wide {
    margin-top: 24px;
}

/* Árbol singular spotlight */
.project__spotlight {
    margin-top: 24px;
    padding: 28px;
    background: #eef1e9;
    border: 1px solid #dce2d6;
}

.spotlight__grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 28px;
    align-items: start;
}

.spotlight__circle {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    overflow: hidden;
    background: #dfe4d8;
}

.spotlight__circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spotlight__content p {
    margin: 0 0 14px;
    font-size: 15.5px;
    line-height: 24px;
    color: #325233;
}

.spotlight__content p:last-of-type {
    margin-bottom: 0;
}

.spotlight__meta {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
}

.spotlight__meta div {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #5c6b58;
}

.spotlight__meta strong {
    display: block;
    margin-top: 3px;
    font-size: 13.5px;
    font-weight: 600;
    text-transform: none;
    color: #002803;
}

.spotlight__secondary-img {
    margin: 20px 0 0;
}

.spotlight__secondary-img img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #dfe4d8;
}

/* Lecturas gallery grid */
.lecturas-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.lecturas-grid figure {
    margin: 0;
}

.lecturas-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #dfe4d8;
}

/* Fuentes list */
.sources-list {
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sources-list li {
    position: relative;
    padding-left: 16px;
    font-size: 13.5px;
    line-height: 20px;
    color: #325233;
}

.sources-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #325233;
}

.sources-list a {
    color: #002803;
    text-decoration: underline;
}

.silscape-blog *,
.silscape-blog *::before,
.silscape-blog *::after {
    box-sizing: border-box;
}

.silscape-blog {
    background: #ffffff;
    color: #002803;
    font-weight: 400;
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 100%;
}

.silscape-blog img {
    display: block;
    max-width: 100%;
}

.silscape-blog button {
    font: inherit;
    color: inherit;
    margin: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.silscape-blog .shell {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 16px;
}

.silscape-blog .hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    background-color: linear-gradient(180deg, #FFFFFFBF 50%, #FFFFFF 95%);
    background-size: cover;
    background-position: center 36%;
    height: 473px;
    padding-bottom: 22px;
}

.silscape-blog .hero__inner {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 16px;
    color: #fff;
}

.silscape-blog .hero__eyebrow {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 29px;
    font-weight: 400;
    color: #335335;
}

.silscape-blog .hero__title {
    margin: 0;
    font-size: 62px;
    line-height: 74px;
    font-weight: 500;
    letter-spacing: -0.2px;
    max-width: 940px;
    color: #002803;
}

.silscape-blog .rule {
    height: 1px;
    border: 0;
    margin: 0;
    background: #c7d1c3;
}

.silscape-blog .tag {
    display: inline-flex;
    align-items: center;
    height: 21px;
    padding: 0 5px;
    border-radius: 0;
    background: #f5f5f5;
    color: #325233;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease;
}

.silscape-blog .tag--glass {
    background: rgba(255, 255, 255, .72);
}

.silscape-blog .tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.silscape-blog .pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 16px;
    border-radius: 0;
    background: #f5f5f5;
    color: #002803;
    font-size: 12px;
    line-height: 1;
    transition: background .18s ease;
    text-decoration: none;
}

.silscape-blog .pill:hover {
    background: #eceee7;
    color: #002803;
}

.silscape-blog .pill__icon {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #325233;
    color: #fff;
    flex: none;
}

.silscape-blog .pill__icon svg {
    width: 12px;
    height: 12px;
    display: block;
}

.silscape-blog .icon-btn {
    display: flex;
    align-items: center;
    justify-content: start;
    text-decoration: none;
}

.silscape-blog .icon-btn svg {
    width: 12px;
    height: 12px;
    color: #325233;
}

.silscape-blog .avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #325233;
    color: #fff;
    display: grid;
    place-items: center;
    flex: none;
    overflow: hidden;
}

.silscape-blog .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.silscape-blog .avatar svg {
    width: 22px;
    height: 22px;
}

.silscape-blog .featured {
    padding: 53px 0 20px;
    background: linear-gradient(180deg, #325233 0%, #f9fbf3 100%);
}

.silscape-blog .featured__viewport {
    width: 100%;
}

.silscape-blog .slide-card {
    display: flex;
    gap: 16px;
    padding: 16px;
    border-radius: 0;
    background: #ffffff;
}

.silscape-blog .slide-card__media {
    width: 493px;
    flex: none;
    aspect-ratio: 493 / 353;
    border-radius: 0;
    overflow: hidden;
    background: #dfe4d8;
}

.silscape-blog .slide-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.silscape-blog .slide-card__body {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 58px;
}

.silscape-blog .slide-card__eyebrow {
    margin: 0;
    font-size: 13px;
    line-height: 18px;
    color: #325233;
}

.silscape-blog .slide-card__title {
    margin: 8px 0 0;
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
}

.silscape-blog .slide-card__desc {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 17px;
    color: #325233;
}

.silscape-blog .byline {
    display: flex;
    align-items: center;
    gap: 16px;
}

.silscape-blog .slide-card__byline {
    margin-top: 15px;
}

.silscape-blog .byline__name {
    display: block;
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    color: #325233;
}

.silscape-blog .byline__meta,
.silscape-blog .byline__role {
    display: block;
    font-size: 13px;
    line-height: 18px;
    color: #325233;
}

.silscape-blog .byline__text {
    min-width: 0;
}

.silscape-blog .slide-card__cta {
    margin-top: 16px;
}

.silscape-blog .featured .splide__list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.silscape-blog .featured .splide__slide {
    opacity: .5;
    transition: opacity .35s ease;
}

.silscape-blog .featured .splide__slide.is-active {
    opacity: 1;
}

.silscape-blog .featured__nav {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

.silscape-blog .featured__arrow {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    padding: 0;
    display: grid;
    place-items: center;
    background: #ffffff;
    color: #002803;
    transition: transform .18s ease, background .18s ease;
}

.silscape-blog .featured__arrow svg {
    width: 12px;
    height: 12px;
}

.silscape-blog .featured__arrow--next {
    background: #325233;
    color: #fff;
}

.silscape-blog .featured__arrow:hover {
    transform: translateY(-1px);
    background: #002803;
}

.silscape-blog .featured__arrow--next:hover {
    background: #002803;
}

.silscape-blog .featured__arrow:disabled {
    opacity: .45;
    cursor: default;
    transform: none;
}

.silscape-blog .listing {
    display: grid;
    grid-template-columns: 674fr 328fr;
    column-gap: 18px;
    align-items: start;
    padding: 30px 0 0;
}

.silscape-blog .listing__aside {
    margin-top: 176px;
}

.silscape-blog .listing__title {
    margin: 0;
    font-size: 48px;
    line-height: 58px;
    font-weight: 500;
}

.silscape-blog .listing__intro {
    margin: 14px 0 0;
    max-width: 668px;
    font-size: 20px;
    line-height: 29px;
    color: #325233;
}

.silscape-blog .listing__rule {
    margin: 17px 0 0;
}

.silscape-blog .listing__results {
    margin: 25px 0 0;
    font-size: 16px;
    line-height: 23px;
    color: #002803;
}

.silscape-blog .listing__cards {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.silscape-blog .listing__body.is-loading {
    opacity: .45;
    pointer-events: none;
    transition: opacity .15s ease;
}

.silscape-blog .post-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 244px;
    padding: 16px;
    border-radius: 0;
    overflow: hidden;
    background-color: #eef1e9;
    background-size: cover;
    background-position: center;
    color: #002803;
    transition: color .25s ease;
    text-decoration: none;
}

.silscape-blog .post-card::before,
.silscape-blog .post-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.silscape-blog .post-card::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 10%, #ffffff 66%);
}

.silscape-blog .post-card::after {
    background: #325233;
    opacity: 0;
    transition: opacity .25s ease;
}

.silscape-blog .post-card>* {
    position: relative;
    z-index: 1;
}

.silscape-blog .post-card__title {
    margin: 7px 0 0;
    font-size: 20px;
    line-height: 26px;
    font-weight: 500;
    color: rgba(0, 40, 3, 1);
}

.silscape-blog .post-card__desc {
    margin: 5px 0 0;
    font-size: 16px;
    line-height: 22px;
    color: #325233;
}

.silscape-blog .post-card__cta {
    margin-top: 7px;
}

@media (hover: hover) and (pointer: fine) {
    .silscape-blog .post-card:hover::after {
        opacity: 1;
    }

    .silscape-blog .post-card:hover {
        color: #ffffff;
    }

    .silscape-blog .post-card:hover .post-card__title {
        color: #ffffff;
    }

    .silscape-blog .post-card:hover .post-card__desc {
        color: rgba(255, 255, 255, .82);
    }

    .silscape-blog .post-card:hover .tag {
        background: rgba(255, 255, 255, .9);
        color: #325233;
    }

    .silscape-blog .post-card:hover .pill {
        background: #ffffff;
    }

    .silscape-blog .post-card:hover .pill:hover {
        background: #f1f6e6;
    }
}

.silscape-blog .post-card:has(:focus-visible)::after,
.silscape-blog .post-card.is-active-touch::after {
    opacity: 1;
}

.silscape-blog .post-card:has(:focus-visible),
.silscape-blog .post-card.is-active-touch {
    color: #ffffff;
}

.silscape-blog .post-card:has(:focus-visible) .post-card__desc,
.silscape-blog .post-card.is-active-touch .post-card__desc {
    color: rgba(255, 255, 255, .82);
}

.silscape-blog .post-card:has(:focus-visible) .tag,
.silscape-blog .post-card.is-active-touch .tag {
    background: rgba(255, 255, 255, .9);
    color: #325233;
}

.silscape-blog .post-card:has(:focus-visible) .pill,
.silscape-blog .post-card.is-active-touch .pill {
    background: #ffffff;
}

.silscape-blog .pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 27px;
    padding-bottom: 3px;
    font-size: 16px;
    line-height: 23px;
}

.silscape-blog .pager__side {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0 14px;
    color: #002803;
    text-decoration: none;
    box-shadow: none;
}

.silscape-blog .pager__side:hover {
    color: #002803;
}

.silscape-blog .pager__side svg {
    width: 12px;
    height: 12px;
    flex: none;
}

.silscape-blog .pager__side[disabled],
.silscape-blog .pager__side.is-disabled {
    opacity: .4;
    pointer-events: none;
}

.silscape-blog .pager__pages {
    display: flex;
    align-items: center;
    gap: 8px;
}

.silscape-blog .pager__page {
    min-width: 33px;
    height: 33px;
    padding: 0 8px;
    border-radius: 0;
    display: grid;
    place-items: center;
    color: #002803;
    text-decoration: none;
}

.silscape-blog .pager__page:hover {
    color: #002803;
}

.silscape-blog .pager__page.is-current {
    background: #002803;
    color: #fff;
    font-weight: 600;
}

.silscape-blog .search {
    display: flex;
    gap: 16px;
    height: 33px;
}

.silscape-blog .search__field {
    flex: 1 1 auto;
    min-width: 0;
    height: 100% !important;
    padding: 0 16px;
    border-radius: 0;
    background: #ffffff;
    font-size: 14px;
    color: #002803;
    font: inherit;
    border: 0;
    border-color: #f5f5f5 !important;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none !important;
}

.silscape-blog .search__field::placeholder {
    color: #7b8a7c;
}

.silscape-blog .search__submit {
    width: 68px;
    flex: none;
    border-radius: 0;
    background: #325233;
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.silscape-blog .search__submit:hover {
    background: #325233;
}

.silscape-blog .panel {
    margin-top: 16px;
    padding: 22px 16px 16px;
    border-radius: 0;
    background: #ffffff;
}

.silscape-blog .panel__title {
    margin: 0;
    font-size: 18px;
    line-height: 25px;
    font-weight: 500;
}

.silscape-blog .chips {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.silscape-blog .chip {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 16px;
    border-radius: 0;
    background: #f5f5f5;
    color: #325233;
    font-size: 12px;
    line-height: 1;
    transition: background .18s ease, color .18s ease;
    text-decoration: none;
}

.silscape-blog .chip:hover {
    background: #e7eae2;
    color: #325233;
}

.silscape-blog .chip--active {
    background: #325233;
    color: #fff;
}

.silscape-blog .chip--active:hover {
    background: #2a4a2c;
}

.silscape-blog .article {
    display: grid;
    grid-template-columns: 6fr 4fr;
    column-gap: 18px;
    align-items: start;
    padding: 60px 0 0;
}

.silscape-blog .article__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 0 15px;
    border-bottom: 1px solid #c7d1c3;
}

.silscape-blog .article__stamp {
    margin: 0;
    text-align: right;
    font-size: 13px;
    line-height: 18px;
    color: #325233;
}

.silscape-blog .article__figure {
    margin: 16px 0 0;
    aspect-ratio: 674 / 421;
    border-radius: 0;
    overflow: hidden;
    background: #dfe4d8;
}

.silscape-blog .article__figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.silscape-blog .article__lead {
    margin: 15px 0 0;
    font-size: 20px;
    line-height: 29px;
    letter-spacing: -0.12px;
    font-weight: 500;
    color: #000000 !important;
    text-decoration: none !important;
}

.silscape-blog .article__body {
    margin-top: 17px;
    display: flex;
    flex-direction: column;
    gap: 23px;
}

.silscape-blog .article__body p {
    margin: 0;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.22px;
    color: #325233;
}

.silscape-blog .article__body p a {color: #325233;}

.silscape-blog .article__body img {
    border-radius: 0;
    margin: 4px 0;
}

.silscape-blog .article__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 21px;
    font-size: 16px;
    line-height: 23px;
}

.silscape-blog .related {
    margin: 24px -8px 0;
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 0 !important;
    list-style: none;
}

.silscape-blog .related__item {
    display: flex;
    gap: 0;
    border: 1px solid #f5f5f5;
}

.silscape-blog .related__body {padding: 12px;}

.silscape-blog .related__thumb {
    width: 148px;
    height: stretch;
    flex: none;
    border-radius: 0;
    overflow: hidden;
    background: #dfe4d8;
}

.silscape-blog .related__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.silscape-blog .related__title {
    margin: 0;
    font-size: 16px;
    line-height: 22px;
    font-weight: 500;
}

.silscape-blog .related__desc {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 17px;
    color: #325233;
}

.silscape-blog .related__cta {
    margin-top: 6px;
}

.silscape-blog .related__cta:hover {
    color: #ffffff;
}

.silscape-blog .panel--sidebar {
    margin-top: 0;
    padding: 23px 16px 16px;
}

.silscape-blog .panel__title+.chips {
    margin-top: 16px;
}

.silscape-blog .panel__block+.panel__block {
    margin-top: 24px;
}

.silscape-blog .join {
    margin: 64px 0 60px;
    padding: 28px 24px 26px;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    text-align: center;
    color: #ffffff;
    background-color: #22301f;
}

.silscape-blog .join::before {
    content: "";
    position: absolute;
    inset: -14px;
    background-image: var(--silscape-join-bg, none);
    background-size: cover;
    background-position: center 62%;
}

.silscape-blog .join::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(at top left, #FFFFFFBF 0%, #FFFFFF 100%);
}

.silscape-blog .join>* {
    position: relative;
    z-index: 1;
}

.silscape-blog .join__title {
    margin: 0;
    font-size: 32px;
    line-height: 38px;
    font-weight: 500;
    color: #ffffff;
}

.silscape-blog .join__text {
    margin: 10px 0 0;
    font-size: 16px;
    line-height: 24px;
    color: rgba(255, 255, 255, .88);
}

@media (prefers-reduced-motion: reduce) {
    .silscape-blog * {
        transition: none !important;
        animation: none !important;
    }
}

.silscape-blog .hero__inner {
    overflow: visible !important;
}

.silscape-blog .hero {
    overflow: visible !important;
}

.silscape-blog .hero__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    position: relative;
    z-index: 9999;
}

.silscape-blog .silscape-wpml-dropdown {
    position: relative;
    display: inline-block;
    z-index: 99999;
}

.silscape-blog .silscape-wpml-current {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 0;
    transition: opacity 0.2s ease;
}

.silscape-blog .silscape-wpml-current:hover {
    opacity: 0.85;
}

.silscape-blog .silscape-wpml-chevron {
    width: 10px;
    height: 6px;
    stroke: #ffffff;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.silscape-blog .silscape-wpml-dropdown.is-open .silscape-wpml-chevron,
.silscape-blog .silscape-wpml-dropdown:hover .silscape-wpml-chevron {
    transform: rotate(180deg);
}

.silscape-blog .silscape-wpml-sub {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: #ffffff;
    border-radius: 0;
    padding: 10px 0;
    margin: 0;
    list-style: none;
    min-width: 180px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border: 1px solid #e8e6df;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    z-index: 999999;
}

.silscape-blog .silscape-wpml-dropdown.is-open .silscape-wpml-sub,
.silscape-blog .silscape-wpml-dropdown:hover .silscape-wpml-sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.silscape-blog .silscape-wpml-sub li {
    margin: 0;
    padding: 0;
}

.silscape-blog .silscape-wpml-sub li a {
    display: block;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #002803;
    text-decoration: none;
    transition: background 0.15s ease;
}

.silscape-blog .silscape-wpml-sub li a:hover {
    background: #f0f4ee;
    color: #002803;
}

.ideas {
    background: #ffffff;
    font-weight: 400;
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ideas *,
.ideas *::before,
.ideas *::after {
    box-sizing: border-box;
}

.ideas .ideas__shell {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ideas .ideas__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 16px;
}

.ideas .ideas__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    word-break: break-word;
}

.ideas .ideas__title {
    margin: 0;
    padding: 0;
    color: #002803;
    font-size: 48px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: capitalize;
}

.ideas .ideas__lede {
    margin: 0;
    padding: 0;
    max-width: 100%;
    color: rgba(17, 35, 24, 0.8);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.45;
}

.ideas .ideas__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border: 0;
    border-radius: 0;
    color: #002803;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    word-break: break-word;
    flex: none;
    transition: background-color .25s ease, box-shadow .18s ease;
    margin: 0 12px 12px 12px;
}

.ideas .ideas__pill--onlight {
    background: #f5f5f5;
    margin: 0px;
}

.ideas .ideas__pill--oncard {
    background: #f5f5f5;
}

.ideas .ideas__disc {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ideas .ideas__arrow {
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
}

.ideas .ideas__arrow svg {
    width: 12px;
    height: 12px;
    display: block;
}

.ideas .ideas__arrow svg path {
    stroke: #002803;
}

.ideas .ideas__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    width: 100%;
}

.ideas .ideas__card {
    position: relative;
    flex: 1 1 280px;
    min-height: 244px;
    border-radius: 0;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    transition: background-color .25s ease;
    text-decoration: none;
    border: 1px solid #f5f5f5;
    cursor: pointer;
}
.ideas .ideas__card:hover {box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);}
.ideas .ideas__card:hover .silscape-thumb-placeholder {transform: scale(1.04);}

/* Whole-card click target: the "Ver detalles" link is stretched to cover
   the entire card (image, tags, title, description) so clicking anywhere
   on the card opens the post — not just the pill button. The pill stays
   the only real link (no duplicate/nested anchors, still keyboard-
   accessible), it's just visually stretched via ::after. */
.ideas .ideas__pill--oncard {
    position: relative;
}
.ideas .ideas__pill--oncard::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.ideas .ideas__media {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 0;
    overflow: hidden;
    background: #dfe4d8;
}

.ideas .ideas__media img,
.ideas .ideas__media .silscape-thumb-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.ideas .ideas__tags {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px 12px 0 12px;
}

.ideas .ideas__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 4px;
    border-radius: 0;
    background: #f5f5f5;
    color: rgba(0, 40, 3, 0.8);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    word-break: break-word;
}

.ideas .ideas__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    word-break: break-word;
}

.ideas .ideas__card-title {
    margin: 0;
    padding: 0;
    width: 100%;
    color: #002803;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    transition: color .25s ease;
    padding: 0 12px;
}

.ideas .ideas__card-desc {
    margin: 0;
    padding: 0;
    width: 100%;
    color: #002803;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    transition: color .25s ease;
    padding: 0 12px;
}

.silscape-projects-grid {
    background: transparent;
    color: #002803;
}

.pjs *,
.pjs *::before,
.pjs *::after {
    box-sizing: border-box;
    border-radius: 0;
}

.pjs .pjs__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 44px;
    row-gap: 48px;
    align-items: start;
    width: 100%;
}

.pjs .pjs__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    height: 100%;
    cursor: pointer;
    border: 1px solid #f5f5f5;
}
.pjs .pjs__card:hover {box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);}

.pjs .pjs__card-frame {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 0;
    overflow: hidden;
    background: #e5eae5;
}

.pjs .pjs__card-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.pjs .pjs__card:hover .pjs__card-photo {
    transform: scale(1.04);
}

.pjs .pjs__card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 12px;
    background: transparent;
}

.pjs .pjs__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
}

.pjs .pjs__tag {
    display: inline-flex;
    align-items: center;
    color: #5f8052;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pjs .pjs__tag+.pjs__tag::before {
    content: "\00b7";
    margin: 0 8px;
    color: #9aae90;
    letter-spacing: normal;
}

.pjs .pjs__card-title {
    margin: 10px 0 0;
    padding: 0;
    width: 100%;
    color: #002803;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
    word-break: break-word;
    transition: color .2s ease;
}

.pjs .pjs__card:hover .pjs__card-title {
    color: #335335;
}

.pjs .pjs__card-desc {
    margin: 12px 0 0;
    padding: 0;
    width: 100%;
    color: rgba(0, 40, 3, 0.68);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    word-break: break-word;
}

.pjs .pjs__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    padding: 10px 16px;
    border-radius: 0!important;
    background: #f5f5f5;
    color: #002803;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    flex: none;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .18s ease;
}

.pjs .pjs__arrow {
    width: 8px;
    height: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.pjs .pjs__arrow svg {
    width: 12px;
    height: 12px;
    display: block;
}

.pjs .pjs__card[data-pjs-card] {
    cursor: pointer;
}

.pjs .pjs__card[data-pjs-card]:focus-visible {
    outline: 2px solid #4b7a2c;
    outline-offset: 4px;
}

.pjs .pjs__modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 24px 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}

.pjs .pjs__modal.is-open {
    opacity: 1;
    visibility: visible;
}

.pjs .pjs__modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.7);
    cursor: pointer;
}

.pjs .pjs__dialog {
    position: relative;
    width: 100%;
    max-width: 860px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #ffffff;
    transform: translateY(12px);
    transition: transform .25s ease;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 40, 3, 0.25) transparent;
    border-radius: 0;
}

.pjs .pjs__modal.is-open .pjs__dialog {
    transform: translateY(0);
}

.pjs .pjs__dialog::-webkit-scrollbar {
    width: 8px;
}

.pjs .pjs__dialog::-webkit-scrollbar-track {
    background: transparent;
}

.pjs .pjs__dialog::-webkit-scrollbar-thumb {
    background: rgba(0, 40, 3, 0.25);
}

.pjs .pjs__close-bar {
    position: sticky;
    top: 0;
    z-index: 3;
    height: 0;
}

.pjs .pjs__close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border: 1px solid rgba(0, 40, 3, 0.18);
    background: #ffffff;
    color: #002803;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
    border-radius: 0;
    font-weight: 400;
}

.pjs .pjs__close:hover {
    background: #f9fbf3;
    border-color: rgba(0, 40, 3, 0.35);
}

.pjs .pjs__close span {
    font-size: 13px;
    letter-spacing: normal;
}

.pjs .pjs__m-hero {
    display: block;
    width: 100%;
    height: 340px;
    object-fit: cover;
    background: #e5eae5;
    border-radius: 0;
}

.pjs .pjs__m-body {
    padding: 28px;
}

.pjs .pjs__m-title {
    margin: 12px 0 0;
    color: #002803;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.2;
    word-break: break-word;
    padding: 0;
}

.pjs .pjs__m-facts {
    margin: 12px 0 0;
    color: rgba(0, 40, 3, 0.55);
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 0;
    font-weight: 400;
    line-height: 1.45;
}

.pjs .pjs__m-desc {
    margin: 20px 0 0;
    max-width: 62ch;
    color: rgba(0, 40, 3, 0.78);
    font-size: 16px;
    line-height: 1.6;
    padding: 0;
    font-weight: 400;
}

.pjs .pjs__m-tags {
    margin: 16px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pjs .pjs__m-tag {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid rgba(0, 40, 3, 0.18);
    color: rgba(0, 40, 3, 0.68);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pjs .pjs__spec {
    margin-top: 28px;
    border: 1px solid rgba(0, 40, 3, 0.12);
    border-radius: 0;
}

.pjs .pjs__spec-head {
    padding: 12px 16px;
    background: #002803;
    color: #ffffff;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 400;
    line-height: 1.45;
}

.pjs .pjs__spec-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(0, 40, 3, 0.12);
}

.pjs .pjs__spec-cell {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    background: #ffffff;
    min-width: 0;
}

.pjs .pjs__spec-label {
    color: rgba(0, 40, 3, 0.55);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    line-height: 1.45;
}

.pjs .pjs__spec-value {
    color: #002803;
    font-size: 15px;
    line-height: 1.4;
    word-break: break-word;
}

.pjs .pjs__sec {
    margin-top: 32px;
}

.pjs .pjs__sec-head {
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 40, 3, 0.35);
    color: #5f8052;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    line-height: 1.45;
}

.pjs .pjs__sec-note {
    margin: 12px 0 0;
    color: rgba(0, 40, 3, 0.55);
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 0;
    line-height: 1.45;
}

.pjs .pjs__band {
    margin-top: 16px;
    padding: 9px 14px;
    background: #f2f5ec;
    color: rgba(0, 40, 3, 0.65);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    line-height: 1.45;
}

.pjs .pjs__species {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 2px;
}

.pjs .pjs__species-name {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.pjs .pjs__species-latin {
    color: #002803;
    font-size: 14px;
    line-height: 1.3;
}

.pjs .pjs__species-common {
    color: rgba(0, 40, 3, 0.55);
    font-size: 13px;
    line-height: 1.4;
}

.pjs .pjs__species-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: none;
}

.pjs .pjs__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    padding: 8px 14px;
    border: 1px solid rgba(0, 40, 3, 0.18);
    background: #ffffff;
    color: #002803;
    font-size: 13px;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
    border-radius: 0;
    font-weight: 400;
}

.pjs .pjs__btn:hover {
    background: #f9fbf3;
    border-color: rgba(0, 40, 3, 0.35);
}

.pjs .pjs__sol {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 2px;
    border-bottom: 1px solid rgba(0, 40, 3, 0.12);
}

.pjs .pjs__sol-name {
    color: #002803;
    font-size: 16px;
    line-height: 1.4;
}

.pjs .pjs__sol-tag {
    color: rgba(0, 40, 3, 0.45);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-align: right;
    line-height: 1.45;
}

.pjs .card__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 16px;
    background: #ffffff;
    color: #002803;
    font-size: 12px;
    line-height: normal;
    border: 1px solid #4b7a2c;
    cursor: pointer;
    transition: box-shadow .18s ease, background-color .18s ease, color .18s ease;
}

.pjs .card__cta:hover {
    background: #f2f5ec;
    box-shadow: 0 1px 6px rgba(0, 40, 3, .12);
}

.pjs .card__cta.is-added {
    background: #335335;
    border-color: #335335;
    color: #ffffff;
}

.pjs .card__disc {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .18s ease;
}

.pjs .card__cta.is-added .card__disc {
    background: #ffffff;
}

.pjs .card__disc svg {
    width: 12px;
    height: 12px;
    display: block;
    transform: rotate(45deg);
}

.pjs .card__disc svg path {
    stroke: #002803;
}

.pjs .card__cta.is-added .card__disc svg path {
    stroke: #335335;
}

.pjs .pjs__cta {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
    padding: 14px 18px;
    border: 1.5px solid #4b7a2c;
    background: #4b7a2c;
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
    border-radius: 0;
}

.pjs .pjs__cta:hover {
    background: #3f6825;
    border-color: #3f6825;
}

.pjs .pjs__cta.is-added {
    background: #002803;
    border-color: #002803;
}

.pjs .pjs__cta .card__bubble {
    flex: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pjs .pjs__cta .card__bubble svg {
    width: 12px;
    height: 12px;
    display: block;
    transform: rotate(45deg);
}

.pjs .pjs__cta .card__bubble svg path {
    stroke: #4b7a2c;
}

.pjs .pjs__cta.is-added .card__bubble svg path {
    stroke: #002803;
}

.pjs__modal-open {
    overflow: hidden;
}

.pjs {
    background: #ffffff;
    font-weight: 400;
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pjs button,
.pjs input,
.pjs select,
.pjs textarea,
.pjs a {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
}

.pjs .pjs__shell {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.pjs .pjs__btn--add {
    border-color: #4b7a2c;
    color: #35601d;
}

.pjs .pjs__btn--add:hover {
    background: #f2f5ec;
    border-color: #35601d;
}

.pjs .pjs__m-foot {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 28px;
}

.pjs .pjs__m-foot .pjs__pill {
    margin-top: 0;
    width:100%;
}

.pjs .pjs__m-foot .pjs__pill span {font-size: 16px;}

.species {
    font-weight: 400;
    font-synthesis-weight: none;
    color: #002803;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 100%;
}

.species *,
.species *::before,
.species *::after {
    box-sizing: border-box;
}

.species img {
    display: block;
    max-width: 100%;
}

.species button {
    font: inherit;
    color: inherit;
    border: 0;
    margin: 0;
    background: none;
    cursor: pointer;
}

.species__shell {
    width: 100%;
    margin: 0 auto;
}

.species__title {
    margin: 0;
    padding: 0;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: #002803;
    width: 100%;
}

.species__search {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 0;
    width: 100%;
}

.species__search-input {
    flex: 0 1 448px;
    min-width: 0;
    height: 32px;
    padding: 0 16px;
    border-color: #f5f5f5 !important;
    border-radius: 0 !important;
    background: #ffffff;
    color: #002803;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    outline: none;
    box-shadow: 0 1px 3px rgba(0, 40, 3, 0.06);
}

.species__search-input::placeholder {
    color: #002803;
    opacity: 1;
}

.species__search-input:focus-visible {
    box-shadow: 0 0 0 2px rgba(51, 83, 53, .35);
}

.species .species__search-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: stretch;
    padding: 0 16px;
    border-radius: 0;
    background: #335335;
    color: #ffffff;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    transition: background-color .18s ease;
    cursor: pointer;
}

.species .species__search-btn:hover {
    background: #002803;
}

.species__head {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
}

.species__body {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-top: 29px;
}

.species__results {
    flex: 1 1 auto;
    min-width: 0;
}

.species__resultbar {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 20px;
}

.species__count {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    color: #002803;
}

.species .species__toggle {
    display: none;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    padding: 5px 12px;
    border-radius: 0;
    background: rgba(0, 40, 3, .2);
    color: #002803;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.species .species__toggle svg {
    flex: none;
}

.species__applied {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.species__applied-label {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    color: #002803;
    margin-right: 2px;
}

.species__applied-chips-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.species .species__achip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 22px;
    padding: 0 8px;
    border-radius: 0;
    background: rgba(0, 40, 3, .2);
    color: #002803;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.45;
    transition: background-color .18s ease;
    cursor: pointer;
}

.species .species__achip:hover {
    background: rgba(0, 40, 3, .3);
}

.species .species__achip svg {
    flex: none;
    display: block;
}

.species .species__clear {
    margin-left: 8px;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    color: #002803;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.species__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 18px;
    margin-top: 18px;
}

.species .card {
    display: flex;
    flex-direction: column;
    border-radius: 0;
    background: #ffffff;
    transition: background-color .22s ease, transform .22s ease, box-shadow .22s ease;
    border: 1px solid transparent;
    position: relative;
    border: 1px solid #f5f5f5;
}

.species .card:hover {box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);}

.species .card__stretched-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}

.species .card__media-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.species .card__media {
    width: 100%;
    aspect-ratio: 226 / 149;
    border-radius: 0;
    overflow: hidden;
    background: #e5eae5;
    position: relative;
}

.species .card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.species .card:hover.card__media img {transform: scale(1.04);}

.species .card__body {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px !important;
    padding: 8px 12px;
}

.species .card__name {
    margin: 0 !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: #002803;
    transition: color .22s ease;
}

.species .card__name a {
    color: inherit;
    text-decoration: none;
}

.species .card__meta {
    margin: 0 !important;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(0, 40, 3, .8);
    transition: color .22s ease;
}

.species .card__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin: 0 !important;
    padding: 8px 16px;
    border-radius: 0;
    background: #f5f5f5;
    color: #002803;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    text-decoration: none;
    transition: box-shadow .18s ease, background-color .18s ease, color .18s ease;
    border: 0;
    cursor: pointer;
    outline: none;
    position: relative;
    z-index: 2;
}

.species .card__cta.is-added {
    background: #335335;
    color: #ffffff;
}

.species .card__disc,
.species .card__bubble {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .18s ease;
}

.species .card__cta.is-added .card__disc,
.species .card__cta.is-added .card__bubble {
    background: #ffffff;
    display: none !important;
}

.species .card__disc svg,
.species .card__bubble svg {
    width: 12px;
    height: 12px;
    display: block;
    transform: rotate(45deg);
}

.species .card__cta.is-added .card__disc svg path,
.species .card__cta.is-added .card__bubble svg path {
    stroke: #002803;
}

.species .card.is-active .card__name,
.species .card.is-active .card__name a {
    color: #ffffff;
}

.species .card.is-active .card__meta {
    color: rgba(255, 255, 255, .8);
}

.species__panel {
    flex: 0 0 280px;
    width: 280px;
    max-width: 280px;
    min-width: 0;
    align-self: stretch;
    border-radius: 0;
    background: #ffffff;
    overflow: hidden;
    height: fit-content;
    position: sticky;
    top: 75px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
    border: 1px solid #E8E6DF;
}

.species__panel-head {
    display: none;
}

.species__panel-title {
    margin: 0 !important;
    padding: 18px 16px 17px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: #002803;
    text-align: center;
}

.species .fgrp {
    padding: 4px 16px 8px;
    width: 100%;
}

.species .fgrp[data-open="false"] {
    padding-bottom: 12px;
}

.species .fgrp__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 8px 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 19px;
    color: #002803;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    text-transform: uppercase;
}

.species .fgrp__chev {
    flex: none;
    width: 10px;
    height: 6px;
    transition: transform .25s ease;
}

.species .fgrp__chev path {
    stroke: #002803;
}

.species .fgrp[data-open="false"] .fgrp__chev {
    transform: rotate(180deg);
}

.species .fgrp__body {
    padding-top: 7px;
}

.species .fgrp[data-open="false"] .fgrp__body {
    display: none;
}

.species .fopt {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 33px;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    color: #002803;
    cursor: pointer;
    user-select: none;
}

.species .fopt__box {
    appearance: none;
    -webkit-appearance: none;
    flex: none;
    width: 14px;
    height: 14px;
    margin: 0;
    border: 1px solid rgba(0, 40, 3, .5);
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}

.species .fopt__box:checked {
    border-color: #002803;
    background-color: #002803;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.3 4.7 8.5 9.5 3.7' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center;
}

.species .fopt__box:focus-visible {
    outline: 2px solid #335335;
    outline-offset: 2px;
}

.species .fopt__label {
    flex: 1 1 auto;
    min-width: 0;
}

.species .fopt__count {
    flex: none;
    margin-left: 8px;
    font-size: 13px;
    color: rgba(0, 40, 3, 0.7);
}

.species .fopt.is-disabled {
    cursor: default;
    color: rgba(0, 40, 3, .25);
    opacity: 0.4;
}

.species .fopt.is-disabled .fopt__box {
    border-color: rgba(0, 40, 3, .2);
    cursor: default;
}

.species .fgrp__more {
    display: inline-block;
    padding: 0;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    color: #002803;
    text-decoration: underline;
    text-underline-offset: 3px;
    background: none;
    border: 0;
    cursor: pointer;
}

.species .frange__value {
    margin: 9px 0 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    color: #002803;
}

.species .frange__input {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 100%;
    height: 16px;
    margin: 9px 0 0;
    background: transparent;
    cursor: pointer;
}

.species .frange__input::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 0;
    background: linear-gradient(to right, #335335 var(--frange-pct, 100%), #f5f5f5 var(--frange-pct, 100%));
}

.species .frange__input::-moz-range-track {
    height: 4px;
    border-radius: 0;
    background: linear-gradient(to right, #335335 var(--frange-pct, 100%), #f5f5f5 var(--frange-pct, 100%));
}

.species .frange__input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    margin-top: -6px;
    border: 0;
    border-radius: 50%;
    background: #335335;
}

.species .frange__input::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: 0;
    border-radius: 50%;
    background: #335335;
}

.species .frange__input:focus-visible {
    outline: 2px solid #335335;
    outline-offset: 4px;
}

.species .frange__help {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
    color: rgba(0, 40, 3, .5);
}

.species__scrim {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(0, 40, 3, .4);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.silscape-pagination-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 32px;
}

.silscape-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.silscape-page-numbers {
    display: flex;
    align-items: center;
    gap: 6px;
}

.silscape-page-num,
.silscape-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 14px;
    border-radius: 0;
    background: #ffffff;
    color: #002803;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid #E2E0D6;
    cursor: pointer;
    transition: all .18s ease;
    outline: none;
}

.silscape-page-num:hover,
.silscape-page-btn:hover {
    background: #335335;
    color: #ffffff;
    border-color: #335335;
}

.silscape-page-num.is-active {
    background: #335335 !important;
    color: #ffffff !important;
    border-color: #335335 !important;
    box-shadow: 0 2px 8px rgba(51, 83, 53, 0.2) !important;
}

.silscape-page-dots {
    font-size: 14px;
    color: #8A968B;
    padding: 0 4px;
    font-weight: 500;
}

.silscape-empty-state {
    text-align: center;
    padding: 40px 20px;
    background: #ffffff;
    border-radius: 0;
    width: 100%;
    color: #002803;
    font-size: 15px;
    font-weight: 500;
    border: 1px solid #E8E6DF;
    margin-top: 18px;
}

.species.is-loading .species__results {
    opacity: 0.6;
    pointer-events: none;
}

.lps {
    font-weight: 400;
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.lps *,
.lps *::before,
.lps *::after {
    box-sizing: border-box;
}

.lps .lps__shell {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
}

.lps .lps__row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 18px;
    flex-direction: column;
}

.lps .lps__col {
    flex: 0 0 calc((100% - 18px) / 2);
    min-width: 0;
    display: flex;
}

.lps .lps__card {
    position: relative;
    width: 100%;
    min-width: 0;
    border-radius: 0;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    transition: box-shadow .25s ease, transform .25s ease;
    border: 1px solid #f5f5f5;
}
.lps .lps__card:hover {box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);}

.lps .lps__photo {
    position: static;
    width: 100%;
    height: 208px;
    object-fit: cover;
    display: block;
    flex: none;
    background: #e5eae5;
}

.lps .lps__strip {
    position: static;
    height: auto;
    padding: 20px;
    border-radius: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    overflow: visible;
    transition: none;
}

.lps .lps__tags {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 0 10px;
    max-height: none;
    opacity: 1;
    overflow: visible;
    transition: none;
}

.lps .lps__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: none;
    color: #5c6f5d;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.lps .lps__tag + .lps__tag::before {
    content: "\00b7";
    margin: 0 8px 0 8px;
    color: #9aa89b;
    letter-spacing: normal;
}

.lps .lps__strip-title {
    margin: 0;
    padding: 0;
    max-width: 100%;
    color: #002803;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.lps .lps__strip-desc {
    margin: 10px 0;
    padding: 0;
    max-width: 100%;
    color: #4a5b4b;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.lps .lps__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    padding: 12px 18px;
    max-height: none;
    border-radius: 0;
    background: #f5f5f5;
    color: #002803;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    flex: none;
    opacity: 1;
    overflow: hidden;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .18s ease;
}

.lps .lps__pill.is-added {
    background: #335335 !important;
    border-color: #335335 !important;
}

.lps .lps__pill.is-added .card__cta-label {
    color: #ffffff !important;
}

.lps .lps__pill.is-added .lps__disc {
    display: none!important;
}

.lps .lps__strip-desc + .lps__pill {
    margin-top: 18px;
}

.lps .lps__disc {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    flex: none;
}

.lps .lps__arrow {
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
}

.lps .lps__arrow svg {
    width: 12px;
    height: 12px;
    display: block;
}

.lps .lps__arrow svg path {
    stroke: #002803;
}

.ff-message-success {
    margin: 12px 0 0 0 !important;
}

.sticky-pallet-part {
    position: sticky !important;
    top: 60px;
    height: fit-content !important;
}

footer .elementor-heading-title a {color: #112318CC;}


@media (max-width: 767px) {
    .pjs .pjs__grid {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 30px;
    }
}


.custom-header {
    background-color: #fff !important;
}



