.asp-rv-guide {
    --rv-green-900: #173b1a;
    --rv-green-800: #204f25;
    --rv-green-700: #2f6c37;
    --rv-green-100: #eaf4e6;
    --rv-green-050: #f5faf2;
    --rv-gold: #f0c84b;
    --rv-ink: #24322b;
    --rv-muted: #5e6b63;
    --rv-border: #cad8c8;
    color: var(--rv-ink);
}

body.postid-33543 #fixed_container_bottom,
body.postid-33543 #adhesion_desktop_wrapper,
body.postid-33543 #adhesion_mobile_wrapper,
body.postid-33543 #universalPlayer_wrapper,
body.postid-33543 #grow-me-root {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.asp-rv-guide > :first-child {
    margin-top: 0;
}

.asp-rv-guide a {
    text-underline-offset: 2px;
}

.asp-rv-guide .asp-rv-lead {
    font-size: 1.14rem;
    line-height: 1.75;
}

.asp-rv-guide > h2 {
    margin-top: 2.8rem;
    padding-top: .2rem;
    color: var(--rv-green-900);
    letter-spacing: -.02em;
}

.asp-rv-guide h2[id],
.asp-rv-guide h3[id],
.asp-rv-calculator h2[id] {
    scroll-margin-top: 132px;
}

.asp-rv-quick-answer,
.asp-rv-method,
.asp-rv-affiliate-note,
.asp-rv-callout {
    margin: 1.6rem 0;
    padding: 1.35rem 1.5rem;
    border: 1px solid var(--rv-border);
    border-left: 5px solid var(--rv-green-700);
    border-radius: 12px;
    background: var(--rv-green-050);
}

.asp-rv-quick-answer h2,
.asp-rv-callout h2,
.asp-rv-callout h3 {
    margin-top: 0;
}

.asp-rv-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.25rem 0 0;
}

.asp-rv-summary-card {
    padding: 1rem;
    border: 1px solid #d8e3d5;
    border-radius: 10px;
    background: #fff;
}

.asp-rv-summary-card strong {
    display: block;
    margin-bottom: .25rem;
    color: var(--rv-green-900);
    font-size: 1.08rem;
}

.asp-rv-eyebrow {
    margin: 0 0 .35rem;
    color: var(--rv-green-700);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.asp-rv-calculator {
    display: block;
    grid-template-columns: none;
    gap: 0;
    margin: 2.25rem 0;
    padding: 1.5rem;
    border: 1px solid var(--rv-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(28, 65, 33, .09);
}

.asp-rv-calculator__form {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .95fr);
    align-items: start;
    gap: 1rem 1.5rem;
    margin: 0;
}

.asp-rv-calculator__intro,
.asp-rv-calculator__presets,
.asp-rv-calculator__grid--basic,
.asp-rv-calculator__advanced {
    grid-column: 1;
}

.asp-rv-calculator__intro {
    grid-row: 1;
}

.asp-rv-calculator__presets {
    grid-row: 2;
}

.asp-rv-calculator__grid--basic {
    grid-row: 3;
}

.asp-rv-calculator__advanced {
    grid-row: 4;
}

.asp-rv-calculator__intro h2 {
    margin: 0 0 .5rem;
}

.asp-rv-calculator__intro p:last-child {
    margin-bottom: 0;
}

.asp-rv-calculator__presets > p {
    margin: 0 0 .5rem;
    color: #33473a;
    font-size: .78rem;
    font-weight: 800;
}

.asp-rv-calculator__presets > div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.asp-rv-calculator__presets button {
    min-height: 38px;
    padding: .5rem .72rem;
    border: 1px solid #b9cab6;
    border-radius: 999px;
    background: #fff;
    color: var(--rv-green-800);
    font: inherit;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.25;
    cursor: pointer;
}

.asp-rv-calculator__presets button:hover,
.asp-rv-calculator__presets button:focus-visible,
.asp-rv-calculator__presets button[aria-pressed="true"] {
    border-color: var(--rv-green-700);
    background: var(--rv-green-100);
    color: var(--rv-green-900);
}

.asp-rv-calculator__presets button:focus-visible {
    outline: 3px solid rgba(47, 108, 55, .18);
    outline-offset: 2px;
}

.asp-rv-calculator__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem 1rem;
}

.asp-rv-calculator__grid--advanced[hidden] {
    display: none !important;
}

.asp-rv-calculator__field--wide {
    grid-column: 1 / -1;
}

.asp-rv-calculator__advanced {
    margin-top: 1rem;
    border: 1px solid #d5e0d2;
    border-radius: 10px;
    background: var(--rv-green-050);
}

.asp-rv-calculator__advanced-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 1rem;
    padding: .8rem .9rem;
    border: 0;
    background: transparent;
    color: var(--rv-green-900);
    font-family: inherit;
    font-size: .88rem;
    font-weight: 850;
    text-align: left;
    cursor: pointer;
}

.asp-rv-calculator__advanced-toggle::before {
    flex: 0 0 auto;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: var(--rv-green-700);
    color: #fff;
    content: "+";
    font-size: 1rem;
    line-height: 1.25rem;
    text-align: center;
}

.asp-rv-calculator__advanced.is-open .asp-rv-calculator__advanced-toggle::before {
    content: "−";
}

.asp-rv-calculator__advanced-toggle span {
    margin-right: auto;
}

.asp-rv-calculator__advanced-toggle small {
    color: var(--rv-muted);
    font-size: .72rem;
    font-weight: 750;
}

.asp-rv-calculator__advanced-toggle:focus-visible {
    outline: 3px solid rgba(47, 108, 55, .2);
    outline-offset: 2px;
}

.asp-rv-calculator__advanced.is-open .asp-rv-calculator__advanced-toggle {
    border-bottom: 1px solid #d5e0d2;
}

.asp-rv-calculator__grid--advanced {
    padding: 1rem;
}

.asp-rv-calculator label {
    display: grid;
    gap: .35rem;
    margin: 0;
    color: #33473a;
    font-size: .86rem;
    font-weight: 700;
}

.asp-rv-calculator label small {
    color: var(--rv-muted);
    font-size: .7rem;
    font-weight: 550;
    line-height: 1.4;
}

.asp-rv-calculator label.is-disabled {
    color: var(--rv-muted);
}

.asp-rv-calculator label.is-disabled input {
    background: #edf1eb;
    color: #66736a;
}

.asp-rv-calculator input,
.asp-rv-calculator select {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: .62rem .7rem;
    border: 1px solid #aebdad;
    border-radius: 7px;
    background: #fff;
    color: var(--rv-ink);
    font: inherit;
}

.asp-rv-calculator input:focus,
.asp-rv-calculator select:focus {
    border-color: var(--rv-green-700);
    outline: 3px solid rgba(47, 108, 55, .18);
    outline-offset: 1px;
}

.asp-rv-calculator__result {
    grid-column: 2;
    grid-row: 1 / span 4;
    align-self: start;
    padding: 1.1rem;
    border-radius: 12px;
    background: var(--rv-green-900);
    color: #fff;
    font-size: .9rem;
    line-height: 1.4;
}

.asp-rv-calculator .asp-rv-calculator__result-label {
    margin: 0 !important;
    color: #dbe9da;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

.asp-rv-calculator__total {
    display: block;
    margin: .2rem 0;
    color: #fff;
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    font-weight: 850;
    line-height: 1.1;
}

.asp-rv-calculator .asp-rv-calculator__daily {
    margin: 0 0 .7rem !important;
    color: #dbe9da;
    line-height: 1.35;
}

.asp-rv-calculator__chart {
    margin: .7rem 0 .55rem;
}

.asp-rv-calculator__chart p {
    margin: 0 0 .4rem;
    color: #dbe9da;
    font-size: .75rem;
    font-weight: 750;
}

.asp-rv-calculator__bar {
    display: flex;
    width: 100%;
    height: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .13);
}

.asp-rv-calculator__bar-segment {
    display: block;
    min-width: 0;
    height: 100%;
    transition: width .2s ease;
}

.asp-rv-calculator__bar-segment--base {
    background: #f0c84b;
}

.asp-rv-calculator__bar-segment--mileage {
    background: #f39a68;
}

.asp-rv-calculator__bar-segment--fuel {
    background: #78c9b4;
}

.asp-rv-calculator__bar-segment--protection {
    background: #95b8f4;
}

.asp-rv-calculator__bar-segment--campsite {
    background: #b7dd84;
}

.asp-rv-calculator__bar-segment--service {
    background: #c6a7e8;
}

.asp-rv-calculator__bar-segment--extras {
    background: #e9a9be;
}

.asp-rv-calculator__breakdown {
    margin: .65rem 0 .8rem;
    border-top: 1px solid rgba(255, 255, 255, .22);
}

.asp-rv-calculator__breakdown div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.asp-rv-calculator__breakdown dt,
.asp-rv-calculator__breakdown dd {
    margin: 0;
}

.asp-rv-calculator__breakdown dt {
    display: flex;
    align-items: center;
    gap: .45rem;
    line-height: 1.3;
    white-space: nowrap;
}

.asp-rv-calculator__breakdown dt::before {
    width: .55rem;
    height: .55rem;
    flex: 0 0 .55rem;
    border-radius: 50%;
    background: #fff;
    content: "";
}

.asp-rv-calculator__breakdown-item--base dt::before {
    background: #f0c84b;
}

.asp-rv-calculator__breakdown-item--mileage dt::before {
    background: #f39a68;
}

.asp-rv-calculator__breakdown-item--fuel dt::before {
    background: #78c9b4;
}

.asp-rv-calculator__breakdown-item--protection dt::before {
    background: #95b8f4;
}

.asp-rv-calculator__breakdown-item--campsite dt::before {
    background: #b7dd84;
}

.asp-rv-calculator__breakdown-item--service dt::before {
    background: #c6a7e8;
}

.asp-rv-calculator__breakdown-item--extras dt::before {
    background: #e9a9be;
}

.asp-rv-calculator__breakdown dd {
    font-weight: 800;
    white-space: nowrap;
}

.asp-rv-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: .72rem 1rem;
    border-radius: 8px;
    border: 0;
    font-weight: 800;
    font-family: inherit;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
}

.asp-rv-button--gold {
    background: var(--rv-gold);
    color: #1d321f !important;
}

.asp-rv-button--green {
    background: var(--rv-green-700);
    color: #fff !important;
}

.asp-rv-button--outline {
    border: 1px solid rgba(255, 255, 255, .58);
    background: transparent;
    color: #fff !important;
}

.asp-rv-button--utility {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, .34);
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: .78rem;
}

.asp-rv-button:hover,
.asp-rv-button:focus {
    filter: brightness(.95);
    transform: translateY(-1px);
}

.asp-rv-calculator__cta-stack {
    display: grid;
    gap: .6rem;
}

.asp-rv-calculator__cta-stack .asp-rv-button {
    min-height: 44px;
    padding: .62rem .8rem;
    font-size: .88rem;
}

.asp-rv-calculator__tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .75rem;
}

.asp-rv-calculator .asp-rv-calculator__disclaimer {
    margin: .65rem 0 0 !important;
    color: #dbe9da;
    font-size: .72rem;
    line-height: 1.4;
}

.asp-rv-sr-only {
    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;
}

.asp-rv-table-wrap {
    margin: 1.35rem 0 1.8rem;
    overflow-x: auto;
}

.asp-rv-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    font-size: .94rem;
}

.asp-rv-table caption {
    padding: 0 0 .75rem;
    color: var(--rv-green-900);
    font-size: 1rem;
    font-weight: 800;
    text-align: left;
}

.asp-rv-table th,
.asp-rv-table td {
    padding: .82rem .9rem;
    text-align: left;
    vertical-align: top;
}

.asp-rv-table thead th {
    padding-top: .45rem;
    padding-bottom: .45rem;
    border: 0;
    color: var(--rv-muted);
    font-size: .72rem;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.asp-rv-table--rates {
    border-spacing: 0 .55rem;
}

.asp-rv-table--rates tbody tr {
    filter: drop-shadow(0 4px 10px rgba(27, 61, 31, .055));
}

.asp-rv-table--rates tbody th,
.asp-rv-table--rates tbody td {
    border-top: 1px solid #dfe8dc;
    border-bottom: 1px solid #dfe8dc;
    background: #fff;
}

.asp-rv-table--rates tbody th {
    width: 25%;
    border-left: 1px solid #dfe8dc;
    border-radius: 10px 0 0 10px;
    color: var(--rv-green-900);
    font-weight: 800;
}

.asp-rv-table--rates tbody td:last-child {
    border-right: 1px solid #dfe8dc;
    border-radius: 0 10px 10px 0;
}

.asp-rv-table--rates tbody td:nth-child(2) {
    width: 20%;
    color: var(--rv-green-800);
    font-weight: 850;
    white-space: nowrap;
}

.asp-rv-table--rates tbody td:nth-child(3) {
    width: 18%;
    color: var(--rv-muted);
    white-space: nowrap;
}

.asp-rv-table-wrap--providers {
    overflow: visible;
}

.asp-rv-table--providers,
.asp-rv-table--providers tbody {
    display: block;
}

.asp-rv-table--providers thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.asp-rv-table--providers tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.asp-rv-table--providers tbody tr {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.15rem;
    border: 1px solid #d8e4d5;
    border-radius: 14px;
    background: linear-gradient(145deg, #fff 0%, var(--rv-green-050) 100%);
    box-shadow: 0 8px 22px rgba(27, 61, 31, .065);
}

.asp-rv-table--providers tbody th,
.asp-rv-table--providers tbody td {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
}

.asp-rv-table--providers tbody th {
    margin-bottom: .85rem;
    color: var(--rv-green-900);
    font-size: 1.18rem;
    font-weight: 850;
}

.asp-rv-table--providers tbody td {
    margin-bottom: .75rem;
    color: var(--rv-ink);
}

.asp-rv-table--providers tbody td::before {
    display: block;
    margin-bottom: .18rem;
    content: attr(data-label);
    color: var(--rv-muted);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.asp-rv-table--providers tbody td:last-child {
    margin-top: auto;
    margin-bottom: 0;
    padding-top: .25rem;
}

.asp-rv-table--providers .asp-rv-button {
    width: 100%;
}

.asp-rv-figure {
    width: min(100%, 540px);
    margin: 1.75rem auto 2rem !important;
}

.asp-rv-figure img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    border: 1px solid #d6e1d3;
    border-radius: 14px;
    object-fit: cover;
    box-shadow: 0 10px 28px rgba(27, 61, 31, .11);
}

.asp-rv-source-note {
    margin-top: -.9rem;
    color: var(--rv-muted);
    font-size: .82rem;
    line-height: 1.55;
}

.asp-rv-cost-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem 1.1rem;
    margin: 1.25rem 0 1.8rem;
    padding: 0;
    list-style: none;
}

.asp-rv-cost-list li {
    padding: 1rem;
    border: 1px solid var(--rv-border);
    border-radius: 10px;
    background: #fff;
}

.asp-rv-cost-list strong {
    display: block;
    color: var(--rv-green-900);
}

.asp-rv-scenarios {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.25rem 0 2rem;
}

.asp-rv-scenario {
    padding: 1.15rem;
    border: 1px solid var(--rv-border);
    border-radius: 12px;
    background: #fff;
}

.asp-rv-scenario h3 {
    margin-top: 0;
    font-size: 1.08rem;
}

.asp-rv-scenario__total {
    color: var(--rv-green-700);
    font-size: 1.45rem;
    font-weight: 850;
}

.asp-rv-affiliate-note {
    font-size: .88rem;
}

.asp-rv-faq details {
    margin: .75rem 0;
    border: 1px solid var(--rv-border);
    border-radius: 9px;
    background: #fff;
}

.asp-rv-faq summary {
    padding: 1rem 1.1rem;
    color: var(--rv-green-900);
    font-weight: 800;
    cursor: pointer;
}

.asp-rv-faq details p {
    margin: 0;
    padding: 0 1.1rem 1.1rem;
}

@media (max-width: 780px) {
    .asp-rv-summary-grid,
    .asp-rv-scenarios {
        grid-template-columns: 1fr;
    }

    .asp-rv-calculator__form {
        grid-template-columns: 1fr;
    }

    .asp-rv-calculator__intro,
    .asp-rv-calculator__presets,
    .asp-rv-calculator__grid--basic,
    .asp-rv-calculator__advanced,
    .asp-rv-calculator__result {
        grid-column: 1;
        grid-row: auto;
    }

    .asp-rv-calculator__intro {
        order: 1;
    }

    .asp-rv-calculator__presets {
        order: 2;
    }

    .asp-rv-calculator__grid--basic {
        order: 3;
    }

    .asp-rv-calculator__result {
        order: 4;
    }

    .asp-rv-calculator__advanced {
        order: 5;
    }

    .asp-rv-cost-list {
        grid-template-columns: 1fr;
    }

    .asp-rv-table--providers tbody {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    body.postid-33543 .entry-content {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .asp-rv-quick-answer,
    .asp-rv-method,
    .asp-rv-affiliate-note,
    .asp-rv-callout,
    .asp-rv-calculator {
        padding: 1.05rem;
        border-radius: 10px;
    }

    .asp-rv-calculator__grid {
        grid-template-columns: 1fr;
    }

    .asp-rv-calculator__presets > div {
        display: grid;
        grid-template-columns: 1fr;
    }

    .asp-rv-calculator__presets button {
        width: 100%;
        border-radius: 9px;
        text-align: left;
    }

    .asp-rv-table-wrap--rates {
        overflow: visible;
    }

    .asp-rv-table--rates,
    .asp-rv-table--rates tbody {
        display: block;
        width: 100%;
    }

    .asp-rv-table--rates thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .asp-rv-table--rates tbody tr {
        display: block;
        margin: .8rem 0;
        border: 1px solid var(--rv-border);
        border-radius: 12px;
        background: #fff !important;
        filter: none;
        box-shadow: 0 5px 14px rgba(27, 61, 31, .055);
    }

    .asp-rv-table--rates tbody th,
    .asp-rv-table--rates tbody td {
        display: grid;
        grid-template-columns: minmax(105px, 40%) 1fr;
        gap: .75rem;
        width: 100%;
        padding: .7rem .8rem;
        border: 0;
        border-bottom: 1px solid #e1e8df;
        border-radius: 0;
        background: transparent;
    }

    .asp-rv-table--rates tbody th::before,
    .asp-rv-table--rates tbody td::before {
        content: attr(data-label);
        color: var(--rv-muted);
        font-size: .74rem;
        font-weight: 800;
        letter-spacing: .03em;
        text-transform: uppercase;
    }

    .asp-rv-table--rates tbody tr > :last-child {
        border-bottom: 0;
    }

    .asp-rv-table--rates tbody th,
    .asp-rv-table--rates tbody td:nth-child(2),
    .asp-rv-table--rates tbody td:nth-child(3) {
        width: 100%;
        white-space: normal;
    }

    .asp-rv-table--providers tbody tr {
        padding: 1rem;
    }

    .asp-rv-figure {
        width: min(100%, 440px);
        margin: 1.35rem auto 1.65rem !important;
    }
}

/*
 * Page layout for this long-form guide.
 *
 * The global single-post template normally combines an expanding article,
 * a fixed 350px recommendation sidebar, and a floating TOC. On this page the
 * recommendation module moves below the article, while its former column is
 * reserved for a permanently visible, readable TOC.
 */
@media (min-width: 1024px) {
    body.postid-33543 {
        --asp-rv-layout-width: 1200px;
        --asp-rv-layout-gutter: 24px;
        --asp-rv-toc-width: clamp(230px, 21vw, 260px);
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container {
        width: min(calc(100vw - 36px), var(--asp-rv-layout-width)) !important;
        max-width: var(--asp-rv-layout-width) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        grid-template-columns:
            minmax(0, 1fr)
            var(--asp-rv-toc-width) !important;
        column-gap: var(--asp-rv-layout-gutter) !important;
        row-gap: 2.75rem !important;
        align-items: start !important;
        overflow: visible !important;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > :first-child {
        width: auto !important;
        min-width: 0 !important;
        grid-column: 1;
        grid-row: 1;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        grid-column: 1 / -1;
        grid-row: 2;
        overflow: visible !important;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside >
    .wp-block-group {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto !important;
        border: 1px solid #dce7da;
        box-shadow: 0 10px 28px rgba(27, 61, 31, .06);
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside >
    .wp-block-group > h4 {
        margin-top: 0;
        color: #173b1a;
        text-align: center;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside
    .wp-block-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .75rem;
        margin: 1rem 0 0;
        padding: 0;
        list-style: none;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside
    .wp-block-list li {
        display: flex;
        min-width: 0;
        margin: 0;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside
    .wp-block-list a {
        display: flex;
        width: 100%;
        align-items: center;
        padding: .85rem .95rem;
        border: 1px solid #dce7da;
        border-radius: 10px;
        background: #fff;
        color: #2f6c37;
        font-size: .88rem;
        font-weight: 750;
        line-height: 1.4;
        text-decoration: none;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside
    .wp-block-list a:hover,
    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside
    .wp-block-list a:focus {
        border-color: #8fb28b;
        background: #f5faf2;
    }

    body.postid-33543 .blog-floating-toc,
    body.postid-33543 .blog-floating-toc.is-collapsed {
        display: block !important;
        position: fixed !important;
        top: 112px !important;
        /*
         * The Spectra template keeps a 36px right edge outside its root
         * container. This formula aligns the fixed TOC with the empty grid
         * track at every desktop width instead of merely with the viewport.
         */
        right: max(36px, calc((100vw - 1164px) / 2)) !important;
        left: auto !important;
        width: var(--asp-rv-toc-width) !important;
        height: auto !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
        pointer-events: auto !important;
        z-index: 100;
        transition: opacity .2s ease !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-toggle {
        display: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-content,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-content {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-height: calc(100vh - 140px) !important;
        padding: 18px 15px !important;
        border: 1px solid rgba(202, 216, 200, .86);
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .94) !important;
        box-shadow: 0 12px 32px rgba(25, 61, 30, .1) !important;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        visibility: visible !important;
        opacity: 1 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        transform: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-header,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-header {
        display: flex !important;
        margin: 0 0 12px !important;
        padding: 0 0 11px !important;
        border-bottom: 1px solid #dce7da !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-title,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-title {
        display: flex !important;
        align-items: center;
        gap: 7px;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: #2f6c37 !important;
        font-size: .72rem !important;
        font-weight: 850 !important;
        letter-spacing: .075em !important;
        line-height: 1.25;
        text-transform: uppercase !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-title::before {
        content: "☰";
        color: #5d8e61;
        font-size: .9rem;
        line-height: 1;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-list,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-list {
        display: block !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
        list-style: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-item {
        margin: 0 0 2px !important;
        padding: 0 !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link-wrap {
        display: flex !important;
        align-items: center;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-triangle {
        display: flex !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 4px !important;
        appearance: none;
        background: transparent !important;
        box-shadow: none !important;
        color: #718096 !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-children {
        display: block !important;
        max-height: 0;
        margin: 2px 0 0 10px !important;
        padding: 0 0 0 9px !important;
        border-left: 1px solid #e2e8e0;
        visibility: visible !important;
        opacity: 0;
        overflow: hidden;
    }

    body.postid-33543 .blog-floating-toc
    .blog-toc-has-children.is-open > .blog-toc-children {
        max-height: 500px;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
        opacity: 1;
    }

    body.postid-33543 .blog-floating-toc
    .blog-toc-has-children.is-open > .blog-toc-link-wrap >
    .blog-toc-triangle svg {
        transform: rotate(90deg);
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link {
        display: block !important;
        min-width: 0;
        flex: 1;
        padding: 7px 8px !important;
        border: 0 !important;
        border-left: 3px solid transparent !important;
        border-radius: 7px !important;
        background: transparent !important;
        color: #2f6c37 !important;
        font-size: .79rem !important;
        font-weight: 550 !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-decoration: none !important;
        transform: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link:hover,
    body.postid-33543 .blog-floating-toc .blog-toc-link:focus {
        background: #f3f8f1 !important;
        color: #173b1a !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link.active {
        border-left-color: #4caf50 !important;
        background: linear-gradient(
            135deg,
            rgba(76, 175, 80, .16),
            rgba(139, 195, 74, .1)
        ) !important;
        color: #245f2a !important;
        font-weight: 800 !important;
        box-shadow: inset 0 0 0 1px rgba(76, 175, 80, .14);
    }

    body.postid-33543 .blog-floating-toc .blog-toc-progress,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-progress {
        display: block !important;
        height: 3px !important;
        margin: 13px 0 0 !important;
        padding: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: hidden !important;
    }
}

@media (min-width: 1400px) {
    body.postid-33543 .blog-floating-toc.is-hidden-before-hero {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    body.postid-33543 {
        --asp-rv-layout-width: 1000px;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container {
        width: min(calc(100vw - 48px), var(--asp-rv-layout-width)) !important;
        max-width: var(--asp-rv-layout-width) !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
    }

    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > :first-child,
    body.postid-33543 #content > .ast-container >
    .astra-advanced-hook-39909 > .uagb-is-root-container > aside {
        grid-column: 1 !important;
    }
}

@media (min-width: 601px) and (max-width: 1399px) {
    body.postid-33543 .entry-content {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }
}

/*
 * Compact tablet/mobile TOC: a single sticky current-section control opens
 * a vertical list. This replaces the long horizontal strip of pills.
 */
@media (max-width: 1399px) {
    body.postid-33543 .blog-floating-toc,
    body.postid-33543 .blog-floating-toc.is-collapsed {
        display: block !important;
        position: sticky !important;
        top: 60px !important;
        right: auto !important;
        left: auto !important;
        width: 100% !important;
        padding: .5rem max(16px, env(safe-area-inset-left)) !important;
        border: 0 !important;
        border-bottom: 1px solid #dce7da !important;
        background: rgba(248, 251, 247, .96) !important;
        box-shadow: 0 4px 16px rgba(24, 56, 28, .08) !important;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        overflow: visible !important;
        z-index: 120;
    }

    body.postid-33543 .blog-floating-toc.is-hidden-before-hero {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-content,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-content {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-header,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-header {
        display: flex !important;
        min-height: 38px;
        align-items: center;
        gap: .75rem;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-title,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-title {
        display: block !important;
        min-width: 0;
        flex: 1;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: #245f2a !important;
        font-size: .82rem !important;
        font-weight: 800 !important;
        letter-spacing: 0 !important;
        line-height: 1.3;
        text-transform: none !important;
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-title::before {
        margin-right: .45rem;
        content: "☰";
        color: #718075;
        font-size: .8rem;
        font-weight: 750;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-toggle {
        display: flex !important;
        width: 36px !important;
        min-width: 36px;
        height: 36px !important;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        border: 1px solid #cad8c8 !important;
        border-radius: 9px !important;
        background: #fff !important;
        color: #2f6c37 !important;
        box-shadow: 0 2px 8px rgba(24, 56, 28, .08) !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-icon-collapse {
        display: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-icon-expand {
        display: block !important;
    }

    body.postid-33543 .blog-floating-toc.is-expanded
    .blog-toc-icon-collapse {
        display: block !important;
    }

    body.postid-33543 .blog-floating-toc.is-expanded
    .blog-toc-icon-expand {
        display: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-list,
    body.postid-33543 .blog-floating-toc.is-collapsed .blog-toc-list {
        display: none !important;
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        left: 0;
        max-height: min(62vh, 480px);
        margin: 0 !important;
        padding: .55rem !important;
        border: 1px solid #cad8c8;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 16px 36px rgba(24, 56, 28, .16);
        list-style: none !important;
        overflow-x: hidden;
        overflow-y: auto;
        z-index: 2;
    }

    body.postid-33543 .blog-floating-toc.is-expanded .blog-toc-list {
        display: block !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-item {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link-wrap {
        display: block !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-triangle,
    body.postid-33543 .blog-floating-toc .blog-toc-children,
    body.postid-33543 .blog-floating-toc .blog-toc-progress {
        display: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link {
        display: block !important;
        width: 100%;
        padding: .72rem .75rem !important;
        border: 0 !important;
        border-left: 3px solid transparent !important;
        border-radius: 8px !important;
        background: transparent !important;
        color: #2f6c37 !important;
        font-size: .84rem !important;
        font-weight: 650 !important;
        line-height: 1.35 !important;
        text-align: left;
        white-space: normal !important;
        text-decoration: none !important;
        transform: none !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link:hover,
    body.postid-33543 .blog-floating-toc .blog-toc-link:focus {
        background: #f3f8f1 !important;
    }

    body.postid-33543 .blog-floating-toc .blog-toc-link.active {
        border-left-color: #4caf50 !important;
        background: #edf7e9 !important;
        color: #173b1a !important;
        font-weight: 800 !important;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    body.postid-33543 .blog-floating-toc,
    body.postid-33543 .blog-floating-toc.is-collapsed {
        top: 112px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .asp-rv-button,
    .asp-rv-calculator__bar-segment {
        transition: none;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .asp-rv-calculator,
    .asp-rv-calculator * {
        visibility: visible !important;
    }

    .asp-rv-calculator {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        margin: 0;
        border: 0;
        box-shadow: none;
    }

    .asp-rv-calculator__form {
        grid-template-columns: minmax(0, 1.35fr) minmax(250px, .9fr);
    }

    .asp-rv-calculator__result {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .asp-rv-calculator__cta-stack,
    .asp-rv-calculator__tools,
    .asp-rv-calculator__disclaimer {
        display: none !important;
    }
}
