@font-face {
    font-family: "Heebo";
    src: url("../fonts/Heebo-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Heebo";
    src: url("../fonts/Heebo-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}

body {
    font-family: "Heebo", sans-serif;
    direction: rtl;
    max-width: 100%;
    margin: 0;
    /*background: #f5f1e8;*/
    color: #213126;
}

body.page--editing {
    background:
        /*radial-gradient(circle at top right, rgba(125, 157, 79, 0.12), transparent 24%),
        #f5f1e8;*/
}

* {
    box-sizing: border-box;
}

a {
    color: inherit;
}

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

.page_wrapper {
    min-height: 100vh;
}

body > #menu-overlay,
body > #side-menu,
body > #oak-leaf-btn {
    position: fixed;
}

body > #oak-leaf-btn {
    top: 12px !important;
    margin: 0 !important;
}

body.page--loading > #oak-leaf-btn,
body.page--loading > #side-menu {
    opacity: 0 !important;
    pointer-events: none !important;
}

body > #oak-leaf-btn,
body > #side-menu {
    transition: opacity 0.18s ease;
}

.project-page-loader {
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.72);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2200;
    transition: opacity 0.18s ease;
}

.project-page-loader-visual {
    position: relative;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.project-page-loader .loader-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid #ddd;
    border-top: 5px solid #2e7d32;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.project-page-loader .loader-text {
    margin-top: 15px;
    font-size: 16px;
    color: #444;
}

.project-page-loader-logo-shell {
    position: absolute;
    inset: 5px;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
    padding: 12px;
}

.project-page-loader-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.project-page-loader--with-logo .project-page-loader-visual {
    width: 90px;
    height: 90px;
}

.project-page-loader--with-logo .loader-spinner {
    width: 90px;
    height: 90px;
    border-width: 3px;
}

.project-page-loader--with-logo .project-page-loader-logo-shell {
    display: flex;
}

body:not(.page--loading) .project-page-loader {
    opacity: 0;
    pointer-events: none;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.page_header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(251, 248, 242, 0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(33, 49, 38, 0.08);
    transition: background-color 220ms ease, border-color 220ms ease, backdrop-filter 220ms ease;
}

.page_header.page_header--transparent {
    margin-bottom: -72px;
    background: transparent;
    backdrop-filter: none;
    border-bottom-color: transparent;
}

.page_header.page_header--transparent.page_header--scrolled {
    background: rgba(251, 248, 242, 0.92);
    backdrop-filter: blur(12px);
    border-bottom-color: rgba(33, 49, 38, 0.08);
}

.project_header_inner {
    width: min(1200px, calc(100% - 32px));
    min-height: 72px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.project_header_home {
    padding: 10px 18px;
    border-radius: 999px;
    background: #213126;
    color: #fff;
    text-decoration: none;
    display: none;
}

.project_logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex: 1;
    min-width: 0;
    font-size: 1rem;
    font-weight: 700;
    direction: ltr;
}

.project_logo--ltr {
    flex-direction: row !important;
}

.project_logo--rtl {
    flex-direction: row-reverse !important;
}

.project_header_nav_shell {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    position: relative;
}

.project_logo img {
    height: 56px;
    width: auto;
    max-width: min(240px, 100%);
    border-radius: 0;
    object-fit: contain;
    flex: 0 0 auto;
    transition: filter 220ms ease;
}

.project_identity {
    display: flex;
    align-items: center;
    gap: 0;
    min-width: 0;
    padding-block: 8px;
}

.project_identity_shell {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 72px;
    min-width: 0;
    padding-inline-end: 34px;
}

.project_identity--logo {
    padding-block: 0;
    align-items: flex-start;
    height: 72px;
}

.project_identity_logo_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 0;
    overflow: visible;
}

.project_identity--simple .project_identity_logo_badge {
    position: relative;
    height: auto;
    width: auto;
    margin: 8px 0;
}

.project_identity--simple .project_identity_logo_badge img {
    display: block;
    height: 56px;
    width: auto;
    max-width: min(240px, 100%);
    max-height: none;
    object-fit: contain;
    flex: 0 0 auto;
}

.project_identity--rectangleBadge .project_identity_logo_badge img,
.project_identity--roundBadge .project_identity_logo_badge img {
    display: block;
    height: 100%;
    width: auto;
    max-width: none;
    max-height: 100%;
    object-fit: contain;
    flex: 0 0 auto;
}

.project_identity--rectangleBadge .project_identity_logo_badge,
.project_identity--roundBadge .project_identity_logo_badge {
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    height: 120px;
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(33, 49, 38, 0.16);
    z-index: 1;
}

.project_identity--rectangleBadge .project_identity_logo_badge {
    border-radius: 8px;
}

.project_identity--roundBadge .project_identity_logo_badge {
    border-radius: 0 0 100px 100px;
    padding: 10px 12px 30px 12px;
}

.project_identity_name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.project_header_page_nav {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-inline-start: 8px;
    min-width: 0;
    flex-wrap: wrap;
}

.project_header_page_link {
    text-decoration: none;
    color: #314234;
    font-size: 0.96rem;
    white-space: nowrap;
    padding: 5px 10px;
    transition: color 220ms ease;
}

.project_identity_name {
    transition: color 220ms ease;
}

.page_header--transparent.page_header--light-foreground:not(.page_header--scrolled) .project_header_page_link,
.page_header--transparent.page_header--light-foreground:not(.page_header--scrolled) .project_identity_name {
    color: #ffffff;
}

.page_header--transparent.page_header--light-foreground:not(.page_header--scrolled) .project_identity--simple .project_identity_logo_badge img {
    filter: brightness(0) invert(1);
}

.hero_cta_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    flex: 0 0 auto;
    margin-top: 18px;
    padding: 12px 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #213126;
    font-weight: 700;
    text-decoration: none;
}

.hero_action_group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.hero_action_group .hero_cta_button {
    margin-top: 0;
    width: auto;
    flex: 0 0 auto;
}

.hero_cta_button--video {
    border: none;
    cursor: pointer;
    font: inherit;
    gap: 8px;
}

.hero_cta_button--video img {
    width: 18px;
    height: 18px;
}

.hero_popup_video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.hero_popup_video iframe {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 18px;
}

.editor_popup--hero-video {
    width: min(1000px, calc(100vw - 32px));
    max-width: min(1000px, calc(100vw - 32px));
    padding: 20px;
}

.popup-content:has(.editor_popup--hero-video) {
    width: min(1040px, calc(100vw - 32px));
    max-width: min(1040px, calc(100vw - 32px));
}

.popup-content.popup-content--media-library {
    width: min(1100px, calc(100vw - 32px));
    max-width: min(1100px, calc(100vw - 32px));
}

.hidden {
    display: none !important;
}

.page {
    min-height: calc(100vh - 72px);
}

.page_surface {
    min-height: 100%;
}

.page_hero {
    position: relative;
    min-height: 72vh;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}

.page_hero_bg,
.page_hero_bg img,
.page_hero_overlay {
    position: absolute;
    inset: 0;
}

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

.page_hero_bg > .inline_menu_button--media {
    position: absolute;
    top: 20px;
    inset-inline-end: 20px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 28px rgba(17, 17, 17, 0.18);
    z-index: 3;
}

.page_hero_bg > .inline_menu_button--media img {
    width: 18px;
    height: 18px;
}

.page_hero_overlay {
    background: linear-gradient(135deg, rgba(16, 27, 19, 0.88), rgba(45, 75, 48, 0.28));
}

.page_hero_overlay--light {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(251, 248, 242, 0.28));
}

.page_hero_video,
.hero-swiper,
.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide,
.page_hero_slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.page_hero_video iframe {
    position: absolute;
    inset: var(--media-focal-y, 50%) auto auto var(--media-focal-x, 50%);
    width: 177.78vh;
    min-width: 100%;
    height: 56.25vw;
    min-height: 100%;
    transform: translate(calc(-1 * var(--media-focal-x, 50%)), calc(-1 * var(--media-focal-y, 50%)));
    border: 0;
    pointer-events: none;
}

.page_hero_slide {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.page_hero_slide--placeholder {
    background: linear-gradient(135deg, #d3d8d0, #b4bbb1);
}

.page_hero_content {
    position: relative;
    z-index: 1;
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
    padding: 130px 0 120px;
    color: #fff;
    z-index: 10;
}

.page_hero_inner {
    max-width: 700px;
    margin: 0 0 80px 0;
}

.hero_weather_widget {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 20px 0;
    padding: 12px 16px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 18px 36px rgba(8, 15, 10, 0.18);
    backdrop-filter: blur(14px);
    color: #fff;
    max-width: min(100%, 340px);
}

.hero_weather_widget[data-state="loading"] .hero_weather_temperature,
.hero_weather_widget[data-state="loading"] .hero_weather_condition,
.hero_weather_widget[data-state="loading"] .hero_weather_secondary {
    opacity: 0.72;
}

.hero_weather_icon {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff4cb;
}

.hero_weather_icon_svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hero_weather_copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.hero_weather_primary {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.hero_weather_temperature {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
}

.hero_weather_condition {
    font-size: 0.98rem;
    opacity: 0.96;
}

.hero_weather_secondary {
    font-size: 0.92rem;
    opacity: 0.74;
}

.hero-content-swiper,
.hero-content-swiper .swiper-wrapper,
.hero-content-swiper .swiper-slide {
    width: 100%;
}

.hero_slide_copy {
    max-width: 640px;
}

.hero_slider_pager {
    position: absolute;
    inset-inline: 0;
    bottom: 100px !important;
    z-index: 4;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.hero_slider_pager .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.38);
    opacity: 1;
}

.hero_slider_pager .swiper-pagination-bullet-active {
    background: #fff;
}

.page_eyebrow {
    margin: 0 0 12px;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    opacity: 0.86;
}

.page_hero_inner h1 {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: 0.95;
}

.page_summary {
    margin: 20px 0 0;
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 48ch;
}

.page_hero_quote {
    margin: 0;
    max-width: 760px;
}

.page_hero_quote_icon {
    display: inline-block;
    width: auto;
    height: clamp(2.75rem, 5vw, 5rem);
    margin: 0 0 12px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.page_hero_quote .page_hero_title {
    margin: 0;
    font-size: clamp(2rem, 4.4vw, 4.25rem);
    font-weight: 700;
    line-height: 1.08;
}

.page_hero_quote_author::before {
    content: "— ";
}

.page_hero_bottom_feature {
    position: absolute;
    inset-inline: 0;
    bottom: -1px;
    height: 264px;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}

.page_hero_bottom_feature_layer {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    transform: translate3d(0, 0, 0);
    will-change: transform;
    direction: rtl;
}

.page_hero_bottom_piece {
    flex: 0 0 50%;
    height: 88px;
    background: var(--hero-bottom-fill, #ffffff);
    filter: drop-shadow(0 10px 14px rgba(17, 17, 17, 0.12));
}

.page_hero_bottom_piece--left {
    border-radius: 0 180px 0 0;
}

.page_hero_bottom_piece--right {
    border-radius: 180px 0 0 0;
}

.page_hero_bottom_asset {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    color: var(--hero-bottom-fill, #ffffff);
    filter: drop-shadow(0 10px 14px rgba(17, 17, 17, 0.12));
    overflow: visible;
}

.page_hero_bottom_asset_frame {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: visible;
}

.page_hero_bottom_asset svg {
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
    flex: 0 0 auto;
}

.page_hero_bottom_asset--theme-fill svg {
    color: inherit;
}

.page_hero_bottom_asset--theme-fill :is(path, rect, circle, ellipse, polygon, polyline, line, text, use):not([fill="none"]) {
    fill: currentColor !important;
}

.page_hero_bottom_asset--theme-fill :is(path, rect, circle, ellipse, polygon, polyline, line, text, use)[stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

.page_hero_bottom_asset--theme-fill [fill="none"] {
    fill: none !important;
}

.page_hero_bottom_asset--theme-fill [stroke="none"] {
    stroke: none !important;
}

.page_body {
    width: 100%;
    margin: 0;
    padding: 32px 0 64px;
}

.page_body--edit {
    margin-inline-end: min(360px, 32vw);
    transition: margin-inline-end 0.28s ease;
}

body.page--rail-collapsed .page_body--edit {
    margin-inline-end: 0;
}

.editor_rail_shell {
    position: fixed;
    top: 82px;
    inset-inline-end: 16px;
    width: min(340px, calc(100vw - 24px));
    height: calc(100vh - 98px);
    max-height: calc(100vh - 98px);
    z-index: 25;
    direction: ltr;
    transition: transform 0.28s ease;
    overflow: visible;
}

.editor_rail_shell--collapsed {
    transform: translateX(calc(100% - 10px));
}

.editor_rail {
    position: relative;
    width: 100%;
    height: 100%;
    max-height: none;
    overflow: visible;
    direction: ltr;
    transition: opacity 0.28s ease;
}

.editor_rail_inner {
    background: rgba(255, 253, 248, 0.98);
    border: 1px solid rgba(33, 49, 38, 0.08);
    box-shadow: 0 16px 38px rgba(33, 49, 38, 0.12);
    border-radius: 24px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    direction: ltr;
}

.editor_rail_shell--collapsed .editor_rail {
    opacity: 0.98;
}

.editor_rail_toggle {
    position: absolute;
    top: 16px;
    right: calc(100% - 2px);
    width: 28px;
    height: 52px;
    border: none;
    border-radius: 16px 0 0 16px;
    background: rgba(255, 253, 248, 0.98);
    border: 1px solid rgba(33, 49, 38, 0.08);
    border-inline-end: none;
    box-shadow: 0 12px 24px rgba(33, 49, 38, 0.14);
    cursor: pointer;
    padding: 0;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.editor_rail_toggle:hover,
.editor_rail_toggle:focus-visible {
    background: #ffffff;
    box-shadow: 0 14px 26px rgba(33, 49, 38, 0.18);
}

.editor_rail_toggle_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 0;
    line-height: 0;
    background: #ffffff url("/icons/chevron-right.svg") center / 16px 16px no-repeat;
}

.editor_rail_shell--collapsed .editor_rail_toggle_icon {
    background-image: url("/icons/chevron-left.svg");
}

.editor_rail_toggle_icon img {
    display: none;
}

.editor_popup_items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(33, 49, 38, 0.08);
}

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

.editor_popup_items_header h4 {
    margin: 0;
}

.editor_popup_hint {
    margin-top: 12px;
    color: rgba(33, 49, 38, 0.68);
    font-size: 0.92rem;
}

.editor_popup_item_list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.editor_popup_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(245, 241, 232, 0.75);
}

.editor_popup_item--stack {
    align-items: stretch;
    flex-direction: column;
}

.editor_popup_item_fields {
    display: grid;
    gap: 8px;
    width: 100%;
}

.page_surface button,
.page_surface input,
.page_surface select,
.page_surface textarea,
.editor_popup button,
.editor_popup input,
.editor_popup select,
.editor_popup textarea,
.project_header_page_nav button,
.project_header_page_nav input,
.project_header_page_nav select,
.project_header_page_nav textarea {
    margin: 0;
}

.page_surface .editor_rail button,
.page_surface .menu_kebab_button,
.page_surface .inline_menu_button,
.page_surface .editor_icon_button,
.page_surface .inline_add_button,
.page_surface .editor_add_section_button,
.editor_popup .menu_kebab_button,
.editor_popup .inline_menu_button,
.editor_popup .editor_icon_button,
.editor_popup .inline_add_button,
.project_header_page_nav button {
    width: auto;
    background-color: transparent;
    color: inherit;
}

.editor_rail_actions {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    padding-bottom: 8px;
    background: rgba(255, 253, 248, 0.98);
}

.editor_rail_actions > button {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 10px 18px;
}

.editor_publish_toggle {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    cursor: pointer;
    user-select: none;
}

.editor_publish_toggle input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.editor_publish_toggle_track {
    position: relative;
    width: 42px;
    height: 24px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #cbd3c7;
    box-shadow: inset 0 0 0 1px rgba(33, 49, 38, 0.12);
    transition: background-color 180ms ease;
}

.editor_publish_toggle_thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 5px rgba(33, 49, 38, 0.24);
    transition: transform 180ms ease;
}

.editor_publish_toggle input:checked + .editor_publish_toggle_track {
    background: #2d7a2d;
}

.editor_publish_toggle input:checked + .editor_publish_toggle_track .editor_publish_toggle_thumb {
    transform: translateX(18px);
}

.editor_publish_toggle input:focus-visible + .editor_publish_toggle_track {
    outline: 3px solid rgba(45, 122, 45, 0.28);
    outline-offset: 2px;
}

.editor_publish_toggle_label {
    color: #213126;
    font-size: 0.9rem;
    font-weight: 700;
}

.editor_save_button {
    min-height: 42px;
    font-weight: 700;
}

.editor_group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.editor_group--collapsible {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.66);
    border: 1px solid rgba(33, 49, 38, 0.08);
    overflow: visible;
}

.editor_group h3 {
    margin: 0;
}

.editor_group_toggle {
    width: 100%;
    border: none;
    background: transparent;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font: inherit;
    text-align: start;
    color: inherit;
    margin: 0;
    box-shadow: none;
    width: 100%;
}

.editor_group_toggle::after {
    content: "+";
    font-size: 1.2rem;
    line-height: 1;
    color: rgba(33, 49, 38, 0.72);
}

.editor_group--collapsible.is-open .editor_group_toggle::after {
    content: "-";
}

.editor_group_toggle:hover,
.editor_group_toggle:focus-visible {
    background: rgba(33, 49, 38, 0.05);
}

.editor_group--collapsible.is-open .editor_group_toggle {
    background: rgba(33, 49, 38, 0.04);
}

.editor_group_body {
    display: none;
    padding: 0 16px 16px;
}

.editor_group--collapsible.is-open .editor_group_body {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.editor_compact_row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.editor_group_header,
.editor_inline,
.editor_actions,
.editor_list_actions,
.inline_item_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}

.editor_label,
.editor_check {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.editor_check {
    flex-direction: row;
    align-items: center;
}

.editor_label--compact span {
    font-size: 0.9rem;
}

.editor_group input,
.editor_group select,
.inline_field {
    width: 100%;
    border: 1px solid rgba(33, 49, 38, 0.12);
    border-radius: 14px;
    padding: 10px 12px;
    font: inherit;
    background: rgba(255, 255, 255, 0.9);
}

.page_surface .editor_primary,
.page_surface .editor_secondary,
.page_surface .inline_add_button,
.page_surface .editor_add_section_button,
.page_surface .editor_list_actions button,
.page_surface .inline_item_actions button,
.page_surface .editor_icon_button,
.page_surface .inline_menu_button,
.page_surface .menu_kebab_button,
.editor_popup .editor_primary,
.editor_popup .editor_secondary,
.editor_popup .inline_add_button,
.editor_popup .editor_icon_button,
.editor_popup .inline_menu_button,
.editor_popup .menu_kebab_button {
    box-shadow: none;
    font-size: inherit;
}

.editor_popup,
.editor_popup .content_form {
    direction: ltr;
}

.editor_popup {
    text-align: left;
}

.popup-content:has(.editor_popup--component-picker) {
    max-width: 820px;
}

.component_picker_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.component_picker_option {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 132px;
    padding: 18px 14px;
    border: 1px solid #c4c4c4;
    border-radius: 18px;
    background: #ffffff;
    color: #1f2937;
    text-align: center;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.component_picker_option:hover,
.component_picker_option:focus-visible {
    border-color: #7d9d4f;
    box-shadow: 0 12px 24px rgba(33, 49, 38, 0.08);
    transform: translateY(-1px);
}

.component_picker_option_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3em;
}

.component_picker_option_icon img {
    height: 3em;
    width: auto;
}

.component_picker_option_label {
    font-size: 0.95rem;
    font-weight: 600;
}

.inline_field--textarea {
    min-height: 88px;
    resize: vertical;
}

.inline_field_grid,
.editor_menu_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.inline_field_grid--compact {
    grid-template-columns: 1fr 1fr;
}

.inline_field--heroTitle {
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    font-weight: 700;
}

.inline_field--summary {
    margin-top: 20px;
}

.inline_field--sectionTitle {
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    font-weight: 700;
}

.editor_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.editor_list--sections,
.editor_list--menu {
    max-height: none;
    overflow: visible;
    padding-inline-end: 0;
}

.editor_nested_list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.editor_nested_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px;
    border-radius: 12px;
    background: rgba(245, 241, 232, 0.85);
}

.editor_list_item,
.editor_menu_item {
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    padding: 12px;
    border: 1px solid rgba(33, 49, 38, 0.08);
}

.editor_list_item--section {
    padding: 10px 12px;
}

.editor_section_title_shell {
    flex: 1;
    min-width: 0;
    cursor: pointer;
}

.editor_section_toggle {
    flex: 0 0 auto;
    border: none;
    background: transparent;
    padding: 4px;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.editor_list_title {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.editor_section_label {
    width: 100%;
    min-width: 0;
    display: block;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    padding: 0;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: text;
}

.editor_section_title_shell:hover .editor_section_label:not(:focus) {
    opacity: 0.92;
}

.editor_section_label:focus {
    outline: none;
}

.editor_list_title a {
    text-decoration: none;
}

.editor_list_title small {
    color: rgba(33, 49, 38, 0.56);
    font-size: 0.8rem;
}

.editor_list_row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.editor_list_row--start {
    align-items: flex-start;
}

.editor_drag_handle {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 10px;
    background: rgba(245, 241, 232, 0.9);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
}

.editor_drag_handle img {
    width: 14px;
    height: 14px;
}

.editor_drag_handle--section {
    width: 34px;
    height: 34px;
    border-radius: 12px;
}

.editor_drag_handle--section img {
    width: 16px;
    height: 16px;
}

.editor_drag_handle--component {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    opacity: 0.82;
}

.editor_drag_handle--component img {
    width: 12px;
    height: 12px;
}

.editor_section_chevron {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-left: 2px solid rgba(33, 49, 38, 0.52);
    border-bottom: 2px solid rgba(33, 49, 38, 0.52);
    transform: rotate(-45deg);
    transition: transform 0.2s ease;
}

.editor_list_item--section.is-open .editor_section_chevron {
    transform: rotate(135deg);
}

.editor_section_body {
    display: none;
    padding-top: 12px;
}

.editor_list_item--section.is-open .editor_section_body {
    display: block;
}

.editor_add_section_button {
    width: 100%;
    padding: 5px 14px;
}

.editor_add_section_button.editor_primary,
.editor_add_section_button {
    background: #213126;
    color: #fff;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
}

.editor_icon_button {
    padding: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.editor_icon_button img {
    width: 16px;
    height: 16px;
}

.editor_primary,
.editor_secondary,
.inline_add_button,
.editor_list_actions button,
.inline_item_actions button,
.page_edit_link {
    border: none;
    border-radius: 999px;
    padding: 10px 14px;
    font: inherit;
    cursor: pointer;
    text-decoration: none;
    margin: 0;
    width: auto;
}

.editor_primary,
.editor_secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.editor_secondary--with-icon img {
    width: 16px;
    height: 16px;
    filter: brightness(0);
    flex: 0 0 auto;
}

.editor_primary:disabled,
.editor_secondary:disabled {
    opacity: 0.72;
    cursor: progress;
}

.editor_button_spinner {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    animation: editorButtonSpin 0.8s linear infinite;
}

.editor_primary:hover,
.editor_primary:focus-visible,
.editor_secondary:hover,
.editor_secondary:focus-visible,
.inline_add_button:hover,
.inline_add_button:focus-visible,
.editor_list_actions button:hover,
.editor_list_actions button:focus-visible,
.inline_item_actions button:hover,
.inline_item_actions button:focus-visible,
.editor_icon_button:hover,
.editor_icon_button:focus-visible,
.inline_menu_button:hover,
.inline_menu_button:focus-visible,
.menu_kebab_button:hover,
.menu_kebab_button:focus-visible,
.page_edit_link:hover,
.page_edit_link:focus-visible {
    background-color: unset;
}

.editor_primary,
.inline_add_button,
.page_edit_link {
    background: #213126;
    color: #fff;
}

.editor_primary:hover,
.editor_primary:focus-visible,
.inline_add_button:hover,
.inline_add_button:focus-visible,
.page_edit_link:hover,
.page_edit_link:focus-visible {
    background: #2a3d2f;
}

.editor_secondary,
.editor_list_actions button,
.inline_item_actions button {
    background: #eef3e8;
    color: #213126;
}

.editor_secondary:hover,
.editor_secondary:focus-visible,
.editor_list_actions button:hover,
.editor_list_actions button:focus-visible,
.inline_item_actions button:hover,
.inline_item_actions button:focus-visible,
.editor_icon_button:hover,
.editor_icon_button:focus-visible {
    background: #dde7d6;
}

.page_edit_link {
    position: relative;
    z-index: 1;
}

@keyframes editorButtonSpin {
    to {
        transform: rotate(360deg);
    }
}

.page_edit_floating_shell {
    position: fixed;
    bottom: 16px;
    z-index: 24;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.page_edit_floating_shell--saved .page_edit_link::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 999px;
    border: 2px solid rgba(33, 49, 38, 0.28);
    pointer-events: none;
    animation: pageEditRipple 1.2s ease-out;
}

.page_edit_saved_notice {
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.96);
    color: #213126;
    box-shadow: 0 10px 24px rgba(33, 49, 38, 0.12);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1;
    animation: pageSavedNoticeIn 0.35s ease-out;
    white-space: nowrap;
}

@keyframes pageEditRipple {
    0% {
        opacity: 0.55;
        transform: scale(0.98);
    }
    100% {
        opacity: 0;
        transform: scale(1.22);
    }
}

@keyframes pageSavedNoticeIn {
    0% {
        opacity: 0;
        transform: translateY(6px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

body.page--ui-rtl .page_edit_floating_shell {
    left: 16px;
    right: auto;
    align-items: flex-end;
}

body.page--ui-ltr .page_edit_floating_shell {
    right: 16px;
    left: auto;
    align-items: flex-end;
}

.section_wrapper {
    padding: 40px 0;
    position: relative;
}

.section_title {
    margin-bottom: 18px;
}

.section_title h2 {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2.4rem);
}

.section_description,
.section_intro p,
.section_item--copy p,
.item_text p,
.event_card p,
.media_slide_content p,
.carousel_card_body p {
    line-height: 1.75;
}

.section_items {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.section_wrapper--rich {
    width: 100%;
    background: var(--section-background, transparent);
    color: var(--section-text, #111);
}

.section_wrapper--rich::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.section_wrapper--with-image {
    min-height: 260px;
}

.section_background,
.section_background img,
.section_background_overlay {
    position: absolute;
    inset: 0;
}

.section_background_video,
.section_background_placeholder {
    position: absolute;
    inset: 0;
}

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

.section_background_placeholder {
    background: linear-gradient(135deg, #d3d8d0, #b4bbb1);
}

.section_background_video iframe {
    position: absolute;
    inset: var(--media-focal-y, 50%) auto auto var(--media-focal-x, 50%);
    width: 177.78vh;
    min-width: 100%;
    height: 56.25vw;
    min-height: 100%;
    transform: translate(calc(-1 * var(--media-focal-x, 50%)), calc(-1 * var(--media-focal-y, 50%)));
    border: 0;
    pointer-events: none;
}

.section_background_overlay--dark {
    background: rgba(17, 17, 17, 1);
}

.section_background_overlay--light {
    background: rgba(255, 255, 255, 1);
}

.section_inner {
    position: relative;
    z-index: 1;
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
    padding: 36px 0;
}

.section_image_caption {
    margin-top: 10px;
    padding: 10px;
    font-size: 1em;
    color: var(--section-caption, inherit);
    line-height: 1.5;
}

:dir(rtl) .section_image_caption {
    text-align: left;
}

:dir(ltr) .section_image_caption {
    text-align: right;
}

.section_controls_top {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
    position: relative;
    z-index: 22;
}

.section_actions_menu_shell {
    position: relative;
}

.section_actions_menu {
    position: absolute;
    top: 45px;
    inset-inline-end: 0;
    min-width: 220px;
    padding: 8px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(33, 49, 38, 0.16);
    border: 1px solid rgba(33, 49, 38, 0.08);
    display: none;
    flex-direction: column;
    gap: 4px;
}

.section_actions_menu_shell.is-open .section_actions_menu {
    display: flex;
}

.section_actions_menu_item {
    border: none;
    background: transparent;
    border-radius: 14px;
    padding: 10px 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #213126;
    font: inherit;
    cursor: pointer;
    text-align: start;
}

.section_actions_menu_item img {
    width: 18px;
    height: 18px;
    filter: brightness(0);
    flex: 0 0 auto;
}

.section_actions_menu_item:hover,
.section_actions_menu_item:focus-visible {
    background: rgba(33, 49, 38, 0.08);
}

.section_actions_menu_item--danger {
    color: #8c302d;
}

.section_actions_menu_item--danger img {
    filter: none;
}

.editor_primary--danger {
    background: #8c302d;
    color: #fff;
}

.editor_primary--danger:hover,
.editor_primary--danger:focus-visible {
    background: #a53b37;
}

.section_heading_group {
    margin-bottom: 24px;
}

.section_heading_group .editable_shell--section-field {
    display: block;
}

.section_heading_group .editable_shell_row--section_heading,
.section_heading_group .editable_shell_row--section_subtitle {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

.section_heading_group .editable_shell_row--section_heading {
    justify-content: var(--section-heading-justify, flex-start);
}

.section_heading_group .editable_shell_row--section_subtitle {
    justify-content: var(--section-subtitle-justify, flex-start);
}

.section_heading,
.section_subtitle {
    margin: 0;
}

.section_subtitle {
    margin-top: 10px;
    max-width: 64ch;
    line-height: 1.7;
}

.section_components {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.component_block {
    width: 100%;
}

.component_block--oneThird {
    width: calc(33.333% - 16px);
}

.component_block--oneHalf {
    width: calc(50% - 12px);
}

.component_block--full {
    width: 100%;
}

.component_surface {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(255, 253, 248, 0.9);
    box-shadow: 0 16px 38px rgba(33, 49, 38, 0.1);
}

.component_surface--text,
.component_surface--events {
    padding: 28px;
}

.component_surface--text-plain {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
}

.component_surface--text-card {
    background: rgba(255, 253, 248, 0.94);
    box-shadow: 0 16px 38px rgba(33, 49, 38, 0.1);
    padding: 28px;
}

.component_surface--media {
    min-height: 240px;
}

.component_textbox {
    min-height: 120px;
    line-height: 1.8;
    white-space: pre-wrap;
}

.editable_shell {
    position: relative;
}

.editable_shell--section-field {
    width: 100%;
}

.editable_shell_row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

.editable_shell_text {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.editable_shell--section-field .editable_text {
    width: auto;
    max-width: 100%;
}

.editable_text {
    outline: none;
    border-radius: 18px;
    transition: box-shadow 0.2s ease, background 0.2s ease;
}

.page_surface--editing .editable_text:hover,
.page_surface--editing .editable_text:focus {
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
}

.editable_text--empty::before {
    content: attr(data-placeholder);
    color: rgba(255, 255, 255, 0.5);
}

.editable_text:not(.editable_text--empty)::before {
    content: none;
}

.component_surface--text .editable_text--empty::before,
.section_wrapper--rich .editable_text--empty::before,
.stats_card .editable_text--empty::before,
.media_card .editable_text--empty::before {
    color: rgba(17, 17, 17, 0.38);
}

.menu_kebab_button {
    position: absolute;
    top: 12px;
    inset-inline-end: 12px;
    width: 2.5em !important;
    height: 43px;
    border: 1px solid #ccc;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff !important;
    box-shadow: none;
    cursor: pointer;
    z-index: 2;
    margin: 0;
    padding: 0;
}

.menu_kebab_button img {
    width: 21px;
    height: 21px;
    filter: brightness(0);
}

.menu_kebab_button--text {
    top: 0;
    inset-inline-end: -10px;
}

.inline_menu_button {
    position: absolute;
    border: 1px solid #ccc;
    background: #ffffff !important;
    box-shadow: none;
    border-radius: 999px;
    padding: 4px;
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 20;
    color: #000 !important;
    opacity: 1;
    margin: 0;
}

.inline_menu_button:hover,
.inline_menu_button:focus-visible {
    opacity: 1;
    background: #ccc;
}

.inline_menu_button img {
    width: 18px;
    height: 18px;
    filter: brightness(0);
}

.inline_menu_button--media {
    width: 30px;
    height: 30px;
    top: 12px;
    inset-inline-end: 12px;
}

.inline_menu_button--text {
    top: 0;
    inset-inline-end: -8px;
}

.project_identity_options_button {
    top: 50%;
    inset-inline-end: 0;
    transform: translateY(-50%);
    z-index: 2;
}

.editable_shell--section-field .inline_menu_button--text {
    position: relative;
    top: auto;
    inset-inline-end: auto;
    flex: 0 0 auto;
    margin: 0;
    background: #fff;
    color: #000;
}

.media_card .inline_menu_button,
.stats_card .inline_menu_button {
    background: #ffffff;
    border: 1px solid #ccc;
    box-shadow: none;
    border-radius: 999px;
}

.section_items--balanced {
    align-items: center;
}

.section_item {
    flex: 1 1 280px;
}

.items_x2 .section_item {
    flex-basis: calc(50% - 12px);
}

.items_x3 .section_item {
    flex-basis: calc(33.333% - 16px);
}

.items_x4 .section_item {
    flex-basis: calc(25% - 18px);
}

.item_media,
.video_embed,
.video_player,
.media_slide_image,
.carousel_card_image,
.event_card_image {
    border-radius: 28px;
    overflow: hidden;
    background: #d7d7d7;
}

.item_media img,
.media_slide_image img,
.carousel_card_image img,
.event_card_image img,
.component_surface--media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content_link {
    display: inline-flex;
    align-items: center;
    margin-top: 18px;
    padding: 12px 18px;
    border-radius: 999px;
    background: #7d9d4f;
    color: #fff;
    text-decoration: none;
}

.component_button_shell {
    display: flex;
    width: 100%;
}

.component_button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 160px;
    max-width: 100%;
    padding: 14px 24px;
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.3;
}

.component_button--editing {
    cursor: default;
}

.component_button_label {
    min-width: 40px;
    white-space: pre-wrap;
}

.component_button--editing .inline_menu_button--text {
    position: static;
    inset-inline-end: auto;
    top: auto;
    flex: 0 0 auto;
}

.content_swiper_shell {
    position: relative;
}

.content-swiper {
    padding: 8px 8px 48px;
    overflow: hidden;
}

.content-swiper .swiper-wrapper,
.content-swiper .swiper-slide {
    align-items: stretch;
}

.content-swiper .swiper-wrapper {
    height: 100%;
}

.content-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.content_swiper_nav {
    position: absolute;
    top: calc(50% - 22px);
    color: #fff;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(33, 49, 38, 0.7);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
}

.content_swiper_nav--prev {
    left: -22px;
}

.content_swiper_nav--next {
    right: -22px;
}

.content_swiper_nav::after {
    font-size: 18px;
    font-weight: 700;
}

.content-swiper .swiper-pagination-bullet-active {
    background: #7d9d4f;
}

.content_swiper_pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.content_swiper_pager .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(33, 49, 38, 0.2);
    cursor: pointer;
    padding: 0;
}

.content_swiper_pager .swiper-pagination-bullet-active {
    background: #7d9d4f;
}

.content_swiper_pager--timeline {
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 6px 4px 4px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

.timeline_pager_item {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: rgba(33, 49, 38, 0.56);
    padding: 0 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.timeline_pager_item--year {
    font-size: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
}

.timeline_pager_item--dot {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.timeline_pager_dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.7;
    transition: all 0.2s ease;
}

.timeline_pager_item--year:hover {
    color: #7d9d4f;
    background: transparent;
}

.timeline_pager_item--dot:hover {
    background: transparent;
}

.timeline_pager_item--dot:hover .timeline_pager_dot {
    background: #7d9d4f;
    opacity: 1;
}

.timeline_pager_item--active {
    color: #7d9d4f;
    transform: scale(1.5);
    transform-origin: center;
}

.timeline_pager_item--active .timeline_pager_dot {
    opacity: 1;
}

.timeline_component {
    position: relative;
    /*padding: 38px 0 24px;*/
}

.timeline_component_line {
    position: absolute;
    left: 0;
    right: 0;
    top: 58%;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(125, 157, 79, 0.26), rgba(33, 49, 38, 0.28), rgba(125, 157, 79, 0.26));
    transform: translateY(-50%);
}

.content_swiper_shell--timeline {
    position: relative;
}

.timeline-swiper {
    position: relative;
    z-index: 1;
    /*padding-top: 26px;*/
    /*padding-bottom: 26px;*/
    padding: 0;
}

.timeline_item {
    width: 100%;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.timeline_card_shell {
    position: relative;
    width: min(100%, 340px);
}

.timeline_card {
    position: relative;
    width: 100%;
    /*min-height: 430px;*/
    overflow: hidden;
    border-radius: 30px;
    background: #fffdf8;
    border: 1px solid rgba(33, 49, 38, 0.1);
    box-shadow: 0 24px 40px rgba(33, 49, 38, 0.16);
    transform-style: preserve-3d;
    transition: transform 0.35s ease, opacity 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

.timeline_card_media {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 240px;
    overflow: hidden;
    background: #d6decf;
}

.timeline_card_media img,
.timeline_card_media .component_placeholder,
.timeline_video_teaser,
.timeline_video_teaser img,
.timeline_video_placeholder {
    width: 100%;
    height: 100%;
}

.timeline_card_media img,
.timeline_video_teaser img {
    object-fit: cover;
}

.timeline_card_date_tag {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50%;
    padding: 10px 16px;
    border-radius: 16px 16px 0 0;
    background: #fffdf8;
    border: 1px solid rgba(33, 49, 38, 0.1);
    box-shadow: 0 10px 18px rgba(33, 49, 38, 0.14);
}

:dir(rtl) .timeline_card_date_tag {
    right: -35px;
    left: unset;
    transform: rotate(90deg);
    transform-origin: top right;
}

:dir(ltr) .timeline_card_date_tag {
    left: -35px;
    right: unset;
    transform: rotate(-90deg);
    transform-origin: top left;
}

.timeline_card_date {
    margin: 0;
    color: #213126;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
}

.timeline_card_date--empty {
    min-height: 1em;
}

.timeline_card_body {
    position: relative;
    z-index: 3;
    padding: 272px 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.timeline_card_title,
.timeline_card_text {
    margin: 0;
    color: #213126;
}

.timeline_card_title {
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.24;
}

.timeline_card_text {
    font-size: 0.92rem;
    line-height: 1.55;
    color: #4a5a47;
}

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

.timeline-swiper .swiper-slide {
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.timeline-swiper .swiper-slide-active .timeline_item {
    transform: scale(1) rotateY(0deg);
    opacity: 1;
}

.timeline-swiper .swiper-slide-prev .timeline_item,
.timeline-swiper .swiper-slide-next .timeline_item {
    transform: scale(0.7);
    opacity: 0.82;
}

.timeline-swiper .swiper-slide-prev .timeline_item {
    transform: perspective(1200px) scale(0.7) rotateY(-30deg);
}

.timeline-swiper .swiper-slide-next .timeline_item {
    transform: perspective(1200px) scale(0.7) rotateY(30deg);
}

.timeline-swiper .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next) .timeline_item {
    transform: scale(0.64);
    opacity: 0.55;
}

.timeline-swiper .swiper-slide.timeline_slide--before-prev .timeline_item {
    transform: perspective(1200px) scale(0.64) rotateY(-45deg) !important;
    opacity: 0.48;
}

.timeline-swiper .swiper-slide.timeline_slide--after-next .timeline_item {
    transform: perspective(1200px) scale(0.64) rotateY(45deg) !important;
    opacity: 0.48;
}

.timeline_video_teaser {
    position: relative;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    background: #18211b;
    cursor: pointer;
    z-index: 4;
}

.timeline_video_teaser--editing {
    position: relative;
    z-index: 6;
}

.timeline_card_media > .inline_menu_button--media {
    z-index: 30;
}

.timeline_video_teaser img,
.timeline_video_placeholder {
    width: 100%;
    height: 100%;
}

.timeline_video_placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fffdf8;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: linear-gradient(135deg, #213126 0%, #425444 100%);
}

.timeline_video_overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 25, 20, 0.48);
}

.timeline_video_play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.18);
    transform: translate(-50%, -50%);
}

.timeline_video_play img {
    width: 20px;
    height: 20px;
}

.timeline_item--empty {
    min-height: 320px;
}

.timeline_card--empty {
    min-height: 220px;
}

.timeline_card--empty .timeline_card_body {
    padding-top: 28px;
}

.media_slide,
.carousel_card,
.event_card,
.stats_card,
.media_card {
    width: 100%;
    height: 100%;
    border-radius: 28px;
    background: #fffdf8;
    box-shadow: 0 16px 38px rgba(33, 49, 38, 0.1);
    overflow: hidden;
}

.media_card_link_wrap {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.media_card--linked {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.media_card--linked:hover,
.media_card--linked:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(33, 49, 38, 0.14);
}

.media_slide_content,
.carousel_card_body,
.event_card_body,
.section_item--copy {
    padding: 24px;
}

.media_slide_image {
    aspect-ratio: 16 / 9;
}

.carousel_card {
    min-height: 100%;
}

.content_post_card {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 330px;
    padding: 0;
    overflow: hidden;
    flex-direction: column;
    border: 0;
    border-radius: 24px;
    color: #213126;
    background: #fffdf8;
    box-shadow: 0 16px 38px rgba(33,49,38,.1);
    text-align: start;
    transition: transform .2s ease, box-shadow .2s ease;
}
.content_post_card:hover,
.content_post_card:focus-within,
.content_post_card:active {
    color: #213126 !important;
    background-color: #fffdf8 !important;
}
.content_post_card:focus-within { outline: 3px solid rgba(44, 54, 48, .72); outline-offset: 3px; box-shadow: 0 20px 46px rgba(33,49,38,.16); }
.content_post_card:active { transform: translateY(0); }
@media (hover: hover) {
    .content_post_card:hover { transform: translateY(-3px); box-shadow: 0 20px 46px rgba(33,49,38,.16); }
}
.content_post_card__visual { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: var(--theme-primaryLightColor, #e5ecdf); }
.content_post_card__open { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: inherit; background: transparent !important; cursor: pointer; }
.content_post_card__visual > img { width: 100%; height: 100%; object-fit: cover; }
.content_post_card__visual > img.is-fallback { box-sizing: border-box; padding: 54px; object-fit: contain; opacity: .66; }
.content_post_card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; }
.content_post_card__placeholder img { width: 48px; height: 48px; opacity: .62; }
.content_post_card__play { position: absolute; inset: 50% auto auto 50%; display: grid; width: 54px; height: 54px; padding-inline-start: 4px; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; color: #24412d; background: rgba(255,255,255,.92); box-shadow: 0 10px 24px rgba(0,0,0,.24); }
.content_post_card__body { display: flex; padding: 20px 20px 62px; flex: 1; flex-direction: column; }
.content_post_card__meta { min-height: 1.2em; color: #748078; font-size: .78rem; }
.content_post_card__body strong { margin-top: 8px; font-size: 1.2rem; line-height: 1.25; }
.content_post_card__summary { display: -webkit-box; overflow: hidden; margin-top: 10px; color: #58685e; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.content_post_card__credit { margin-top: 10px; color: #6d7870; font-size: .82rem; }
.content_post_favorite { position: absolute; z-index: 3; inset-block-end: 10px; inset-inline-end: 10px; display: inline-flex; width: auto; min-width: 44px; min-height: 44px; margin: 0; padding: 8px; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 8px; color: #263b2c !important; background: transparent !important; box-shadow: none !important; }
.content_post_favorite:hover,
.content_post_favorite:active { color: #263b2c !important; background: transparent !important; box-shadow: none !important; }
.content_post_favorite img { width: 1.3em; height: 1.3em; }
.content_post_favorite.is-zero { gap: 0; }
.content_post_favorite:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; background: transparent !important; }
.content_post_favorite[disabled] { opacity: .65; cursor: wait; }
.page_surface[dir="ltr"] .content_post_favorite { direction: ltr; }
.page_surface[dir="rtl"] .content_post_favorite { direction: rtl; }
.content_posts_empty { display: grid; width: 100%; min-height: 220px; padding: 28px; place-items: center; gap: 12px; border: 1px dashed rgba(51,78,57,.25); border-radius: 22px; color: #647166; background: rgba(255,253,248,.76); text-align: center; }
.content_posts_empty img { width: 46px; height: 46px; opacity: .6; }
.content_posts_unavailable { display: flex; width: 100%; min-height: 110px; padding: 24px; align-items: center; justify-content: center; gap: 12px; border: 1px dashed rgba(51,78,57,.25); border-radius: 22px; color: #647166; background: rgba(255,253,248,.76); text-align: center; }
.content_posts_unavailable img { width: 34px; height: 34px; opacity: .62; }
.content_posts_component [data-swiper-kind="contentPosts"] { touch-action: pan-y; }
.content_posts_component [data-swiper-kind="contentPosts"].swiper-grab-cursor { cursor: grab; }
.content_posts_component [data-swiper-kind="contentPosts"].swiper-grab-cursor:active { cursor: grabbing; }

.carousel_card_image {
    aspect-ratio: 4 / 3;
}

.media_card--cards.media_card--round-image .media_card_visual,
.media_card--carousel.media_card--round-image .media_card_visual {
    aspect-ratio: 1 / 1;
    width: min(240px, calc(80% - 48px));
    margin: 24px auto 0;
    border-radius: 50%;
    overflow: hidden;
}

.media_card--cards.media_card--round-image .component_placeholder,
.media_card--carousel.media_card--round-image .component_placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 50%;
}

.video_embed {
    aspect-ratio: 16 / 9;
}

.video_embed iframe,
.video_player {
    width: 100%;
    height: 100%;
    border: 0;
}

.section_wrapper--stats {
    padding: 24px 0 40px;
}

.stats_card {
    text-align: center;
    padding: 28px 18px;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.item_pre_text {
    font-size: 0.95rem;
    color: inherit;
}

.item_num {
    font-size: clamp(2.2rem, 4vw, 3.6rem);
    font-weight: 700;
    color: inherit;
}

.item_sub_text {
    color: inherit;
}

.item_num_wrap {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.item_suffix {
    font-size: 2rem;
    font-weight: 700;
    display: inline-block;
    min-width: 1ch;
    color: inherit;
}

.item_suffix.editable_text--empty::before {
    color: rgba(17, 17, 17, 0.38);
}

.stats_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.cards_grid {
    display: grid;
    grid-template-columns: repeat(var(--cards-columns-desktop, 3), minmax(0, 1fr));
    gap: 20px;
}

.media_card_visual {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #dcded8;
    overflow: hidden;
}

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

.media_card_visual_inner {
    width: 100%;
    height: 100%;
}

.media_card--slider.media_card--round-image .media_card_visual {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    overflow: visible;
    background: transparent;
}

.media_card_visual_inner--round {
    width: 300px;
    height: 300px;
    min-width: 300px;
    min-height: 300px;
    max-width: 300px;
    max-height: 300px;
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
}

.media_card_visual_inner--round img,
.component_placeholder--round-media {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    border-radius: 50%;
    object-fit: cover;
}

.media_card_visual_placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(219, 233, 220, 0.95), rgba(234, 216, 210, 0.92));
}

.media_card--tree .media_card_body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
}

.media_card--tree.media_card--tree-no-title .media_card_body {
    gap: 6px;
}

.media_card--tree .media_card_title,
.media_card_meta,
.media_card_body_text--compact {
    margin: 0;
}

.media_card_meta {
    color: #3f5546;
    line-height: 1.55;
}

.media_card_meta--species {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.media_card_species_icon {
    height: 1.2em;
    width: auto;
    flex: 0 0 auto;
    object-fit: contain;
}

.media_card_body_text--compact {
    margin-top: 0;
    color: #586556;
    line-height: 1.55;
}

.tree_map_link {
    position: absolute;
    bottom: 12px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.96);
    box-shadow: 0 12px 24px rgba(33, 49, 38, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

:dir(rtl) .tree_map_link {
    right: 12px;
    left: auto;
}

:dir(ltr) .tree_map_link {
    left: 12px;
    right: auto;
}

.tree_map_link img {
    width: 18px;
    height: 18px;
}

.media_card--tree-empty {
    min-height: 100%;
}

.media_card--tree {
    display: flex;
    flex-direction: column;
    width: 100%;
    color: #213126;
}

.media_card--slider-horizontal {
    display: flex;
    flex-direction: column-reverse;
}

.media_card--slider-horizontal.media_card--round-image .media_card_visual {
    width: auto;
    margin: 0;
    padding: 18px 18px 26px;
    box-sizing: border-box;
    background: transparent;
}

.media_card_body--slider-horizontal {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100%;
}

.media_card--tree .media_card_title,
.media_card--tree .media_card_meta strong {
    color: #213126;
}

.media_card--tree-empty,
.media_card--tree-empty .component_placeholder {
    color: #213126;
}

.date_badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /*min-width: 84px;*/
    padding: 10px 12px;
    border-radius: 10px;
    color: #333;
    background: rgba(255, 253, 248, 0.96);
    box-shadow: 0 12px 28px rgba(33, 49, 38, 0.16);
    text-align: center;
    line-height: 1.05;
}

.date_badge_month,
.date_badge_year,
.date_badge_time {
    width: 100%;
}

.date_badge_month {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: capitalize;
}

.date_badge_day {
    font-size: 2rem;
    font-weight: 700;
    line-height: 0.95;
    margin: 4px 0;
}

.date_badge_year {
    font-size: 0.74rem;
    opacity: 0.82;
}

.date_badge_time {
    margin-top: 4px;
    font-size: 0.74rem;
    opacity: 0.88;
}

.date_badge_time--empty {
    min-height: 0.9em;
}

.date_badge--tree {
    position: absolute;
    top: 12px;
    z-index: 2;
    background: rgba(255, 253, 248, 0.92);
}

:dir(rtl) .date_badge--tree {
    left: 12px;
    right: auto;
}

:dir(ltr) .date_badge--tree {
    right: 12px;
    left: auto;
}

.event_card_top_meta {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}

.date_badge--event {
    flex: 0 0 auto;
    align-self: stretch;
}

.event_card_stats {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
    align-self: stretch;
    min-height: 100%;
}

.event_card_stat {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(125, 157, 79, 0.12);
    color: #58714e;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
}

.event_card_stat img {
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.component_events {
    --event-card-text: #111111;
}

.component_events .section_description {
    margin-bottom: 20px;
}

.event_card_title,
.event_card_description {
    color: var(--event-card-text);
}

.event_card_title {
    margin: 16px 0 0;
}

.event_card_description {
    margin: 10px 0 0;
    line-height: 1.7;
}

@media screen and (max-width: 1320px) {
    .content_swiper_nav {
        display: none;
    }
}

.media_card_body {
    padding: 20px;
}

.component_button--card {
    margin-top: 12px;
    padding: 5px 12px;
    align-self: flex-start;
}

.media_card_title,
.media_card_body_text {
    margin: 0;
}

.media_card_body_text {
    margin-top: 10px;
    line-height: 1.7;
}

.component_placeholder {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c736a;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.65), rgba(216, 220, 212, 0.9));
}

.component_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
    justify-content: center;
}

.component_option_pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    padding: 6px 12px;
    background: #ffffff;
    color: #000000;
    border: 1px solid #ccc;
    box-shadow: none;
}

.component_option_pill img {
    width: 16px;
    height: 16px;
    order: -1;
    filter: brightness(0);
}

.component_actions--card {
    padding: 0 20px 20px;
}

.component_actions--card-inline {
    margin-top: auto;
    padding: 18px 0 0;
}

.inline_ghost_button--with-icon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.inline_ghost_button--with-icon img {
    width: 14px;
    height: 14px;
}

.inline_ghost_button {
    border: 1px solid rgba(33, 49, 38, 0.12);
    border-radius: 999px;
    background: transparent;
    color: inherit;
    padding: 9px 12px;
    cursor: pointer;
}

.inline_add_button {
    color: #000000;
    background: #ffffff;
    border: 1px solid #ccc;
    box-shadow: none;
}

.inline_add_button:hover,
.inline_add_button:focus-visible,
.component_option_pill:hover,
.component_option_pill:focus-visible,
.menu_kebab_button:hover,
.menu_kebab_button:focus-visible {
    background: #ccc;
    color: #000000;
}

.menu_kebab_button:hover,
.menu_kebab_button:focus-visible {
    background: #ffffff !important;
}

.editor_popup h3 {
    margin-top: 0;
}

.popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(17, 17, 17, 0.45);
    padding: 16px;
}

.popup-overlay.hidden {
    display: none;
}

.popup-content {
    position: relative;
    width: min(560px, 100%);
    max-height: calc(100vh - 32px);
    overflow: auto;
    border-radius: 24px;
    padding: 24px;
    background: #fffdf8;
    box-shadow: 0 24px 48px rgba(17, 17, 17, 0.24);
}

.close-popup {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 999px;
    background: rgba(33, 49, 38, 0.1);
    cursor: pointer;
}

.editor_popup .content_form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.editor_popup--media-library {
    width: 100%;
    max-width: 100%;
}

.media_library_header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.media_library_toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.media_library_search {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 280px;
}

.media_library_toolbar_actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.tree-image-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.media_library_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.media_library_card {
    border: 1px solid rgba(33, 49, 38, 0.12);
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(33, 49, 38, 0.08);
}

.media_library_card--selected {
    border-color: rgba(40, 95, 58, 0.4);
    box-shadow: 0 18px 34px rgba(40, 95, 58, 0.14);
}

.media_library_card_preview {
    aspect-ratio: 4 / 3;
    background: #edf1ea;
    overflow: hidden;
}

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

.media_library_card_body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
}

.media_library_card_title {
    font-size: 0.96rem;
}

.media_library_card_meta {
    color: rgba(33, 49, 38, 0.7);
    font-size: 0.9rem;
}

.media_library_card_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.media_library_empty {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: 24px;
    border: 1px dashed rgba(33, 49, 38, 0.18);
    border-radius: 20px;
    color: rgba(33, 49, 38, 0.72);
    background: rgba(245, 241, 232, 0.55);
    grid-column: 1 / -1;
}

.editor_popup .content_form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.editor_popup .content_form input,
.editor_popup .content_form select,
.editor_popup .content_form textarea {
    width: 100%;
    border: 1px solid rgba(33, 49, 38, 0.14);
    border-radius: 14px;
    padding: 10px 12px;
    font: inherit;
}

.editor_popup .form_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.editor_palette_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.editor_palette_option input,
.editor_align_option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.editor_palette_option,
.editor_align_option {
    position: relative;
    display: inline-flex;
    justify-content: center;
    cursor: pointer;
}

.editor_palette_swatch {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 2px solid rgba(33, 49, 38, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.28);
}

.editor_palette_swatch--auto {
    position: relative;
    background:
        linear-gradient(135deg, #ffffff, #d9ddd7);
}

.editor_palette_swatch--auto::after {
    content: "";
    position: absolute;
    inset: 7px 15px;
    border-left: 2px solid rgba(33, 49, 38, 0.72);
    transform: rotate(45deg);
}

.editor_palette_option input:checked + .editor_palette_swatch,
.editor_align_option input:checked + span {
    outline: 2px solid #213126;
    outline-offset: 2px;
}

.editor_align_group {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.editor_visual_option_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.editor_visual_option {
    position: relative;
    display: block;
    cursor: pointer;
}

.editor_visual_option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.editor_visual_option_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-height: 132px;
    padding: 16px 14px;
    border-radius: 18px;
    border: 1px solid rgba(33, 49, 38, 0.12);
    background: rgba(255, 255, 255, 0.94);
    text-align: center;
}

.editor_visual_option_card img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.editor_visual_option input:checked + .editor_visual_option_card {
    outline: 2px solid #213126;
    outline-offset: 2px;
}

.editor_collapsible {
    border: 1px solid rgba(33, 49, 38, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.7);
    overflow: hidden;
}

.editor_collapsible summary {
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 600;
}

.editor_collapsible_body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0 14px 14px;
}

.editor_align_option span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(33, 49, 38, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.92);
}

.editor_align_option img {
    width: 18px;
    height: 18px;
}

.events_grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 24px;
}

.event_card_image {
    aspect-ratio: 16 / 9;
}

.event_card_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    margin-bottom: 10px;
    color: #58714e;
    font-size: 0.92rem;
}

.event_forecast {
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(125, 157, 79, 0.1);
    border: 1px solid rgba(125, 157, 79, 0.18);
    flex: 1 1 auto;
    margin-top: 0;
}

.event_forecast_header {
    margin-bottom: 8px;
}

.event_forecast_title {
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 700;
    color: #58714e;
}

.event_forecast_body {
    display: flex;
    align-items: center;
    gap: 12px;
}

.event_forecast_icon {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #7d9d4f;
}

.event_forecast_copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.event_forecast_condition,
.event_forecast_temp,
.event_forecast_rain {
    line-height: 1.45;
}

.event_forecast_condition {
    font-weight: 700;
    color: #213126;
}

.event_forecast_temp,
.event_forecast_rain {
    color: #4a5a47;
    font-size: 0.94rem;
}

.event_signup_form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.event_signup_form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.94rem;
}

.event_signup_form--full {
    grid-column: 1 / -1;
}

.event_signup_form input,
.event_signup_form textarea,
.event_signup_form button {
    border-radius: 16px;
    border: 1px solid rgba(33, 49, 38, 0.12);
    padding: 12px 14px;
    font: inherit;
}

.event_signup_form button {
    grid-column: 1 / -1;
    background: #213126;
    color: #fff;
    cursor: pointer;
}

.event_signup_status,
.empty_state,
.page_error,
.section_intro {
    border-radius: 24px;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.72);
}

.page_error {
    width: min(760px, calc(100% - 32px));
    margin: 40px auto;
    color: #8c302d;
}

.page_error--editor strong {
    display: block;
    margin-bottom: 8px;
}

.page_error--editor p {
    margin: 0;
}

.page_state {
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
    padding: 32px 0 64px;
}

.page_state--restricted {
    min-height: 55vh;
    display: grid;
    place-items: center;
}

.page_access_card {
    width: min(560px, 100%);
    padding: 36px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 55px rgba(35, 63, 34, 0.14);
    text-align: center;
    color: #29452d;
}

.page_access_card strong {
    display: block;
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.page_access_card .form_actions {
    justify-content: center;
    margin-top: 24px;
}

.page_access_pending {
    color: #58714e;
}

.section_wrapper--empty-edit .section_intro_hint {
    margin-top: 12px;
    color: #58714e;
}

@media screen and (max-width: 768px) {
    .section_image_caption {
        font-size: 0.8em;
    }

    .media_card--cards.media_card--round-image .media_card_visual,
    .media_card--carousel.media_card--round-image .media_card_visual {
        width: min(240px, calc(90% - 48px));
    }

    .media_card--slider.media_card--round-image .media_card_visual {
        padding: 18px;
    }

    .media_card_visual_inner--round {
        width: 220px;
        height: 220px;
        min-width: 220px;
        min-height: 220px;
        max-width: 220px;
        max-height: 220px;
    }

    .editor_visual_option_grid {
        grid-template-columns: 1fr;
    }

    .project_header_inner,
    .page_hero_content {
        width: calc(100% - 24px);
    }

    .project_logo {
        position: relative;
        justify-content: center;
    }

    .project_logo img {
        height: 48px;
        max-width: min(200px, 100%);
    }

    .project_identity_shell {
        margin-inline: auto;
        padding-inline-end: 0;
    }

    .project_identity_options_button {
        top: auto;
        bottom: -12px;
        inset-inline-end: -4px;
        transform: none;
    }

    .project_identity--rectangleBadge .project_identity_logo_badge,
    .project_identity--roundBadge .project_identity_logo_badge {
        inset-inline-start: 50%;
        height: 96px;
    }

    .project_logo--ltr .project_identity--rectangleBadge .project_identity_logo_badge,
    .project_logo--ltr .project_identity--roundBadge .project_identity_logo_badge {
        transform: translateX(-50%);
    }

    .project_logo--rtl .project_identity--rectangleBadge .project_identity_logo_badge,
    .project_logo--rtl .project_identity--roundBadge .project_identity_logo_badge {
        transform: translateX(50%);
    }

    .project_identity--rectangleBadge .project_identity_logo_badge {
        padding: 14px;
    }

    .project_identity--roundBadge .project_identity_logo_badge {
        padding: 8px 8px 25px 8px;
    }

    .project_header_page_nav {
        display: none !important;
    }

    .project_header_page_link + .project_header_page_link::before {
        content: none;
    }

    .page_hero {
        min-height: 64vh;
    }

    .page_hero_content {
        padding: 110px 0 96px;
    }

    .page_hero_bottom_feature {
        height: 208px;
    }

    .page_hero_bottom_piece {
        height: 72px;
    }

    .media_card--slider-horizontal {
        flex-direction: column;
    }

    .hero_weather_widget {
        max-width: none;
        margin: 15px 0;
    }

    .hero_weather_temperature {
        font-size: 1.45rem;
    }

    .items_x2 .section_item,
    .items_x3 .section_item,
    .items_x4 .section_item {
        flex-basis: 100%;
    }

    .component_block--oneThird,
    .component_block--oneHalf,
    .component_block--full {
        width: 100%;
    }

    .cards_grid {
        grid-template-columns: repeat(var(--cards-columns-mobile, 1), minmax(0, 1fr));
    }

    .stats_grid {
        grid-template-columns: 1fr;
    }

    .content_swiper_nav {
        display: none;
    }

    .event_signup_form {
        grid-template-columns: 1fr;
    }

    .event_card_top_meta {
        flex-direction: column;
    }

    .page_body--edit {
        margin-inline-end: auto;
        padding-bottom: 260px;
    }

    .editor_rail {
        position: static;
        width: calc(100% - 24px);
        height: auto;
        max-height: none;
        margin: 16px auto 0;
        transform: none !important;
    }

    .editor_rail_shell {
        position: static;
        width: 100%;
        height: auto;
        max-height: none;
    }

    .editor_rail_shell--collapsed .editor_rail {
        transform: none !important;
    }

    .editor_rail_toggle {
        position: static;
        right: auto;
        width: 100%;
        height: 40px;
        border-radius: 14px;
        border-inline-end: 1px solid rgba(33, 49, 38, 0.08);
        margin-bottom: 12px;
        padding: 10px 14px;
        transform: none !important;
    }

    .inline_field_grid,
    .editor_menu_grid {
        width: calc(100% - 24px);
        grid-template-columns: 1fr;
    }

    .editor_compact_row {
        grid-template-columns: 1fr;
    }

    .section_inner {
        width: calc(100% - 24px);
        padding: 22px 0;
    }
}

@media screen and (min-width: 769px) {
    .media_card--slider-horizontal {
        flex-direction: row;
        align-items: stretch;
    }

    .media_card--slider-horizontal.media_card--round-image .media_card_visual {
        width: 50%;
        margin: 0;
        padding: 24px 24px 30px;
    }

    .media_card--slider-horizontal.media_card--round-image .media_card_visual_inner--round {
        width: 300px;
        height: 300px;
        min-width: 300px;
        min-height: 300px;
        max-width: 300px;
        max-height: 300px;
    }

    .media_card--slider-horizontal .media_card_body,
    .media_card--slider-horizontal .media_card_visual {
        flex: 1 1 50%;
        width: 50%;
    }

    .media_card--slider-horizontal .media_card_visual,
    .media_card--slider-horizontal .media_card_visual img,
    .media_card--slider-horizontal .component_placeholder {
        min-height: 100%;
        height: 100%;
    }

    .media_card--slider-horizontal.media_card--round-image .media_card_visual_inner--round,
    .media_card--slider-horizontal.media_card--round-image .media_card_visual_inner--round img,
    .media_card--slider-horizontal.media_card--round-image .component_placeholder--round-media {
        min-height: 300px;
        height: 300px;
        max-height: 300px;
    }
}
