.elementor-11891 .elementor-element.elementor-element-c9333ef{--display:flex;}.elementor-11891 .elementor-element.elementor-element-2fbb0b4{--display:flex;}.elementor-11891 .elementor-element.elementor-element-65804d5{--display:flex;}/* Start custom CSS *//* ============================================
   BLOG BASE STYLES
   What Is High-Functioning Alcoholism? — master.css
   ============================================ */

/* --- Typography --- */
.bw-blog p {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #263F59;
    line-height: 1.75;
    margin-bottom: 20px;
}

.bw-blog p a {
    color: #5EA6F1;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.bw-blog p a:hover {
    color: #4a94db;
}

/* --- Headings --- */
.bw-blog h2 {
    font-family: 'IvyPresto Headline', Georgia, 'Times New Roman', serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    color: #263F59 !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
    margin-top: 48px !important;
}

/*
 * :not() exclusions: every widget-internal h3 class promoted from div in this blog.
 * Order:
 *   BW-003 .bw-domains__title          (4 cards in Sec 2)
 *   BW-005 .bw-check__title            (1 in Sec 2)
 *   BW-007 .bw-mech__card-title        (4 cards in Sec 3)
 *   BW-009 .bw-treat__title            (2 cards in Sec 4)
 *   BW-010 .bw-rway__card-title        (3 pillars in Sec 4)
 *   BW-013b .obs-d__item-title         (3 obs in Sec 5 — new element introduced)
 *   BW-014 .bw-faq__question-text      (5 FAQ in Sec 6 — promoted from span)
 *   BW-015 .bw-cta__title              (defensive, per recurring CTA-title fail point)
 */
.bw-blog h3:not(.bw-domains__title):not(.bw-check__title):not(.bw-mech__card-title):not(.bw-treat__title):not(.bw-rway__card-title):not(.obs-d__item-title):not(.bw-faq__question-text):not(.bw-cta__title) {
    font-family: 'IvyPresto Headline', Georgia, 'Times New Roman', serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #263F59 !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
    margin-top: 32px !important;
}

/* --- Spacers (no !important per Base CSS Reference) --- */
.bw-spacer-section { height: 72px; }
.bw-spacer-sub { height: 40px; }
.bw-spacer-widget { height: 32px; }

@media (max-width: 768px) {
    .bw-spacer-section { height: 56px; }
    .bw-spacer-sub { height: 32px; }
    .bw-spacer-widget { height: 24px; }
}

/* ============================================
   FAQ h3 OVERRIDE (per Base CSS Reference v2 March 2026)
   Prevents Elementor's white-space:nowrap from clipping
   question text on a single line.
   ============================================ */
.bw-faq h3.bw-faq__question-text {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #263F59 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    white-space: normal !important;
    flex: 1 !important;
}

/* ============================================
   BW-013b EXTENSION: obs-d__item-title
   New element for per-observation H3 titles.
   Document in widget library after publish.
   ============================================ */
.obs-d__item-title {
    font-family: 'IvyPresto Headline', Georgia, 'Times New Roman', serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #263F59 !important;
    line-height: 1.3 !important;
    margin: 0 0 8px 0 !important;
}

@media (max-width: 768px) {
    .obs-d__item-title { font-size: 18px !important; }
}

/* New: obs-d__item-content wrapper for title+text inside item flex */
.obs-d__item-content {
    flex: 1 !important;
    min-width: 0 !important;
}



/* ============================================
   BW-001: bw-toc
   ============================================ */
/* ============================================  
   BW-001: TOC — Scoped Styles  
   ============================================ */  
.bw-toc *,  
.bw-toc *::before,  
.bw-toc *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-toc {  
    --sky: #5EA6F1;  
    --sky-hover: #4a94db;  
    --sky-light: rgba(94, 166, 241, 0.12);  
    --navy: #263F59;  
    --cream: #F9F0E8;  
    --tan: #E2D1B5;  
    --storybook: linear-gradient(135deg, #E9EFFF 0%, #F9F0E8 100%);  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --radius: 16px;

    font-family: var(--font-body) !important;  
    background: var(--storybook) !important;  
    border: 1px solid var(--tan) !important;  
    border-radius: var(--radius) !important;  
    padding: 36px 40px 32px !important;  
    box-shadow: var(--shadow) !important;  
    position: relative !important;  
    overflow: hidden !important;  
    max-width: 820px !important;  
}

/* Dragonfly decoration */  
.bw-toc::after {  
    content: '' !important;  
    position: absolute !important;  
    top: 16px !important;  
    right: 16px !important;  
    width: 80px !important;  
    height: 80px !important;  
    background-image: url('https://www.redefinewellnessandtreatment.com/wp-content/uploads/2025/10/Group-1597880636.svg') !important;  
    background-repeat: no-repeat !important;  
    background-size: contain !important;  
    opacity: 0.06 !important;  
    pointer-events: none !important;  
}

.bw-toc__title {  
    font-family: var(--font-heading) !important;  
    font-size: 28px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.2 !important;  
    margin-bottom: 0 !important;  
}

/* Gradient fade divider */  
.bw-toc__divider {  
    height: 2px !important;  
    background: linear-gradient(90deg, var(--sky) 0%, transparent 100%) !important;  
    border: none !important;  
    margin: 16px 0 24px 0 !important;  
    border-radius: 2px !important;  
}

.bw-toc__list {  
    list-style: none !important;  
    display: flex !important;  
    flex-direction: column !important;  
    gap: 6px !important;  
}

.bw-toc__item {  
    display: flex !important;  
    align-items: center !important;  
    gap: 14px !important;  
    padding: 10px 14px !important;  
    border-radius: 10px !important;  
    transition: background 0.2s ease !important;  
    cursor: pointer !important;  
    position: relative !important;  
}

.bw-toc__item:hover {  
    background: rgba(255, 255, 255, 0.55) !important;  
}

/* Hide native checkbox */  
.bw-toc__checkbox {  
    position: absolute !important;  
    opacity: 0 !important;  
    width: 0 !important;  
    height: 0 !important;  
    pointer-events: none !important;  
}

/* Numbered badge */  
.bw-toc__badge {  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    width: 36px !important;  
    height: 36px !important;  
    min-width: 36px !important;  
    border-radius: 10px !important;  
    border: 2px solid var(--sky) !important;  
    background: transparent !important;  
    font-family: var(--font-body) !important;  
    font-size: 15px !important;  
    font-weight: 700 !important;  
    color: var(--sky) !important;  
    transition: all 0.2s ease !important;  
    flex-shrink: 0 !important;  
}

/* Badge active state (checked) */  
.bw-toc__checkbox:checked ~ .bw-toc__badge {  
    background: var(--sky) !important;  
    color: white !important;  
    border-color: var(--sky) !important;  
}

/* Link text */  
.bw-toc__link {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 500 !important;  
    color: var(--navy) !important;  
    text-decoration: none !important;  
    line-height: 1.4 !important;  
    transition: all 0.2s ease !important;  
}

.bw-toc__link:hover {  
    color: var(--sky) !important;  
}

/* Strikethrough when checked */  
.bw-toc__checkbox:checked ~ .bw-toc__link {  
    text-decoration: line-through !important;  
    opacity: 0.45 !important;  
    color: var(--navy) !important;  
}

/* Checkmark icon inside badge when checked */  
.bw-toc__badge-check {  
    display: none !important;  
}

.bw-toc__badge-num {  
    display: inline !important;  
}

.bw-toc__checkbox:checked ~ .bw-toc__badge .bw-toc__badge-check {  
    display: inline !important;  
}

.bw-toc__checkbox:checked ~ .bw-toc__badge .bw-toc__badge-num {  
    display: none !important;  
}


.bw-toc__label-inner {  
    display: flex !important;  
    align-items: center !important;  
    gap: 14px !important;  
    cursor: pointer !important;  
    width: 100% !important;  
}
/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-toc {  
        padding: 28px 24px 24px !important;  
    }

    .bw-toc__title {  
        font-size: 24px !important;  
    }

    .bw-toc__item {  
        padding: 9px 10px !important;  
        gap: 12px !important;  
    }

    .bw-toc__badge {  
        width: 32px !important;  
        height: 32px !important;  
        min-width: 32px !important;  
        font-size: 14px !important;  
    }

    .bw-toc__link {  
        font-size: 18px !important;  
    }

    .bw-toc::after {  
        width: 60px !important;  
        height: 60px !important;  
        opacity: 0.04 !important;  
    }  
}

/* ============================================
   BW-002: bw-short
   ============================================ */
/* ============================================  
   BW-002: SHORT ANSWER — Scoped Styles  
   ============================================ */  
.bw-short *,  
.bw-short *::before,  
.bw-short *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-short {  
    --sky: #5EA6F1;  
    --sky-light: rgba(94, 166, 241, 0.12);  
    --navy: #263F59;  
    --tan: #E2D1B5;  
    --body-text: #4b5563;  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --radius: 16px;

    font-family: var(--font-body) !important;  
    background: #FFFFFF !important;  
    border: 1px solid var(--tan) !important;  
    border-radius: var(--radius) !important;  
    box-shadow: var(--shadow) !important;  
    overflow: hidden !important;  
    max-width: 820px !important;  
    position: relative !important;  
}

/* Gradient top bar */  
.bw-short::before {  
    content: '' !important;  
    position: absolute !important;  
    top: 0 !important;  
    left: 0 !important;  
    right: 0 !important;  
    height: 4px !important;  
    background: linear-gradient(90deg, var(--sky) 0%, transparent 100%) !important;  
    border-radius: var(--radius) var(--radius) 0 0 !important;  
}

.bw-short__inner {  
    display: flex !important;  
    align-items: flex-start !important;  
    gap: 20px !important;  
    padding: 32px 36px !important;  
}

/* Icon container */  
.bw-short__icon {  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    width: 52px !important;  
    height: 52px !important;  
    min-width: 52px !important;  
    background: var(--sky-light) !important;  
    border-radius: 14px !important;  
    font-size: 24px !important;  
    flex-shrink: 0 !important;  
}

.bw-short__content {  
    flex: 1 !important;  
}

.bw-short__title {  
    font-family: var(--font-heading) !important;  
    font-size: 22px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.25 !important;  
    margin-bottom: 10px !important;  
}

.bw-short__text {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--body-text) !important;  
    line-height: 1.75 !important;  
}

.bw-short__text a {  
    color: var(--sky) !important;  
    text-decoration: underline !important;  
    transition: color 0.2s ease !important;  
}

.bw-short__text a:hover {  
    color: #4a94db !important;  
}

/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-short__inner {  
        flex-direction: column !important;  
        gap: 14px !important;  
        padding: 28px 24px !important;  
    }

    .bw-short__title {  
        font-size: 20px !important;  
    }

    .bw-short__text {  
        font-size: 18px !important;  
    }  
}

/* ============================================
   BW-003: bw-domains
   ============================================ */
/* ============================================  
   BW-003: SYMPTOM DOMAIN CARDS — Scoped Styles  
   ============================================ */  
.bw-domains *,  
.bw-domains *::before,  
.bw-domains *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-domains {  
    --sky: #5EA6F1;  
    --navy: #263F59;  
    --copper: #B87333;  
    --tan: #E2D1B5;  
    --body-text: #4b5563;  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --shadow-hover: 0 8px 30px rgba(38, 63, 89, 0.12);  
    --radius: 16px;

    font-family: var(--font-body) !important;  
    display: grid !important;  
    grid-template-columns: 1fr 1fr !important;  
    gap: 20px !important;  
    max-width: 820px !important;  
}

.bw-domains__card {  
    background: #FFFFFF !important;  
    border-radius: var(--radius) !important;  
    overflow: hidden !important;  
    box-shadow: var(--shadow) !important;  
    border: 1px solid rgba(226, 209, 181, 0.5) !important;  
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;  
}

.bw-domains__card:hover {  
    transform: translateY(-3px) !important;  
    box-shadow: var(--shadow-hover) !important;  
}

/* Header strip — tinted gradient */  
.bw-domains__header {  
    display: flex !important;  
    align-items: center !important;  
    gap: 14px !important;  
    padding: 18px 22px !important;  
}

/* Color variants */  
.bw-domains__header--blue {  
    background: linear-gradient(135deg, #E9EFFF 0%, #F0F7FE 100%) !important;  
}

.bw-domains__header--copper {  
    background: linear-gradient(135deg, #F9F0E8 0%, #FDF8F4 100%) !important;  
}

.bw-domains__header--navy {  
    background: linear-gradient(135deg, #E8ECF0 0%, #F2F4F6 100%) !important;  
}

.bw-domains__header--seafoam {  
    background: linear-gradient(135deg, #EFF8F6 0%, #F4FAF8 100%) !important;  
}

/* Icon container */  
.bw-domains__icon {  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    width: 42px !important;  
    height: 42px !important;  
    min-width: 42px !important;  
    background: #FFFFFF !important;  
    border-radius: 10px !important;  
    box-shadow: 0 2px 8px rgba(38, 63, 89, 0.08) !important;  
    font-size: 20px !important;  
    flex-shrink: 0 !important;  
}

/* Title inside header strip */  
.bw-domains__title {  
    font-family: var(--font-heading) !important;  
    font-size: 22px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.25 !important;  
}

/* Body area */  
.bw-domains__body {  
    padding: 20px 22px 24px !important;  
}

.bw-domains__desc {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--body-text) !important;  
    line-height: 1.65 !important;  
    opacity: 0.85 !important;  
}

.bw-domains__desc a {  
    color: var(--sky) !important;  
    text-decoration: underline !important;  
    transition: color 0.2s ease !important;  
}

.bw-domains__desc a:hover {  
    color: #4a94db !important;  
}

/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-domains {  
        grid-template-columns: 1fr !important;  
        gap: 16px !important;  
    }

    .bw-domains__header {  
        padding: 16px 20px !important;  
    }

    .bw-domains__title {  
        font-size: 20px !important;  
    }

    .bw-domains__body {  
        padding: 18px 20px 22px !important;  
    }

    .bw-domains__desc {  
        font-size: 18px !important;  
    }  
}

/* ============================================
   BW-005: bw-check
   ============================================ */
/* ============================================  
   BW-005: CHECKLIST — Scoped Styles  
   ============================================ */  
.bw-check *,  
.bw-check *::before,  
.bw-check *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-check {  
    --sky: #5EA6F1;  
    --sky-hover: #4a94db;  
    --sky-light: rgba(94, 166, 241, 0.12);  
    --navy: #263F59;  
    --copper: #B87333;  
    --cream: #F9F0E8;  
    --tan: #E2D1B5;  
    --body-text: #4b5563;  
    --storybook: linear-gradient(135deg, #E9EFFF 0%, #F9F0E8 100%);  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --radius: 16px;

    font-family: var(--font-body) !important;  
    background: var(--storybook) !important;  
    border: 1px solid var(--tan) !important;  
    border-radius: var(--radius) !important;  
    box-shadow: var(--shadow) !important;  
    overflow: hidden !important;  
    max-width: 820px !important;  
    position: relative !important;  
}

/* Dragonfly decoration */  
.bw-check::after {  
    content: '' !important;  
    position: absolute !important;  
    bottom: -12px !important;  
    right: -12px !important;  
    width: 90px !important;  
    height: 90px !important;  
    background-image: url('https://www.redefinewellnessandtreatment.com/wp-content/uploads/2025/10/Group-1597880636.svg') !important;  
    background-repeat: no-repeat !important;  
    background-size: contain !important;  
    opacity: 0.06 !important;  
    pointer-events: none !important;  
    z-index: 0 !important;  
}

/* Top section: title + counter + checklist */  
.bw-check__top {  
    padding: 36px 40px 28px !important;  
    position: relative !important;  
    z-index: 1 !important;  
}

.bw-check__header {  
    display: flex !important;  
    align-items: center !important;  
    justify-content: space-between !important;  
    margin-bottom: 6px !important;  
}

.bw-check__title {  
    font-family: var(--font-heading) !important;  
    font-size: 26px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.25 !important;  
}

/* Counter badge */  
.bw-check__counter {  
    display: flex !important;  
    align-items: center !important;  
    gap: 6px !important;  
    background: rgba(255, 255, 255, 0.6) !important;  
    border: 1.5px solid var(--tan) !important;  
    border-radius: 999px !important;  
    padding: 6px 14px !important;  
    font-family: var(--font-body) !important;  
    font-size: 14px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    transition: all 0.3s ease !important;  
    white-space: nowrap !important;  
}

.bw-check__counter.active {  
    background: var(--sky) !important;  
    border-color: var(--sky) !important;  
    color: white !important;  
}

.bw-check__counter-num {  
    font-weight: 700 !important;  
}

/* Gradient fade divider */  
.bw-check__divider {  
    height: 2px !important;  
    background: linear-gradient(90deg, var(--sky) 0%, transparent 100%) !important;  
    border: none !important;  
    margin: 16px 0 22px 0 !important;  
    border-radius: 2px !important;  
}

/* Checklist items */  
.bw-check__list {  
    list-style: none !important;  
    display: flex !important;  
    flex-direction: column !important;  
    gap: 4px !important;  
}

.bw-check__item {  
    position: relative !important;  
}

.bw-check__label {  
    display: flex !important;  
    align-items: center !important;  
    gap: 14px !important;  
    padding: 12px 14px !important;  
    border-radius: 10px !important;  
    cursor: pointer !important;  
    transition: background 0.2s ease !important;  
    width: 100% !important;  
}

.bw-check__label:hover {  
    background: rgba(255, 255, 255, 0.5) !important;  
}

/* Hide native checkbox */  
.bw-check__input {  
    position: absolute !important;  
    opacity: 0 !important;  
    width: 0 !important;  
    height: 0 !important;  
    pointer-events: none !important;  
}

/* Custom checkbox */  
.bw-check__box {  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    width: 28px !important;  
    height: 28px !important;  
    min-width: 28px !important;  
    border: 2px solid var(--sky) !important;  
    border-radius: 8px !important;  
    background: rgba(255, 255, 255, 0.7) !important;  
    transition: all 0.2s ease !important;  
    flex-shrink: 0 !important;  
    color: transparent !important;  
    font-size: 14px !important;  
}

.bw-check__input:checked ~ .bw-check__box {  
    background: var(--sky) !important;  
    border-color: var(--sky) !important;  
    color: white !important;  
}

.bw-check__text {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--navy) !important;  
    line-height: 1.5 !important;  
    transition: all 0.2s ease !important;  
}

.bw-check__input:checked ~ .bw-check__text {  
    text-decoration: line-through !important;  
    opacity: 0.4 !important;  
}

/* Bottom section: note + CTA */  
.bw-check__bottom {  
    background: rgba(255, 255, 255, 0.65) !important;  
    border-top: 1px solid var(--tan) !important;  
    padding: 24px 40px !important;  
    text-align: center !important;  
    position: relative !important;  
    z-index: 1 !important;  
}

.bw-check__note {  
    font-family: var(--font-body) !important;  
    font-size: 15px !important;  
    font-style: italic !important;  
    color: var(--copper) !important;  
    line-height: 1.5 !important;  
    margin-bottom: 18px !important;  
    opacity: 0.85 !important;  
}

/* Pill CTA button */  
.bw-check__cta {  
    display: inline-flex !important;  
    align-items: center !important;  
    gap: 10px !important;  
    padding: 16px 32px !important;  
    border-radius: 999px !important;  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 600 !important;  
    text-decoration: none !important;  
    border: none !important;  
    cursor: pointer !important;  
    transition: all 0.25s ease !important;  
    color: white !important;  
    background: var(--sky) !important;  
}

.bw-check__cta:hover {  
    background: var(--sky-hover) !important;  
    transform: translateY(-2px) !important;  
    box-shadow: 0 6px 20px rgba(94, 166, 241, 0.3) !important;  
    color: white !important;  
    text-decoration: none !important;  
}

.bw-check__cta:visited,  
.bw-check__cta:active,  
.bw-check__cta:focus {  
    color: white !important;  
    text-decoration: none !important;  
}

.bw-check__cta svg {  
    width: 20px !important;  
    height: 20px !important;  
}

/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-check__top {  
        padding: 28px 24px 22px !important;  
    }

    .bw-check__header {  
        flex-direction: column !important;  
        align-items: flex-start !important;  
        gap: 10px !important;  
    }

    .bw-check__title {  
        font-size: 23px !important;  
    }

    .bw-check__label {  
        padding: 10px 10px !important;  
        gap: 12px !important;  
    }

    .bw-check__text {  
        font-size: 18px !important;  
    }

    .bw-check__bottom {  
        padding: 22px 24px !important;  
    }

    .bw-check__cta {  
        width: 100% !important;  
        justify-content: center !important;  
    }

    .bw-check::after {  
        width: 60px !important;  
        height: 60px !important;  
        opacity: 0.04 !important;  
    }  
}

/* ============================================
   BW-006a: qn-c
   ============================================ */
.qn-c *,.qn-c *::before,.qn-c *::after{box-sizing:border-box!important;margin:0!important;padding:0!important}

.qn-c {  
    --rw-sky-blue: #5EA6F1;  
    --rw-sky-blue-light: rgba(94, 166, 241, 0.12);  
    --rw-navy: #263F59;  
    --rw-cream-light: #FDF8F4;  
    --rw-tan-border: #E2D1B5;  
    --rw-font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --rw-font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --rw-shadow-soft: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --rw-radius: 16px;

    font-family: var(--rw-font-body) !important;  
    background: white !important;  
    border: 1px solid var(--rw-tan-border) !important;  
    border-radius: var(--rw-radius) !important;  
    overflow: hidden !important;  
    box-shadow: var(--rw-shadow-soft) !important;  
    position: relative !important;  
    max-width: 820px !important;  
}

.qn-c__accent {  
    height: 4px !important;  
    background: linear-gradient(90deg, var(--rw-sky-blue) 0%, rgba(94, 166, 241, 0.12) 100%) !important;  
}

.qn-c__watermark {  
    position: absolute !important;  
    top: 16px !important;  
    right: 20px !important;  
    font-size: 64px !important;  
    opacity: 0.07 !important;  
    pointer-events: none !important;  
}

.qn-c__inner {  
    padding: 28px 32px !important;  
    position: relative !important;  
    z-index: 1 !important;  
}

.qn-c__title {  
    font-family: var(--rw-font-heading) !important;  
    font-size: 22px !important;  
    font-weight: 600 !important;  
    color: var(--rw-navy) !important;  
    margin-bottom: 14px !important;  
    line-height: 1.3 !important;  
}

.qn-c__text {  
    font-family: var(--rw-font-body) !important;  
    font-size: 18px !important;  
    line-height: 1.7 !important;  
    color: var(--rw-navy) !important;  
    opacity: 0.85 !important;  
    margin-bottom: 18px !important;  
}

.qn-c__text a {  
    color: var(--rw-sky-blue) !important;  
    text-decoration: underline !important;  
    text-decoration-color: rgba(94, 166, 241, 0.3) !important;  
    text-underline-offset: 3px !important;  
    transition: text-decoration-color 0.2s ease !important;  
}

.qn-c__text a:hover {  
    text-decoration-color: var(--rw-sky-blue) !important;  
}

.qn-c__takeaway {  
    background: var(--rw-cream-light) !important;  
    border-radius: 10px !important;  
    padding: 14px 18px !important;  
    display: flex !important;  
    align-items: flex-start !important;  
    gap: 12px !important;  
}

.qn-c__takeaway-icon {  
    font-size: 18px !important;  
    margin-top: 2px !important;  
    flex-shrink: 0 !important;  
}

.qn-c__takeaway-text {  
    font-family: var(--rw-font-body) !important;  
    font-size: 16px !important;  
    font-weight: 600 !important;  
    line-height: 1.55 !important;  
    color: var(--rw-navy) !important;  
}

@media (max-width: 768px) {  
    .qn-c__inner { padding: 24px 20px !important; }  
    .qn-c__watermark { font-size: 48px !important; }  
}

/* ============================================
   BW-007: bw-mech
   ============================================ */
/* ============================================  
   BW-007: MECHANISM CARDS — Scoped Styles  
   ============================================ */  
.bw-mech *,  
.bw-mech *::before,  
.bw-mech *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-mech {  
    --sky: #5EA6F1;  
    --navy: #263F59;  
    --copper: #B87333;  
    --cream: #F9F0E8;  
    --tan: #E2D1B5;  
    --body-text: #4b5563;  
    --storybook: linear-gradient(135deg, #E9EFFF 0%, #F9F0E8 100%);  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --shadow-hover: 0 8px 30px rgba(38, 63, 89, 0.12);  
    --radius: 16px;

    font-family: var(--font-body) !important;  
    background: var(--storybook) !important;  
    border: 1px solid var(--tan) !important;  
    border-radius: var(--radius) !important;  
    box-shadow: var(--shadow) !important;  
    padding: 40px 36px !important;  
    max-width: 820px !important;  
    position: relative !important;  
    overflow: hidden !important;  
}

/* Dragonfly */  
.bw-mech::after {  
    content: '' !important;  
    position: absolute !important;  
    bottom: -10px !important;  
    right: -10px !important;  
    width: 90px !important;  
    height: 90px !important;  
    background-image: url('https://www.redefinewellnessandtreatment.com/wp-content/uploads/2025/10/Group-1597880636.svg') !important;  
    background-repeat: no-repeat !important;  
    background-size: contain !important;  
    opacity: 0.06 !important;  
    pointer-events: none !important;  
    z-index: 0 !important;  
}

/* Header: title + subtitle */  
.bw-mech__header {  
    text-align: center !important;  
    margin-bottom: 28px !important;  
    position: relative !important;  
    z-index: 1 !important;  
}

.bw-mech__title {  
    font-family: var(--font-heading) !important;  
    font-size: 26px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.25 !important;  
    margin-bottom: 8px !important;  
}

.bw-mech__subtitle {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--body-text) !important;  
    line-height: 1.5 !important;  
    opacity: 0.8 !important;  
}

/* Cards grid */  
.bw-mech__grid {  
    display: grid !important;  
    grid-template-columns: 1fr 1fr !important;  
    gap: 18px !important;  
    position: relative !important;  
    z-index: 1 !important;  
}

/* Individual card */  
.bw-mech__card {  
    background: #FFFFFF !important;  
    border-radius: 14px !important;  
    padding: 28px 24px 24px !important;  
    box-shadow: 0 2px 12px rgba(38, 63, 89, 0.06) !important;  
    position: relative !important;  
    overflow: hidden !important;  
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;  
}

.bw-mech__card:hover {  
    transform: translateY(-2px) !important;  
    box-shadow: var(--shadow-hover) !important;  
}

/* Watermark number */  
.bw-mech__num {  
    position: absolute !important;  
    top: 10px !important;  
    right: 14px !important;  
    font-family: var(--font-heading) !important;  
    font-size: 64px !important;  
    font-weight: 400 !important;  
    color: var(--sky) !important;  
    opacity: 0.08 !important;  
    line-height: 1 !important;  
    pointer-events: none !important;  
    user-select: none !important;  
}

.bw-mech__card-title {  
    font-family: var(--font-heading) !important;  
    font-size: 22px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.3 !important;  
    margin-bottom: 10px !important;  
    position: relative !important;  
}

.bw-mech__card-text {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--body-text) !important;  
    line-height: 1.65 !important;  
    position: relative !important;  
}

.bw-mech__card-text a {  
    color: var(--sky) !important;  
    text-decoration: underline !important;  
    transition: color 0.2s ease !important;  
}

.bw-mech__card-text a:hover {  
    color: #4a94db !important;  
}

/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-mech {  
        padding: 30px 22px !important;  
    }

    .bw-mech__title {  
        font-size: 23px !important;  
    }

    .bw-mech__grid {  
        grid-template-columns: 1fr !important;  
        gap: 14px !important;  
    }

    .bw-mech__card {  
        padding: 24px 20px 22px !important;  
    }

    .bw-mech__num {  
        font-size: 52px !important;  
    }

    .bw-mech__card-title {  
        font-size: 20px !important;  
    }

    .bw-mech__card-text {  
        font-size: 18px !important;  
    }

    .bw-mech::after {  
        width: 60px !important;  
        height: 60px !important;  
        opacity: 0.04 !important;  
    }  
}

/* ============================================
   BW-008a: bw-stat-ed
   ============================================ */
/* ============================================  
   BW-008a: STAT EDITORIAL — Scoped Styles  
   ============================================ */  
.bw-stat-ed *,  
.bw-stat-ed *::before,  
.bw-stat-ed *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-stat-ed {  
    --sky: #5EA6F1;  
    --navy: #263F59;  
    --copper: #B87333;  
    --ice: #F0F7FE;  
    --tan: #E2D1B5;  
    --body-text: #4b5563;  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --radius: 14px;

    font-family: var(--font-body) !important;  
    background: var(--ice) !important;  
    border: 1px solid rgba(94, 166, 241, 0.2) !important;  
    border-radius: var(--radius) !important;  
    padding: 32px 36px !important;  
    max-width: 820px !important;  
    display: flex !important;  
    align-items: flex-start !important;  
    gap: 28px !important;  
}

/* Left: stat number */  
.bw-stat-ed__num-wrap {  
    flex-shrink: 0 !important;  
    text-align: center !important;  
    min-width: 100px !important;  
    padding-top: 4px !important;  
}

.bw-stat-ed__num {  
    font-family: var(--font-heading) !important;  
    font-size: 52px !important;  
    font-weight: 600 !important;  
    color: var(--sky) !important;  
    line-height: 1 !important;  
    letter-spacing: -1px !important;  
}

.bw-stat-ed__num-label {  
    font-family: var(--font-body) !important;  
    font-size: 13px !important;  
    font-weight: 600 !important;  
    letter-spacing: 1px !important;  
    text-transform: uppercase !important;  
    color: var(--copper) !important;  
    margin-top: 6px !important;  
}

/* Vertical divider */  
.bw-stat-ed__divider {  
    width: 2px !important;  
    min-height: 60px !important;  
    align-self: stretch !important;  
    background: linear-gradient(180deg, var(--sky) 0%, transparent 100%) !important;  
    border-radius: 2px !important;  
    flex-shrink: 0 !important;  
}

/* Right: text content */  
.bw-stat-ed__content {  
    flex: 1 !important;  
    min-width: 0 !important;  
}

.bw-stat-ed__text {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--navy) !important;  
    line-height: 1.65 !important;  
    margin-bottom: 10px !important;  
}

.bw-stat-ed__text a {  
    color: var(--sky) !important;  
    text-decoration: underline !important;  
    transition: color 0.2s ease !important;  
}

.bw-stat-ed__text a:hover {  
    color: #4a94db !important;  
}

.bw-stat-ed__source {  
    font-family: var(--font-body) !important;  
    font-size: 14px !important;  
    font-style: italic !important;  
    color: var(--body-text) !important;  
    opacity: 0.7 !important;  
    line-height: 1.4 !important;  
}

/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-stat-ed {  
        flex-direction: column !important;  
        align-items: flex-start !important;  
        gap: 16px !important;  
        padding: 28px 24px !important;  
    }

    .bw-stat-ed__num-wrap {  
        text-align: left !important;  
        min-width: auto !important;  
    }

    .bw-stat-ed__num {  
        font-size: 44px !important;  
    }

    .bw-stat-ed__divider {  
        width: 100% !important;  
        height: 2px !important;  
        min-height: 2px !important;  
        background: linear-gradient(90deg, var(--sky) 0%, transparent 100%) !important;  
    }

    .bw-stat-ed__text {  
        font-size: 18px !important;  
    }  
}

/* ============================================
   BW-009: bw-treat
   ============================================ */
/* ============================================  
   BW-009: TREATMENT GRID — Scoped Styles  
   ============================================ */  
.bw-treat *,  
.bw-treat *::before,  
.bw-treat *::after {  
    box-sizing: border-box !important;  
    margin: 0 !important;  
    padding: 0 !important;  
}

.bw-treat {  
    --sky: #5EA6F1;  
    --navy: #263F59;  
    --copper: #B87333;  
    --ice: #F0F7FE;  
    --tan: #E2D1B5;  
    --body-text: #4b5563;  
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --shadow-hover: 0 8px 30px rgba(38, 63, 89, 0.12);  
    --radius: 14px;

    font-family: var(--font-body) !important;  
    display: grid !important;  
    grid-template-columns: 1fr 1fr !important;  
    gap: 18px !important;  
    max-width: 820px !important;  
}

.bw-treat__card {  
    background: #FFFFFF !important;  
    border-radius: var(--radius) !important;  
    overflow: hidden !important;  
    box-shadow: var(--shadow) !important;  
    border: 1px solid rgba(226, 209, 181, 0.35) !important;  
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;  
}

.bw-treat__card:hover {  
    transform: translateY(-2px) !important;  
    box-shadow: var(--shadow-hover) !important;  
}

/* Gradient top bar */  
.bw-treat__bar {  
    height: 4px !important;  
    background: linear-gradient(90deg, var(--sky) 0%, transparent 100%) !important;  
}

.bw-treat__inner {  
    padding: 24px 22px 26px !important;  
}

/* Icon + title row */  
.bw-treat__head {  
    display: flex !important;  
    align-items: center !important;  
    gap: 14px !important;  
    margin-bottom: 12px !important;  
}

.bw-treat__icon {  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    width: 44px !important;  
    height: 44px !important;  
    min-width: 44px !important;  
    background: var(--ice) !important;  
    border-radius: 10px !important;  
    font-size: 22px !important;  
    flex-shrink: 0 !important;  
}

.bw-treat__title {  
    font-family: var(--font-heading) !important;  
    font-size: 22px !important;  
    font-weight: 600 !important;  
    color: var(--navy) !important;  
    line-height: 1.25 !important;  
}

.bw-treat__text {  
    font-family: var(--font-body) !important;  
    font-size: 18px !important;  
    font-weight: 400 !important;  
    color: var(--body-text) !important;  
    line-height: 1.65 !important;  
}

.bw-treat__text a {  
    color: var(--sky) !important;  
    text-decoration: underline !important;  
    transition: color 0.2s ease !important;  
}

.bw-treat__text a:hover {  
    color: #4a94db !important;  
}

/* Optional "Learn more" link */  
.bw-treat__link {  
    display: inline-flex !important;  
    align-items: center !important;  
    gap: 6px !important;  
    font-family: var(--font-body) !important;  
    font-size: 16px !important;  
    font-weight: 600 !important;  
    color: var(--sky) !important;  
    text-decoration: none !important;  
    margin-top: 12px !important;  
    transition: gap 0.2s ease, color 0.2s ease !important;  
}

.bw-treat__link:hover {  
    color: #4a94db !important;  
    gap: 10px !important;  
    text-decoration: none !important;  
}

.bw-treat__link svg {  
    width: 16px !important;  
    height: 16px !important;  
}

/* ---- Mobile ---- */  
@media (max-width: 768px) {  
    .bw-treat {  
        grid-template-columns: 1fr !important;  
        gap: 14px !important;  
    }

    .bw-treat__inner {  
        padding: 22px 20px 24px !important;  
    }

    .bw-treat__title {  
        font-size: 20px !important;  
    }

    .bw-treat__text {  
        font-size: 18px !important;  
    }  
}

/* ============================================
   BW-010: bw-rway
   ============================================ */
.bw-rway *,.bw-rway *::before,.bw-rway *::after{box-sizing:border-box !important;margin:0 !important;padding:0 !important}

.bw-rway {
    --sky: #5EA6F1;
    --navy: #263F59;
    --copper: #B87333;
    --cream: #F9F0E8;
    --tan: #E2D1B5;
    --body-text: #4b5563;
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);
    --shadow-hover: 0 8px 30px rgba(38, 63, 89, 0.12);
    --radius: 16px;

    font-family: var(--font-body) !important;
    background: var(--cream) !important;
    border: 1px solid var(--tan) !important;
    border-radius: var(--radius) !important;
    padding: 40px 36px !important;
    max-width: 820px !important;
}

.bw-rway__title {
    font-family: var(--font-heading) !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    color: var(--navy) !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
    text-align: center !important;
}

.bw-rway__subtitle {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--body-text) !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin-bottom: 28px !important;
    opacity: 0.85 !important;
}

.bw-rway__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}

.bw-rway__card {
    background: white !important;
    border-radius: 14px !important;
    padding: 24px 22px !important;
    box-shadow: var(--shadow) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.bw-rway__card:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-hover) !important;
}

.bw-rway__card-icon {
    font-size: 24px !important;
    margin-bottom: 12px !important;
}

.bw-rway__card-title {
    font-family: var(--font-heading) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--navy) !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
}

.bw-rway__card-text {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--body-text) !important;
    line-height: 1.65 !important;
}

@media (max-width: 768px) {
    .bw-rway { padding: 28px 20px !important; }
    .bw-rway__title { font-size: 24px !important; }
    .bw-rway__grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* ============================================
   BW-011: bw-dyk
   ============================================ */
.bw-dyk *,.bw-dyk *::before,.bw-dyk *::after{box-sizing:border-box !important;margin:0 !important;padding:0 !important}

.bw-dyk {
    --sky: #5EA6F1;
    --navy: #263F59;
    --ice: #F0F7FE;
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --radius: 14px;

    font-family: var(--font-body) !important;
    background: var(--ice) !important;
    border: 1px solid rgba(94, 166, 241, 0.2) !important;
    border-radius: var(--radius) !important;
    padding: 24px 28px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    max-width: 820px !important;
}

.bw-dyk__icon {
    font-size: 24px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.bw-dyk__content {
    flex: 1 !important;
}

.bw-dyk__label {
    font-family: var(--font-heading) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: var(--navy) !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
}

.bw-dyk__text {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--navy) !important;
    line-height: 1.65 !important;
}

.bw-dyk__text a {
    color: var(--sky) !important;
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    .bw-dyk { padding: 20px 20px !important; gap: 12px !important; }
    .bw-dyk__label { font-size: 20px !important; }
}

/* ============================================
   BW-013b: obs-d
   ============================================ */
.obs-d *,.obs-d *::before,.obs-d *::after{box-sizing:border-box!important;margin:0!important;padding:0!important}

.obs-d {  
    --rw-sky-blue: #5EA6F1;  
    --rw-sky-blue-light: rgba(94, 166, 241, 0.12);  
    --rw-navy: #263F59;  
    --rw-cream-light: #FDF8F4;  
    --rw-tan-border: #E2D1B5;  
    --rw-font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --rw-font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --rw-shadow-soft: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --rw-radius: 16px;  
    --rw-radius-sm: 12px;

    font-family: var(--rw-font-body) !important;  
    background: white !important;  
    border: 1px solid var(--rw-tan-border) !important;  
    border-radius: var(--rw-radius) !important;  
    overflow: hidden !important;  
    box-shadow: var(--rw-shadow-soft) !important;  
    max-width: 820px !important;  
}

.obs-d__accent {  
    height: 4px !important;  
    background: linear-gradient(90deg, var(--rw-sky-blue) 0%, rgba(94, 166, 241, 0.15) 100%) !important;  
}

.obs-d__inner {  
    padding: 28px 32px !important;  
}

.obs-d__header {  
    display: flex !important;  
    align-items: center !important;  
    gap: 14px !important;  
    margin-bottom: 22px !important;  
}

.obs-d__header-icon {  
    width: 48px !important;  
    height: 48px !important;  
    min-width: 48px !important;  
    border-radius: 14px !important;  
    background: var(--rw-sky-blue-light) !important;  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    font-size: 22px !important;  
    flex-shrink: 0 !important;  
}

.obs-d__header-text {  
    flex: 1 !important;  
}

.obs-d__header-title {  
    font-family: var(--rw-font-heading) !important;  
    font-size: 22px !important;  
    font-weight: 600 !important;  
    color: var(--rw-navy) !important;  
    line-height: 1.3 !important;  
}

.obs-d__header-sub {  
    font-family: var(--rw-font-body) !important;  
    font-size: 15px !important;  
    color: var(--rw-navy) !important;  
    opacity: 0.55 !important;  
    font-style: italic !important;  
}

.obs-d__items {  
    display: flex !important;  
    flex-direction: column !important;  
    gap: 14px !important;  
}

.obs-d__item {  
    display: flex !important;  
    align-items: flex-start !important;  
    gap: 14px !important;  
    padding: 16px 18px !important;  
    background: var(--rw-cream-light) !important;  
    border-radius: var(--rw-radius-sm) !important;  
}

.obs-d__item-icon {  
    width: 32px !important;  
    height: 32px !important;  
    min-width: 32px !important;  
    border-radius: 8px !important;  
    background: white !important;  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    font-size: 16px !important;  
    box-shadow: 0 1px 4px rgba(38, 63, 89, 0.06) !important;  
    margin-top: 2px !important;  
    flex-shrink: 0 !important;  
}

.obs-d__item-text {  
    font-family: var(--rw-font-body) !important;  
    font-size: 18px !important;  
    line-height: 1.65 !important;  
    color: var(--rw-navy) !important;  
    opacity: 0.85 !important;  
}

.obs-d__item-text a {  
    color: var(--rw-sky-blue) !important;  
    text-decoration: underline !important;  
    text-decoration-color: rgba(94, 166, 241, 0.3) !important;  
    text-underline-offset: 3px !important;  
    transition: text-decoration-color 0.2s ease !important;  
}

.obs-d__item-text a:hover {  
    text-decoration-color: var(--rw-sky-blue) !important;  
}

.obs-d__attribution {  
    margin-top: 18px !important;  
    padding-top: 16px !important;  
    border-top: 1px solid rgba(226, 209, 181, 0.5) !important;  
    font-family: var(--rw-font-body) !important;  
    font-size: 14px !important;  
    color: var(--rw-navy) !important;  
    opacity: 0.55 !important;  
    font-style: italic !important;  
}

@media (max-width: 768px) {  
    .obs-d__inner { padding: 24px 20px !important; }  
    .obs-d__item { padding: 14px 14px !important; }  
}

/* ============================================
   BW-014: bw-faq
   ============================================ */
.bw-faq *,.bw-faq *::before,.bw-faq *::after{box-sizing:border-box;margin:0;padding:0}

.bw-faq {
    --sky: #5EA6F1;
    --sky-light: rgba(94, 166, 241, 0.12);
    --navy: #263F59;
    --ice: #F0F7FE;
    --tan: #E2D1B5;
    --body-text: #4b5563;
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --radius: 16px;

    font-family: var(--font-body);
    background: var(--ice);
    border: 1px solid rgba(94, 166, 241, 0.15);
    border-radius: var(--radius);
    padding: 36px 40px;
    max-width: 820px;
}

.bw-faq__header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.bw-faq__header-icon { font-size: 28px; line-height: 1; }
.bw-faq__header-title { font-family: var(--font-heading); font-size: 26px; font-weight: 600; color: var(--navy); line-height: 1.2; }
.bw-faq__list { display: flex; flex-direction: column; gap: 12px; }
.bw-faq__item { background: white; border-radius: 12px; border: 1px solid rgba(226, 209, 181, 0.4); overflow: hidden; transition: box-shadow 0.2s ease; }
.bw-faq__item:hover { box-shadow: 0 2px 12px rgba(38, 63, 89, 0.06); }
.bw-faq__question { width: 100%; background: none; border: none; padding: 20px 22px; display: flex; align-items: center; gap: 14px; cursor: pointer; text-align: left; font-family: var(--font-body); }
.bw-faq__num { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-width: 32px; border-radius: 8px; background: var(--sky-light); font-family: var(--font-body); font-size: 14px; font-weight: 700; color: var(--sky); flex-shrink: 0; }
.bw-faq__question-text { flex: 1; font-family: var(--font-body); font-size: 18px; font-weight: 600; color: var(--navy); line-height: 1.4; min-width: 0; overflow-wrap: break-word; word-break: normal; }
.bw-faq__icon { font-size: 22px; font-weight: 300; color: var(--sky); transition: transform 0.3s ease; flex-shrink: 0; line-height: 1; min-width: 22px; text-align: center; }
.bw-faq__item.active .bw-faq__icon { transform: rotate(45deg); }
.bw-faq__item.active .bw-faq__num { background: var(--sky); color: white; }
.bw-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.bw-faq__answer-inner { padding: 0 22px 24px 22px; }
.bw-faq__answer-text { font-family: var(--font-body); font-size: 18px; font-weight: 400; color: var(--navy); line-height: 1.75; }
.bw-faq__answer-text a { color: var(--sky); text-decoration: underline; }

@media (max-width: 768px) {
    .bw-faq { padding: 28px 20px; }
    .bw-faq__header-title { font-size: 23px; }
    .bw-faq__question { padding: 16px 14px; gap: 10px; align-items: flex-start; }
    .bw-faq__num { margin-top: 2px; flex-shrink: 0; }
    .bw-faq__question-text { font-size: 17px; min-width: 0; overflow-wrap: break-word; word-wrap: break-word; white-space: normal; }
    .bw-faq__icon { margin-top: 2px; flex-shrink: 0; min-width: 20px; text-align: center; }
    .bw-faq__answer-inner { padding: 0 14px 18px 14px; }
    .bw-faq__answer-text { font-size: 17px; }
}
@media (max-width: 480px) {
    .bw-faq { padding: 24px 16px; }
    .bw-faq__question { padding: 14px 12px; gap: 8px; }
    .bw-faq__num { width: 28px; height: 28px; min-width: 28px; font-size: 13px; border-radius: 6px; flex-shrink: 0; }
    .bw-faq__question-text { font-size: 16px; white-space: normal; }
    .bw-faq__icon { font-size: 20px; flex-shrink: 0; min-width: 18px; }
    .bw-faq__answer-inner { padding: 0 12px 16px 12px; }
    .bw-faq__answer-text { font-size: 16px; }
}

/* ============================================
   BW-015: bw-cta
   ============================================ */
.bw-cta *,.bw-cta *::before,.bw-cta *::after{box-sizing:border-box !important;margin:0 !important;padding:0 !important}

.bw-cta {
    --sky: #5EA6F1;
    --sky-hover: #4a94db;
    --navy: #263F59;
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --radius: 16px;

    font-family: var(--font-body) !important;
    background: var(--navy) !important;
    border-radius: var(--radius) !important;
    padding: 48px 40px !important;
    text-align: center !important;
    max-width: 820px !important;
}

.bw-cta__title {
    font-family: var(--font-heading) !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    color: white !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
}

.bw-cta__text {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    line-height: 1.65 !important;
    margin-bottom: 28px !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.bw-cta__buttons {
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin-bottom: 20px !important;
}

.bw-cta__btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 16px 32px !important;
    border-radius: 999px !important;
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    border: 2px solid transparent !important;
}

.bw-cta__btn--primary {
    background: var(--sky) !important;
    color: white !important;
    border-color: var(--sky) !important;
}

.bw-cta__btn--primary:hover {
    background: var(--sky-hover) !important;
    border-color: var(--sky-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(94, 166, 241, 0.3) !important;
    color: white !important;
    text-decoration: none !important;
}

.bw-cta__btn--secondary {
    background: transparent !important;
    color: white !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}

.bw-cta__btn--secondary:hover {
    border-color: white !important;
    background: rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px) !important;
    color: white !important;
    text-decoration: none !important;
}

.bw-cta__location {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

@media (max-width: 768px) {
    .bw-cta { padding: 36px 24px !important; }
    .bw-cta__title { font-size: 24px !important; }
    .bw-cta__buttons { flex-direction: column !important; align-items: center !important; }
    .bw-cta__btn { width: 100% !important; justify-content: center !important; max-width: 320px !important; }
}

/* ============================================
   BW-017: bw-minicta
   ============================================ */
.bw-minicta *,.bw-minicta *::before,.bw-minicta *::after{box-sizing:border-box !important;margin:0 !important;padding:0 !important}

.bw-minicta {
    --sky: #5EA6F1;
    --sky-hover: #4a94db;
    --navy: #263F59;
    --tan: #E2D1B5;
    --body-text: #4b5563;
    --font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;
    --font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --shadow: 0 4px 20px rgba(38, 63, 89, 0.08);
    --radius: 14px;

    font-family: var(--font-body) !important;
    background: white !important;
    border: 1px solid var(--tan) !important;
    border-radius: var(--radius) !important;
    padding: 24px 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    box-shadow: var(--shadow) !important;
    max-width: 820px !important;
}

.bw-minicta__content { flex: 1 !important; }

.bw-minicta__title {
    font-family: var(--font-heading) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--navy) !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
}

.bw-minicta__text {
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--body-text) !important;
    line-height: 1.5 !important;
}

.bw-minicta__btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    border-radius: 999px !important;
    background: var(--sky) !important;
    color: white !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.25s ease !important;
    flex-shrink: 0 !important;
}

.bw-minicta__btn:hover {
    background: var(--sky-hover) !important;
    transform: translateY(-1px) !important;
    color: white !important;
    text-decoration: none !important;
}

@media (max-width: 768px) {
    .bw-minicta { flex-direction: column !important; text-align: center !important; gap: 16px !important; padding: 22px 20px !important; }
    .bw-minicta__btn { width: 100% !important; justify-content: center !important; }
}

/* ============================================
   BW-018: res-a
   ============================================ */
.res-a *,.res-a *::before,.res-a *::after{box-sizing:border-box!important;margin:0!important;padding:0!important}

.res-a {  
    --rw-sky-blue: #5EA6F1;  
    --rw-sky-blue-light: rgba(94, 166, 241, 0.12);  
    --rw-navy: #263F59;  
    --rw-ice-blue: #F0F7FE;  
    --rw-font-heading: 'IvyPresto Headline', Georgia, 'Times New Roman', serif;  
    --rw-font-body: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;  
    --rw-shadow-soft: 0 4px 20px rgba(38, 63, 89, 0.08);  
    --rw-radius: 16px;  
    --rw-radius-sm: 12px;

    font-family: var(--rw-font-body) !important;  
    background: var(--rw-ice-blue) !important;  
    border: 1px solid rgba(94, 166, 241, 0.12) !important;  
    border-radius: var(--rw-radius) !important;  
    padding: 40px 36px !important;  
    box-shadow: var(--rw-shadow-soft) !important;  
    text-align: center !important;  
    max-width: 820px !important;  
}

.res-a__icon {  
    width: 52px !important;  
    height: 52px !important;  
    border-radius: 14px !important;  
    background: white !important;  
    display: inline-flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    font-size: 24px !important;  
    box-shadow: 0 2px 10px rgba(38, 63, 89, 0.06) !important;  
    margin-bottom: 16px !important;  
}

.res-a__title {  
    font-family: var(--rw-font-heading) !important;  
    font-size: 24px !important;  
    font-weight: 600 !important;  
    color: var(--rw-navy) !important;  
    margin-bottom: 6px !important;  
    line-height: 1.3 !important;  
}

.res-a__subtitle {  
    font-family: var(--rw-font-body) !important;  
    font-size: 16px !important;  
    color: var(--rw-navy) !important;  
    opacity: 0.55 !important;  
    margin-bottom: 28px !important;  
}

.res-a__list {  
    display: flex !important;  
    flex-direction: column !important;  
    gap: 10px !important;  
    text-align: left !important;  
}

.res-a__item {  
    background: white !important;  
    border-radius: var(--rw-radius-sm) !important;  
    padding: 18px 22px !important;  
    display: flex !important;  
    align-items: flex-start !important;  
    gap: 16px !important;  
    transition: box-shadow 0.2s ease !important;  
}

.res-a__item:hover {  
    box-shadow: 0 4px 16px rgba(38, 63, 89, 0.08) !important;  
}

.res-a__num {  
    width: 32px !important;  
    height: 32px !important;  
    min-width: 32px !important;  
    border-radius: 8px !important;  
    background: var(--rw-sky-blue-light) !important;  
    display: flex !important;  
    align-items: center !important;  
    justify-content: center !important;  
    font-family: var(--rw-font-body) !important;  
    font-size: 14px !important;  
    font-weight: 700 !important;  
    color: var(--rw-sky-blue) !important;  
    margin-top: 2px !important;  
    flex-shrink: 0 !important;  
}

.res-a__content {  
    flex: 1 !important;  
}

.res-a__citation {  
    font-family: var(--rw-font-body) !important;  
    font-size: 16px !important;  
    line-height: 1.55 !important;  
    color: var(--rw-navy) !important;  
}

.res-a__citation em {  
    font-style: italic !important;  
}

.res-a__doi {  
    font-size: 16px !important;  
    margin-top: 4px !important;  
}

.res-a__doi a,  
.res-a a {  
    color: var(--rw-sky-blue) !important;  
    text-decoration: underline !important;  
    text-decoration-color: rgba(94, 166, 241, 0.3) !important;  
    text-underline-offset: 3px !important;  
    transition: text-decoration-color 0.2s ease !important;  
}

.res-a__doi a:hover,  
.res-a a:hover {  
    text-decoration-color: var(--rw-sky-blue) !important;  
}

@media (max-width: 768px) {  
    .res-a { padding: 28px 20px !important; }  
    .res-a__item { padding: 14px 16px !important; }  
    .res-a__title { font-size: 22px !important; }  
}

/* ============================================
   BULLET LIST OVERRIDES INSIDE WIDGETS
   The widgets' * wildcard reset zeroes out UL padding,
   pushing bullet markers flush to the card edge.
   These rules restore proper bullet indent inside
   BW-003 .bw-domains__body and BW-009 .bw-treat__text.
   ============================================ */

.bw-domains__body ul,
.bw-treat__text ul {
    list-style: disc outside !important;
    padding-left: 22px !important;
    margin: 0 !important;
}

.bw-domains__body li,
.bw-treat__text li {
    font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #263F59 !important;
    margin-bottom: 10px !important;
    padding-left: 4px !important;
}

.bw-domains__body li:last-child,
.bw-treat__text li:last-child {
    margin-bottom: 0 !important;
}

.bw-domains__body li::marker,
.bw-treat__text li::marker {
    color: #5EA6F1 !important;
}

@media (max-width: 768px) {
    .bw-domains__body ul,
    .bw-treat__text ul {
        padding-left: 20px !important;
    }
    .bw-domains__body li,
    .bw-treat__text li {
        font-size: 15px !important;
    }
}/* End custom CSS */