:root {
    --zb-orange: #ef5b2a;
    --zb-orange-dark: #d94b1d;
    --zb-ink: #151515;
    --zb-muted: #686868;
    --zb-line: #e7e4e0;
    --zb-soft: #f7f6f3;
    --zb-soft-2: #fbfaf8;
    --zb-white: #fff;
    --zb-radius: 18px;
    --zb-shadow: 0 18px 46px rgba(16, 16, 16, .08);
    /* Match the broad content shell used on Zumi custom pages such as Insurance. */
    --zb-site-max: 1512px;
    --zb-site-gutter: 32px;
}

/* Break the shortcode out of narrow theme page containers so it behaves like Zumi's custom pages. */
.zumi-blog {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none !important;
    margin-left: -50vw;
    color: var(--zb-ink);
    background: var(--zb-white);
    font-family: inherit;
    overflow: clip;
}
.zumi-blog *, .zumi-blog *::before, .zumi-blog *::after { box-sizing: border-box; }

/* Insurance-page style hero: full-width, image capable, restrained dark overlay. */
.zumi-blog__hero {
    position: relative;
    min-height: clamp(390px, 48vw, 610px);
    display: flex;
    align-items: center;
    color: #fff;
    background-image:
        linear-gradient(90deg, rgba(8,8,8,.88) 0%, rgba(8,8,8,.72) 46%, rgba(8,8,8,.34) 72%, rgba(8,8,8,.20) 100%),
        linear-gradient(180deg, rgba(0,0,0,.05) 54%, rgba(0,0,0,.34) 100%),
        var(--zb-hero-image, linear-gradient(135deg, #151515 0%, #30261f 100%));
    background-size: cover;
    background-position: center center;
    overflow: hidden;
}
.zumi-blog__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.16));
    pointer-events: none;
}
.zumi-blog__hero-inner {
    width: min(var(--zb-site-max), calc(100% - (var(--zb-site-gutter) * 2)));
    margin: 0 auto;
    padding: clamp(68px, 8vw, 108px) 0;
    position: relative;
    z-index: 1;
}
.zumi-blog__eyebrow,
.zumi-blog__section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffb28f;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.zumi-blog__eyebrow { margin-bottom: 18px; }
.zumi-blog__eyebrow::before,
.zumi-blog__section-kicker::before {
    content: "";
    width: 30px;
    height: 2px;
    background: var(--zb-orange);
    flex: 0 0 30px;
}
.zumi-blog__hero h1 {
    color: #fff;
    font-size: clamp(42px, 5.5vw, 70px);
    line-height: 1.02;
    letter-spacing: -.045em;
    margin: 0 0 20px;
    max-width: 820px;
}
.zumi-blog__hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.88);
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.6;
}
.zumi-blog__hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}
.zumi-blog__hero-points span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 0 15px 0 11px;
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 999px;
    background: rgba(18,18,18,.38);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.zumi-blog__hero-points span::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 50%;
    background: var(--zb-orange);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 3px 10px rgba(238, 83, 43, .22);
}

/* Intro/search section follows the same section hierarchy as the insurance page. */
.zumi-blog__explore { background: #fff; padding: clamp(54px, 6vw, 82px) 0 44px; }
.zumi-blog__explore-inner { width: min(var(--zb-site-max), calc(100% - (var(--zb-site-gutter) * 2))); margin: 0 auto; }
.zumi-blog__section-heading { max-width: 780px; margin-bottom: 30px; }
.zumi-blog__section-kicker { color: var(--zb-orange-dark); margin-bottom: 11px; }
.zumi-blog__section-heading h2 {
    margin: 0 0 12px;
    color: var(--zb-ink);
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.zumi-blog__section-heading p { margin: 0; color: var(--zb-muted); font-size: 16px; line-height: 1.7; }

.zumi-blog__toolbar-wrap {
    background: var(--zb-soft-2);
    border: 1px solid var(--zb-line);
    border-radius: var(--zb-radius);
    padding: 12px;
}
.zumi-blog__toolbar {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.zumi-blog__search { flex: 1; min-width: 0; position: relative; display: flex; align-items: center; }
.zumi-blog__search svg {
    position: absolute;
    left: 19px;
    width: 21px;
    height: 21px;
    fill: #76716c;
    pointer-events: none;
    z-index: 2;
}
.zumi-blog__search input {
    width: 100%;
    height: 54px;
    border: 1px solid #ddd8d2;
    border-radius: 13px;
    background: #fff;
    padding: 0 132px 0 53px;
    color: var(--zb-ink);
    font: inherit;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.zumi-blog__search input:focus { border-color: var(--zb-orange); box-shadow: 0 0 0 4px rgba(239,91,42,.10); }
.zumi-blog__search button {
    position: absolute;
    right: 6px;
    top: 6px;
    height: 42px;
    padding: 0 20px;
    border: 0;
    border-radius: 10px;
    background: var(--zb-orange);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.zumi-blog__search button:hover { background: var(--zb-orange-dark); }

.zumi-blog__filter-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 54px;
    height: 54px;
    border: 1px solid #ddd8d2;
    background: #fff;
    color: #222;
    border-radius: 13px;
    padding: 0 17px;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}
/* Deliberately CSS-built so no theme SVG rule can make the filter icon disappear. */
.zumi-blog__filter-icon { width: 22px; height: 18px; display: grid; align-content: space-between; justify-items: end; flex: 0 0 22px; }
.zumi-blog__filter-icon i { display: block; height: 2px; border-radius: 999px; background: currentColor; }
.zumi-blog__filter-icon i:nth-child(1) { width: 22px; }
.zumi-blog__filter-icon i:nth-child(2) { width: 16px; }
.zumi-blog__filter-icon i:nth-child(3) { width: 10px; }

.zumi-blog__content-band { background: var(--zb-soft); border-top: 1px solid #eeebe7; }
.zumi-blog__layout {
    width: min(var(--zb-site-max), calc(100% - (var(--zb-site-gutter) * 2)));
    margin: 0 auto;
    padding: 48px 0 82px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 34px;
    align-items: start;
}
.zumi-blog__main { min-width: 0; }
.zumi-blog__result-count { font-size: 14px; font-weight: 750; color: #77716c; margin-bottom: 18px; }
.zumi-blog__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }

.zumi-blog-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--zb-line);
    border-radius: var(--zb-radius);
    background: #fff;
    box-shadow: 0 6px 24px rgba(22,22,22,.035);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.zumi-blog-card:hover { transform: translateY(-3px); box-shadow: var(--zb-shadow); border-color: #d9d3cd; }
.zumi-blog-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #e9e5df; }
.zumi-blog-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.zumi-blog-card:hover .zumi-blog-card__image img { transform: scale(1.035); }
.zumi-blog-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 24px;
    background:
        radial-gradient(circle at 82% 22%, rgba(239,91,42,.36), transparent 28%),
        linear-gradient(135deg, #191817 0%, #35271f 100%);
    color: #fff;
    position: relative;
}
.zumi-blog-card__placeholder::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    right: -48px;
    top: -58px;
}
.zumi-blog-card__placeholder span { color: #ffb18c; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.zumi-blog-card__placeholder strong { margin-top: 4px; font-size: 22px; line-height: 1.05; letter-spacing: -.02em; }
.zumi-blog-card__body { padding: 24px 24px 26px; }
.zumi-blog-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #89817a; font-size: 12px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.zumi-blog-card__meta a { color: var(--zb-orange-dark); text-decoration: none; }
.zumi-blog-card h2 { font-size: clamp(22px, 2vw, 28px); line-height: 1.14; letter-spacing: -.025em; margin: 12px 0; }
.zumi-blog-card h2 a { color: var(--zb-ink); text-decoration: none; }
.zumi-blog-card p { color: var(--zb-muted); font-size: 15px; line-height: 1.67; margin: 0 0 19px; }
.zumi-blog-card__read { display: inline-flex; gap: 9px; align-items: center; color: var(--zb-ink); font-weight: 800; text-decoration: none; }
.zumi-blog-card__read span { color: var(--zb-orange); transition: transform .18s ease; }
.zumi-blog-card__read:hover span { transform: translateX(3px); }

.zumi-blog__sidebar {
    position: sticky;
    top: 116px;
    border: 1px solid var(--zb-line);
    border-radius: var(--zb-radius);
    background: #fff;
    padding: 25px;
    box-shadow: 0 8px 26px rgba(20,17,13,.04);
}
.admin-bar .zumi-blog__sidebar { top: 148px; }
.zumi-blog__sidebar-head { display: none; }
.zumi-blog__filter-section + .zumi-blog__filter-section { border-top: 1px solid var(--zb-line); margin-top: 24px; padding-top: 24px; }
.zumi-blog__filter-section h2 { margin: 0 0 14px; font-size: 16px; letter-spacing: -.01em; }
.zumi-blog__radio-row { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 8px 0; cursor: pointer; color: #4f4944; font-size: 14px; }
.zumi-blog__radio-row input { width: 17px; height: 17px; accent-color: var(--zb-orange); margin: 0; }
.zumi-blog__radio-row small { color: #9c948d; }
.zumi-blog__field-label { display: block; color: #776f69; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; margin: 14px 0 7px; }
.zumi-blog__filter-section select { width: 100%; height: 44px; border: 1px solid #ddd6cf; border-radius: 10px; background: #fff; padding: 0 12px; color: var(--zb-ink); font: inherit; }
.zumi-blog__filter-actions { display: grid; gap: 9px; margin-top: 24px; }
.zumi-blog__apply, .zumi-blog__reset { height: 44px; border-radius: 10px; font: inherit; font-weight: 800; cursor: pointer; }
.zumi-blog__apply { border: 0; background: var(--zb-orange); color: #fff; }
.zumi-blog__apply:hover { background: var(--zb-orange-dark); }
.zumi-blog__reset { border: 1px solid #ded8d1; background: #fff; color: #5d5752; }
.zumi-blog__sidebar-cta { margin: 26px -7px -7px; padding: 22px; border-radius: 14px; background: #171717; color: #fff; }
.zumi-blog__sidebar-cta span:first-child { display: block; color: #d8cec5; font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.zumi-blog__sidebar-cta strong { display: block; font-size: 20px; line-height: 1.2; margin-bottom: 17px; }
.zumi-blog__sidebar-cta a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.zumi-blog__sidebar-cta a span { color: #ff9c60; }

.zumi-blog__active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.zumi-blog__active-filters:empty { display: none; }
.zumi-blog__active-label { color: #857d76; font-size: 13px; font-weight: 750; }
.zumi-blog__active-filters button { border: 1px solid #ead9cd; background: #fff8f3; color: #7a3b16; border-radius: 999px; min-height: 34px; padding: 0 12px; font: inherit; font-size: 13px; cursor: pointer; }
.zumi-blog__active-filters button span { margin-left: 4px; }

.zumi-blog__pagination { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 40px; }
.zumi-blog__pagination button { min-width: 42px; height: 42px; border: 1px solid #ded8d1; background: #fff; color: #4a4541; border-radius: 10px; padding: 0 14px; font: inherit; font-weight: 750; cursor: pointer; }
.zumi-blog__pagination button:hover, .zumi-blog__pagination button.is-current { border-color: var(--zb-orange); background: var(--zb-orange); color: #fff; }
.zumi-blog__empty { text-align: center; border: 1px solid var(--zb-line); border-radius: var(--zb-radius); padding: 70px 24px; background: #fff; }
.zumi-blog__empty-icon { font-size: 44px; color: #9e9389; }
.zumi-blog__empty h2 { margin: 8px 0; font-size: 28px; }
.zumi-blog__empty p { color: var(--zb-muted); }
.zumi-blog__empty button { margin-top: 10px; border: 0; border-radius: 10px; background: var(--zb-orange); color: #fff; padding: 12px 20px; font: inherit; font-weight: 800; cursor: pointer; }

.zumi-blog__results.is-loading { opacity: .45; pointer-events: none; position: relative; }
.zumi-blog__results.is-loading::after { content: ""; position: absolute; left: 50%; top: 100px; width: 34px; height: 34px; margin-left: -17px; border: 3px solid rgba(239,91,42,.22); border-top-color: var(--zb-orange); border-radius: 50%; animation: zumi-spin .7s linear infinite; }
@keyframes zumi-spin { to { transform: rotate(360deg); } }
.zumi-blog__overlay { display: none; }

@media (min-width: 1180px) {
    .zumi-blog__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .zumi-blog-card:first-child:nth-last-child(n+3) { grid-column: span 2; display: grid; grid-template-columns: 1.25fr 1fr; }
    .zumi-blog-card:first-child:nth-last-child(n+3) .zumi-blog-card__image { aspect-ratio: auto; min-height: 355px; }
    .zumi-blog-card:first-child:nth-last-child(n+3) .zumi-blog-card__body { align-self: center; padding: 34px; }
    .zumi-blog-card:first-child:nth-last-child(n+3) h2 { font-size: clamp(30px,3vw,40px); }
}

@media (max-width: 960px) {
    .zumi-blog__hero-inner,
    .zumi-blog__explore-inner,
    .zumi-blog__layout { width: min(calc(100% - 36px), var(--zb-site-max)); }
    .zumi-blog__filter-toggle { display: inline-flex; }
    .zumi-blog__layout { display: block; padding-top: 36px; }
    .zumi-blog__sidebar {
        position: fixed;
        z-index: 1002;
        top: 0;
        right: 0;
        height: 100dvh;
        width: min(390px, 88vw);
        border-radius: 20px 0 0 20px;
        padding: 0 24px 28px;
        overflow-y: auto;
        transform: translateX(103%);
        transition: transform .28s ease;
        box-shadow: -20px 0 50px rgba(0,0,0,.18);
    }
    .zumi-blog.is-filter-open .zumi-blog__sidebar { transform: translateX(0); }
    .zumi-blog__sidebar-head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1; background: #fff; padding: 24px 0 18px; border-bottom: 1px solid var(--zb-line); margin-bottom: 22px; }
    .zumi-blog__sidebar-close { width: 38px; height: 38px; border: 1px solid #ddd6cf; background: #fff; color: #151515; border-radius: 50%; font-size: 25px; line-height: 1; cursor: pointer; }
    .zumi-blog__overlay { display: block; position: fixed; z-index: 1001; inset: 0; background: rgba(8,7,6,.66); opacity: 0; pointer-events: none; transition: opacity .28s ease; }
    .zumi-blog.is-filter-open .zumi-blog__overlay { opacity: 1; pointer-events: auto; }
    body.zumi-filter-lock { overflow: hidden; }
}

@media (max-width: 700px) {
    .zumi-blog__hero { min-height: 0; background-position: 66% center; }
    .zumi-blog__hero-inner { width: calc(100% - 36px); padding: 62px 0 58px; }
    .zumi-blog__hero h1 { font-size: clamp(38px, 11vw, 52px); }
    .zumi-blog__hero p { font-size: 17px; }
    .zumi-blog__hero-points { gap: 7px; margin-top: 23px; }
    .zumi-blog__hero-points span { min-height: 36px; padding: 0 12px 0 9px; gap: 7px; font-size: 11px; }
    .zumi-blog__hero-points span::before { width: 19px; height: 19px; flex-basis: 19px; font-size: 11px; }

    .zumi-blog__explore { padding: 44px 0 32px; }
    .zumi-blog__explore-inner { width: calc(100% - 36px); }
    .zumi-blog__section-heading { margin-bottom: 23px; }
    .zumi-blog__section-heading h2 { font-size: 31px; }
    .zumi-blog__toolbar-wrap { padding: 8px; border-radius: 15px; }
    .zumi-blog__toolbar { min-height: 52px; gap: 8px; }
    .zumi-blog__search input { height: 50px; border-radius: 11px; padding-right: 52px; }
    .zumi-blog__search button { width: 40px; height: 40px; right: 5px; top: 5px; padding: 0; font-size: 0; border-radius: 9px; }
    .zumi-blog__search button::after { content: "→"; font-size: 18px; }
    .zumi-blog__filter-toggle { width: 50px; min-width: 50px; height: 50px; padding: 0; border-radius: 11px; }
    .zumi-blog__filter-label { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
    .zumi-blog__filter-icon { display: grid !important; color: #222 !important; opacity: 1 !important; visibility: visible !important; }

    .zumi-blog__layout { width: calc(100% - 36px); padding: 34px 0 58px; }
    .zumi-blog__grid { grid-template-columns: 1fr; gap: 18px; }
    .zumi-blog-card__body { padding: 22px; }
    .zumi-blog__pagination button span { display: none; }
}

@media (max-width: 390px) {
    .zumi-blog__hero-inner,
    .zumi-blog__explore-inner,
    .zumi-blog__layout { width: calc(100% - 28px); }
    .zumi-blog__search svg { left: 15px; }
    .zumi-blog__search input { padding-left: 45px; font-size: 14px; }
}

/* v1.2.0 — mobile toolbar + filter drawer refinements */
.zumi-blog__search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}
.zumi-blog__search-button-icon {
    display: block;
    width: 19px;
    height: 19px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    flex: 0 0 19px;
}
.zumi-blog__filter-icon {
    display: block;
    width: 21px;
    height: 21px;
    object-fit: contain;
    flex: 0 0 21px;
}
.zumi-blog__sidebar-body { min-width: 0; }
.zumi-blog__sidebar-cta a .zumi-blog__plan-label { color: inherit; margin: 0; }
.zumi-blog__sidebar-cta a .zumi-blog__plan-arrow { color: #ff9c60; margin: 0; }

@media (max-width: 960px) {
    /* Freeze the document underneath the drawer. JS also fixes body position for iOS. */
    html.zumi-filter-lock,
    body.zumi-filter-lock {
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }

    .zumi-blog__sidebar {
        display: flex;
        flex-direction: column;
        height: 100dvh;
        max-height: 100dvh;
        padding: 0;
        overflow: hidden;
        background: #fff;
        overscroll-behavior: contain;
    }

    .zumi-blog__sidebar-head {
        flex: 0 0 auto;
        width: 100%;
        min-height: 78px;
        margin: 0;
        padding: 18px 22px;
        position: relative;
        top: auto;
        border-bottom: 1px solid var(--zb-line);
        text-align: left;
    }
    .zumi-blog__sidebar-head strong {
        margin: 0;
        color: var(--zb-ink);
        font-size: 19px;
        line-height: 1.2;
        font-weight: 800;
        text-align: left;
    }
    .zumi-blog__sidebar-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 0 2px;
        flex: 0 0 40px;
    }

    .zumi-blog__sidebar-body {
        flex: 1 1 auto;
        min-height: 0;
        padding: 20px 22px 18px;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        text-align: left;
    }
    .zumi-blog__sidebar-body form,
    .zumi-blog__filter-section,
    .zumi-blog__filter-section h2,
    .zumi-blog__field-label,
    .zumi-blog__radio-row,
    .zumi-blog__radio-row span,
    .zumi-blog__radio-row small {
        text-align: left;
    }
    .zumi-blog__filter-section h2 {
        font-size: 17px;
        margin-bottom: 12px;
    }
    .zumi-blog__radio-row {
        min-height: 38px;
        grid-template-columns: 22px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 6px 0;
        width: 100%;
    }
    .zumi-blog__radio-row input {
        justify-self: start;
    }
    .zumi-blog__radio-row small {
        justify-self: end;
        min-width: 18px;
    }
    .zumi-blog__filter-section + .zumi-blog__filter-section {
        margin-top: 19px;
        padding-top: 19px;
    }
    .zumi-blog__field-label {
        margin: 11px 0 6px;
    }
    .zumi-blog__filter-section select {
        height: 46px;
        text-align: left;
        text-align-last: left;
    }
    .zumi-blog__filter-actions {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 20px;
    }
    .zumi-blog__apply,
    .zumi-blog__reset {
        width: 100%;
        height: 46px;
        margin: 0;
        padding: 0 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    /* Mobile drawer footer echoes the site's primary CTA treatment. */
    .zumi-blog__sidebar-cta {
        flex: 0 0 auto;
        margin: 0;
        padding: 16px 22px calc(16px + env(safe-area-inset-bottom));
        border-radius: 0;
        border-top: 1px solid var(--zb-line);
        background: #fff;
        color: var(--zb-ink);
        box-shadow: 0 -10px 24px rgba(20,17,13,.05);
        text-align: left;
    }
    .zumi-blog__sidebar-cta > span:first-child,
    .zumi-blog__sidebar-cta > strong {
        display: none;
    }
    .zumi-blog__sidebar-cta a {
        width: 100%;
        min-height: 52px;
        padding: 0 18px;
        border-radius: 13px;
        background: var(--zb-orange);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        font-size: 15px;
        font-weight: 800;
        text-decoration: none;
        text-align: center;
        transition: background .18s ease, transform .18s ease;
    }
    .zumi-blog__sidebar-cta a:hover { background: var(--zb-orange-dark); }
    .zumi-blog__sidebar-cta a .zumi-blog__plan-label,
    .zumi-blog__sidebar-cta a .zumi-blog__plan-arrow { color: #fff; }
    .zumi-blog__sidebar-cta a .zumi-blog__plan-arrow {
        font-size: 20px;
        line-height: 1;
        transform: translateY(-1px);
    }
}

@media (max-width: 700px) {
    /* Keep search and filter controls on the same baseline and at the same height. */
    .zumi-blog__toolbar-wrap {
        padding: 8px;
    }
    .zumi-blog__toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 50px;
        align-items: center;
        gap: 8px;
        min-height: 50px;
    }
    .zumi-blog__search {
        width: 100%;
        height: 50px;
        align-items: center;
    }
    .zumi-blog__search input {
        height: 50px;
        min-height: 50px;
        margin: 0;
        padding-right: 54px;
    }
    .zumi-blog__search button {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
        right: 5px;
        top: 5px;
        margin: 0;
        padding: 0;
        border-radius: 9px;
        line-height: 1;
    }
    .zumi-blog__search button::after { content: none !important; display: none !important; }
    .zumi-blog__search-label {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0,0,0,0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .zumi-blog__search-button-icon {
        width: 19px;
        height: 19px;
        margin: 0;
    }
    .zumi-blog__filter-toggle {
        width: 50px;
        min-width: 50px;
        max-width: 50px;
        height: 50px;
        min-height: 50px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 11px;
        line-height: 1;
        align-self: center;
    }
    .zumi-blog__filter-icon {
        width: 21px !important;
        height: 21px !important;
        margin: 0 !important;
        display: block !important;
        object-fit: contain;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media (max-width: 390px) {
    .zumi-blog__sidebar { width: min(360px, 92vw); }
    .zumi-blog__sidebar-head,
    .zumi-blog__sidebar-body,
    .zumi-blog__sidebar-cta { padding-left: 18px; padding-right: 18px; }
}

/* v1.3.0 — unified toolbar + filter menu styling across desktop, tablet and mobile */
.zumi-blog__toolbar {
    --zb-toolbar-control: 54px;
    align-items: stretch;
}
.zumi-blog__search,
.zumi-blog__filter-toggle {
    min-height: var(--zb-toolbar-control);
}
.zumi-blog__search input {
    height: var(--zb-toolbar-control);
    min-height: var(--zb-toolbar-control);
    margin: 0 !important;
}
.zumi-blog__filter-toggle {
    height: var(--zb-toolbar-control);
    min-height: var(--zb-toolbar-control);
    margin: 0 !important;
    align-self: stretch;
}
.zumi-blog__search button,
.zumi-blog__filter-toggle,
.zumi-blog__search-button-icon,
.zumi-blog__filter-icon,
.zumi-blog__sidebar-title-icon {
    vertical-align: middle;
}
.zumi-blog__search-button-icon,
.zumi-blog__filter-icon,
.zumi-blog__sidebar-title-icon {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}

/* Use the same clean filter-card structure in every view. */
.zumi-blog__sidebar {
    padding: 0;
    overflow: hidden;
}
.zumi-blog__sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    min-height: 68px;
    margin: 0;
    padding: 18px 20px;
    border-bottom: 1px solid var(--zb-line);
    background: #fff;
    text-align: left;
}
.zumi-blog__sidebar-title {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--zb-ink);
}
.zumi-blog__sidebar-title-icon {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: contain;
}
.zumi-blog__sidebar-title strong,
.zumi-blog__sidebar-head strong {
    margin: 0;
    color: var(--zb-ink);
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    text-align: left;
}
.zumi-blog__sidebar-close { display: none; }
.zumi-blog__sidebar-body {
    width: 100%;
    min-width: 0;
    padding: 20px;
    text-align: left;
}
.zumi-blog__sidebar-body form,
.zumi-blog__filter-section,
.zumi-blog__filter-section h2,
.zumi-blog__field-label,
.zumi-blog__radio-row,
.zumi-blog__radio-row span,
.zumi-blog__radio-row small {
    text-align: left;
}
.zumi-blog__filter-section h2 {
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.25;
}
.zumi-blog__radio-row {
    width: 100%;
    min-height: 38px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}
.zumi-blog__radio-row input {
    justify-self: start;
    margin: 0 !important;
}
.zumi-blog__radio-row span { min-width: 0; }
.zumi-blog__radio-row small {
    justify-self: end;
    min-width: 18px;
}
.zumi-blog__filter-section + .zumi-blog__filter-section {
    margin-top: 20px;
    padding-top: 20px;
}
.zumi-blog__field-label { margin: 11px 0 6px; }
.zumi-blog__filter-section select {
    width: 100%;
    height: 46px;
    min-height: 46px;
    margin: 0 !important;
    border-radius: 11px;
    text-align: left;
    text-align-last: left;
}
.zumi-blog__filter-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    margin-top: 20px;
}
.zumi-blog__apply,
.zumi-blog__reset {
    width: 100%;
    height: 46px;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
}

/* Match the site's primary orange Plan Your Adventure treatment everywhere. */
.zumi-blog__sidebar-cta {
    margin: 0;
    padding: 16px 20px 18px;
    border-radius: 0;
    border-top: 1px solid var(--zb-line);
    background: #fff;
    color: var(--zb-ink);
    text-align: left;
}
.zumi-blog__sidebar-cta > span:first-child,
.zumi-blog__sidebar-cta > strong { display: none; }
.zumi-blog__sidebar-cta a {
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 0 16px;
    border-radius: 12px;
    background: var(--zb-orange);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none;
    text-align: center;
    transition: background .18s ease, transform .18s ease;
}
.zumi-blog__sidebar-cta a:hover { background: var(--zb-orange-dark); }
.zumi-blog__sidebar-cta a .zumi-blog__plan-label,
.zumi-blog__sidebar-cta a .zumi-blog__plan-arrow {
    margin: 0;
    color: #fff;
}
.zumi-blog__sidebar-cta a .zumi-blog__plan-arrow {
    font-size: 19px;
    line-height: 1;
    transform: translateY(-1px);
}

@media (max-width: 960px) {
    .zumi-blog__sidebar-head {
        display: flex;
        min-height: 72px;
        padding: 16px 22px;
    }
    .zumi-blog__sidebar-title strong,
    .zumi-blog__sidebar-head strong { font-size: 18px; }
    .zumi-blog__sidebar-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        min-width: 40px;
        height: 40px;
        margin: 0;
        padding: 0 0 2px;
        flex: 0 0 40px;
    }
    .zumi-blog__sidebar-body { padding: 20px 22px 18px; }
    .zumi-blog__sidebar-cta { padding: 16px 22px calc(16px + env(safe-area-inset-bottom)); }

    /* Search field and filter control use one shared baseline/height on tablet too. */
    .zumi-blog__toolbar {
        --zb-toolbar-control: 54px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: stretch;
    }
    .zumi-blog__search { height: var(--zb-toolbar-control); }
    .zumi-blog__filter-toggle {
        display: inline-flex;
        min-width: 54px;
        height: var(--zb-toolbar-control);
    }
}

@media (max-width: 700px) {
    .zumi-blog__toolbar {
        --zb-toolbar-control: 50px;
        grid-template-columns: minmax(0, 1fr) 50px;
    }
    .zumi-blog__search,
    .zumi-blog__search input,
    .zumi-blog__filter-toggle {
        height: var(--zb-toolbar-control);
        min-height: var(--zb-toolbar-control);
    }
    .zumi-blog__filter-toggle {
        width: 50px;
        min-width: 50px;
        max-width: 50px;
    }
    .zumi-blog__search button {
        top: 5px;
        right: 5px;
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
    }
    .zumi-blog__search-button-icon,
    .zumi-blog__filter-icon {
        display: block !important;
        margin: 0 !important;
        align-self: center;
    }
}


/* v1.6.0 — align the Journal content shell with the Insurance page width. */
@media (min-width: 961px) {
    .zumi-blog__hero-inner,
    .zumi-blog__explore-inner,
    .zumi-blog__layout {
        width: min(1512px, calc(100% - 64px)) !important;
        max-width: 1512px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ========================================================================== 
   v1.7.0 — Zumi single-article experience
   ========================================================================== */
.zumi-blog-article-page .site-content,
.zumi-blog-article-page #content,
.zumi-blog-article-page .content-area,
.zumi-blog-article-page #primary {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.zumi-article {
    --za-orange: var(--zb-orange, #ef5b2a);
    --za-orange-dark: var(--zb-orange-dark, #d94b1d);
    --za-ink: var(--zb-ink, #151515);
    --za-muted: var(--zb-muted, #686868);
    --za-line: var(--zb-line, #e7e4e0);
    --za-soft: var(--zb-soft, #f7f6f3);
    --za-site-max: var(--zb-site-max, 1512px);
    --za-site-gutter: var(--zb-site-gutter, 32px);
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    color: var(--za-ink);
    background: #fff;
    font-family: inherit;
    overflow: clip;
}
.zumi-article *, .zumi-article *::before, .zumi-article *::after { box-sizing: border-box; }

.zumi-article__hero {
    position: relative;
    min-height: clamp(470px, 48vw, 650px);
    display: flex;
    align-items: center;
    color: #fff;
    background-image:
        linear-gradient(90deg, rgba(8,8,8,.91) 0%, rgba(8,8,8,.76) 45%, rgba(8,8,8,.38) 74%, rgba(8,8,8,.22) 100%),
        linear-gradient(180deg, rgba(0,0,0,.04) 55%, rgba(0,0,0,.30) 100%),
        var(--za-hero-image);
    background-size: cover;
    background-position: center center;
    overflow: hidden;
}
.zumi-article__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.16));
    pointer-events: none;
}
.zumi-article__hero-inner {
    position: relative;
    z-index: 1;
    width: min(var(--za-site-max), calc(100% - (var(--za-site-gutter) * 2)));
    margin: 0 auto;
    padding: clamp(72px, 7vw, 110px) 0;
}
/* Breadcrumbs: compact, interactive and visibly navigational. */
.zumi-article__breadcrumbs {
    max-width: 100%;
    margin: 0 0 24px;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .01em;
}
.zumi-article__breadcrumbs ol {
    width: max-content;
    max-width: 100%;
    min-height: 40px;
    margin: 0;
    padding: 5px 7px;
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: none;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    background: rgba(14,14,14,.28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}
.zumi-article__breadcrumbs ol::-webkit-scrollbar { display: none; }
.zumi-article__breadcrumbs li {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
}
.zumi-article__breadcrumbs li + li::before {
    content: "›";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    color: rgba(255,255,255,.46);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}
.zumi-article__breadcrumbs a {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    border-radius: 999px;
    color: rgba(255,255,255,.84);
    text-decoration: none;
    white-space: nowrap;
    outline: none;
    transition: color .16s ease, background .16s ease, transform .12s ease, box-shadow .16s ease;
    -webkit-tap-highlight-color: transparent;
}
.zumi-article__breadcrumbs a:hover {
    color: #fff;
    background: rgba(255,255,255,.13);
}
.zumi-article__breadcrumbs a:focus-visible {
    color: #fff;
    background: rgba(255,255,255,.13);
    box-shadow: 0 0 0 2px rgba(255,255,255,.75);
}
.zumi-article__breadcrumbs a:active {
    transform: scale(.96);
    background: rgba(255,255,255,.20);
}
.zumi-article__breadcrumbs a[aria-current="location"] {
    color: #fff;
    background: rgba(239,91,42,.34);
}
.zumi-article__crumb-home {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 14px;
}
.zumi-article__crumb-home svg {
    width: 14px !important;
    height: 14px !important;
    display: block;
}
.zumi-article__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: #ffb28f;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.zumi-article__eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;
    background: var(--za-orange);
    flex: 0 0 30px;
}
.zumi-article__hero h1 {
    max-width: 1040px;
    margin: 0;
    color: #fff;
    font-size: clamp(44px, 5.25vw, 78px);
    line-height: 1.01;
    letter-spacing: -.048em;
    text-wrap: balance;
}
.zumi-article__dek {
    max-width: 830px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.87);
    font-size: clamp(17px, 1.45vw, 21px);
    line-height: 1.62;
}
.zumi-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 29px;
}
.zumi-article__meta > span,
.zumi-article__meta > a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px 0 10px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(18,18,18,.38);
    color: #fff;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 750;
    text-decoration: none;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.zumi-article__meta b {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--za-orange);
    color: #fff;
    font-size: 11px;
    line-height: 1;
}

/* Local article navigation — deliberately echoes the blog search/filter toolbar. */
.zumi-article__nav-band {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--za-line);
    box-shadow: 0 6px 20px rgba(20,17,13,.035);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.admin-bar .zumi-article__nav-band { top: 32px; }
.zumi-article__nav-inner {
    width: min(var(--za-site-max), calc(100% - (var(--za-site-gutter) * 2)));
    min-height: 72px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
}
.zumi-article__back,
.zumi-article__menu-toggle,
.zumi-article__nav-context > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 11px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}
.zumi-article__back {
    padding: 0 14px;
    border: 1px solid #ded8d1;
    background: #fff;
    color: var(--za-ink);
}
.zumi-article__back span:first-child { color: var(--za-orange); font-size: 18px; }
.zumi-article__nav-context {
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #8a827b;
    font-size: 12px;
    font-weight: 700;
}
.zumi-article__nav-context > a {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #ead9cd;
    background: #fff8f3;
    color: #8a421d;
}
.zumi-article__progress-label { white-space: nowrap; }
.zumi-article__menu-toggle {
    min-width: 138px;
    padding: 0 15px;
    border: 1px solid #ded8d1;
    background: #fff;
    color: var(--za-ink);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.zumi-article__menu-toggle img {
    width: 19px !important;
    height: 19px !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain;
}
.zumi-article__progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    overflow: hidden;
    pointer-events: none;
}
.zumi-article__progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--za-orange);
    transition: width .08s linear;
}

.zumi-article__body-band {
    background: var(--za-soft);
    border-top: 1px solid #efebe7;
}
.zumi-article__layout {
    width: min(var(--za-site-max), calc(100% - (var(--za-site-gutter) * 2)));
    margin: 0 auto;
    padding: 58px 0 88px;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) 300px;
    justify-content: stretch;
    align-items: start;
    gap: 36px;
}

/* Contents/menu panel */
.zumi-article__toc {
    position: sticky;
    top: 102px;
    overflow: hidden;
    border: 1px solid var(--za-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(20,17,13,.04);
}
.admin-bar .zumi-article__toc { top: 134px; }
.zumi-article__toc-head {
    min-height: 66px;
    padding: 17px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--za-line);
}
.zumi-article__toc-title {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.zumi-article__toc-title img {
    width: 19px !important;
    height: 19px !important;
    max-width: none !important;
    margin: 0 !important;
}
.zumi-article__toc-title strong { font-size: 16px; line-height: 1.2; }
.zumi-article__toc-close { display: none; }
.zumi-article__toc-body { padding: 18px; }
.zumi-article__toc-kicker,
.zumi-article__related-kicker {
    display: block;
    margin-bottom: 10px;
    color: #8c827a;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.zumi-article__toc-list,
.zumi-article__toc-links {
    display: grid;
    gap: 2px;
}
.zumi-article__toc-list a,
.zumi-article__toc-links a {
    position: relative;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px 7px 13px;
    border-radius: 9px;
    color: #5a534e;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 650;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}
.zumi-article__toc-list a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 2px;
    border-radius: 2px;
    background: transparent;
}
.zumi-article__toc-list a.is-sub { padding-left: 24px; font-size: 12px; font-weight: 600; }
.zumi-article__toc-list a:hover,
.zumi-article__toc-list a.is-active,
.zumi-article__toc-links a:hover { background: #fbf6f2; color: var(--za-ink); }
.zumi-article__toc-list a.is-active::before { background: var(--za-orange); }
.zumi-article__toc-links a span { color: var(--za-orange); }
.zumi-article__toc-divider { height: 1px; background: var(--za-line); margin: 16px 0; }
.zumi-article__toc-cta {
    padding: 15px 18px 18px;
    border-top: 1px solid var(--za-line);
    background: #fff;
}
.zumi-article__toc-cta a {
    min-height: 49px;
    width: 100%;
    padding: 0 15px;
    border-radius: 12px;
    background: var(--za-orange);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.zumi-article__toc-cta a:hover { background: var(--za-orange-dark); }

/* Main article */
.zumi-article__content {
    min-width: 0;
    padding: clamp(30px, 3vw, 46px) clamp(28px, 4vw, 60px) clamp(34px, 4vw, 54px);
    border: 1px solid var(--za-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(20,17,13,.035);
}
.zumi-article__content-body {
    color: #34312e;
    font-size: 17px;
    line-height: 1.82;
}
.zumi-article__content-body > *:first-child { margin-top: 0; }
.zumi-article__content-body > *:last-child { margin-bottom: 0; }
.zumi-article__content-body p { margin: 0 0 1.45em; }
.zumi-article__content-body h2,
.zumi-article__content-body h3,
.zumi-article__content-body h4 {
    color: var(--za-ink);
    scroll-margin-top: 112px;
    text-wrap: balance;
}
.zumi-article__content-body h2 {
    margin: 1.75em 0 .55em;
    font-size: clamp(29px, 2.6vw, 39px);
    line-height: 1.13;
    letter-spacing: -.035em;
}
.zumi-article__content-body h3 {
    margin: 1.55em 0 .5em;
    font-size: clamp(23px, 2vw, 29px);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.zumi-article__content-body h4 {
    margin: 1.4em 0 .45em;
    font-size: 20px;
    line-height: 1.3;
}
.zumi-article__content-body a {
    color: #c8471f;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.zumi-article__content-body strong { color: #23211f; }
.zumi-article__content-body ul,
.zumi-article__content-body ol { margin: 0 0 1.5em; padding-left: 1.45em; }
.zumi-article__content-body li { margin: .45em 0; padding-left: .2em; }
.zumi-article__content-body li::marker { color: var(--za-orange); font-weight: 800; }
.zumi-article__content-body blockquote {
    margin: 2em 0;
    padding: 22px 25px;
    border: 1px solid #f0ddd1;
    border-left: 4px solid var(--za-orange);
    border-radius: 0 14px 14px 0;
    background: #fff8f3;
    color: #4c4139;
    font-size: 18px;
    line-height: 1.7;
}
.zumi-article__content-body blockquote p:last-child { margin-bottom: 0; }
.zumi-article__content-body img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
}
.zumi-article__content-body figure { margin: 2em 0; }
.zumi-article__content-body figcaption {
    margin-top: 8px;
    color: #817970;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
}
.zumi-article__content-body hr {
    border: 0;
    height: 1px;
    background: var(--za-line);
    margin: 2.5em 0;
}
.zumi-article__content-body table {
    width: 100%;
    margin: 1.8em 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--za-line);
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.5;
}
.zumi-article__content-body th,
.zumi-article__content-body td { padding: 12px 14px; border-bottom: 1px solid var(--za-line); text-align: left; }
.zumi-article__content-body th { background: #faf8f5; color: var(--za-ink); }
.zumi-article__content-body tr:last-child td { border-bottom: 0; }
.zumi-article__content-body .wp-block-button__link {
    border-radius: 11px;
    background: var(--za-orange);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.zumi-article__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid var(--za-line);
}
.zumi-article__tags a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border: 1px solid #e7ded7;
    border-radius: 999px;
    background: #fffaf7;
    color: #75503c;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}
.zumi-article__post-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
    margin-top: 34px;
}
.zumi-article__post-nav-item {
    min-width: 0;
    min-height: 116px;
    padding: 19px;
    border: 1px solid var(--za-line);
    border-radius: 14px;
    background: #faf9f7;
    color: var(--za-ink);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
}
.zumi-article__post-nav-item span {
    margin-bottom: 5px;
    color: var(--za-orange-dark);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.zumi-article__post-nav-item strong { font-size: 15px; line-height: 1.4; }
.zumi-article__post-nav-item.is-next { text-align: right; }

/* Related / conversion rail */
.zumi-article__related {
    position: sticky;
    top: 102px;
    display: grid;
    gap: 18px;
}
.admin-bar .zumi-article__related { top: 134px; }
.zumi-article__related-card,
.zumi-article__trip-card {
    overflow: hidden;
    border: 1px solid var(--za-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(20,17,13,.04);
}
.zumi-article__related-card { padding: 22px; }
.zumi-article__related-card h2 {
    margin: 0 0 13px;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -.025em;
}
.zumi-article__related-card > p { color: var(--za-muted); font-size: 13px; line-height: 1.6; }
.zumi-article__related-list { display: grid; }
.zumi-article__related-list a {
    position: relative;
    display: grid;
    gap: 3px;
    padding: 13px 26px 13px 0;
    border-top: 1px solid var(--za-line);
    color: var(--za-ink);
    text-decoration: none;
}
.zumi-article__related-list a:first-child { border-top: 0; }
.zumi-article__related-list a > span { color: #958c84; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.zumi-article__related-list a strong { font-size: 13px; line-height: 1.4; }
.zumi-article__related-list a i {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--za-orange);
    font-style: normal;
}
.zumi-article__trip-card {
    padding: 23px;
    border-color: #242424;
    background:
        radial-gradient(circle at 85% 20%, rgba(239,91,42,.27), transparent 34%),
        linear-gradient(145deg, #171717 0%, #27211d 100%);
    color: #fff;
}
.zumi-article__trip-card > span {
    display: block;
    margin-bottom: 8px;
    color: #ffb18c;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.zumi-article__trip-card > strong { display: block; font-size: 23px; line-height: 1.16; letter-spacing: -.025em; }
.zumi-article__trip-card p { margin: 11px 0 17px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.6; }
.zumi-article__trip-card a {
    min-height: 46px;
    padding: 0 14px;
    border-radius: 11px;
    background: var(--za-orange);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.zumi-article__trip-card a:hover { background: var(--za-orange-dark); }
.zumi-article__overlay { display: none; }

@media (max-width: 1400px) {
    .zumi-article__layout {
        grid-template-columns: 220px minmax(0, 1fr) 280px;
        gap: 28px;
    }
}

@media (max-width: 1180px) and (min-width: 961px) {
    .zumi-article__layout {
        grid-template-columns: 240px minmax(0, 1fr);
    }
    .zumi-article__related {
        position: static;
        grid-column: 2;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 960px) {
    .zumi-article__hero-inner,
    .zumi-article__nav-inner,
    .zumi-article__layout { width: min(calc(100% - 36px), var(--za-site-max)); }

    .zumi-article__nav-inner {
        min-height: 66px;
        grid-template-columns: auto 1fr auto;
        gap: 8px;
    }
    .zumi-article__nav-context > a { display: none; }
    .zumi-article__nav-context { justify-content: flex-end; }
    .zumi-article__menu-toggle { min-width: 128px; }

    html.zumi-article-lock,
    body.zumi-article-lock {
        overflow: hidden !important;
        overscroll-behavior: none !important;
    }
    .zumi-article__layout { display: block; padding: 38px 0 64px; }
    .zumi-article__toc {
        position: fixed;
        z-index: 1002;
        top: 0;
        right: 0;
        width: min(390px, 88vw);
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 20px 0 0 20px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        transform: translateX(103%);
        transition: transform .28s ease;
        box-shadow: -20px 0 50px rgba(0,0,0,.18);
    }
    .zumi-article.is-menu-open .zumi-article__toc { transform: translateX(0); }
    .admin-bar .zumi-article__toc { top: 0; }
    .zumi-article__toc-head {
        flex: 0 0 auto;
        min-height: 74px;
        padding: 17px 22px;
    }
    .zumi-article__toc-title strong { font-size: 18px; }
    .zumi-article__toc-close {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 0 2px;
        border: 1px solid #ddd6cf;
        border-radius: 50%;
        background: #fff;
        color: #151515;
        font: inherit;
        font-size: 25px;
        line-height: 1;
        cursor: pointer;
    }
    .zumi-article__toc-body {
        flex: 1 1 auto;
        min-height: 0;
        padding: 20px 22px;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .zumi-article__toc-cta {
        flex: 0 0 auto;
        padding: 16px 22px calc(16px + env(safe-area-inset-bottom));
        box-shadow: 0 -10px 24px rgba(20,17,13,.05);
    }
    .zumi-article__toc-cta a { min-height: 52px; }
    .zumi-article__overlay {
        display: block;
        position: fixed;
        z-index: 1001;
        inset: 0;
        background: rgba(8,7,6,.66);
        opacity: 0;
        pointer-events: none;
        transition: opacity .28s ease;
    }
    .zumi-article.is-menu-open .zumi-article__overlay { opacity: 1; pointer-events: auto; }
    .zumi-article__related { position: static; margin-top: 24px; grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .zumi-article__hero { min-height: 0; background-position: 62% center; }
    .zumi-article__hero-inner { width: calc(100% - 36px); padding: 58px 0 54px; }
    .zumi-article__breadcrumbs { margin-bottom: 20px; font-size: 11px; }
    .zumi-article__breadcrumbs ol { min-height: 38px; padding: 4px 5px; }
    .zumi-article__breadcrumbs a { min-height: 28px; padding: 0 8px; }
    .zumi-article__breadcrumbs li + li::before { width: 15px; font-size: 15px; }
    .zumi-article__crumb-home,
    .zumi-article__crumb-home svg { width: 13px !important; height: 13px !important; }
    .zumi-article__hero h1 { font-size: clamp(38px, 11vw, 53px); line-height: 1.03; }
    .zumi-article__dek { margin-top: 18px; font-size: 16px; line-height: 1.6; }
    .zumi-article__meta { gap: 7px; margin-top: 23px; }
    .zumi-article__meta > span,
    .zumi-article__meta > a { min-height: 35px; padding: 0 11px 0 8px; font-size: 10.5px; }
    .zumi-article__meta b { width: 18px; height: 18px; flex-basis: 18px; font-size: 10px; }

    .zumi-article__nav-band { top: 0; }
    .admin-bar .zumi-article__nav-band { top: 46px; }
    .zumi-article__nav-inner {
        width: calc(100% - 28px);
        min-height: 62px;
        grid-template-columns: auto 1fr 50px;
        gap: 7px;
    }
    .zumi-article__back {
        width: 46px;
        min-width: 46px;
        min-height: 46px;
        padding: 0;
        font-size: 0;
    }
    .zumi-article__back span:first-child { font-size: 19px; }
    .zumi-article__progress-label { font-size: 11px; }
    .zumi-article__menu-toggle {
        width: 50px;
        min-width: 50px;
        min-height: 46px;
        padding: 0;
    }
    .zumi-article__menu-toggle span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0,0,0,0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .zumi-article__layout { width: calc(100% - 28px); padding: 26px 0 50px; }
    .zumi-article__content { padding: 26px 21px 30px; border-radius: 16px; }
    .zumi-article__content-body { font-size: 16px; line-height: 1.76; }
    .zumi-article__content-body h2 { font-size: 29px; scroll-margin-top: 96px; }
    .zumi-article__content-body h3 { font-size: 23px; scroll-margin-top: 96px; }
    .zumi-article__content-body blockquote { padding: 18px 19px; font-size: 16px; }
    .zumi-article__post-nav { grid-template-columns: 1fr; }
    .zumi-article__post-nav-item.is-next { text-align: left; }
    .zumi-article__related { grid-template-columns: 1fr; margin-top: 18px; }
}

@media (max-width: 390px) {
    .zumi-article__hero-inner { width: calc(100% - 28px); }
    .zumi-article__toc { width: min(360px, 92vw); }
    .zumi-article__toc-head,
    .zumi-article__toc-body,
    .zumi-article__toc-cta { padding-left: 18px; padding-right: 18px; }
}

@media (min-width: 961px) {
    .zumi-article__nav-inner { grid-template-columns: auto 1fr; }
    .zumi-article__nav-context { justify-content: flex-end; }
    .zumi-article__menu-toggle { display: none; }
}


/* ========================================================================== 
   v1.8.0 — site-width parity + refined editorial post structure
   The Insurance page uses an approximately 1512px desktop content shell.
   Keep Journal and post pages on that same visual grid.
   ========================================================================== */
@media (min-width: 961px) {
    .zumi-blog__hero,
    .zumi-article__hero {
        width: min(1512px, calc(100% - 64px));
        max-width: 1512px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 20px;
    }

    .zumi-blog__hero { margin-top: 18px; }
    .zumi-article__hero { margin-top: 18px; }

    .zumi-blog__hero-inner,
    .zumi-article__hero-inner {
        width: 100% !important;
        max-width: none !important;
        padding-left: clamp(42px, 4.25vw, 68px);
        padding-right: clamp(42px, 4.25vw, 68px);
    }

    .zumi-blog__explore-inner,
    .zumi-blog__layout,
    .zumi-article__nav-inner,
    .zumi-article__layout {
        width: min(1512px, calc(100% - 64px)) !important;
        max-width: 1512px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Conventional editorial layout: TOC / readable article / related rail. */
    .zumi-article__layout {
        grid-template-columns: 220px minmax(0, 1fr) 300px;
        gap: 36px;
        justify-content: stretch;
    }

    .zumi-article__content {
        width: 100%;
        max-width: none;
    }
}

/* Cleaner table of contents: one navigation surface, no duplicate conversion CTA. */
.zumi-article__toc {
    box-shadow: none;
    border-radius: 14px;
}
.zumi-article__toc-head {
    min-height: 58px;
    padding-top: 14px;
    padding-bottom: 14px;
}
.zumi-article__toc-body { padding-top: 14px; }
.zumi-article__toc-title strong { font-size: 15px; }
.zumi-article__toc-kicker { margin-bottom: 8px; }
.zumi-article__toc-cta { display: none !important; }

/* Right rail is the single conversion area, as on conventional editorial sites. */
.zumi-article__related { gap: 16px; }
.zumi-article__related-card,
.zumi-article__trip-card { border-radius: 14px; box-shadow: none; }
.zumi-article__related-card { padding: 20px; }
.zumi-article__trip-card { padding: 21px; }

/* Keep the article readable while allowing the overall shell to align with Insurance. */
.zumi-article__content-body { max-width: 820px; margin-left: auto; margin-right: auto; }
.zumi-article__tags,
.zumi-article__post-nav { max-width: 820px; margin-left: auto; margin-right: auto; }
.zumi-article__tags { margin-top: 42px; }
.zumi-article__post-nav { margin-top: 34px; }

@media (max-width: 1200px) and (min-width: 961px) {
    .zumi-blog__hero,
    .zumi-article__hero,
    .zumi-blog__explore-inner,
    .zumi-blog__layout,
    .zumi-article__nav-inner,
    .zumi-article__layout {
        width: calc(100% - 48px) !important;
    }
    .zumi-article__layout {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 28px;
    }
    .zumi-article__related {
        grid-column: 2;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 960px) {
    .zumi-blog__hero,
    .zumi-article__hero {
        width: calc(100% - 28px);
        margin: 14px auto 0;
        border-radius: 16px;
    }
    .zumi-blog__hero-inner,
    .zumi-article__hero-inner {
        width: 100% !important;
        padding-left: 22px;
        padding-right: 22px;
    }
    .zumi-article__content-body,
    .zumi-article__tags,
    .zumi-article__post-nav { max-width: none; }
}

/* ========================================================================== 
   v1.9.0 — exact page-shell geometry from Zumi Native Insurance v1.0.20.18
   Insurance source rules copied conceptually:
   .zni-shell { width:100%; max-width:2200px; margin:0 auto; padding:15px 0; }
   major sections { margin:0 15px; }
   <=620px major sections { margin-inline:8px; }
   ========================================================================== */

/* The native blog template now sits directly between the theme header/footer,
   so do not use the older viewport breakout trick on the actual Blog page. */
.zumi-blog-page #zumi-native-blog {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background: #fff;
}

.zumi-blog-page #zumi-native-blog .zumi-blog {
    position: relative;
    left: auto;
    width: 100%;
    max-width: 2200px !important;
    margin: 0 auto;
    margin-left: auto;
    padding: 15px 0;
    overflow-x: hidden;
}

/* Match the exact Insurance left/right page edges. */
.zumi-blog-page .zumi-blog__hero,
.zumi-blog-page .zumi-blog__explore,
.zumi-blog-page .zumi-blog__content-band {
    margin-left: 15px;
    margin-right: 15px;
}

/* The old 1512px nested containers were the source of the visibly narrower
   Journal content. Let each major section own its full Insurance-width card. */
.zumi-blog-page .zumi-blog__hero-inner,
.zumi-blog-page .zumi-blog__explore-inner,
.zumi-blog-page .zumi-blog__layout {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.zumi-blog-page .zumi-blog__hero {
    min-height: clamp(430px, 31vw, 610px);
    border-radius: clamp(15px, 1.1vw, 22px);
    border: 1px solid rgba(112, 76, 58, .10);
}

.zumi-blog-page .zumi-blog__hero-inner {
    padding: clamp(42px, 4.2vw, 88px);
}

.zumi-blog-page .zumi-blog__explore {
    padding: clamp(38px, 3.4vw, 68px);
    border: 1px solid #eee9e5;
    border-radius: clamp(15px, 1.1vw, 22px);
}

.zumi-blog-page .zumi-blog__content-band {
    overflow: visible;
    border: 1px solid #eee9e5;
    border-radius: clamp(15px, 1.1vw, 22px);
}

.zumi-blog-page .zumi-blog__layout {
    padding: clamp(38px, 3.4vw, 68px);
    grid-template-columns: minmax(0, 1fr) clamp(280px, 18vw, 340px);
    gap: clamp(24px, 2.2vw, 44px);
}

/* Single posts now use the same outer shell geometry as Insurance too. */
.zumi-article {
    width: 100%;
    max-width: 2200px;
    margin: 0 auto;
    padding: 15px 0;
    overflow-x: hidden;
}

.zumi-article__hero,
.zumi-article__nav-band,
.zumi-article__body-band {
    margin-left: 15px;
    margin-right: 15px;
}

.zumi-article__hero {
    min-height: clamp(430px, 31vw, 610px);
    border-radius: clamp(15px, 1.1vw, 22px);
    border: 1px solid rgba(112, 76, 58, .10);
}

.zumi-article__hero-inner,
.zumi-article__nav-inner,
.zumi-article__layout {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.zumi-article__hero-inner {
    padding: clamp(42px, 4.2vw, 88px);
}

.zumi-article__nav-band {
    border: 1px solid #eee9e5;
    border-radius: clamp(15px, 1.1vw, 22px);
}

.zumi-article__nav-inner {
    padding-left: clamp(22px, 3.4vw, 68px);
    padding-right: clamp(22px, 3.4vw, 68px);
}

.zumi-article__body-band {
    border: 1px solid #eee9e5;
    border-radius: clamp(15px, 1.1vw, 22px);
    overflow: visible;
}

.zumi-article__layout {
    padding: clamp(38px, 3.4vw, 68px);
    grid-template-columns: clamp(220px, 15vw, 270px) minmax(0, 1fr) clamp(280px, 18vw, 340px);
    gap: clamp(24px, 2.2vw, 44px);
}

/* Keep long-form text at an editorially comfortable measure even though the
   surrounding page/card now extends to the same outer width as Insurance. */
.zumi-article__content-body,
.zumi-article__tags,
.zumi-article__post-nav {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* The main card itself participates in the wide layout; only the prose measure
   is capped. This avoids the visually tiny centre card seen in v1.8. */
.zumi-article__content {
    width: 100%;
}

@media (max-width: 1180px) and (min-width: 961px) {
    .zumi-article__layout {
        grid-template-columns: clamp(220px, 24vw, 260px) minmax(0, 1fr);
    }
    .zumi-article__related {
        grid-column: 2;
    }
}

@media (max-width: 960px) {
    .zumi-blog-page .zumi-blog__layout,
    .zumi-article__layout {
        padding-left: clamp(18px, 4vw, 32px);
        padding-right: clamp(18px, 4vw, 32px);
    }

    .zumi-article__nav-inner {
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media (max-width: 620px) {
    .zumi-blog-page #zumi-native-blog .zumi-blog,
    .zumi-article {
        padding: 8px 0;
    }

    .zumi-blog-page .zumi-blog__hero,
    .zumi-blog-page .zumi-blog__explore,
    .zumi-blog-page .zumi-blog__content-band,
    .zumi-article__hero,
    .zumi-article__nav-band,
    .zumi-article__body-band {
        margin-left: 8px;
        margin-right: 8px;
        border-radius: 14px;
    }

    .zumi-blog-page .zumi-blog__hero-inner,
    .zumi-blog-page .zumi-blog__explore,
    .zumi-blog-page .zumi-blog__layout,
    .zumi-article__hero-inner,
    .zumi-article__layout {
        padding-left: 20px;
        padding-right: 20px;
    }

    .zumi-blog-page .zumi-blog__explore,
    .zumi-blog-page .zumi-blog__layout,
    .zumi-article__layout {
        padding-top: 26px;
        padding-bottom: 26px;
    }
}

/* ========================================================================== 
   v1.10.0 — exact Insurance-width reset + cleaner editorial surfaces
   ========================================================================== */

/* Use the same core palette as the native Insurance page. */
.zumi-blog,
.zumi-article {
    --zb-orange: #E86A24;
    --zb-orange-dark: #D85B1B;
    --zb-ink: #171717;
    --zb-muted: #68635F;
    --zb-line: #E9E4E0;
    --zb-soft: #F7F2EE;
    --zb-soft-2: #F8F5F2;
    --za-orange: #E86A24;
    --za-orange-dark: #D85B1B;
    --za-ink: #171717;
    --za-muted: #68635F;
    --za-line: #E9E4E0;
    --za-soft: #F7F2EE;
}

/* v1.8 left a 1512px width/max-width on the hero. Reset it completely so
   these sections actually occupy the Insurance shell (2200px max, 15px inset). */
.zumi-blog-page .zumi-blog__hero,
.zumi-blog-page .zumi-blog__explore,
.zumi-blog-page .zumi-blog__content-band,
.zumi-article__hero,
.zumi-article__nav-band,
.zumi-article__body-band {
    width: auto !important;
    max-width: none !important;
    margin-left: 15px !important;
    margin-right: 15px !important;
}

/* Main Journal section surfaces: keep the broad Insurance geometry but avoid
   the large grey slab behind editorial content. */
.zumi-blog-page .zumi-blog__content-band {
    background: #FFFFFF !important;
    border-color: var(--zb-line) !important;
}

/* Single-post editorial area: plain white page, no oversized grey container. */
.zumi-article__body-band {
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.zumi-article__layout {
    padding-top: clamp(44px, 3.8vw, 70px) !important;
    padding-bottom: clamp(58px, 4.6vw, 92px) !important;
}

/* The prose should read as an article, not as a floating card inside a grey box. */
.zumi-article__content {
    border: 0 !important;
    border-radius: 0 !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    padding-top: 14px !important;
}

/* Side modules remain cards, using the exact warm neutrals from Insurance. */
.zumi-article__toc,
.zumi-article__related-card {
    border-color: var(--za-line) !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
}
.zumi-article__toc-list a:hover,
.zumi-article__toc-list a.is-active,
.zumi-article__toc-links a:hover {
    background: #FFF8F4 !important;
}
.zumi-article__nav-context > a {
    border-color: #F0D9CB !important;
    background: #FFF8F4 !important;
    color: #93491F !important;
}
.zumi-article__post-nav-item {
    background: #F8F5F2 !important;
}

/* The top utility row should feel like a site control bar, not another rounded
   content card. */
.zumi-article__nav-band {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.98) !important;
}

/* Mobile article utility: a clear return-to-blog action replaces the former
   icon-only search square. */
.zumi-article__mobile-blog-link {
    display: none;
}

@media (max-width: 960px) {
    .zumi-article__back {
        display: none !important;
    }
    .zumi-article__mobile-blog-link {
        min-height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0 15px;
        border: 1px solid #DDD8D2;
        border-radius: 11px;
        background: #FFFFFF;
        color: var(--za-ink);
        text-decoration: none;
        font-size: 13px;
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
        box-shadow: 0 1px 0 rgba(20,17,13,.02);
        transition: border-color .16s ease, background .16s ease, transform .12s ease, box-shadow .16s ease;
        -webkit-tap-highlight-color: transparent;
    }
    .zumi-article__mobile-blog-link:hover {
        border-color: #d3c9c1;
        background: #FBF7F4;
        box-shadow: 0 5px 16px rgba(20,17,13,.06);
    }
    .zumi-article__mobile-blog-link:focus-visible {
        outline: 0;
        box-shadow: 0 0 0 3px rgba(239,91,42,.18);
        border-color: var(--za-orange);
    }
    .zumi-article__mobile-blog-link:active { transform: scale(.97); }
    .zumi-article__mobile-blog-arrow {
        color: var(--za-orange);
        font-size: 18px;
        font-weight: 500;
        line-height: 1;
        transform: translateY(-1px);
    }
    .zumi-article__menu-toggle {
        width: 50px;
        min-width: 50px;
        height: 50px;
        min-height: 50px;
        padding: 0;
        border: 1px solid #DDD8D2;
        border-radius: 11px;
        background: #FFFFFF;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }
    .zumi-article__menu-toggle img {
        width: 21px !important;
        height: 21px !important;
        margin: 0 !important;
    }
    .zumi-article__nav-inner {
        grid-template-columns: auto minmax(0, 1fr) 50px !important;
        gap: 8px !important;
        min-height: 66px;
    }
    .zumi-article__nav-context {
        justify-content: flex-end;
    }

    /* Match the main Blog filter drawer treatment on post pages. */
    .zumi-article__toc {
        width: min(390px, 88vw);
        border-radius: 20px 0 0 20px !important;
        background: #FFFFFF !important;
    }
    .zumi-article__toc-head {
        min-height: 74px;
        padding: 17px 22px;
        border-bottom: 1px solid var(--za-line);
    }
    .zumi-article__toc-title img {
        width: 21px !important;
        height: 21px !important;
    }
    .zumi-article__toc-close {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        border: 1px solid #DDD6CF;
        border-radius: 50%;
        background: #FFFFFF;
    }
    .zumi-article__toc-body {
        padding: 20px 22px calc(24px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 620px) {
    .zumi-blog-page .zumi-blog__hero,
    .zumi-blog-page .zumi-blog__explore,
    .zumi-blog-page .zumi-blog__content-band,
    .zumi-article__hero,
    .zumi-article__nav-band,
    .zumi-article__body-band {
        width: auto !important;
        max-width: none !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }

    /* The article body itself stays clean and white on small screens too. */
    .zumi-article__body-band {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .zumi-article__content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* v1.12.0 — breadcrumb + mobile post navigation refinements */
.zumi-article__back:hover,
.zumi-article__menu-toggle:hover {
    border-color: #D3C9C1;
    background: #FBF7F4;
}
.zumi-article__back:focus-visible,
.zumi-article__menu-toggle:focus-visible {
    outline: 0;
    border-color: var(--za-orange);
    box-shadow: 0 0 0 3px rgba(239,91,42,.16);
}
.zumi-article__back:active,
.zumi-article__menu-toggle:active { transform: scale(.97); }

@media (max-width: 960px) {
    .zumi-article__nav-context { min-width: 0; }
    .zumi-article__nav-context > a { display: none !important; }
    .zumi-article__progress-label { margin-left: auto; }
}

@media (max-width: 700px) {
    .zumi-article__nav-inner {
        width: calc(100% - 28px);
        grid-template-columns: auto minmax(0,1fr) 50px !important;
    }
    .zumi-article__mobile-blog-link {
        min-height: 46px;
        padding: 0 12px;
        font-size: 12.5px;
    }
    .zumi-article__nav-context { display: none; }
}

@media (max-width: 380px) {
    .zumi-article__mobile-blog-link {
        padding: 0 10px;
        gap: 6px;
        font-size: 12px;
    }
}


/* ========================================================================== 
   v1.13.0 — Insurance-parity mobile spacing + stable article drawer scroll lock
   Insurance mobile geometry:
   shell padding: 8px 0; major section side margins: 8px; section padding: 26px 16px.
   ========================================================================== */

/* Prevent browser scroll anchoring / smooth-scroll rules from nudging the page
   while the mobile article drawer is locked and restored. */
html.zumi-article-lock,
body.zumi-article-lock {
    scroll-behavior: auto !important;
    overflow-anchor: none !important;
}

@media (max-width: 900px) {
    /* Insurance uses a 10px shell inset on tablet and no extra hero top margin. */
    .zumi-article {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .zumi-article__hero {
        margin-top: 0 !important;
    }
}

@media (max-width: 620px) {
    /* Exact Insurance mobile shell spacing: 8px from the site header to hero. */
    .zumi-article {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    .zumi-article__hero {
        margin-top: 0 !important;
    }

    /* Match Insurance section rhythm below the utility controls: 26px total
       from the divider to the first article content, not 26px + legacy card padding. */
    .zumi-article__layout {
        padding-top: 26px !important;
    }
    .zumi-article__content {
        padding-top: 0 !important;
    }
}

/* ========================================================================== 
   v1.14.0 — single-post edge alignment + wider editorial column
   Align the post layout to the same outer edges as the hero while keeping
   deliberate gutters between the TOC, article and related-post rail.
   ========================================================================== */

/* Remove the residual separator/shadow immediately below the hero/navigation
   area so the transition into the article is clean, like the Insurance page. */
.zumi-article__nav-band {
    border-bottom: 0 !important;
    box-shadow: none !important;
}
.zumi-article__body-band {
    border-top: 0 !important;
}

@media (min-width: 961px) {
    /* The body band already has the same 15px outer inset as the hero. Do not
       inset the grid a second time: the side cards now finish on the hero edges. */
    .zumi-article__layout {
        padding-left: 0 !important;
        padding-right: 0 !important;
        gap: clamp(26px, 1.9vw, 36px) !important;
    }

    /* Give the editorial column more room while retaining clear separation
       from the navigation and related-post rails. */
    .zumi-article__content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .zumi-article__content-body,
    .zumi-article__tags,
    .zumi-article__post-nav {
        max-width: 1180px !important;
    }
}

@media (min-width: 1181px) {
    .zumi-article__layout {
        grid-template-columns:
            clamp(210px, 13vw, 250px)
            minmax(0, 1fr)
            clamp(270px, 17vw, 320px) !important;
    }
}

/* Preserve comfortable tablet/mobile padding; only desktop uses exact edge
   alignment for the side rails. */
@media (max-width: 960px) {
    .zumi-article__body-band {
        border-top: 0 !important;
    }
}


/* ========================================================================== 
   v1.15.0 — exact Insurance shell rhythm + cleaner post spacing
   Removes inherited hero top margins, trims the gap before article content,
   removes the faint hero edge rule, and increases separation around prose.
   ========================================================================== */

/* Insurance places the first hero immediately inside its shell padding:
   15px desktop, 10px tablet, 8px phone. Older Journal rules added another
   hero margin on top, effectively doubling that space. */
.zumi-blog-page .zumi-blog__hero,
.zumi-article__hero {
    margin-top: 0 !important;
}

/* The fine rule visible around the bottom rounded corners was the article
   hero border. The image itself now forms the clean edge. */
.zumi-article__hero {
    border: 0 !important;
    box-shadow: none !important;
}

/* Keep the control row compact and reduce the empty runway before the post.
   The resulting vertical rhythm is much closer to the Insurance sections. */
.zumi-article__nav-inner {
    min-height: 62px !important;
}
.zumi-article__layout {
    padding-top: clamp(26px, 2vw, 36px) !important;
}

@media (min-width: 961px) {
    /* More breathing room between the editorial column and both side rails,
       without shrinking the article back to the narrow pre-v1.14 measure. */
    .zumi-article__layout {
        gap: clamp(42px, 2.8vw, 56px) !important;
    }
    .zumi-article__content {
        padding-left: clamp(10px, .8vw, 18px) !important;
        padding-right: clamp(10px, .8vw, 18px) !important;
    }
    .zumi-article__content-body,
    .zumi-article__tags,
    .zumi-article__post-nav {
        max-width: 1120px !important;
    }
}

@media (max-width: 900px) {
    /* Same shell rhythm as Insurance tablet. */
    .zumi-blog-page #zumi-native-blog .zumi-blog,
    .zumi-article {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .zumi-article__layout {
        padding-top: 22px !important;
    }
}

@media (max-width: 620px) {
    /* Exact Insurance phone shell rhythm and a tighter hand-off from controls
       into the article. */
    .zumi-blog-page #zumi-native-blog .zumi-blog,
    .zumi-article {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    .zumi-blog-page .zumi-blog__hero,
    .zumi-article__hero {
        margin-top: 0 !important;
    }
    .zumi-article__nav-inner {
        min-height: 58px !important;
    }
    .zumi-article__layout {
        padding-top: 18px !important;
    }
}

/* ========================================================================== 
   v1.16.0 — compact article controls on tablet/mobile
   Keep the post utility row aligned at the edges, prevent the menu label from
   wrapping at intermediate widths, and tighten the hand-off into article text.
   ========================================================================== */
@media (max-width: 960px) {
    /* On touch layouts the two useful actions are simply Blog (left) and the
       article contents menu (right). Removing the middle label makes their
       alignment deterministic at every intermediate viewport width. */
    .zumi-article__nav-inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        min-height: 56px !important;
    }
    .zumi-article__nav-context {
        display: none !important;
    }
    .zumi-article__mobile-blog-link {
        flex: 0 0 auto;
    }
    .zumi-article__menu-toggle {
        flex: 0 0 48px !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        margin-left: auto !important;
        justify-self: end !important;
    }
    /* Keep the accessible button label for screen readers but show only the
       filter icon on tablet/mobile. This avoids the narrow wrapping shown on
       intermediate-width screens. */
    .zumi-article__menu-toggle span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .zumi-article__menu-toggle img {
        width: 20px !important;
        height: 20px !important;
    }

    /* Pull the first line of the post closer to the utility row. */
    .zumi-article__layout {
        padding-top: 12px !important;
    }
}

@media (max-width: 620px) {
    .zumi-article__nav-inner {
        min-height: 54px !important;
    }
    .zumi-article__menu-toggle {
        flex-basis: 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
    }
    .zumi-article__layout {
        padding-top: 10px !important;
    }
}


/* ========================================================================== 
   v1.17.0 — hero/control spacing separation + edge-line cleanup
   Give the utility controls more breathing room after the hero while allowing
   the article itself to begin sooner below the controls. These are deliberately
   independent so changing the post start does not pull the buttons upward.
   ========================================================================== */

/* Older wide-shell rules gave the sticky utility band a full perimeter border.
   Its left/right/top strokes could peek out directly beneath the hero's rounded
   corners as two faint grey lines. Keep the band visually borderless. */
.zumi-article__nav-band {
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Make sure no inherited pseudo-element paints a rule at the hero hand-off. */
.zumi-article__nav-band::before,
.zumi-article__nav-band::after {
    border: 0 !important;
    box-shadow: none !important;
}

/* Preserve the real orange reading-progress element; only its orange fill is
   visible, never a grey track. */
.zumi-article__progress {
    background: transparent !important;
    border: 0 !important;
}

@media (max-width: 960px) {
    /* More white space BETWEEN the hero and utility controls. Padding belongs
       to the control band itself, so it doesn't alter the hero geometry. */
    .zumi-article__nav-band {
        padding-top: 14px !important;
        padding-bottom: 0 !important;
    }

    /* Move only the article start upward. The controls remain in their own
       position above because this changes the following body grid, not nav. */
    .zumi-article__layout {
        padding-top: 4px !important;
    }
}

@media (max-width: 620px) {
    .zumi-article__nav-band {
        padding-top: 14px !important;
    }
    .zumi-article__layout {
        padding-top: 2px !important;
    }
}


/* ========================================================================== 
   v1.18.0 — responsive post-start spacing
   On phones the article copy needs a little breathing room below the utility
   controls. On larger screens the previous desktop top padding was too deep,
   creating a large blank runway before the opening paragraph.
   ========================================================================== */

/* Desktop / large screens: bring the article grid up without moving the hero
   or utility controls. Side rails and the main article therefore begin sooner. */
@media (min-width: 961px) {
    .zumi-article__layout {
        padding-top: 16px !important;
    }
    .zumi-article__content {
        padding-top: 0 !important;
    }
}

/* Tablet: maintain a modest separation from the buttons to the article. */
@media (min-width: 621px) and (max-width: 960px) {
    .zumi-article__layout {
        padding-top: 12px !important;
    }
    .zumi-article__content {
        padding-top: 0 !important;
    }
}

/* Phone: lower the first line slightly relative to v1.17.0 while leaving the
   button row exactly where it is. This affects only the following body grid. */
@media (max-width: 620px) {
    .zumi-article__layout {
        padding-top: 14px !important;
    }
    .zumi-article__content {
        padding-top: 0 !important;
    }
}

/* ========================================================================== 
   v1.19.0 — slightly more hero-to-control breathing room
   Keep the article start independent; only move the utility controls a few
   pixels farther from the bottom of the hero on touch-sized layouts.
   ========================================================================== */
@media (max-width: 960px) {
    .zumi-article__nav-band {
        padding-top: 18px !important;
    }
}

@media (max-width: 620px) {
    .zumi-article__nav-band {
        padding-top: 17px !important;
    }
}

/* ========================================================================== 
   v1.20.0 — hero-to-control spacing on larger screens
   Match the touch layouts by giving the desktop/tablet utility row a little
   more breathing room below the hero without moving the article body itself.
   ========================================================================== */
@media (min-width: 961px) {
    .zumi-article__nav-band {
        padding-top: 18px !important;
    }
}

/* ==========================================================
   v1.21.0 — tighter editorial vertical rhythm
   Reduces excess whitespace around headings, paragraphs,
   images and common Gutenberg media/layout blocks.
   ========================================================== */
.zumi-article__content-body p {
    margin-bottom: 1.15em;
}

.zumi-article__content-body h2 {
    margin-top: 1.28em;
    margin-bottom: .42em;
}

.zumi-article__content-body h3 {
    margin-top: 1.18em;
    margin-bottom: .4em;
}

.zumi-article__content-body h4 {
    margin-top: 1.08em;
    margin-bottom: .38em;
}

.zumi-article__content-body figure,
.zumi-article__content-body .wp-block-image,
.zumi-article__content-body .wp-block-gallery,
.zumi-article__content-body .wp-block-columns,
.zumi-article__content-body .wp-block-media-text {
    margin-top: 1.2em !important;
    margin-bottom: 1.2em !important;
}

.zumi-article__content-body .wp-block-columns {
    gap: 18px;
}

.zumi-article__content-body figcaption {
    margin-top: 6px;
}

/* Avoid doubled margins when an image follows text or a heading follows media. */
.zumi-article__content-body p + figure,
.zumi-article__content-body p + .wp-block-image,
.zumi-article__content-body p + .wp-block-columns,
.zumi-article__content-body p + .wp-block-gallery,
.zumi-article__content-body h2 + figure,
.zumi-article__content-body h2 + .wp-block-image,
.zumi-article__content-body h2 + .wp-block-columns,
.zumi-article__content-body h3 + figure,
.zumi-article__content-body h3 + .wp-block-image,
.zumi-article__content-body h3 + .wp-block-columns {
    margin-top: .85em !important;
}

.zumi-article__content-body figure + h2,
.zumi-article__content-body .wp-block-image + h2,
.zumi-article__content-body .wp-block-columns + h2,
.zumi-article__content-body .wp-block-gallery + h2 {
    margin-top: 1.15em;
}

@media (max-width: 767px) {
    .zumi-article__content-body p {
        margin-bottom: 1.05em;
    }
    .zumi-article__content-body h2 {
        margin-top: 1.18em;
        margin-bottom: .38em;
    }
    .zumi-article__content-body h3 {
        margin-top: 1.08em;
    }
    .zumi-article__content-body figure,
    .zumi-article__content-body .wp-block-image,
    .zumi-article__content-body .wp-block-gallery,
    .zumi-article__content-body .wp-block-columns,
    .zumi-article__content-body .wp-block-media-text {
        margin-top: 1em !important;
        margin-bottom: 1em !important;
    }
}

/* ==========================================================
   v1.22.0 — article section-heading accents + refined spacing
   Match the visual language used across Zumi custom pages by
   adding a short orange dash to primary article section titles.
   Also restores a little breathing room when a new H2 follows
   body copy without reopening the larger media gaps tightened
   in v1.21.0.
   ========================================================== */
.zumi-article__content-body h2 {
    position: relative;
    padding-left: 42px;
}

.zumi-article__content-body h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: .60em;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: var(--za-orange, #E86A24);
    transform: translateY(-50%);
}

/* A slightly clearer pause after prose before the next major section. */
.zumi-article__content-body p + h2 {
    margin-top: 1.58em !important;
}

@media (max-width: 767px) {
    .zumi-article__content-body h2 {
        padding-left: 36px;
    }

    .zumi-article__content-body h2::before {
        top: .61em;
        width: 24px;
        height: 2px;
    }

    .zumi-article__content-body p + h2 {
        margin-top: 1.48em !important;
    }
}

/* ==========================================================
   v1.23.0 — tighter spacing between comparison images
   Keep paired destination comparisons visually connected,
   especially when Gutenberg columns stack on narrow screens.
   ========================================================== */
.zumi-article__content-body .zumi-landscape-comparison {
    gap: 12px !important;
    row-gap: 12px !important;
}

.zumi-article__content-body .zumi-landscape-comparison > .wp-block-column {
    margin: 0 !important;
    padding: 0 !important;
}

.zumi-article__content-body .zumi-landscape-comparison figure,
.zumi-article__content-body .zumi-landscape-comparison .wp-block-image {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.zumi-article__content-body .zumi-landscape-comparison figcaption {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
}

/* Also tighten consecutive standalone media blocks without making
   normal paragraph-to-image spacing feel cramped. */
.zumi-article__content-body figure + figure,
.zumi-article__content-body .wp-block-image + .wp-block-image,
.zumi-article__content-body figure + .wp-block-image,
.zumi-article__content-body .wp-block-image + figure {
    margin-top: .55em !important;
}

@media (max-width: 767px) {
    .zumi-article__content-body .zumi-landscape-comparison {
        gap: 10px !important;
        row-gap: 10px !important;
    }
}

/* ==========================================================
   v1.24.0 — comparison image spacing + caption bubbles
   Give side-by-side comparison images more horizontal breathing
   room on larger screens while keeping stacked mobile pairs tight.
   Captions use a warm Zumi-style bubble beneath each image.
   ========================================================== */
@media (min-width: 961px) {
    .zumi-article__content-body .zumi-landscape-comparison {
        column-gap: 34px !important;
        row-gap: 12px !important;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .zumi-article__content-body .zumi-landscape-comparison {
        column-gap: 24px !important;
        row-gap: 12px !important;
    }
}

.zumi-article__content-body .zumi-landscape-comparison figcaption,
.zumi-article__content-body figure.wp-block-image figcaption {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding: 9px 12px;
    border: 1px solid rgba(232, 106, 36, .16);
    border-radius: 12px;
    background: #fff8f4;
    color: #5f554f;
    font-size: .92em;
    line-height: 1.45;
    box-shadow: 0 5px 16px rgba(32, 24, 20, .05);
}

.zumi-article__content-body .zumi-landscape-comparison figcaption strong,
.zumi-article__content-body figure.wp-block-image figcaption strong {
    color: #1c1917;
    font-weight: 700;
}

@media (max-width: 767px) {
    .zumi-article__content-body .zumi-landscape-comparison {
        column-gap: 10px !important;
        row-gap: 10px !important;
    }

    .zumi-article__content-body .zumi-landscape-comparison figcaption,
    .zumi-article__content-body figure.wp-block-image figcaption {
        margin-top: 7px !important;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: .9em;
    }
}


/* ==========================================================
   v1.25.0 — force comparison spacing + caption cards
   These selectors target the actual importer markup directly and
   deliberately outrank theme/Gutenberg caption and column rules.
   ========================================================== */
.zumi-blog-article-page .zumi-article__content-body figure.zumi-post-figure > figcaption.wp-element-caption,
.zumi-blog-article-page .zumi-article__content-body .zumi-landscape-comparison figure > figcaption {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
    padding: 10px 13px !important;
    background: #fff7f2 !important;
    border: 1px solid rgba(232, 106, 36, .22) !important;
    border-radius: 12px !important;
    color: #5f554f !important;
    font-size: .92em !important;
    font-style: normal !important;
    line-height: 1.45 !important;
    text-align: left !important;
    box-shadow: 0 4px 14px rgba(32, 24, 20, .045) !important;
}

.zumi-blog-article-page .zumi-article__content-body figure.zumi-post-figure > figcaption.wp-element-caption strong,
.zumi-blog-article-page .zumi-article__content-body .zumi-landscape-comparison figure > figcaption strong {
    color: #1c1917 !important;
    font-weight: 700 !important;
}

@media (min-width: 961px) {
    .zumi-blog-article-page .zumi-article__content-body .wp-block-columns.zumi-landscape-comparison,
    .zumi-blog-article-page .zumi-article__content-body .wp-block-columns:has(> .wp-block-column > figure.zumi-post-figure) {
        gap: 44px !important;
        column-gap: 44px !important;
        row-gap: 12px !important;
    }
}

@media (min-width: 768px) and (max-width: 960px) {
    .zumi-blog-article-page .zumi-article__content-body .wp-block-columns.zumi-landscape-comparison,
    .zumi-blog-article-page .zumi-article__content-body .wp-block-columns:has(> .wp-block-column > figure.zumi-post-figure) {
        gap: 30px !important;
        column-gap: 30px !important;
        row-gap: 12px !important;
    }
}

@media (max-width: 767px) {
    .zumi-blog-article-page .zumi-article__content-body figure.zumi-post-figure > figcaption.wp-element-caption,
    .zumi-blog-article-page .zumi-article__content-body .zumi-landscape-comparison figure > figcaption {
        margin-top: 7px !important;
        padding: 9px 11px !important;
        border-radius: 10px !important;
        font-size: .9em !important;
    }
}


/* ==========================================================
   v1.26.0 — mobile heading breathing room + paragraph leading
   Keep headings visually separated from the first paragraph on
   phones, while increasing line spacing only for body paragraphs.
   ========================================================== */
.zumi-blog-article-page .zumi-article__content-body p {
    line-height: 1.88;
}

@media (max-width: 767px) {
    .zumi-blog-article-page .zumi-article__content-body h2 {
        margin-bottom: .62em !important;
    }

    .zumi-blog-article-page .zumi-article__content-body h3 {
        margin-bottom: .56em !important;
    }

    .zumi-blog-article-page .zumi-article__content-body h4 {
        margin-bottom: .52em !important;
    }

    .zumi-blog-article-page .zumi-article__content-body p {
        line-height: 1.92;
    }
}


/* ==========================================================
   v1.27.0 — category grouping + unified Plan CTA
   Keep "All posts" separate from the post's assigned categories,
   and match the right-rail booking CTA to the site's header button.
   ========================================================== */
.zumi-article__toc-subdivider {
    height: 1px;
    margin: 12px 0 14px;
    background: var(--za-line);
}

.zumi-article__toc-links--all + .zumi-article__toc-subdivider {
    margin-top: 12px;
}

.zumi-article__toc-links--categories a {
    font-weight: 700;
}

.zumi-article__trip-card .zumi-article__trip-button {
    min-height: 52px;
    width: 100%;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: var(--za-orange);
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none;
    transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.zumi-article__trip-card .zumi-article__trip-button:hover,
.zumi-article__trip-card .zumi-article__trip-button:focus-visible {
    background: var(--za-orange-dark);
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(232, 86, 35, .18);
}

.zumi-article__trip-card .zumi-article__trip-button:active {
    transform: translateY(0);
    box-shadow: none;
}

.zumi-article__trip-button-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: inline-grid;
    place-items: center;
    color: currentColor;
}

.zumi-article__trip-button-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ==========================================================================
   v1.30.0 — repaired editorial intro + desktop footer hand-off
   v1.28 was accidentally written with literal "\\n" text, which caused the
   browser to ignore those rules and could also prevent later overrides from
   applying consistently. This clean block is intentionally last in the file.
   ========================================================================== */

/* Editorial lead-in for the first two article paragraphs. */
body.zumi-blog-article-page .zumi-article__intro {
    position: relative;
    box-sizing: border-box;
    margin: 0 0 2em !important;
    padding: 26px 30px 26px 34px !important;
    overflow: hidden;
    border: 1px solid rgba(232, 106, 36, .20) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(232, 106, 36, .085), transparent 38%),
        linear-gradient(135deg, #fff8f4 0%, #fffdfb 74%) !important;
    box-shadow: 0 10px 28px rgba(35, 27, 22, .055) !important;
}

body.zumi-blog-article-page .zumi-article__intro::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20px;
    bottom: 20px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--za-orange, #E86A24);
}

body.zumi-blog-article-page .zumi-article__intro::after {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    margin-top: 18px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--za-orange, #E86A24), #f5b735);
}

body.zumi-blog-article-page .zumi-article__intro p {
    margin: 0 0 .95em !important;
    color: #2b2825 !important;
    line-height: 1.78 !important;
}

body.zumi-blog-article-page .zumi-article__intro p:first-child {
    font-size: clamp(1.06rem, 1.2vw, 1.2rem) !important;
    font-weight: 650 !important;
    letter-spacing: -.01em;
}

body.zumi-blog-article-page .zumi-article__intro p:last-of-type {
    margin-bottom: 0 !important;
}

/* Short and medium articles were retaining the old 58–92px body padding.
   Keep a clean but much tighter hand-off into the site footer on desktop. */
@media (min-width: 961px) {
    body.zumi-blog-article-page .zumi-article__layout {
        padding-bottom: 24px !important;
    }

    body.zumi-blog-article-page .zumi-article__content,
    body.zumi-blog-article-page .zumi-article__body-band {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    body.zumi-blog-article-page .zumi-article__tags {
        margin-bottom: 0 !important;
    }

    body.zumi-blog-article-page .zumi-article__post-nav:last-child,
    body.zumi-blog-article-page .zumi-article__tags:last-child {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    body.zumi-blog-article-page .zumi-article__intro {
        margin-bottom: 1.7em !important;
        padding: 18px 17px 18px 22px !important;
        border-radius: 14px !important;
        box-shadow: 0 7px 20px rgba(35, 27, 22, .045) !important;
    }

    body.zumi-blog-article-page .zumi-article__intro::before {
        top: 16px;
        bottom: 16px;
        width: 3px;
    }

    body.zumi-blog-article-page .zumi-article__intro::after {
        width: 38px;
        margin-top: 14px;
    }

    body.zumi-blog-article-page .zumi-article__intro p {
        line-height: 1.82 !important;
    }

    body.zumi-blog-article-page .zumi-article__intro p:first-child {
        font-size: 1.04rem !important;
    }
}



/* ========================================================================== 
   v1.31.0 — softer intro + tighter mobile article ending
   ========================================================================== */

/* Keep the introduction visually distinct, but much quieter than the previous
   orange-accented treatment. No vertical or horizontal decorative strokes. */
body.zumi-blog-article-page .zumi-article__intro {
    border: 1px solid rgba(232, 106, 36, .11) !important;
    background: linear-gradient(135deg, #fffaf7 0%, #fffdfb 100%) !important;
    box-shadow: 0 6px 18px rgba(35, 27, 22, .025) !important;
}
body.zumi-blog-article-page .zumi-article__intro::before,
body.zumi-blog-article-page .zumi-article__intro::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 700px) {
    /* Bring the related-post module closer to the tag pills. */
    body.zumi-blog-article-page .zumi-article__tags {
        margin-bottom: 0 !important;
    }
    body.zumi-blog-article-page .zumi-article__related {
        margin-top: 10px !important;
        gap: 14px !important;
    }

    /* The right rail is the final content on mobile. Trim the old desktop-like
       bottom runway so the dark trip CTA hands off cleanly into the footer. */
    body.zumi-blog-article-page .zumi-article__layout {
        padding-bottom: 14px !important;
    }
    body.zumi-blog-article-page .zumi-article__body-band {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    body.zumi-blog-article-page .zumi-article__related,
    body.zumi-blog-article-page .zumi-article__trip-card {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 390px) {
    body.zumi-blog-article-page .zumi-article__layout {
        padding-bottom: 12px !important;
    }
}


/* ========================================================================== 
   v1.32.0 — uniform intro typography
   Keep the warm intro background, but let both opening paragraphs use the
   same typography as ordinary article paragraphs.
   ========================================================================== */
body.zumi-blog-article-page .zumi-article__intro p,
body.zumi-blog-article-page .zumi-article__intro p:first-child {
    color: #34312e !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.88 !important;
}

@media (max-width: 767px) {
    body.zumi-blog-article-page .zumi-article__intro p,
    body.zumi-blog-article-page .zumi-article__intro p:first-child {
        font-size: inherit !important;
        font-weight: 400 !important;
        letter-spacing: normal !important;
        line-height: 1.92 !important;
    }
}


/* v1.33.0 — cleaner Blog search field + site-standard drawer CTA */
.zumi-blog__search > svg {
    display: none !important;
}
.zumi-blog__search input {
    box-sizing: border-box !important;
    min-width: 0 !important;
    padding-left: 18px !important;
    padding-right: 132px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zumi-blog__search input::placeholder {
    color: #918d89 !important;
    opacity: 1 !important;
}
.zumi-blog__search input::-webkit-input-placeholder {
    color: #918d89 !important;
    opacity: 1 !important;
}
.zumi-blog__search input::-moz-placeholder {
    color: #918d89 !important;
    opacity: 1 !important;
}
.zumi-blog__plan-button-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
}
.zumi-blog__plan-button-icon svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    margin: 0 !important;
    padding: 0 !important;
}
.zumi-blog__sidebar-cta a {
    gap: 10px !important;
}
.zumi-blog__sidebar-cta a .zumi-blog__plan-arrow {
    display: none !important;
}

@media (max-width: 960px) {
    .zumi-blog__search input {
        padding-left: 16px !important;
        padding-right: 58px !important;
    }
}
@media (max-width: 700px) {
    .zumi-blog__search input {
        padding-left: 14px !important;
        padding-right: 52px !important;
        font-size: 14px !important;
    }
    .zumi-blog__search input::placeholder {
        font-size: 14px !important;
    }
}
@media (max-width: 420px) {
    .zumi-blog__search input,
    .zumi-blog__search input::placeholder {
        font-size: 13px !important;
    }
}

/* v1.34.0 — remove theme/browser black focus box from Blog search */
.zumi-blog__search input,
.zumi-blog__search input:hover {
    -webkit-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    box-shadow: none !important;
}
.zumi-blog__search input:focus,
.zumi-blog__search input:focus-visible,
.zumi-blog__search input:active {
    outline: none !important;
    border-color: #ef5b2a !important;
    box-shadow: 0 0 0 2px rgba(239, 91, 42, .10) !important;
}

/* v1.35.0 — subtle search glow only; no hover/focus box or ring */
.zumi-blog__search input:hover,
.zumi-blog__search input:focus,
.zumi-blog__search input:focus-visible,
.zumi-blog__search input:active {
    outline: none !important;
    border-color: #ddd8d2 !important;
    box-shadow: 0 2px 14px rgba(239, 91, 42, .10) !important;
}
.zumi-blog__search input:focus,
.zumi-blog__search input:focus-visible {
    box-shadow: 0 3px 16px rgba(239, 91, 42, .13) !important;
}


/* v1.36.0 — stable Blog search + article-style mobile filter scroll lock */
html.zumi-filter-lock,
body.zumi-filter-lock {
    scroll-behavior: auto !important;
    overflow-anchor: none !important;
    overscroll-behavior: none !important;
}

/* Keep the responsive placeholder intentionally short enough to remain readable
   when the search and filter controls share a narrow mobile toolbar. */
.zumi-blog__search input::placeholder,
.zumi-blog__search input::-webkit-input-placeholder,
.zumi-blog__search input::-moz-placeholder {
    color: #918d89 !important;
    opacity: 1 !important;
    text-overflow: ellipsis;
}

/* Chrome/Safari search clear affordance: force a simple black X. */
.zumi-blog__search input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    margin: 0 !important;
    cursor: pointer;
    opacity: .92;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(45deg, transparent 44%, #111 44%, #111 56%, transparent 56%),
        linear-gradient(-45deg, transparent 44%, #111 44%, #111 56%, transparent 56%) !important;
    background-color: transparent !important;
}
.zumi-blog__search input[type="search"]::-webkit-search-cancel-button:hover {
    opacity: 1;
}


/* v1.37.0 — rounded Blog search field with no native clear X */
.zumi-blog__search input[type="search"],
.zumi-blog__search input {
    border-radius: 18px !important;
}

/* Remove browser-provided search clear controls entirely. */
.zumi-blog__search input[type="search"]::-webkit-search-cancel-button,
.zumi-blog__search input[type="search"]::-webkit-search-decoration,
.zumi-blog__search input[type="search"]::-webkit-search-results-button,
.zumi-blog__search input[type="search"]::-webkit-search-results-decoration {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}
.zumi-blog__search input[type="search"]::-ms-clear,
.zumi-blog__search input[type="search"]::-ms-reveal {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

@media (max-width: 700px) {
    .zumi-blog__search input[type="search"],
    .zumi-blog__search input {
        border-radius: 16px !important;
    }
}

/* ========================================================================== 
   v1.38.0 — compact previous/next navigation
   Keep post navigation as a conventional compact editorial control instead of
   stretching it with the widened article column. A lone navigation card sits
   naturally at the left and uses left-aligned copy.
   ========================================================================== */
@media (min-width: 961px) {
    body.zumi-blog-article-page .zumi-article__post-nav {
        width: min(820px, 100%) !important;
        max-width: 820px !important;
        margin-left: 0 !important;
        margin-right: auto !important;
    }

    body.zumi-blog-article-page .zumi-article__post-nav-item:only-child {
        text-align: left !important;
    }
}


/* ========================================================================== 
   v1.39.0 — article inline-link flow reset
   WordPress themes, block styles and importer-specific inline rules can turn
   normal article links into inline-block/flex or nowrap elements. On narrow
   screens that creates artificial gaps, orphaned words and broken line flow.
   Keep ordinary links truly inline and let the browser wrap them as prose.
   Buttons, cards and navigation controls are intentionally excluded.
   ========================================================================== */
body.zumi-blog-article-page .zumi-article__content-body a:not(.wp-block-button__link):not(.zumi-article__trip-button),
body.zumi-blog-article-page .zumi-article__intro a {
    display: inline !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: manual !important;
    line-height: inherit !important;
    vertical-align: baseline !important;
    text-wrap: wrap !important;
    box-decoration-break: slice;
    -webkit-box-decoration-break: slice;
}

/* Prevent inherited flex/grid rules on nested link contents from changing the
   line box height of surrounding prose. */
body.zumi-blog-article-page .zumi-article__content-body p a:not(.wp-block-button__link) > *,
body.zumi-blog-article-page .zumi-article__intro p a > * {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
    vertical-align: baseline !important;
}

/* The important part on phones/tablets: links are allowed to wrap at normal
   word boundaries without creating their own line or preserving nowrap from
   imported content. */
@media (max-width: 960px) {
    body.zumi-blog-article-page .zumi-article__content-body p,
    body.zumi-blog-article-page .zumi-article__content-body li,
    body.zumi-blog-article-page .zumi-article__content-body figcaption,
    body.zumi-blog-article-page .zumi-article__intro p {
        overflow-wrap: break-word;
        word-break: normal;
    }

    body.zumi-blog-article-page .zumi-article__content-body a:not(.wp-block-button__link):not(.zumi-article__trip-button),
    body.zumi-blog-article-page .zumi-article__intro a {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
}
