/* Canonical non-post legacy UI CSS kept out of components.css. */

.cms-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 70;
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--cms-ds-radius-full);
    background: var(--color-accent);
    color: #fff;
    box-shadow: var(--shadow-lg);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease;
}

.cms-parallax-media {
    transform: translate3d(0, 0, 0) scale(1.08);
    transform-origin: center center;
    will-change: transform;
}

body.cms-back-to-top-visible #cms-back-to-top {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

body.cms-preview-mode {
    margin-right: 280px;
}

body.cms-preview-mode main {
    margin-right: 280px;
}

body.cms-preview-mode.sidebar-collapsed,
body.cms-preview-mode main.sidebar-collapsed {
    margin-right: 0;
}

.listing-layout {
    padding: clamp(32px, 4vw, 56px) 0 var(--spacing-section);
    background: unset;
}

.listing-layout__inner {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
}

.listing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    max-width: var(--container, 1200px);
    margin: 0 auto;
}

.listing-layout--grid-2col .listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-layout--list-horizontal .listing-grid,
.listing-layout--list-full .listing-grid {
    grid-template-columns: 1fr;
    max-width: 900px;
}

.listing-layout--minimal-list .listing-grid {
    grid-template-columns: 1fr;
    max-width: 800px;
}

.listing-layout__featured {
    margin-bottom: clamp(24px, 3vw, 40px);
}

.listing-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: clamp(32px, 4vw, 56px);
}

.listing-pagination__item {
    padding: 8px 14px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: 14px;
    text-decoration: none;
    transition: border-color .2s, color .2s, background .2s;
}

.listing-pagination__item--wide { padding-inline: 16px; }

.listing-pagination__item:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.listing-pagination__item.is-active {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: #fff;
    font-weight: 600;
}

.listing-pagination__dots {
    padding: 4px 8px;
    color: var(--color-text-muted);
}

.listing-layout__empty {
    margin: 0;
    padding: clamp(40px, 5vw, 80px) 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 16px;
    text-align: center;
}

@media (max-width: 900px) {
    .listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .listing-grid,
    .listing-layout--grid-2col .listing-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (min-width: 1024px) {
    .cms-header-bottom__desktop { display: flex !important; }
    .cms-header-bottom__mobile { display: none !important; }
    .cms-header-centered__nav { display: flex !important; }
    .cms-header-centered__burger,
    .cms-header-centered .cms-header-mobile,
    .cms-header-centered + .cms-header-mobile-fs { display: none !important; }
}

@media (max-width: 1023px) {
    .cms-header-bottom__desktop { display: none !important; }
    .cms-header-bottom__mobile { display: block !important; }
    .cms-header-centered__nav { display: none !important; }
}

.cms-header-bottom--light {
    --cms-header-bottom-bg: var(--color-bg);
    --cms-header-bottom-text: var(--color-text);
    --cms-header-bottom-muted: var(--color-text-muted);
    --cms-header-bottom-border: var(--color-border);
}

.cms-header-bottom--dark {
    --cms-header-bottom-bg: var(--color-dark-bg);
    --cms-header-bottom-text: var(--color-dark-text);
    --cms-header-bottom-muted: rgba(255,255,255,.6);
    --cms-header-bottom-border: rgba(255,255,255,.1);
}

.cms-header-bottom__desktop {
    display: flex;
    max-width: var(--container);
    height: 56px;
    margin: 0 auto;
    padding: 0 24px;
    align-items: center;
    justify-content: space-between;
}

.cms-header-bottom__logo,
.cms-header-bottom__brand,
.cms-header-bottom__nav,
.cms-header-bottom__cta {
    display: flex;
    align-items: center;
}

.cms-header-bottom__logo {
    flex-shrink: 0;
    color: inherit;
    text-decoration: none;
}

.cms-header-bottom__logo-img {
    width: auto;
    height: 32px;
}

.cms-header-bottom__brand { gap: 8px; }

.cms-header-bottom__mark {
    display: flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
}

.cms-header-bottom__name {
    color: var(--cms-header-bottom-text);
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
}

.cms-header-bottom__nav { gap: 4px; }

.cms-header-bottom__link {
    padding: 6px 12px;
    border-radius: var(--radius);
    color: var(--cms-header-bottom-muted);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s;
}

.cms-header-bottom__link:hover,
.cms-header-bottom__link.is-active {
    color: var(--color-accent);
}

.cms-header-bottom__cta {
    padding: 8px 20px;
    border: 1.5px solid var(--color-accent);
    border-radius: var(--radius-full);
    color: var(--color-accent);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s;
}

.cms-header-bottom__cta:hover {
    background: var(--color-accent);
    color: #fff;
}

.cms-header-bottom__mobile {
    display: none;
    height: 56px;
    border-top: 1px solid var(--cms-header-bottom-border);
}

.cms-header-bottom__mobile-inner {
    display: flex;
    height: 100%;
    padding: 0 8px;
    align-items: center;
    justify-content: space-around;
}

.cms-header-bottom__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 4px 8px;
    color: var(--cms-header-bottom-muted);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s;
}

.cms-header-bottom__tab.is-active,
.cms-header-bottom__tab:hover {
    color: var(--color-accent);
}

.cms-header-bottom-spacer { height: 56px; }

.cms-header-centered--light {
    --cms-hcen-bg: var(--color-bg);
    --cms-hcen-text: var(--color-text);
    --cms-hcen-link: var(--color-text-muted);
    --cms-hcen-drop-bg: var(--color-bg);
    --cms-hcen-drop-text: var(--color-text);
}

.cms-header-centered--dark {
    --cms-hcen-bg: var(--color-dark-bg);
    --cms-hcen-text: #fff;
    --cms-hcen-link: rgba(255,255,255,.7);
    --cms-hcen-drop-bg: var(--color-dark-bg);
    --cms-hcen-drop-text: rgba(255,255,255,.85);
    --cms-hcen-border: 1px solid rgba(255,255,255,.08);
}

.cms-header-centered--transparent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    --cms-hcen-bg: transparent;
    --cms-hcen-text: #fff;
    --cms-hcen-link: rgba(255,255,255,.85);
    --cms-hcen-drop-bg: rgba(0,0,0,.85);
    --cms-hcen-drop-text: rgba(255,255,255,.9);
    --cms-hcen-border: none;
}

.cms-header-centered--transparent.cms-header-centered--with-topbar { top: 36px; }

.cms-header-centered--contained {
    width: calc(100% - 32px);
    max-width: var(--container);
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

.cms-header-centered--contained.cms-header-centered--fixed {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.cms-header-centered--bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
}

.cms-header-centered--bottom.cms-header-centered--contained {
    bottom: 12px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-header-centered--shell {
    position: relative;
    border: inherit;
    border-radius: inherit;
    background: inherit;
    box-shadow: inherit;
}

.cms-header-centered--contained.is-fixed,
.cms-header-centered--shell.is-fixed {
    top: 12px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.cms-header-centered--transparent.is-fixed {
    --cms-hcen-bg: var(--color-bg);
    --cms-hcen-text: var(--color-text);
    --cms-hcen-link: var(--color-text);
    --cms-hcen-border: 1px solid var(--color-border);
}

.cms-header-centered__inner {
    position: relative;
    display: flex;
    max-width: var(--container);
    height: 60px;
    margin: 0 auto;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
}

.cms-header-centered__inner--full {
    max-width: 100%;
}

.cms-header-centered__nav {
    display: none;
    flex: 1;
    align-items: center;
    gap: 4px;
}

.cms-header-centered__nav--left {
    justify-content: flex-end;
    padding-right: 24px;
}

.cms-header-centered__nav--right {
    justify-content: flex-start;
    padding-left: 0px;
}

.cms-header-centered__item {
    position: relative;
}

.cms-header-centered__item--has-children::after {
    content: "";
    position: absolute;
    left: -10px;
    right: -10px;
    top: 100%;
    height: 16px;
}

.cms-header-centered__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    color: var(--cms-hcen-link);
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s;
}

.cms-header-centered__link--button {
    border: none;
    background: none;
    cursor: pointer;
}

.cms-header-centered__link:hover,
.cms-header-centered__link.is-active {
    color: var(--color-accent);
}

.cms-header-centered__link.is-active {
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 6px;
}

.cms-header-centered__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 51;
    display: flex;
    min-width: 200px;
    padding: 8px 0;
    flex-direction: column;
    border-radius: var(--radius);
    background: var(--cms-hcen-drop-bg);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity .16s, visibility .16s;
}

.cms-header-centered__item:hover > .cms-header-centered__dropdown,
.cms-header-centered__item:focus-within > .cms-header-centered__dropdown {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.cms-header-centered__dropdown-link {
    display: block;
    padding: 10px 20px;
    color: var(--cms-hcen-drop-text);
    font-family: var(--font-body);
    font-size: 14px;
    text-decoration: none;
    transition: color .15s;
}

.cms-header-centered__dropdown-link:hover {
    color: var(--color-accent);
}

.cms-header-centered__logo {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 10px;
    color: var(--cms-hcen-text);
    text-decoration: none;
}

.cms-header-centered__logo-img {
    width: auto;
    height: 43px;
}

.cms-header-centered__logo-mark {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
}

.cms-header-centered__logo-text {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
}

.cms-header-centered__burger {
    position: absolute;
    right: 24px;
    display: flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: none;
    background: none;
    color: var(--cms-hcen-text);
    cursor: pointer;
}

.cms-header-mobile {
    background: var(--color-bg);
    border-top: 1px solid var(--color-border);
    padding: 16px 24px 24px;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    z-index: 9980;
}

.cms-header-mobile__toggle,
.cms-header-mobile__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 0;
    color: var(--color-text);
    text-decoration: none;
    border-bottom: 1px solid var(--color-border);
}

.cms-header-mobile__toggle {
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    cursor: pointer;
}

.cms-header-mobile__chevron { transition: transform 0.2s ease; }

.cms-header-mobile__chevron.is-open { transform: rotate(180deg); }

.cms-header-mobile__children { padding-left: 16px; }

.cms-header-mobile__child-link {
    display: block;
    padding: 10px 0;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-text-muted);
    text-decoration: none;
    border-bottom: 1px solid var(--color-border);
}

.cms-header-mobile__cta {
    display: block;
    margin-top: 16px;
    padding: 14px 24px;
    text-align: center;
    border-radius: var(--radius-full);
    background: var(--color-accent);
    color: #fff;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
}

.cms-header-mobile-fs {
    position: fixed;
    inset: 0;
    z-index: 9980;
    background: rgba(15,15,20,0.97);
    overflow-y: auto;
}

.cms-header-mobile-fs__close {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 9981;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255,255,255,0.7);
    transition: color 0.2s ease;
}

.cms-header-mobile-fs__close:hover { color: #fff; }

.cms-header-mobile-fs__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    width: 100%;
    padding: 60px 24px;
}

.cms-header-mobile-fs__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px;
}

.cms-header-mobile-fs__item-wrap { text-align: center; }

.cms-header-mobile-fs__toggle,
.cms-header-mobile-fs__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-heading);
    font-size: clamp(28px, 6vw, 48px);
    font-weight: 500;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color 0.2s ease;
    text-align: center;
}

.cms-header-mobile-fs__toggle.is-active,
.cms-header-mobile-fs__link.is-active,
.cms-header-mobile-fs__toggle:hover,
.cms-header-mobile-fs__link:hover { color: var(--color-accent); }

.cms-header-mobile-fs__chevron { transition: transform 0.3s ease; }

.cms-header-mobile-fs__chevron.is-open { transform: rotate(180deg); }

.cms-header-mobile-fs__children { margin-top: 8px; }

.cms-header-mobile-fs__child-link {
    display: block;
    padding: 6px 0;
    font-family: var(--font-body);
    font-size: 16px;
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    transition: color 0.2s ease;
}

.cms-header-mobile-fs__child-link:hover { color: var(--color-accent); }

.cms-header-mobile-fs__meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.08);
}

.cms-header-mobile-fs__meta-links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
    font-family: var(--font-body);
    font-size: 14px;
}

.cms-header-mobile-fs__meta-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
}

.cms-header-mobile-fs__cta {
    display: inline-flex;
    align-items: center;
    padding: 14px 36px;
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--radius-full);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.cms-header-mobile-fs__cta:hover { opacity: 0.85; }

/* ---------------------------------------------------------------------------
   Contact Form — Split Info
   --------------------------------------------------------------------------- */
.cf-min,
.cf-std,
.cf-split {
    --cms-cf-text: var(--color-text);
    --cms-cf-muted: var(--color-text-muted);
    --cms-cf-input-bg: var(--color-bg);
    --cms-cf-input-border: var(--color-border);
    --cms-cf-info-bg: var(--color-bg-alt, #f9fafb);
    --cms-cf-info-border: var(--color-border);
    width: 100%;
    padding: clamp(48px, 6vw, 80px) 24px;
}

.cf-min--dark,
.cf-std--dark,
.cf-split--dark {
    --cms-cf-text: var(--color-dark-text);
    --cms-cf-muted: var(--color-dark-text-muted);
    --cms-cf-input-bg: rgba(255,255,255,0.06);
    --cms-cf-input-border: rgba(255,255,255,0.15);
    --cms-cf-info-bg: rgba(255,255,255,0.05);
    --cms-cf-info-border: rgba(255,255,255,0.08);
}

.cf-min .contact-msg,
.cf-std .contact-msg,
.cf-split .contact-msg { display: none; margin-top: 12px; font-family: var(--font-body); font-size: 14px; }

.cf-min .contact-msg { text-align: center; }

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

.cms-cf-info {
    --cms-cf-info-text: var(--color-text);
    --cms-cf-info-muted: var(--color-text-muted);
    --cms-cf-info-input-bg: var(--color-bg);
    --cms-cf-info-input-border: var(--color-border);
    --cms-cf-info-card-bg: var(--color-bg-alt, #f9fafb);
    --cms-cf-info-card-border: var(--color-border);
    --cms-cf-info-icon-bg: color-mix(in srgb, var(--color-accent) 10%, transparent);
    width: 100%;
    padding: clamp(48px, 6vw, 80px) 24px;
    box-sizing: border-box;
}

.cms-cf-info--dark {
    --cms-cf-info-text: var(--color-dark-text);
    --cms-cf-info-muted: var(--color-dark-text-muted);
    --cms-cf-info-input-bg: rgba(255,255,255,0.06);
    --cms-cf-info-input-border: rgba(255,255,255,0.15);
    --cms-cf-info-card-bg: rgba(255,255,255,0.04);
    --cms-cf-info-card-border: rgba(255,255,255,0.08);
    --cms-cf-info-icon-bg: rgba(255,255,255,0.06);
}

.cms-cf-info,
.cms-cf-info *,
.cms-cf-info *::before,
.cms-cf-info *::after {
    box-sizing: border-box;
}

.cms-cf-info__inner {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
}

.cms-cf-info__left-title {
    font-family: var(--font-heading);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    color: var(--cms-cf-info-text, var(--color-text));
    margin: 0 0 6px;
    line-height: 1.3;
}

.cms-cf-info__left-subtitle {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--cms-cf-info-muted, var(--color-text-muted));
    margin: 0 0 32px;
    line-height: 1.6;
}

.cms-cf-info__card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--cms-cf-info-card-bg, var(--color-bg-alt, #f9fafb));
    border: 1px solid var(--cms-cf-info-card-border, var(--color-border));
    border-radius: var(--radius-lg, 12px);
    padding: 18px;
    margin-bottom: 12px;
    transition: box-shadow 0.3s ease;
}

.cms-cf-info__card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.cms-cf-info__card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cms-cf-info-icon-bg, color-mix(in srgb, var(--color-accent) 10%, transparent));
    border-radius: var(--radius, 8px);
    color: var(--color-accent);
}

.cms-cf-info__card-label {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cms-cf-info-muted, var(--color-text-muted));
    margin-bottom: 3px;
}

.cms-cf-info__card-value {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--cms-cf-info-text, var(--color-text));
}

.cms-cf-info__card-value a {
    color: inherit;
    text-decoration: none;
}

.cms-cf-info__card-value a:hover {
    color: var(--color-accent);
}

.cms-cf-info__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
    align-items: start;
}

.cms-cf-info__field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.cms-cf-info__field--full {
    grid-column: 1 / -1;
}

.cms-cf-info__label {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--cms-cf-info-text, var(--color-text));
}

.cms-cf-info__input,
.cms-cf-info__textarea {
    display: block;
    padding: 11px 14px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--cms-cf-info-text, var(--color-text));
    background: var(--cms-cf-info-input-bg, var(--color-bg));
    border: 1px solid var(--cms-cf-info-input-border, var(--color-border));
    border-radius: var(--radius, 8px);
    outline: none;
    transition: border-color 0.3s ease;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.cms-cf-info__input:focus,
.cms-cf-info__textarea:focus {
    border-color: var(--color-accent);
}

.cms-cf-info__textarea {
    resize: vertical;
    min-height: 100px;
}

.cms-cf-info__submit {
    margin-top: 8px;
    padding: 13px 28px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: var(--color-accent);
    border: none;
    border-radius: var(--radius-full, 50px);
    cursor: pointer;
    transition: background 0.3s ease;
}

.cms-cf-info__submit:hover {
    background: var(--color-accent2);
}

.cms-cf-info .contact-msg {
    display: none;
    font-family: var(--font-body);
    font-size: 14px;
    margin-top: 12px;
}

@media (max-width: 768px) {
    .cms-ti-list__wrap,
    .cms-ti-overlap__wrap {
        flex-direction: column !important;
    }

    .cms-ti-list__text,
    .cms-ti-list__image-col,
    .cms-ti-overlap__text,
    .cms-ti-overlap__images {
        flex: 1 1 auto;
        width: 100%;
    }

    .cms-ti-overlap__images {
        min-height: 300px;
        display: block;
    }

    .cms-ti-overlap__img-main {
        width: 82%;
    }

    .cms-ti-overlap__img-secondary {
        width: 50%;
        bottom: -10px;
    }

    .cms-fg-imgtop__grid,
    .cms-ti-list__wrap,
    .cms-ti-overlap__wrap,
    .cms-cs-grid__wrap {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cms-fg-imgtop__grid { grid-template-columns: 1fr; }
    .cms-cf-info__inner { grid-template-columns: 1fr; }
    .cms-cf-info__grid { grid-template-columns: 1fr; }
    .cms-bl-card--horizontal { flex-direction: column; }
    .cms-bl-card__h-media { width: 100%; }
    .cms-stats-ml__row { flex-direction: column; gap: 4px; }
    .cms-stats-ml__pipe { width: 40px; height: 1px; }
    .cms-stats-ib__grid { flex-wrap: wrap; }
    .cms-stats-ib__item { flex: 0 0 50%; padding: 20px 12px; }
    .cms-stats-ib__item + .cms-stats-ib__item { border-left: none; }
    .cms-stats-ib__item:nth-child(even) { border-left: 1px solid var(--cms-stats-ib-divider, var(--color-border)); }
    .cms-stats-ib__item:nth-child(n+3) { border-top: 1px solid var(--cms-stats-ib-divider, var(--color-border)); }
    .cms-team-gc { padding: 0 20px; }
    .cms-team-gc__grid { grid-template-columns: 1fr; max-width: 400px; }
    .cms-team-feat__member { grid-template-columns: 1fr; text-align: center; }
    .cms-team-feat__avatar { width: 160px; height: 160px; margin: 0 auto; }
    .cms-team-feat__info { align-items: center; }
    .cms-team-feat__social { justify-content: center; }
    .cms-team-circ__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .cms-cc-horiz { padding: 0 20px; }
    .cms-cc-horiz__card { grid-template-columns: 1fr; }
    .cms-cc-horiz__img-wrap { aspect-ratio: 16 / 9; }
    .cms-cc-edgrid__grid { grid-template-columns: 1fr 1fr; }
    .cms-nl-card { padding: 0 20px; }
    .cms-nl-center__input { min-width: 0; max-width: 340px; }
    .cms-nl-card__inner { padding: 28px 20px; }
    .cms-nl-card__input { min-width: 0; width: 100%; }
    .cms-nl-card__btn { width: 100%; }
    .cms-stats-cg__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-bcta-card { padding: 48px 16px; }
    .cms-bcta-card__inner,
    .cms-bcta-card__inner--image { max-width: 100%; padding: 32px 20px; background-attachment: scroll; }
    .cms-bcta-min { padding: 44px 20px; }
    .cms-bcta-split { flex-direction: column-reverse; }
    .cms-bcta-split__text,
    .cms-bcta-split__image { width: 100%; flex: 1 1 auto; }
    .cms-bcta-split__image,
    .cms-bcta-overlay__bg,
    .cms-bcta-imgbar__image { background-attachment: scroll; }
    .cms-bcta-split__image { min-height: 250px; }
    .cms-bcta-overlay__video { display: none !important; }
    .cms-bcta-imgbar__inner { padding: 0 20px; }
    .cms-nl-split__inner { grid-template-columns: 1fr; }
    .cms-nl-split__row { flex-direction: column; }
    .cms-nl-split__input,
    .cms-nl-split__btn { width: 100%; }
    .cms-stats-ca__grid { grid-template-columns: repeat(2, 1fr); }
    .cms-stats-bento__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cms-cb__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: none !important;
        --cms-cb-row-min: 160px;
    }
    .cms-cb__cell {
        grid-area: auto !important;
        padding: 24px;
    }
    .cms-cb__cell--image {
        min-height: 210px;
    }
}

.listing-pagination__item:hover {
    color: var(--color-text, #0f172a);
    border-color: color-mix(in srgb, var(--color-accent, #0f766e) 42%, var(--color-border, #e2e8f0));
    background: color-mix(in srgb, var(--color-accent, #0f766e) 7%, var(--color-bg, #fff));
}

/* ADDITIONAL_LEGACY_UI_20260604 */

.cms-header-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    border-top: 1px solid var(--cms-header-bottom-border);
    background: var(--cms-header-bottom-bg);
    box-shadow: 0 -2px 12px rgba(0,0,0,.06);
    color: var(--cms-header-bottom-text);
}

.cms-header-centered {
    z-index: 50;
    color: var(--cms-hcen-text, var(--color-text));
    background: var(--cms-hcen-bg, var(--color-bg));
    border-bottom: var(--cms-hcen-border, 1px solid var(--color-border));
    transition: background .3s, box-shadow .3s, border-color .3s;
}

.cms-header-centered.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 2px 20px rgba(0,0,0,.1);
}

.cf-min__inner { max-width: 600px; margin: 0 auto; }

.cf-min__fields { display: flex; flex-direction: column; gap: 16px; margin-bottom: 16px; }

.cf-min__field,
.cf-std__field,
.cf-split__field { display: flex; flex-direction: column; gap: 6px; }

.cf-split__field { min-width: 0; width: 100%; overflow: hidden; gap: 5px; }

.cf-min__label,
.cf-std__label,
.cf-split__label { font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--cms-cf-text); }

.cf-split__label { font-size: 13px; }

.cf-min__input,
.cf-min__textarea,
.cf-std__input,
.cf-std__textarea,
.cf-split__input,
.cf-split__textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 12px 16px;
    border: 1px solid var(--cms-cf-input-border);
    border-radius: var(--radius, 8px);
    outline: none;
    background: var(--cms-cf-input-bg);
    color: var(--cms-cf-text);
    font-family: var(--font-body);
    font-size: 15px;
    transition: border-color 0.3s ease;
}

.cf-split__input,
.cf-split__textarea { display: block; padding: 11px 14px; font-size: 14px; }

.cf-min__input:focus,
.cf-min__textarea:focus,
.cf-std__input:focus,
.cf-std__textarea:focus,
.cf-split__input:focus,
.cf-split__textarea:focus { border-color: var(--color-accent); }

.cf-min__textarea,
.cf-std__textarea { min-height: 120px; resize: vertical; }

.cf-split__textarea { min-height: 100px; resize: vertical; }

.cf-min__submit,
.cf-std__submit,
.cf-split__submit {
    padding: 14px 32px;
    border: none;
    border-radius: var(--radius-full, 50px);
    background: var(--color-accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.cf-min__submit { width: 100%; }

.cf-std__submit,
.cf-split__submit { margin-top: 8px; }

.cf-split__submit { padding: 13px 28px; }

.cf-min__submit:hover,
.cf-std__submit:hover,
.cf-split__submit:hover { background: var(--color-accent2); }

.cf-std__inner,
.cf-split__inner { max-width: var(--container, 1200px); margin: 0 auto; }

.cf-std__title,
.cf-split__title {
    margin: 0 0 8px;
    color: var(--cms-cf-text);
    font-family: var(--font-heading);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.3;
}

.cf-split__title { margin-bottom: 6px; font-size: clamp(22px, 3vw, 30px); }

.cf-std__subtitle,
.cf-split__subtitle {
    margin: 0 0 32px;
    color: var(--cms-cf-muted);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
}

.cf-split__subtitle { margin-bottom: 28px; font-size: 15px; }

.cf-std__grid,
.cf-split__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; align-items: start; }

.cf-split__grid { gap: 14px; margin-bottom: 14px; }

.cf-std__field--full,
.cf-split__field--full { grid-column: 1 / -1; }

.cf-std__info,
.cf-split__info {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--cms-cf-info-border);
}

.cf-split__info { gap: 20px; margin-top: 28px; padding-top: 24px; }

.cf-std__info-item,
.cf-split__info-item { display: flex; align-items: flex-start; gap: 12px; }

.cf-split__info-item { gap: 10px; }

.cf-std__info-icon,
.cf-split__info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: var(--radius, 8px);
    background: var(--cms-cf-info-bg);
    color: var(--color-accent);
}

.cf-split__info-icon { width: 36px; height: 36px; }

.cf-std__info-label,
.cf-split__info-label {
    margin-bottom: 2px;
    color: var(--cms-cf-muted);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.cf-split__info-label { font-size: 11px; }

.cf-std__info-text,
.cf-split__info-text {
    color: var(--cms-cf-text);
    font-family: var(--font-body);
    font-size: 15px;
    text-decoration: none;
}

.cf-split__info-text { font-size: 14px; }

.cf-std__info-text:hover,
.cf-split__info-text:hover { color: var(--color-accent); }

.cf-split__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
}
