@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;500;600;700&display=swap');

/*
 * Homepage visual checkpoint — MING LIFE
 * Scope: homepage/header presentation only.
 * No Web App, menu, auth, cart, checkout, return or wallet behavior changes.
 */

:root {
    --ml-home-green: var(--theme-primary);
    --ml-home-green-dark: var(--theme-primary-dark);
    --ml-home-green-soft: color-mix(in srgb, var(--theme-primary) 9%, var(--theme-surface));
    --ml-home-ink: var(--theme-text);
    --ml-home-muted: var(--theme-muted);
    --ml-home-border: var(--theme-border);
    --ml-home-canvas: var(--theme-background);
    --ml-home-surface: var(--theme-surface);
    --ml-home-gold: var(--theme-accent);
    --ml-home-gold-dark: var(--theme-accent);
    --ml-home-gold-soft: color-mix(in srgb, var(--theme-accent) 24%, var(--theme-surface));
    --ml-home-shadow: 0 14px 38px rgba(91, 70, 37, 0.10);
    --ml-home-shadow-soft: 0 7px 22px rgba(91, 70, 37, 0.07);
}

body {
    background: var(--ml-home-canvas);
}

/* Homepage-only skin for the existing header.
   Markup, menus, auth, cart and notification controls remain untouched. */
body .top-bar {
    background: var(--ml-home-green-dark) !important;
}

body nav.navbar {
    padding-top: .45rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid rgba(223, 233, 228, .9);
    background: var(--theme-surface) !important;
    box-shadow: 0 7px 24px rgba(28, 61, 50, .07) !important;
}

body nav.navbar .navbar-brand img.logo-main {
    height: 58px;
    filter: none;
}

body nav.navbar .nav-link {
    color: var(--theme-text);
    border-radius: 9px;
    font-weight: 600;
}

body nav.navbar .nav-link:hover,
body nav.navbar .nav-link.active {
    color: var(--ml-home-green-dark);
    background: var(--ml-home-green-soft);
}

body nav.navbar .nav-link::after {
    display: none;
}

body nav.navbar .btn-icon {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ml-home-border);
    border-radius: 11px;
    background: var(--ml-home-surface);
    color: var(--ml-home-green-dark) !important;
}

body nav.navbar #auth-buttons .btn {
    min-height: 40px;
    border-radius: 10px;
    font-weight: 700;
}

body nav.navbar #auth-buttons .btn-primary {
    background: var(--ml-home-green);
    border-color: var(--ml-home-green);
}

body nav.navbar #auth-buttons .btn-outline-primary {
    color: var(--ml-home-green);
    border-color: var(--theme-border);
}

/* Commerce-style first screen inspired by the reference site's
   large lead banner + supporting commercial panels. */
.ml-home {
    color: var(--ml-home-ink);
}

.ml-commerce-hero {
    padding: 0;
}

.ml-commerce-hero > .container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.ml-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 8px;
    align-items: stretch;
}

.ml-main-banner,
.ml-side-banner {
    overflow: hidden;
    border: 1px solid var(--ml-home-border);
    border-radius: 17px;
    background: var(--ml-home-surface);
    box-shadow: var(--ml-home-shadow-soft);
}

.ml-main-banner {
    width: 100%;
    min-width: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
}

.ml-main-banner .carousel,
.ml-main-banner .carousel-inner,
.ml-main-banner .carousel-item {
    height: 100%;
}

.ml-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1974 / 797;
    object-fit: cover;
    object-position: center;
    background: #fff;
}

.ml-side-banners {
    min-width: 0;
    margin: 0;
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ml-side-banner {
    min-height: 0;
}

.ml-side-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #fff;
}

.ml-main-banner .carousel-control-prev,
.ml-main-banner .carousel-control-next {
    width: 9%;
    opacity: 1;
}

.ml-main-banner .carousel-control-prev-icon,
.ml-main-banner .carousel-control-next-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: rgba(7, 81, 59, .84);
    background-size: 44%;
    box-shadow: 0 6px 18px rgba(7, 54, 40, .16);
}

.ml-main-banner .carousel-indicators {
    gap: 5px;
    margin-bottom: 9px;
}

.ml-main-banner .carousel-indicators [data-bs-target] {
    width: 7px;
    height: 7px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(7, 81, 59, .34);
    opacity: 1;
}

.ml-main-banner .carousel-indicators .active {
    width: 24px;
    background: var(--ml-home-green);
}

.ml-home-shortcuts {
    display: none;
    width: min(100% - 24px, 1240px);
    margin: 12px auto 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ml-home-shortcut {
    min-width: 0;
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 14px;
    border: 1px solid var(--ml-home-border);
    border-radius: 14px;
    background: #fff;
    color: var(--ml-home-ink);
    box-shadow: 0 4px 14px rgba(25, 63, 50, .045);
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ml-home-shortcut:hover,
.ml-home-shortcut:focus-visible {
    color: var(--ml-home-green-dark);
    border-color: var(--theme-border);
    box-shadow: var(--ml-home-shadow-soft);
    transform: translateY(-1px);
}

.ml-shortcut-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--ml-home-green-soft);
    color: var(--ml-home-green);
    font-size: 1rem;
}

.ml-home-shortcut strong,
.ml-home-shortcut small {
    display: block;
}

.ml-home-shortcut strong {
    margin-bottom: 2px;
    font-size: .94rem;
    line-height: 1.25;
}

.ml-home-shortcut small {
    overflow: hidden;
    color: var(--ml-home-muted);
    font-size: .75rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Commerce information hub */
.ml-commerce-info {
    padding: 26px 0 38px;
}

.ml-commerce-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
    gap: 18px;
    align-items: stretch;
}

.ml-commerce-intro-copy {
    padding: 30px 32px;
    border: 1px solid var(--ml-home-border);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(243,231,201,.52) 0%, rgba(255,253,248,.98) 48%),
        var(--ml-home-surface);
    box-shadow: var(--ml-home-shadow-soft);
}

.ml-eyebrow {
    color: var(--ml-home-green);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ml-commerce-intro-copy h1 {
    max-width: 760px;
    margin: 0 0 12px;
    color: var(--ml-home-ink);
    font-size: clamp(2rem, 3.1vw, 3.15rem);
    line-height: 1.06;
    letter-spacing: -.04em;
}

.ml-brand-lead {
    max-width: 760px;
    margin: 0 0 10px;
    color: #4e554f;
    font-size: 1.03rem;
    line-height: 1.65;
}

.ml-owner {
    margin: 0;
    color: var(--ml-home-muted);
    font-size: .9rem;
}

.ml-commerce-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.ml-primary-action,
.ml-secondary-action {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: .72rem 1.05rem;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.ml-primary-action {
    color: #fff;
    background: var(--ml-home-green);
    border: 1px solid var(--ml-home-green);
    box-shadow: 0 8px 18px rgba(12,107,77,.16);
}

.ml-primary-action:hover,
.ml-primary-action:focus-visible {
    color: #fff;
    background: var(--ml-home-green-dark);
    border-color: var(--ml-home-green-dark);
    transform: translateY(-1px);
}

.ml-secondary-action {
    color: var(--ml-home-green-dark);
    background: var(--ml-home-surface);
    border: 1px solid #ddc99d;
}

.ml-secondary-action:hover,
.ml-secondary-action:focus-visible {
    color: var(--ml-home-green-dark);
    border-color: var(--ml-home-green);
    background: var(--ml-home-green-soft);
}

.ml-trust-panel {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 26px 24px;
    border: 1px solid #e5d8bd;
    border-radius: 20px;
    background: #f7f1e3;
    box-shadow: var(--ml-home-shadow-soft);
}

.ml-trust-icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff;
    color: var(--ml-home-green);
    font-size: 1.05rem;
    box-shadow: 0 4px 12px rgba(26,66,53,.06);
}

.ml-trust-label {
    display: block;
    margin: 1px 0 8px;
    color: var(--ml-home-ink);
    font-size: 1.02rem;
    font-weight: 800;
}

.ml-trust-panel p {
    margin: 0;
    color: #5f5a50;
    font-size: .91rem;
    line-height: 1.65;
}

.ml-home-resources {
    padding: 26px 0 42px;
    background: #f8f3e8;
    border-top: 1px solid var(--ml-home-border);
}

.ml-home-resources .ml-info-navigation {
    margin-top: 0;
}

.ml-info-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.ml-info-tile {
    min-width: 0;
    min-height: 152px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    border: 1px solid var(--ml-home-border);
    border-radius: 18px;
    background: var(--ml-home-surface);
    color: var(--ml-home-ink);
    text-decoration: none;
    box-shadow: 0 5px 18px rgba(25,63,50,.05);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ml-info-tile:hover,
.ml-info-tile:focus-visible {
    color: var(--ml-home-ink);
    border-color: var(--ml-home-gold);
    box-shadow: 0 14px 32px rgba(91,70,37,.10);
    transform: translateY(-2px);
}

.ml-info-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: var(--ml-home-green);
    background: var(--ml-home-green-soft);
    font-size: 1.05rem;
}

.ml-info-content {
    min-width: 0;
    display: block;
}

.ml-info-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--ml-home-green);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ml-info-content strong {
    display: block;
    margin-bottom: 7px;
    color: var(--ml-home-ink);
    font-size: 1.2rem;
    line-height: 1.25;
}

.ml-info-description {
    display: block;
    color: var(--ml-home-muted);
    font-size: .88rem;
    line-height: 1.55;
}

.ml-info-arrow {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ml-home-border);
    border-radius: 50%;
    color: var(--ml-home-green);
    background: #fff;
}

.ml-info-tile:hover .ml-info-arrow,
.ml-info-tile:focus-visible .ml-info-arrow {
    color: #fff;
    border-color: var(--ml-home-green);
    background: var(--ml-home-green);
}

@media (max-width: 1199.98px) {
    .ml-home-shortcut {
        padding-left: 11px;
        padding-right: 11px;
    }

    .ml-home-shortcut small {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .ml-hero-grid {
        grid-template-columns: 1fr;
    }

    .ml-side-banners {
        width: min(100% - 24px, 1240px);
        margin: 8px auto 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .ml-commerce-intro {
        grid-template-columns: 1fr;
    }

    .ml-info-navigation {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .ml-home-resources {
        padding: 20px 0 28px;
    }

    .ml-side-banners {
        display: none;
    }

    .ml-side-banner {
        border-radius: 12px;
        box-shadow: none;
    }

    .ml-main-banner .carousel-control-prev,
    .ml-main-banner .carousel-control-next {
        width: 12%;
    }

    .ml-main-banner .carousel-control-prev-icon,
    .ml-main-banner .carousel-control-next-icon {
        width: 30px;
        height: 30px;
    }

    .ml-home-shortcuts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 8px;
    }

    .ml-home-shortcut {
        min-height: 64px;
        padding: 9px 10px;
        border-radius: 11px;
    }

    .ml-shortcut-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .ml-home-shortcut strong {
        font-size: .85rem;
    }

    .ml-commerce-info {
        padding: 18px 0 28px;
    }

    .ml-commerce-intro-copy,
    .ml-trust-panel {
        padding: 20px 18px;
        border-radius: 15px;
    }

    .ml-commerce-intro-copy h1 {
        font-size: clamp(1.8rem, 8vw, 2.35rem);
    }

    .ml-brand-lead {
        font-size: .94rem;
    }

    .ml-commerce-actions {
        margin-top: 18px;
    }

    .ml-primary-action,
    .ml-secondary-action {
        flex: 1 1 160px;
    }

    .ml-info-tile {
        min-height: 0;
        grid-template-columns: auto minmax(0, 1fr);
        padding: 17px;
        border-radius: 14px;
    }

    .ml-info-arrow {
        display: none;
    }

    .ml-info-content strong {
        font-size: 1.08rem;
    }
}

@media (max-width: 420px) {
    .ml-side-banners {
        grid-template-columns: 1fr;
    }

    .ml-home-shortcut {
        gap: 8px;
    }

    .ml-home-shortcut strong {
        font-size: .8rem;
    }
}

@keyframes mlCategorySwipeHint {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
    .ml-home-shortcut {
        transition: none;
    }

    .ml-home-shortcut:hover,
    .ml-home-shortcut:focus-visible {
        transform: none;
    }
}

/* API-driven product categories on homepage */
.ml-category-showcase {
    padding: 42px 0 48px;
    background: #f8f3e8;
    border-top: 1px solid var(--ml-home-border);
    border-bottom: 1px solid var(--ml-home-border);
}

.ml-category-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.ml-category-kicker {
    display: block;
    color: var(--ml-home-green);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ml-category-heading h2 {
    margin: 6px 0 5px;
    color: var(--ml-home-ink);
    font-size: clamp(1.65rem, 2.5vw, 2.2rem);
    letter-spacing: -.03em;
}

.ml-category-heading p {
    margin: 0;
    color: var(--ml-home-muted);
    font-size: .9rem;
}

.ml-category-view-all {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ml-home-green-dark);
    font-size: .88rem;
    font-weight: 800;
    text-decoration: none;
}

.ml-category-view-all:hover,
.ml-category-view-all:focus-visible {
    color: var(--ml-home-green);
}

.ml-category-scroll-shell {
    position: relative;
}

.ml-category-scroll-hint {
    display: none;
}

.ml-category-grid {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-columns: calc((100% - 60px) / 6);
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 10px;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(199,164,90,.55) transparent;
    -webkit-overflow-scrolling: touch;
}

.ml-category-grid::-webkit-scrollbar {
    height: 6px;
}

.ml-category-grid::-webkit-scrollbar-track {
    background: transparent;
}

.ml-category-grid::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(199,164,90,.50);
}

.ml-category-grid.is-balanced {
    justify-content: center;
}

.ml-category-card {
    min-width: 0;
    scroll-snap-align: start;
    min-height: 158px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 16px 10px 14px;
    border: 1px solid var(--ml-home-border);
    border-radius: 18px;
    background: var(--ml-home-surface);
    color: var(--ml-home-ink);
    text-align: center;
    text-decoration: none;
    box-shadow: 0 5px 18px rgba(25,63,50,.045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ml-category-card:hover,
.ml-category-card:focus-visible {
    color: var(--ml-home-ink);
    border-color: var(--ml-home-gold);
    box-shadow: 0 14px 30px rgba(91,70,37,.10);
    transform: translateY(-2px);
}

.ml-category-visual {
    position: relative;
    width: 68px;
    height: 68px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e5d8bd;
    border-radius: 50%;
    color: var(--ml-home-green);
    background: var(--ml-home-green-soft);
    font-size: 1.45rem;
}

.ml-category-visual img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 6px;
    object-fit: contain;
    background: #fff;
}

.ml-category-visual i {
    position: relative;
    z-index: 0;
}

.ml-category-card strong {
    display: -webkit-box;
    overflow: hidden;
    max-width: 100%;
    min-height: 2.5em;
    color: var(--ml-home-ink);
    font-size: .9rem;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ml-category-card small {
    color: var(--ml-home-muted);
    font-size: .72rem;
    line-height: 1.2;
}

.ml-category-skeleton {
    min-height: 158px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid var(--ml-home-border);
    border-radius: 18px;
    background: var(--ml-home-surface);
}

.ml-category-skeleton span {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: linear-gradient(90deg, #eaf1ed 25%, #f8faf9 50%, #eaf1ed 75%);
    background-size: 200% 100%;
    animation: mlCategorySkeleton 1.25s linear infinite;
}

.ml-category-skeleton small {
    width: 62%;
    height: 12px;
    border-radius: 999px;
    background: #eaf1ed;
}

@keyframes mlCategorySkeleton {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

@media (max-width: 1199.98px) {
    .ml-category-grid {
        grid-template-rows: repeat(2, minmax(0, 1fr));
        grid-auto-columns: calc((100% - 36px) / 4);
    }
}

@media (max-width: 767.98px) {
    .ml-category-showcase {
        padding: 34px 0;
    }

    .ml-category-heading {
        align-items: flex-start;
        margin-bottom: 15px;
    }

    .ml-category-heading p {
        display: none;
    }

    .ml-category-view-all {
        font-size: .76rem;
    }

    .ml-category-grid {
        grid-template-rows: repeat(3, minmax(0, 1fr));
        grid-auto-columns: calc((100% - 8px) / 2);
        gap: 8px;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ml-category-grid::-webkit-scrollbar {
        display: none;
    }

    .ml-category-scroll-shell::after {
        content: "";
        position: absolute;
        top: 0;
        right: -1px;
        bottom: 8px;
        width: 34px;
        pointer-events: none;
        opacity: 0;
        background: linear-gradient(90deg, rgba(242,247,244,0), #f2f7f4 88%);
        transition: opacity .18s ease;
    }

    .has-more-categories .ml-category-scroll-shell::after {
        opacity: 1;
    }

    .ml-category-scroll-hint {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin: 7px auto 0;
        padding: 6px 10px;
        border-radius: 999px;
        color: var(--ml-home-green-dark);
        background: rgba(255,255,255,.72);
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .01em;
    }

    .ml-category-scroll-hint[hidden] {
        display: none !important;
    }

    .ml-category-scroll-hint i {
        font-size: .68rem;
        animation: mlCategorySwipeHint 1.15s ease-in-out infinite;
    }

    .ml-category-card,
    .ml-category-skeleton {
        min-height: 132px;
        border-radius: 14px;
    }

    .ml-category-card {
        padding: 13px 7px 11px;
    }

    .ml-category-visual,
    .ml-category-skeleton span {
        width: 56px;
        height: 56px;
    }

    .ml-category-card strong {
        font-size: .8rem;
    }

    .ml-category-card small {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ml-category-card {
        transition: none;
    }

    .ml-category-card:hover,
    .ml-category-card:focus-visible {
        transform: none;
    }

    .ml-category-skeleton span,
    .ml-category-scroll-hint i {
        animation: none;
    }
}

/* Homepage news: API-driven is_featured / is_new */
.ml-home-news {
    padding: 52px 0 58px;
    background: #f5efe3;
    border-top: 1px solid var(--ml-home-border);
}

.ml-news-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.ml-news-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--ml-home-green);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ml-news-heading h2 {
    margin: 0 0 8px;
    color: var(--ml-home-ink);
    font-size: clamp(1.75rem, 2.6vw, 2.35rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.ml-news-heading p {
    max-width: 760px;
    margin: 0;
    color: var(--ml-home-muted);
    font-size: .92rem;
    line-height: 1.65;
}

.ml-news-view-all {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ml-home-green-dark);
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

.ml-news-view-all:hover,
.ml-news-view-all:focus-visible {
    color: var(--ml-home-green);
}

.ml-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
    gap: 16px;
    align-items: stretch;
}

.ml-news-layout.is-featured-only,
.ml-news-layout.is-latest-only {
    grid-template-columns: 1fr;
}

.ml-news-featured,
.ml-news-latest {
    overflow: hidden;
    border: 1px solid var(--ml-home-border);
    border-radius: 20px;
    background: var(--ml-home-surface);
    box-shadow: 0 8px 26px rgba(25,63,50,.055);
}

.ml-news-featured {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    min-height: 330px;
}

.ml-news-featured-image {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: var(--ml-home-green-soft);
}

.ml-news-featured-image img {
    width: 100%;
    height: 100%;
    min-height: 330px;
    display: block;
    object-fit: cover;
    transition: transform .3s ease;
}

.ml-news-featured:hover .ml-news-featured-image img {
    transform: scale(1.025);
}

.ml-news-featured-badge {
    position: absolute;
    left: 16px;
    top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(7,81,59,.9);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.ml-news-featured-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
}

.ml-news-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: var(--ml-home-muted);
    font-size: .72rem;
}

.ml-news-meta span {
    color: var(--ml-home-green-dark);
    font-weight: 800;
}

.ml-news-featured h3 {
    margin: 0 0 12px;
    font-size: clamp(1.35rem, 2.1vw, 1.9rem);
    line-height: 1.25;
    letter-spacing: -.025em;
}

.ml-news-featured h3 a,
.ml-news-latest-item h3 a {
    color: var(--ml-home-ink);
    text-decoration: none;
}

.ml-news-featured h3 a:hover,
.ml-news-featured h3 a:focus-visible,
.ml-news-latest-item h3 a:hover,
.ml-news-latest-item h3 a:focus-visible {
    color: var(--ml-home-green);
}

.ml-news-featured p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 20px;
    color: var(--ml-home-muted);
    font-size: .91rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.ml-news-read-more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    color: var(--ml-home-green-dark);
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
}

.ml-news-latest {
    padding: 20px;
}

.ml-news-latest-heading {
    padding-bottom: 13px;
    border-bottom: 1px solid var(--ml-home-border);
    color: var(--ml-home-ink);
    font-size: .9rem;
    font-weight: 800;
}

.ml-news-latest-heading span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ml-news-latest-heading i {
    color: var(--ml-home-green);
}

.ml-news-latest-list {
    display: grid;
}

.ml-news-latest-item {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--ml-home-border);
}

.ml-news-latest-item:last-child {
    border-bottom: 0;
}

.ml-news-latest-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 12px;
    background: var(--ml-home-green-soft);
}

.ml-news-latest-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ml-news-latest-copy {
    min-width: 0;
}

.ml-news-latest-item .ml-news-meta {
    margin-bottom: 5px;
    font-size: .66rem;
}

.ml-news-latest-item h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--ml-home-ink);
    font-size: .9rem;
    line-height: 1.38;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* Customer testimonial carousel: one customer every 4 seconds */
.ml-home-testimonials {
    padding: 52px 0 56px;
    background: var(--ml-home-surface);
    border-top: 1px solid var(--ml-home-border);
}

.ml-testimonial-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.ml-testimonial-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--ml-home-green);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ml-testimonial-heading h2 {
    margin: 0 0 8px;
    color: var(--ml-home-ink);
    font-size: clamp(1.75rem, 2.6vw, 2.35rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.ml-testimonial-heading p {
    max-width: 760px;
    margin: 0;
    color: var(--ml-home-muted);
    font-size: .92rem;
    line-height: 1.65;
}

.ml-testimonial-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid #e5d8bd;
    border-radius: 999px;
    color: var(--ml-home-green-dark);
    background: var(--ml-home-green-soft);
    font-size: .76rem;
    font-weight: 800;
}

.ml-testimonial-carousel {
    position: relative;
}

.ml-testimonial-carousel .carousel-inner {
    overflow: hidden;
    border-radius: 22px;
}

.ml-testimonial-card {
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr);
    overflow: hidden;
    border: 1px solid var(--ml-home-border);
    border-radius: 22px;
    background: var(--ml-home-surface);
    box-shadow: 0 10px 30px rgba(25,63,50,.07);
}

.ml-testimonial-photo {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background: var(--ml-home-green-soft);
}

.ml-testimonial-photo img {
    width: 100%;
    height: 100%;
    min-height: 330px;
    display: block;
    object-fit: cover;
}

.ml-testimonial-badge {
    position: absolute;
    left: 16px;
    bottom: 16px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 999px;
    color: #fff;
    background: rgba(7,81,59,.86);
    backdrop-filter: blur(6px);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ml-testimonial-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(28px, 4vw, 48px);
}

.ml-testimonial-quote {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 14px;
    color: var(--ml-home-green);
    background: var(--ml-home-green-soft);
    font-size: 1.05rem;
}

.ml-testimonial-copy {
    max-width: 720px;
    margin: 0 0 24px;
    color: #4e554f;
    font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.7;
}

.ml-testimonial-person {
    padding-top: 17px;
    border-top: 1px solid var(--ml-home-border);
}

.ml-testimonial-person strong,
.ml-testimonial-person small {
    display: block;
}

.ml-testimonial-person strong {
    color: var(--ml-home-ink);
    font-size: 1rem;
}

.ml-testimonial-person small {
    margin-top: 4px;
    color: var(--ml-home-muted);
    font-size: .78rem;
}

.ml-testimonial-carousel .carousel-indicators {
    position: static;
    justify-content: center;
    gap: 6px;
    margin: 16px 0 0;
}

.ml-testimonial-carousel .carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(12,107,77,.3);
    opacity: 1;
}

.ml-testimonial-carousel .carousel-indicators .active {
    width: 26px;
    background: var(--ml-home-green);
}

.ml-testimonial-carousel .carousel-control-prev,
.ml-testimonial-carousel .carousel-control-next {
    width: 42px;
    height: 42px;
    top: 50%;
    bottom: auto;
    z-index: 4;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 50%;
    background: rgba(7,81,59,.88);
    opacity: 1;
    transform: translateY(-50%);
    box-shadow: 0 8px 20px rgba(7,54,40,.16);
}

.ml-testimonial-carousel .carousel-control-prev {
    left: 12px;
}

.ml-testimonial-carousel .carousel-control-next {
    right: 12px;
}

.ml-testimonial-carousel .carousel-control-prev-icon,
.ml-testimonial-carousel .carousel-control-next-icon {
    width: 17px;
    height: 17px;
}

@media (max-width: 991.98px) {
    .ml-news-layout {
        grid-template-columns: 1fr;
    }

    .ml-news-featured {
        grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    }
}

@media (max-width: 767.98px) {
    .ml-home-news,
    .ml-home-testimonials {
        padding: 36px 0 40px;
    }

    .ml-news-heading,
    .ml-testimonial-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 16px;
    }

    .ml-news-heading h2,
    .ml-testimonial-heading h2 {
        font-size: 1.5rem;
    }

    .ml-news-featured {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 16px;
    }

    .ml-news-featured-image img {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .ml-news-featured-body {
        padding: 20px 18px;
    }

    .ml-news-latest {
        padding: 16px;
        border-radius: 16px;
    }

    .ml-news-latest-item {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 11px;
    }

    .ml-testimonial-carousel .carousel-inner {
        border-radius: 16px;
    }

    .ml-testimonial-card {
        min-height: 0;
        grid-template-columns: 1fr;
        border-radius: 16px;
    }

    .ml-testimonial-photo {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .ml-testimonial-photo img {
        min-height: 0;
    }

    .ml-testimonial-body {
        padding: 22px 18px 24px;
    }

    .ml-testimonial-copy {
        font-size: .96rem;
    }

    .ml-testimonial-carousel .carousel-control-prev,
    .ml-testimonial-carousel .carousel-control-next {
        width: 36px;
        height: 36px;
    }

    .ml-testimonial-carousel .carousel-control-prev {
        left: 8px;
    }

    .ml-testimonial-carousel .carousel-control-next {
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ml-news-featured-image img {
        transition: none;
    }
}


/* Cream + champagne homepage checkpoint */
.ml-category-card,
.ml-news-featured,
.ml-news-latest,
.ml-testimonial-card,
.ml-info-tile,
.ml-commerce-intro-copy,
.ml-trust-panel {
    border-color: var(--ml-home-border);
}

.ml-category-card::before,
.ml-info-tile::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: linear-gradient(180deg, transparent, rgba(199,164,90,.58), transparent);
    opacity: .72;
    pointer-events: none;
}

.ml-category-card,
.ml-info-tile {
    position: relative;
}

.ml-category-visual,
.ml-info-icon,
.ml-testimonial-quote {
    box-shadow: inset 0 0 0 1px rgba(199,164,90,.14);
}

.ml-category-view-all,
.ml-news-view-all,
.ml-news-read-more {
    text-decoration-color: rgba(199,164,90,.55);
}

body nav.navbar .nav-link:hover,
body nav.navbar .nav-link.active {
    box-shadow: inset 0 -2px 0 rgba(199,164,90,.55);
}

.ml-home-shortcut,
.ml-secondary-action,
.ml-testimonial-status {
    border-color: #ddc99d;
}

.ml-home-shortcut:hover,
.ml-home-shortcut:focus-visible,
.ml-secondary-action:hover,
.ml-secondary-action:focus-visible {
    border-color: var(--ml-home-gold);
}



/* MING LIFE 2026 four-pillar visual refresh — scoped to homepage & pillar pages. */
.ml-life-ref{--ref-green:#153e2d;--ref-cream:#f9f7f2;--ref-ink:#20382e;--ref-muted:#6c7069;--ref-line:#e7e5db;color:var(--ref-ink);background:#fff}
.ml-life-ref h1,.ml-life-ref h2,.ml-life-ref h3{font-family:"Noto Serif","DejaVu Serif","Times New Roman",serif;font-weight:400;letter-spacing:-.012em;line-height:1.32;color:var(--ref-green)}
.ml-life-ref a{text-decoration:none}
.ml-life-ref .container{max-width:1300px}
.ml-ref-overline{display:block;font:600 .71rem/1.5 Arial,sans-serif;letter-spacing:.17em;color:#6c796a;margin-bottom:12px}
.ml-ref-centered-title{font-size:clamp(1.75rem,3vw,2.85rem);text-align:center;margin:0 0 26px}
.ml-ref-button{display:inline-flex;gap:14px;align-items:center;justify-content:center;background:var(--ref-green);color:white!important;border:1px solid var(--ref-green);padding:13px 24px;border-radius:60px;font:600 .9rem/1.2 Arial,sans-serif;transition:background .2s,transform .2s}
.ml-ref-button:hover,.ml-ref-button:focus-visible{background:#235a42;transform:translateY(-2px)}
.ml-ref-button i,.ml-ref-text-link i{font-size:.75rem}
.ml-ref-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--ref-green)!important;font:600 .9rem Arial,sans-serif;border-bottom:1px solid #c2c9bd;padding:7px 0}
.ml-ref-text-link:hover{border-color:var(--ref-green)}
.ml-ref-hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:#f3ece0}
.ml-ref-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ml-ref-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,249,244,.88) 0%,rgba(251,249,244,.67) 27%,rgba(251,249,244,.05) 57%,transparent 100%)}
.ml-ref-hero-content{position:relative;z-index:1;padding-top:68px;padding-bottom:68px}
.ml-ref-hero-brand{display:block;letter-spacing:.28em;color:var(--ref-green);font:600 .78rem Arial,sans-serif;margin-bottom:17px}
.ml-ref-hero h1{font-size:clamp(3.45rem,6.4vw,6.4rem);line-height:1.2;margin-bottom:17px;max-width:660px}
.ml-ref-hero p{font-size:clamp(.99rem,1.35vw,1.2rem);line-height:1.6;max-width:540px;margin:0 0 24px;color:#3b4b42}
.ml-ref-pillars{padding:53px 0 67px;background:#fff}
.ml-ref-pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}
.ml-ref-pillar-card{text-align:center;min-width:0;display:block;color:var(--ref-green)}
.ml-ref-pillar-card img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;transition:transform .32s}
.ml-ref-pillar-card:hover img,.ml-ref-pillar-card:focus-visible img{transform:scale(1.025)}
.ml-ref-pillar-card h3{font-size:clamp(1.55rem,2vw,2.1rem);margin:15px 0 5px}
.ml-ref-pillar-card span{font-size:.86rem;color:var(--ref-green)}
.ml-ref-pillar-card span i{font-size:.7rem;margin-left:7px}
.ml-ref-pillar-card:focus-visible,.ml-ref-journal-card:focus-visible,.ml-ref-other-card:focus-visible{outline:3px solid #bb9d6b;outline-offset:5px}
.ml-ref-story{display:grid;grid-template-columns:1.03fr 1fr;background:var(--ref-cream)}
.ml-ref-story-image{height:420px;min-width:0}
.ml-ref-story-image img{width:100%;height:100%;object-fit:cover}
.ml-ref-story-text{padding:55px clamp(28px,5vw,90px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ml-ref-story h2{font-size:clamp(2rem,3vw,3.1rem);line-height:1.32;margin:0 0 17px}
.ml-ref-story p{color:#596259;font-size:1rem;line-height:1.85;max-width:560px;margin:0 0 22px}
.ml-life-ref .featured-products{padding:56px 0 32px!important;background:#fff}
.ml-life-ref .featured-products .container{margin-top:0!important}
.ml-ref-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}
.ml-ref-section-head h2,.ml-life-ref .featured-products .section-title{font-size:clamp(1.8rem,3vw,2.8rem)!important;text-transform:none;text-align:left!important;color:var(--ref-green)!important;margin:0!important;line-height:1.35}
.ml-ref-section-head p{margin:5px 0 0;color:var(--ref-muted);font-size:.93rem}
.ml-life-ref .featured-products #featured-products-container{row-gap:23px}
.ml-life-ref .featured-products .modern-card,.ml-life-ref .featured-products .product-card{border-radius:0!important;box-shadow:none;overflow:hidden}
.ml-life-ref .featured-products .product-image-wrapper{background:#f6f5f0}
.ml-life-ref .ml-category-showcase{background:#faf9f6;border:0;padding:45px 0 50px}
.ml-life-ref .ml-category-heading h2,.ml-life-ref .ml-news-heading h2{font-family:"Noto Serif","DejaVu Serif","Times New Roman",serif;letter-spacing:-.012em;line-height:1.35;color:var(--ref-green)}
.ml-life-ref .ml-category-card{border-radius:6px;box-shadow:none}
.ml-life-ref .ml-category-card::before{display:none}
.ml-ref-journal{padding:56px 0 48px;background:white}
.ml-ref-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ml-ref-journal-card{display:block;color:var(--ref-ink)}
.ml-ref-journal-card img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.ml-ref-journal-card h3{font-size:1.43rem;margin:13px 0 7px;line-height:1.25}
.ml-ref-journal-card p{font-size:.91rem;line-height:1.55;color:var(--ref-muted);margin:0}
.ml-ref-journal-card:hover h3{color:#52745c}
.ml-life-ref .ml-home-news{background:#faf9f6;border:0;padding:48px 0}
.ml-life-ref .ml-home-news[hidden]{display:none}
.ml-ref-partners{padding:55px 0 43px;background:#fff;text-align:center}
.ml-ref-partners-sub{color:var(--ref-muted);margin:-15px 0 24px;font-size:.9rem}
.ml-ref-partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:940px;margin:0 auto 26px}
.ml-ref-partner-grid>div{display:flex;flex-direction:column;align-items:center;gap:12px;color:#555c55}
.ml-ref-partner-grid i{border:1px solid #bac4ba;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;color:var(--ref-green);font-size:1.4rem}
.ml-ref-partner-grid strong{font:400 1.1rem "Noto Serif","DejaVu Serif",serif}
.ml-ref-partners-link{margin:auto}
.ml-life-ref .ml-home-resources{background:#faf9f6}
.ml-ref-crumb{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#7b817b;padding-top:18px;padding-bottom:18px}
.ml-ref-crumb a{color:#4b6357}
.ml-ref-crumb i{font-size:.55rem}
.ml-ref-subhero{position:relative;min-height:470px;display:flex;align-items:center;overflow:hidden;background:#eae5d9}
.ml-ref-subhero>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 48%}
.ml-ref-subhero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,241,.97) 0%,rgba(250,248,241,.90) 32%,rgba(250,248,241,.18) 72%,transparent)}
.ml-ref-subhero-inner{position:relative;padding-top:65px;padding-bottom:65px}
.ml-ref-subhero h1{font-size:clamp(3.2rem,6vw,5.5rem);margin:0 0 10px}
.ml-ref-subhero h2{font-size:clamp(1.45rem,2.6vw,2.4rem);margin:0 0 16px}
.ml-ref-subhero p{max-width:510px;line-height:1.8;color:#4d594e;margin-bottom:24px}
.ml-ref-subintro{padding-top:72px;padding-bottom:68px;text-align:center;max-width:840px!important}
.ml-ref-subintro h2{font-size:clamp(2rem,3.2vw,3rem);margin:0 0 20px}
.ml-ref-subintro p{font-size:1.05rem;color:#626962;line-height:1.9;margin:auto;max-width:750px}
.ml-ref-subtips{background:#f8f7f1;padding:58px 0 68px}
.ml-ref-tips-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ml-ref-tip{padding:30px;background:white;border:1px solid #eeece5}
.ml-ref-tip>span{color:#ab9775;font:400 1.2rem "Noto Serif","DejaVu Serif",serif}
.ml-ref-tip h3{font-size:1.62rem;margin:18px 0 9px}
.ml-ref-tip p{color:var(--ref-muted);line-height:1.7;margin:0}
.ml-ref-subaction{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:64px;padding-bottom:64px}
.ml-ref-subaction h2{font-size:clamp(2rem,3vw,2.8rem);margin:0 0 10px}
.ml-ref-subaction p{color:var(--ref-muted);margin:0}
.ml-ref-subactions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ml-ref-explore{padding:53px 0 67px;background:#faf9f6}
.ml-ref-other-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ml-ref-other-card{display:block;color:var(--ref-green)}
.ml-ref-other-card img{display:block;width:100%;aspect-ratio:1.9;object-fit:cover}
.ml-ref-other-card>span{display:flex;align-items:center;justify-content:space-between;font:400 1.4rem/1.4 "Noto Serif","DejaVu Serif",serif;margin-top:13px}
.ml-ref-other-card i{font-size:.8rem}
@media(max-width:991.98px){
.ml-ref-hero{min-height:430px}
.ml-ref-pillar-grid{gap:12px}
.ml-ref-story-image{height:375px}
.ml-ref-story-text{padding:35px}
.ml-ref-story h2 br{display:none}
.ml-ref-subaction{flex-direction:column;align-items:flex-start}
}
@media(max-width:767.98px){
.ml-ref-hero{min-height:470px;align-items:flex-start}
.ml-ref-hero-image{object-position:62% center}
.ml-ref-hero-overlay{background:linear-gradient(180deg,rgba(251,249,244,.94) 0%,rgba(251,249,244,.75) 47%,rgba(251,249,244,.08) 100%)}
.ml-ref-hero-content{padding:42px 20px 190px}
.ml-ref-hero h1{font-size:clamp(2.95rem,11vw,4rem)}
.ml-ref-hero p{font-size:.95rem;max-width:310px}
.ml-ref-pillars{padding:38px 0 44px}
.ml-ref-centered-title{font-size:1.85rem;line-height:1.32}
.ml-ref-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}
.ml-ref-pillar-card img{aspect-ratio:1.15}
.ml-ref-pillar-card h3{font-size:1.55rem;margin-top:10px}
.ml-ref-story{grid-template-columns:1fr}
.ml-ref-story-image{height:245px}
.ml-ref-story-text{padding:34px 20px 40px}
.ml-ref-story h2{font-size:2.1rem}
.ml-ref-section-head{align-items:flex-start;gap:14px}
.ml-ref-section-head h2,.ml-life-ref .featured-products .section-title{font-size:1.9rem!important}
.ml-ref-section-head .ml-ref-text-link{font-size:.75rem;flex-shrink:0;max-width:115px;line-height:1.45}
.ml-life-ref .featured-products{padding:42px 0 24px!important}
.ml-ref-journal{padding:42px 0}
.ml-ref-journal-grid{grid-template-columns:1fr;gap:26px}
.ml-ref-journal-card img{aspect-ratio:1.75}
.ml-ref-partners{padding:40px 0}
.ml-ref-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ml-ref-crumb{padding-top:12px;padding-bottom:12px}
.ml-ref-subhero{min-height:440px}
.ml-ref-subhero>img{object-position:60% center}
.ml-ref-subhero-wash{background:linear-gradient(180deg,rgba(250,248,241,.97),rgba(250,248,241,.78) 52%,rgba(250,248,241,.18))}
.ml-ref-subhero-inner{padding:42px 20px 150px}
.ml-ref-subhero h1{font-size:3.1rem}
.ml-ref-subhero h2{font-size:1.6rem}
.ml-ref-subhero p{max-width:320px;font-size:.93rem}
.ml-ref-subintro{padding-top:47px;padding-bottom:50px}
.ml-ref-subtips{padding:44px 0}
.ml-ref-tips-grid{grid-template-columns:1fr;gap:13px}
.ml-ref-tip{padding:24px}
.ml-ref-subaction{padding-top:46px;padding-bottom:46px}
.ml-ref-explore{padding:42px 0}
.ml-ref-other-grid{grid-template-columns:1fr;gap:24px}
.ml-ref-other-card img{aspect-ratio:2}
}
@media(prefers-reduced-motion:reduce){.ml-ref-button,.ml-ref-pillar-card img{transition:none}}


/* MING LIFE homepage — a single scrolling row for featured products. */
.ml-life-ref .ml-featured-carousel{min-width:0}
.ml-life-ref .ml-featured-navigation{display:none;justify-content:flex-end;gap:9px;margin:-4px 0 15px}
.ml-life-ref .ml-featured-carousel.has-overflow .ml-featured-navigation{display:flex}
.ml-life-ref .ml-featured-navigation button{display:inline-flex;justify-content:center;align-items:center;width:38px;height:38px;border:1px solid #d8dfd7;border-radius:50%;background:#fff;color:var(--ref-green);cursor:pointer;transition:background-color .2s,border-color .2s}
.ml-life-ref .ml-featured-navigation button:hover,.ml-life-ref .ml-featured-navigation button:focus-visible{background:#f0f4ef;border-color:var(--ref-green)}
.ml-life-ref .ml-featured-navigation button:disabled{opacity:.4;cursor:default}
.ml-life-ref .featured-products #featured-products-container{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%;
    margin:0;
    padding:0 0 15px;
    column-gap:20px;
    row-gap:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.ml-life-ref #featured-products-container::-webkit-scrollbar{display:none}
.ml-life-ref #featured-products-container > .col-lg-3,
.ml-life-ref #featured-products-container > .col-md-4,
.ml-life-ref #featured-products-container > .col-sm-6,
.ml-life-ref #featured-products-container > .col-product{
    flex:0 0 calc((100% - 60px) / 4)!important;
    width:calc((100% - 60px) / 4)!important;
    max-width:calc((100% - 60px) / 4)!important;
    min-width:0;
    padding:0!important;
    margin-bottom:0!important;
    scroll-snap-align:start;
}
.ml-life-ref #featured-products-container:focus-visible{outline:2px solid var(--ref-green);outline-offset:4px}
@media(max-width:1199.98px){
    .ml-life-ref #featured-products-container > .col-lg-3,
    .ml-life-ref #featured-products-container > .col-md-4,
    .ml-life-ref #featured-products-container > .col-sm-6,
    .ml-life-ref #featured-products-container > .col-product{
        flex-basis:calc((100% - 20px) / 2)!important;
        width:calc((100% - 20px) / 2)!important;
        max-width:calc((100% - 20px) / 2)!important;
    }
}
@media(max-width:767.98px){
    .ml-life-ref .featured-products #featured-products-container{column-gap:12px}
    .ml-life-ref #featured-products-container > .col-lg-3,
    .ml-life-ref #featured-products-container > .col-md-4,
    .ml-life-ref #featured-products-container > .col-sm-6,
    .ml-life-ref #featured-products-container > .col-product{
        flex-basis:78%!important;
        width:78%!important;
        max-width:78%!important;
    }
}
@media(prefers-reduced-motion:reduce){
    .ml-life-ref .featured-products #featured-products-container{scroll-behavior:auto}
}


/* MING LIFE tablet featured card refinement — scope only homepage products. 
   Fix Bootstrap h-100 + flex-grow-1 stretching the title away from its price. */
@media (min-width: 768px) {
    .ml-life-ref .featured-products #featured-products-container {
        align-items: flex-start !important;
    }
    .ml-life-ref #featured-products-container > .col-lg-3,
    .ml-life-ref #featured-products-container > .col-md-4,
    .ml-life-ref #featured-products-container > .col-sm-6,
    .ml-life-ref #featured-products-container > .col-product {
        align-self: flex-start !important;
    }
    .ml-life-ref #featured-products-container .product-card,
    .ml-life-ref #featured-products-container .modern-card {
        height: auto !important;
        min-height: 0 !important;
        border-radius: 12px !important;
    }
    .ml-life-ref #featured-products-container .modern-card .card-body,
    .ml-life-ref #featured-products-container .product-card .product-body {
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
        padding: 13px 12px 16px !important;
    }
    .ml-life-ref #featured-products-container .product-title {
        flex: 0 0 auto !important;
        flex-grow: 0 !important;
        height: auto !important;
        min-height: 2.7em;
        margin: 7px 0 9px !important;
        line-height: 1.35 !important;
    }
    .ml-life-ref #featured-products-container .product-title a {
        line-height: 1.35 !important;
        font-size: .91rem !important;
    }
    .ml-life-ref #featured-products-container .product-category {
        margin-bottom: 5px !important;
    }
    .ml-life-ref #featured-products-container .category-tag {
        background: #edf3ee !important;
        color: #476750 !important;
        border-radius: 999px !important;
        font-size: .65rem !important;
        letter-spacing: .025em !important;
        padding: 4px 10px !important;
    }
    .ml-life-ref #featured-products-container .product-price {
        flex: 0 0 auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        line-height: 1.35 !important;
    }
    .ml-life-ref #featured-products-container .price-group {
        gap: 3px;
    }
    .ml-life-ref #featured-products-container .product-image-wrapper,
    .ml-life-ref #featured-products-container .product-img-container {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 2;
        background: #f8f4ec;
        border-radius: 12px 12px 0 0 !important;
    }
    .ml-life-ref #featured-products-container .product-image-link {
        display: block;
        height: 100%;
    }
    .ml-life-ref #featured-products-container .product-image-wrapper .product-img,
    .ml-life-ref #featured-products-container .product-img-container .product-img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        border-radius: 12px 12px 0 0 !important;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    .ml-life-ref .featured-products {
        padding-top: 40px !important;
        padding-bottom: 32px !important;
    }
    .ml-life-ref .featured-products .ml-ref-section-head {
        margin-bottom: 13px;
    }
    .ml-life-ref .featured-products .ml-featured-navigation {
        margin: 0 0 10px;
    }
    .ml-life-ref .featured-products #featured-products-container {
        column-gap: 16px;
        padding-bottom: 8px;
    }
    .ml-life-ref #featured-products-container > .col-lg-3,
    .ml-life-ref #featured-products-container > .col-md-4,
    .ml-life-ref #featured-products-container > .col-sm-6,
    .ml-life-ref #featured-products-container > .col-product {
        flex-basis: calc((100% - 16px) / 2) !important;
        width: calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .ml-life-ref #featured-products-container > .col-lg-3,
    .ml-life-ref #featured-products-container > .col-md-4,
    .ml-life-ref #featured-products-container > .col-sm-6,
    .ml-life-ref #featured-products-container > .col-product {
        flex-basis: calc((100% - 32px) / 3) !important;
        width: calc((100% - 32px) / 3) !important;
        max-width: calc((100% - 32px) / 3) !important;
    }
}


/* Editorial MING LIFE featured row — 4 minimal tiles as in the supplied reference.
   Retain real product API / one-way horizontal autoplay; scope only the homepage. */
.ml-life-ref .ml-ref-products { background: #fff; padding: 42px 0 27px !important; }
.ml-life-ref .ml-ref-products-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 12px 24px;
    margin-bottom: 19px !important;
}
.ml-life-ref .ml-ref-products-heading .section-title {
    font-size: clamp(1.7rem, 2.65vw, 2.55rem) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    padding: 0 0 7px;
    position: relative;
}
.ml-life-ref .ml-ref-products-heading .section-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 73px;
    height: 2px;
    background: #c6aa69;
}
.ml-life-ref .ml-ref-product-tabs {
    display: flex;
    gap: clamp(8px, 1.35vw, 22px);
    align-items: center;
    flex-wrap: wrap;
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.4;
}
.ml-life-ref .ml-ref-product-tabs a {
    color: #415347;
    text-decoration: none;
    padding: 7px 0;
    white-space: nowrap;
    border-bottom: 1px solid transparent;
}
.ml-life-ref .ml-ref-product-tabs a.is-active,
.ml-life-ref .ml-ref-product-tabs a:hover,
.ml-life-ref .ml-ref-product-tabs a:focus-visible {
    color: #143b2a;
    border-color: #143b2a;
}
.ml-life-ref .ml-ref-products .ml-featured-navigation { display: none !important; }
.ml-life-ref .ml-ref-products #featured-products-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 0 7px !important;
    gap: 16px !important;
    overflow-x: auto;
    overflow-y: hidden;
}
.ml-life-ref .ml-ref-products #featured-products-container > .col-lg-3,
.ml-life-ref .ml-ref-products #featured-products-container > .col-md-4,
.ml-life-ref .ml-ref-products #featured-products-container > .col-sm-6,
.ml-life-ref .ml-ref-products #featured-products-container > .col-product {
    flex: 0 0 calc((100% - 48px) / 4) !important;
    width: calc((100% - 48px) / 4) !important;
    max-width: calc((100% - 48px) / 4) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: flex-start !important;
    scroll-snap-align: start;
}
.ml-life-ref .ml-ref-products #featured-products-container > .col-12 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-card,
.ml-life-ref .ml-ref-products #featured-products-container .modern-card {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    transform: none !important;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-card::before,
.ml-life-ref .ml-ref-products #featured-products-container .modern-card::before { display: none !important; }
.ml-life-ref .ml-ref-products #featured-products-container .product-image-wrapper,
.ml-life-ref .ml-ref-products #featured-products-container .product-img-container {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.48 / 1;
    background: #f7f4ed;
    border-radius: 0 !important;
    overflow: hidden;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-image-link {
    width: 100%;
    height: 100%;
    display: block;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1.48 / 1;
    object-fit: cover;
    border-radius: 0 !important;
}
.ml-life-ref .ml-ref-products #featured-products-container .card-body,
.ml-life-ref .ml-ref-products #featured-products-container .product-body {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 4px 0 !important;
    gap: 4px !important;
    align-items: center;
    text-align: center;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-category,
.ml-life-ref .ml-ref-products #featured-products-container .product-price,
.ml-life-ref .ml-ref-products #featured-products-container .product-rating,
.ml-life-ref .ml-ref-products #featured-products-container .product-meta,
.ml-life-ref .ml-ref-products #featured-products-container .product-actions,
.ml-life-ref .ml-ref-products #featured-products-container .quick-actions,
.ml-life-ref .ml-ref-products #featured-products-container .product-overlay,
.ml-life-ref .ml-ref-products #featured-products-container .discount-badge {
    display: none !important;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-title {
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}
.ml-life-ref .ml-ref-products #featured-products-container .product-title a {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    font-family: "Noto Serif", "DejaVu Serif", serif;
    color: #1c382b !important;
    font-size: clamp(.79rem, 1.12vw, 1rem) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: center;
}
.ml-life-ref .ml-ref-products #featured-products-container .ml-ref-product-cta {
    display: inline-block;
    color: #264a38;
    font: 400 .8rem/1.5 Arial, sans-serif;
    text-decoration: none;
    margin: 1px auto 0;
    border-bottom: 1px solid transparent;
}
.ml-life-ref .ml-ref-products #featured-products-container .ml-ref-product-cta::after { content: " →"; }
.ml-life-ref .ml-ref-products #featured-products-container .ml-ref-product-cta:hover,
.ml-life-ref .ml-ref-products #featured-products-container .ml-ref-product-cta:focus-visible {
    border-color: #264a38;
}
.ml-life-ref .ml-ref-products-all {
    display: block;
    width: max-content;
    margin: 13px auto 0;
    padding: 4px;
    font-size: .84rem;
    text-decoration: none;
    color: #264a38;
}
.ml-life-ref .ml-ref-products-all:hover { text-decoration: underline; }
@media (min-width: 768px) and (max-width: 1199.98px) {
    .ml-life-ref .ml-ref-products { padding-top: 32px !important; padding-bottom: 27px !important; }
    .ml-life-ref .ml-ref-products #featured-products-container { gap: 10px !important; }
    .ml-life-ref .ml-ref-products #featured-products-container > .col-lg-3,
    .ml-life-ref .ml-ref-products #featured-products-container > .col-md-4,
    .ml-life-ref .ml-ref-products #featured-products-container > .col-sm-6,
    .ml-life-ref .ml-ref-products #featured-products-container > .col-product {
        flex-basis: calc((100% - 30px) / 4) !important;
        width: calc((100% - 30px) / 4) !important;
        max-width: calc((100% - 30px) / 4) !important;
    }
}
@media (max-width: 767.98px) {
    .ml-life-ref .ml-ref-products { padding-top: 31px !important; }
    .ml-life-ref .ml-ref-products-heading { align-items: flex-start; gap: 9px; }
    .ml-life-ref .ml-ref-product-tabs {
        gap: 9px 14px;
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
        font-size: .79rem;
    }
    .ml-life-ref .ml-ref-products #featured-products-container { gap: 10px !important; }
    .ml-life-ref .ml-ref-products #featured-products-container > .col-lg-3,
    .ml-life-ref .ml-ref-products #featured-products-container > .col-md-4,
    .ml-life-ref .ml-ref-products #featured-products-container > .col-sm-6,
    .ml-life-ref .ml-ref-products #featured-products-container > .col-product {
        flex-basis: calc((100% - 10px) / 2) !important;
        width: calc((100% - 10px) / 2) !important;
        max-width: calc((100% - 10px) / 2) !important;
    }
    .ml-life-ref .ml-ref-products #featured-products-container .product-title a { font-size: .82rem !important; }
    .ml-life-ref .ml-ref-products #featured-products-container .ml-ref-product-cta { font-size: .75rem; }
}


/* MING LIFE compact homepage section rhythm — product gallery to journal. */
.ml-life-ref .ml-ref-products {
    padding-bottom: 10px !important;
}
.ml-life-ref .ml-ref-journal {
    padding-top: 22px !important;
}
@media (max-width: 1199.98px) {
    .ml-life-ref .ml-ref-products {
        padding-bottom: 4px !important;
    }
    .ml-life-ref .ml-ref-journal {
        padding-top: 16px !important;
    }
}
@media (max-width: 767.98px) {
    .ml-life-ref .ml-ref-products {
        padding-bottom: 3px !important;
    }
    .ml-life-ref .ml-ref-journal {
        padding-top: 18px !important;
    }
}


/* MING LIFE: gallery logos provided by partner organisations, no fake icons. */
.ml-life-ref .ml-ref-partners {
    padding: 48px 0 44px;
    background: #faf9f6;
    text-align: center;
}
.ml-life-ref .ml-ref-partners .ml-ref-partners-sub {
    max-width: 640px;
    margin: -13px auto 30px;
    font-size: .91rem;
    line-height: 1.7;
    color: #6a736a;
}
.ml-life-ref .ml-ref-logo-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 15px;
    max-width: 1190px;
    margin: 0 auto 25px;
}
.ml-life-ref .ml-ref-logo-card {
    display: flex;
    flex: 0 1 calc((100% - 60px) / 5);
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: 13px 12px 14px;
    border: 1px solid #e5e8df;
    border-radius: 11px;
    background: #fff;
    transition: box-shadow .22s ease, transform .22s ease;
}
.ml-life-ref .ml-ref-logo-card:hover {
    box-shadow: 0 7px 24px rgba(24, 60, 42, .075);
    transform: translateY(-2px);
}
.ml-life-ref .ml-ref-logo-media {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 130px;
    min-width: 0;
    overflow: hidden;
}
.ml-life-ref .ml-ref-logo-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.ml-life-ref .ml-ref-logo-card figcaption {
    font-family: Roboto, Arial, sans-serif;
    color: #536458;
    font-size: .76rem;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 10px;
    overflow-wrap: anywhere;
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .ml-life-ref .ml-ref-logo-card { flex-basis: calc((100% - 45px) / 4); }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .ml-life-ref .ml-ref-logo-card { flex-basis: calc((100% - 30px) / 3); }
    .ml-life-ref .ml-ref-logo-media { height: 112px; }
}
@media (max-width: 767.98px) {
    .ml-life-ref .ml-ref-partners { padding: 35px 0 39px; }
    .ml-life-ref .ml-ref-partners .ml-ref-partners-sub { margin: -11px auto 22px; font-size: .83rem; }
    .ml-life-ref .ml-ref-logo-grid { gap: 10px; }
    .ml-life-ref .ml-ref-logo-card {
        flex-basis: calc((100% - 10px) / 2);
        padding: 9px 8px 12px;
        border-radius: 8px;
    }
    .ml-life-ref .ml-ref-logo-media { height: 102px; }
    .ml-life-ref .ml-ref-logo-card figcaption { font-size: .71rem; margin-top: 7px; }
}
@media (prefers-reduced-motion: reduce) {
    .ml-life-ref .ml-ref-logo-card { transition: none; }
}


/* MING LIFE Journal: editorial cards and responsive news layout.
   Scope to the homepage only; article URLs and API renderer stay intact. */
.ml-life-ref .ml-home-news {
    padding: clamp(34px, 4vw, 60px) 0;
    background: #faf9f6;
}
.ml-life-ref .ml-home-news .ml-news-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-bottom: 23px;
}
.ml-life-ref .ml-home-news .ml-news-heading > div {
    min-width: 0;
    flex: 1 1 350px;
}
.ml-life-ref .ml-home-news .ml-news-kicker {
    font-size: .69rem;
    letter-spacing: .15em;
    color: #55725d;
    margin-bottom: 9px;
}
.ml-life-ref .ml-home-news .ml-news-heading h2 {
    margin: 0 0 8px;
    font: 400 clamp(1.7rem, 2.65vw, 2.4rem)/1.3 "Noto Serif", "DejaVu Serif", Georgia, serif;
    letter-spacing: -.02em;
    color: #193e2e;
}
.ml-life-ref .ml-home-news .ml-news-heading p {
    max-width: 650px;
    font-size: .91rem;
    line-height: 1.65;
    color: #647368;
}
.ml-life-ref .ml-home-news .ml-news-view-all {
    flex: 0 0 auto;
    align-self: center;
    font-size: .86rem;
    white-space: nowrap;
    color: #1b4933;
}
.ml-life-ref .ml-home-news .ml-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(325px, .85fr);
    align-items: start;
    gap: 22px;
    min-width: 0;
}
.ml-life-ref .ml-home-news .ml-news-layout.is-featured-only,
.ml-life-ref .ml-home-news .ml-news-layout.is-latest-only {
    grid-template-columns: minmax(0, 1fr);
}
.ml-life-ref .ml-home-news .ml-news-featured,
.ml-life-ref .ml-home-news .ml-news-latest {
    min-width: 0;
    margin: 0;
    border: 1px solid #e4e8df;
    border-radius: 12px;
    box-shadow: 0 5px 21px rgba(22, 63, 38, .045);
    background: #fffefa;
}
.ml-life-ref .ml-home-news .ml-news-featured[hidden],
.ml-life-ref .ml-home-news .ml-news-latest[hidden],
.ml-life-ref .ml-home-news .ml-news-layout[hidden] {
    display: none !important;
}
.ml-life-ref .ml-home-news .ml-news-featured {
    display: grid;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    min-height: 330px;
    overflow: hidden;
}
.ml-life-ref .ml-home-news .ml-news-featured-image {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    background: #f1eee7;
}
.ml-life-ref .ml-home-news .ml-news-featured-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: 100%;
    aspect-ratio: auto !important;
    object-fit: contain !important; /* preserve any typography already embedded in the source image */
    object-position: center;
}
.ml-life-ref .ml-home-news .ml-news-featured-badge {
    z-index: 1;
    top: 12px;
    left: 12px;
    padding: 6px 9px;
    font-size: .63rem;
    letter-spacing: .05em;
    border-radius: 6px;
}
.ml-life-ref .ml-home-news .ml-news-featured-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(20px, 2.3vw, 35px);
}
.ml-life-ref .ml-home-news .ml-news-featured-body .ml-news-meta {
    margin-bottom: 12px;
    font-size: .73rem;
    line-height: 1.5;
}
.ml-life-ref .ml-home-news .ml-news-featured h3 {
    margin: 0 0 13px;
    font: 500 clamp(1.3rem, 1.85vw, 1.75rem)/1.4 "Noto Serif", "DejaVu Serif", Georgia, serif;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
}
.ml-life-ref .ml-home-news .ml-news-featured p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    font-size: .92rem;
    line-height: 1.75;
    margin: 0;
    color: #5b6a5e;
}
.ml-life-ref .ml-home-news .ml-news-read-more {
    margin: 20px 0 0;
    font-size: .87rem;
}
.ml-life-ref .ml-home-news .ml-news-latest {
    padding: 21px 22px 12px;
}
.ml-life-ref .ml-home-news .ml-news-latest-heading {
    padding-bottom: 14px;
    color: #1e4430;
    font-size: .91rem;
}
.ml-life-ref .ml-home-news .ml-news-latest-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}
.ml-life-ref .ml-home-news .ml-news-latest-item {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 14px 0;
}
.ml-life-ref .ml-home-news .ml-news-latest-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 6px;
    overflow: hidden;
}
.ml-life-ref .ml-home-news .ml-news-latest-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ml-life-ref .ml-home-news .ml-news-latest-copy {
    min-width: 0;
}
.ml-life-ref .ml-home-news .ml-news-latest-item .ml-news-meta {
    font-size: .7rem;
    line-height: 1.45;
    margin-bottom: 6px;
}
.ml-life-ref .ml-home-news .ml-news-latest-item h3 {
    margin: 0;
    font: 500 clamp(.89rem, 1.07vw, 1rem)/1.48 "Noto Serif", "DejaVu Serif", Georgia, serif;
    overflow-wrap: anywhere;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
@media (max-width: 1199.98px) {
    .ml-life-ref .ml-home-news .ml-news-layout,
    .ml-life-ref .ml-home-news .ml-news-layout.is-featured-only,
    .ml-life-ref .ml-home-news .ml-news-layout.is-latest-only {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }
    .ml-life-ref .ml-home-news .ml-news-featured {
        grid-template-columns: minmax(0, 42%) minmax(0, 58%);
        min-height: 0;
    }
    .ml-life-ref .ml-home-news .ml-news-featured-image {
        height: auto;
        min-height: 0;
        aspect-ratio: 5 / 4;
    }
    .ml-life-ref .ml-home-news .ml-news-featured-image img {
        height: 100% !important;
        position: absolute;
        inset: 0;
    }
    .ml-life-ref .ml-home-news .ml-news-featured-body {
        padding: clamp(22px, 3vw, 34px);
    }
    .ml-life-ref .ml-home-news .ml-news-featured h3 {
        font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    }
    .ml-life-ref .ml-home-news .ml-news-latest {
        padding: 20px 22px 12px;
    }
    .ml-life-ref .ml-home-news .ml-news-latest-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 22px;
    }
    .ml-life-ref .ml-home-news .ml-news-latest-item {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 12px;
        padding: 15px 0;
    }
}
@media (max-width: 767.98px) {
    .ml-life-ref .ml-home-news {
        padding: 34px 0 39px;
    }
    .ml-life-ref .ml-home-news .ml-news-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 17px;
    }
    .ml-life-ref .ml-home-news .ml-news-heading > div {
        flex: 0 1 auto;
        width: 100%;
    }
    .ml-life-ref .ml-home-news .ml-news-heading h2 {
        font-size: clamp(1.5rem, 5vw, 1.8rem);
    }
    .ml-life-ref .ml-home-news .ml-news-view-all {
        align-self: flex-start;
    }
    .ml-life-ref .ml-home-news .ml-news-featured {
        grid-template-columns: minmax(0, 1fr);
    }
    .ml-life-ref .ml-home-news .ml-news-featured-image {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
    }
    .ml-life-ref .ml-home-news .ml-news-featured-image img {
        position: static;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
    }
    .ml-life-ref .ml-home-news .ml-news-featured-body {
        padding: 21px 19px 24px;
    }
    .ml-life-ref .ml-home-news .ml-news-featured h3 {
        font-size: 1.42rem;
    }
    .ml-life-ref .ml-home-news .ml-news-featured p {
        font-size: .89rem;
        line-height: 1.72;
    }
    .ml-life-ref .ml-home-news .ml-news-read-more {
        margin-top: 16px;
    }
    .ml-life-ref .ml-home-news .ml-news-latest {
        padding: 17px 17px 10px;
    }
    .ml-life-ref .ml-home-news .ml-news-latest-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .ml-life-ref .ml-home-news .ml-news-latest-item {
        grid-template-columns: 98px minmax(0, 1fr);
        gap: 12px;
        padding: 12px 0;
    }
    .ml-life-ref .ml-home-news .ml-news-latest-item h3 {
        font-size: .93rem;
    }
}
@media (max-width: 380px) {
    .ml-life-ref .ml-home-news .ml-news-latest-item {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 10px;
    }
    .ml-life-ref .ml-home-news .ml-news-latest {
        padding: 15px 13px 8px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ml-life-ref .ml-home-news .ml-news-featured-image img {
        transition: none !important;
    }
}
