/* site palette */
html:root {
    --bg: #F8F6F4;
    --surface: #FFFFFF;
    --surface-alt: #E6F4EB;
    --text: #231D15;
    --text-muted: #72685A;
    --border: #E4DFD8;
    --primary: #2C814F;
    --primary-hover: #23663F;
    --on-primary: #FFFFFF;
    --primary-text: #29794A;
    --accent: #D487BB;
    --on-accent: #111111;
    --accent-text: #B4418F;
    --dark-band: #133923;
    --on-dark: #FFFFFF;
    --on-dark-muted: #C3BEB6;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #133923;
    --section-alt-bg: #E6F4EB;
    --dark-band-bg: #133923;
    --brand-band-bg: #2C814F;
    --hero-bg: #133923;
}

html:root {
    --bs-primary: #2C814F;
    --bs-primary-rgb: 44, 129, 79;
    --bs-link-color: #29794A;
    --bs-link-color-rgb: 41, 121, 74;
    --bs-link-hover-color: #23663F;
    --mdb-primary: #2C814F;
    --mdb-primary-rgb: 44, 129, 79;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-text);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    color: var(--primary-text);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.text-primary,
.link-primary {
    color: var(--primary-text) !important;
}

.bg-primary,
.text-bg-primary,
.badge.bg-primary {
    color: var(--on-primary) !important;
}

/* /site palette */

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

body {
    font-family: 'Barlow', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    font-size: 1.0625rem;
    line-height: 1.65;
    margin: 0;
    padding: 0;
}

.text-muted {
    color: var(--text-muted) !important;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

.hd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 50rem;
    padding: 0.8125rem 1.875rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: none;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.hd-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.hd-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--primary-text);
    border: 2px solid var(--primary);
    border-radius: 50rem;
    padding: 0.6875rem 1.75rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.hd-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.hd-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    padding: 1.75rem;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
    display: flex;
    flex-direction: column;
}

.hd-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: var(--border);
}

.hd-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    flex-shrink: 0;
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    position: relative;
}

.hd-media img,
.hd-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hd-eyebrow {
    display: inline-flex;
    align-items: center;
    background-color: var(--light-accent-tint, rgba(212, 135, 187, 0.18));
    color: var(--accent-text, #B4418F);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 0.375rem 1rem;
    border-radius: 50rem;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.hd-title {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: var(--text);
    text-transform: none;
    margin-bottom: 1rem;
}

.hd-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.35rem 0.75rem;
    border-radius: 2rem;
    background-color: var(--surface-alt, #E6F4EB);
    color: var(--primary-text, #29794A);
}

.hd-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--surface-alt, #E6F4EB);
    color: var(--primary-text, #29794A);
    font-size: 1.5rem;
    flex-shrink: 0;
}

.hd-section {
    background-color: var(--bg);
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.hd-section-alt {
    background-color: var(--section-alt-bg, var(--surface-alt));
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.hd-section-brand {
    background-color: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.hd-section-brand .hd-title,
.hd-section-brand h1,
.hd-section-brand h2,
.hd-section-brand h3,
.hd-section-brand p {
    color: var(--on-primary);
}

.hd-section-brand .hd-btn {
    background-color: var(--brand-btn-bg, #FFFFFF);
    color: var(--brand-btn-text, #133923);
}

.hd-section-brand .hd-btn:hover {
    background-color: var(--bg, #F8F6F4);
    color: var(--brand-btn-text, #133923);
}

.hd-section-brand .hd-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.hd-section-brand .hd-btn-alt:hover {
    background-color: var(--on-primary);
    color: var(--brand-btn-text, #133923);
}

.hd-section-dark {
    background-color: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.hd-on-dark {
    color: var(--on-dark);
}

.hd-section-dark .hd-title,
.hd-section-dark h1,
.hd-section-dark h2,
.hd-section-dark h3,
.hd-on-dark .hd-title,
.hd-on-dark h1,
.hd-on-dark h2,
.hd-on-dark h3 {
    color: var(--on-dark);
}

.hd-section-dark p,
.hd-on-dark p {
    color: var(--on-dark-muted, #C3BEB6);
}

.hd-section-dark .hd-eyebrow,
.hd-on-dark .hd-eyebrow {
    background-color: rgba(255, 255, 255, 0.12);
    color: var(--on-dark);
}

.hd-section-dark .hd-btn-alt,
.hd-on-dark .hd-btn-alt {
    border-color: var(--on-dark);
    color: var(--on-dark);
}

.hd-section-dark .hd-btn-alt:hover,
.hd-on-dark .hd-btn-alt:hover {
    background-color: var(--on-dark);
    color: var(--dark-band-bg, #133923);
}

.hd-section-dark .hd-card,
.hd-on-dark .hd-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
}

.hd-section-dark .hd-card .hd-title,
.hd-section-dark .hd-card h1,
.hd-section-dark .hd-card h2,
.hd-section-dark .hd-card h3,
.hd-section-dark .hd-card h4,
.hd-on-dark .hd-card .hd-title,
.hd-on-dark .hd-card h1,
.hd-on-dark .hd-card h2,
.hd-on-dark .hd-card h3,
.hd-on-dark .hd-card h4 {
    color: var(--text);
}

.hd-section-dark .hd-card p,
.hd-on-dark .hd-card p {
    color: var(--text-muted);
}

@media (max-width: 767.98px) {

    .hd-section,
    .hd-section-alt,
    .hd-section-brand,
    .hd-section-dark {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .hd-title {
        font-size: 1.875rem;
    }
}

/* ===== see_the_sequence_hidden_inside_a_repair_scope ===== */
.hero-sequence-block {
    position: relative;
    background-color: var(--surface-alt, #E6F4EB);
    padding: 4rem 0 4.5rem;
    overflow: hidden
}

.hero-sequence-block__video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none
}

.hero-sequence-block__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.22;
    filter: saturate(0.85)
}

.hero-sequence-block__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(230, 244, 235, 0.92) 0%, rgba(248, 246, 244, 0.85) 100%)
}

.hero-sequence-block .container {
    z-index: 2
}

.hero-sequence-block__eyebrow {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.4rem 1.125rem;
    border-radius: 50rem;
    letter-spacing: 0.02em
}

.hero-sequence-block__title {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #231D15;
    overflow-wrap: anywhere
}

.hero-sequence-block__title-accent {
    color: #2C814F
}

.hero-sequence-block__lead {
    font-size: 1.125rem;
    line-height: 1.65;
    color: #72685A;
    max-width: 38rem;
    overflow-wrap: anywhere
}

.hero-sequence-block__btn {
    border-radius: 50rem;
    font-weight: 600;
    padding: 0.8125rem 1.875rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: normal;
    overflow-wrap: anywhere
}

.hero-sequence-block .hd-btn {
    background-color: #2C814F;
    color: #FFFFFF;
    border: 2px solid #2C814F
}

.hero-sequence-block .hd-btn:hover {
    background-color: #23663F;
    border-color: #23663F;
    color: #FFFFFF
}

.hero-sequence-block .hd-btn-alt {
    background-color: transparent;
    color: #29794A;
    border: 2px solid #2C814F
}

.hero-sequence-block .hd-btn-alt:hover {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F
}

.hero-sequence-block__tags-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: #231D15
}

.hero-sequence-block__tag-link {
    background-color: #FFFFFF;
    color: #29794A;
    border: 1px solid #E4DFD8;
    padding: 0.35rem 0.875rem;
    border-radius: 50rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease
}

.hero-sequence-block__tag-link:hover {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F
}

.hero-sequence-block__visual-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0
}

.hero-sequence-block__circle-frame {
    width: 360px;
    height: 360px;
    max-width: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 8px solid #FFFFFF;
    box-shadow: 0 16px 36px -10px rgba(35, 29, 21, 0.12);
    background-color: #FFFFFF;
    position: relative;
    z-index: 2
}

.hero-sequence-block__circle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.hero-sequence-block__stat-card {
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.25rem;
    padding: 1rem 1.25rem;
    width: 90%;
    max-width: 320px;
    z-index: 3;
    box-shadow: 0 12px 28px -6px rgba(19, 57, 35, 0.15)
}

.hero-sequence-block__stat-icon-holder {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: #2C814F
}

.hero-sequence-block__stat-number {
    font-size: 0.9375rem;
    color: #231D15;
    line-height: 1.2
}

.hero-sequence-block__stat-text {
    font-size: 0.8125rem;
    color: #72685A;
    margin-top: 2px
}

.hero-sequence-block__mini-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #FFFFFF;
    margin-left: -8px;
    object-fit: cover;
    display: inline-block
}

.hero-sequence-block__avatar-group .hero-sequence-block__mini-avatar:first-child {
    margin-left: 0
}

.hero-sequence-block__avatar-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #72685A;
    line-height: 1.2
}

.hero-sequence-block__doodle-loop {
    position: absolute;
    top: -25px;
    right: -15px;
    width: 120px;
    height: 120px;
    z-index: 1;
    pointer-events: none
}

.hero-sequence-block__doodle-dots {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 1
}

.hero-sequence-block__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #2C814F;
    opacity: 0.4
}

@media (max-width: 991.98px) {
    .hero-sequence-block__title {
        font-size: 2.25rem
    }

    .hero-sequence-block__circle-frame {
        width: 300px;
        height: 300px
    }

    .hero-sequence-block__stat-card {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        margin-top: 1.5rem;
        width: 100%;
        max-width: 100%
    }

    .hero-sequence-block__visual-container {
        flex-direction: column;
        padding-bottom: 0
    }
}

@media (max-width: 767.98px) {
    .hero-sequence-block {
        padding: 2.5rem 0 3rem
    }

    .hero-sequence-block__title {
        font-size: 1.75rem;
        hyphens: auto
    }

    .hero-sequence-block__lead {
        font-size: 1rem
    }

    .hero-sequence-block__circle-frame {
        width: 250px;
        height: 250px;
        border-width: 6px
    }

    .hero-sequence-block__actions {
        flex-direction: column;
        width: 100%
    }

    .hero-sequence-block__btn {
        width: 100%;
        justify-content: center
    }

    .hero-sequence-block__doodle-loop {
        display: none
    }
}

/* ===== how_repair_sequences_work ===== */
.rsl-mechanism-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.rsl-mechanism-section .rsl-mechanism-lead {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--text-muted);
}

.rsl-mechanism-section .rsl-scheme-wrapper {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.5rem;
    overflow: hidden;
}

.rsl-mechanism-section .rsl-scheme-header {
    background: var(--surface-alt);
    border-bottom: 1px solid var(--border);
}

.rsl-mechanism-section .rsl-scheme-title {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text);
}

.rsl-mechanism-section .rsl-scheme-legend {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-muted);
}

.rsl-mechanism-section .rsl-dot {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    display: inline-block;
}

.rsl-mechanism-section .rsl-dot-pre {
    background-color: var(--accent);
}

.rsl-mechanism-section .rsl-dot-act {
    background-color: var(--primary);
}

.rsl-mechanism-section .rsl-dot-suc {
    background-color: var(--text-muted);
}

.rsl-mechanism-section .rsl-step-card {
    background: var(--bg);
    border: 2px solid transparent;
    border-radius: 1.25rem;
    padding: 1.75rem 1.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.rsl-mechanism-section .rsl-step-card:hover {
    border-color: var(--primary);
    background: var(--surface);
}

.rsl-mechanism-section .rsl-step-card.active {
    background: var(--surface);
    border-color: var(--primary);
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}

.rsl-mechanism-section .rsl-step-num {
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--primary-text);
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

.rsl-mechanism-section .rsl-step-card .hd-icon {
    width: 3rem;
    height: 3rem;
    background: var(--surface-alt);
    color: var(--primary-text);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.rsl-mechanism-section .rsl-step-name {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0.5rem;
}

.rsl-mechanism-section .rsl-step-desc {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 1rem;
    flex-grow: 1;
}

.rsl-mechanism-section .rsl-step-meta {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--primary-text);
}

.rsl-mechanism-section .rsl-details-container {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.5rem;
}

.rsl-mechanism-section .rsl-detail-heading {
    font-size: 1.625rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.rsl-mechanism-section .rsl-detail-text {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--text-muted);
}

.rsl-mechanism-section .rsl-pill {
    background: var(--surface-alt);
    color: var(--primary-text);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.4rem 0.875rem;
    border-radius: 2rem;
}

.rsl-mechanism-section .rsl-rule-box {
    background: var(--surface-alt);
    border-radius: 1.25rem;
    border-left: 4px solid var(--primary);
}

.rsl-mechanism-section .rsl-rule-icon {
    font-size: 1.25rem;
    color: var(--primary);
}

.rsl-mechanism-section .rsl-rule-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text);
}

.rsl-mechanism-section .rsl-rule-desc {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-muted);
}

@media (max-width: 767.98px) {
    .rsl-mechanism-section {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .rsl-mechanism-section .rsl-detail-heading {
        font-size: 1.25rem;
    }

    .rsl-mechanism-section .rsl-step-card {
        margin-bottom: 0.5rem;
    }
}

/* ===== sequence_cases ===== */
.repair-sequence-cases {
    position: relative;
    overflow: hidden;
}

.repair-sequence-cases .repair-sequence-cases__eyebrow {
    display: inline-block;
    background: var(--light-accent-tint, rgba(212, 135, 187, 0.18));
    color: var(--accent-text, #B4418F);
    border-radius: 50rem;
    padding: 0.375rem 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.repair-sequence-cases .repair-sequence-cases__heading {
    color: var(--text, #231D15);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.25rem);
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.repair-sequence-cases .repair-sequence-cases__lead {
    color: var(--text-muted, #72685A);
    font-size: 1.0625rem;
    line-height: 1.6;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.repair-sequence-cases .repair-sequence-cases__card {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.25rem;
    overflow: hidden;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.repair-sequence-cases .repair-sequence-cases__card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: var(--primary, #2C814F);
}

.repair-sequence-cases .repair-sequence-cases__media-wrap {
    position: relative;
    aspect-ratio: 16 / 10;
    background-color: var(--surface-alt, #E6F4EB);
}

.repair-sequence-cases .repair-sequence-cases__media-link {
    width: 100%;
    height: 100%;
}

.repair-sequence-cases .repair-sequence-cases__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.repair-sequence-cases .repair-sequence-cases__badge {
    background: var(--surface, #FFFFFF);
    color: var(--primary-text, #29794A);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.85rem;
    border-radius: 50rem;
    box-shadow: 0 4px 12px rgba(35, 29, 21, 0.08);
    border: 1px solid var(--border, #E4DFD8);
    z-index: 2;
}

.repair-sequence-cases .repair-sequence-cases__meta {
    font-size: 0.8125rem;
    color: var(--text-muted, #72685A);
    font-weight: 600;
}

.repair-sequence-cases .repair-sequence-cases__meta-item i {
    color: var(--primary-text, #29794A);
    font-size: 0.875rem;
}

.repair-sequence-cases .repair-sequence-cases__meta-dot {
    color: var(--border, #E4DFD8);
}

.repair-sequence-cases .repair-sequence-cases__title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
}

.repair-sequence-cases .repair-sequence-cases__title-link {
    color: var(--text, #231D15);
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.repair-sequence-cases .repair-sequence-cases__title-link:hover,
.repair-sequence-cases .repair-sequence-cases__title-link:focus {
    color: var(--primary, #2C814F);
}

.repair-sequence-cases .repair-sequence-cases__desc {
    color: var(--text-muted, #72685A);
    font-size: 0.9375rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.repair-sequence-cases .repair-sequence-cases__btn {
    background: var(--primary, #2C814F);
    color: var(--on-primary, #FFFFFF);
    border-radius: 50rem;
    padding: 0.6875rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    border: none;
    transition: background-color 0.2s ease;
}

.repair-sequence-cases .repair-sequence-cases__btn:hover,
.repair-sequence-cases .repair-sequence-cases__btn:focus {
    background: var(--primary-hover, #23663F);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .repair-sequence-cases .repair-sequence-cases__heading {
        font-size: 1.25rem;
    }

    .repair-sequence-cases .repair-sequence-cases__title {
        font-size: 1.0625rem;
    }

    .repair-sequence-cases .repair-sequence-cases__lead {
        font-size: 0.9375rem;
    }
}

/* ===== library_and_regulations ===== */
.rsl-library-section {
    padding: 5rem 0;
    position: relative;
}

.rsl-library-section .rsl-library-lead {
    color: var(--text-muted, #72685A);
    font-size: 1.0625rem;
    line-height: 1.6;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.rsl-library-section .rsl-filter-group {
    margin-bottom: 2rem;
}

.rsl-library-section .rsl-filter-btn {
    border: 1px solid var(--border, #E4DFD8);
    background: var(--surface, #FFFFFF);
    color: var(--text, #231D15);
    padding: 0.5rem 1.25rem;
    border-radius: 50rem;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rsl-library-section .rsl-filter-btn:hover {
    background: var(--surface-alt, #E6F4EB);
    color: var(--primary, #2C814F);
    border-color: var(--primary, #2C814F);
}

.rsl-library-section .rsl-filter-btn.active {
    background: var(--primary, #2C814F);
    color: var(--on-primary, #FFFFFF);
    border-color: var(--primary, #2C814F);
}

.rsl-library-section .rsl-card {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.25rem;
    overflow: hidden;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.rsl-library-section .rsl-card:hover {
    border-color: var(--border, #E4DFD8);
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}

.rsl-library-section .rsl-card-media-wrapper {
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--surface-alt, #E6F4EB);
}

.rsl-library-section .rsl-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rsl-library-section .rsl-floating-badge {
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    background: var(--surface, #FFFFFF);
    color: var(--primary-text, #29794A);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.75rem;
    border-radius: 2rem;
    box-shadow: 0 4px 12px rgba(35, 29, 21, 0.06);
    z-index: 2;
}

.rsl-library-section .rsl-card-meta {
    font-size: 0.8125rem;
    color: var(--text-muted, #72685A);
    font-weight: 600;
}

.rsl-library-section .rsl-dot-divider {
    color: var(--border, #E4DFD8);
}

.rsl-library-section .rsl-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.5rem;
}

.rsl-library-section .rsl-card-title-link {
    color: var(--text, #231D15);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rsl-library-section .rsl-card-title-link:hover {
    color: var(--primary, #2C814F);
}

.rsl-library-section .rsl-card-desc {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--text-muted, #72685A);
    margin-bottom: 1.25rem;
}

.rsl-library-section .hd-btn {
    background: var(--primary, #2C814F);
    color: var(--on-primary, #FFFFFF);
    border: none;
    border-radius: 50rem;
    padding: 0.6875rem 1.25rem;
    font-weight: 600;
    font-size: 0.875rem;
    transition: background-color 0.2s ease;
}

.rsl-library-section .hd-btn:hover {
    background: var(--primary-hover, #23663F);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .rsl-library-section {
        padding: 3.5rem 0;
    }

    .rsl-library-section .hd-title {
        font-size: 1.5rem;
    }

    .rsl-library-section .rsl-card-title {
        font-size: 1rem;
    }

    .rsl-library-section .rsl-library-lead {
        font-size: 0.9375rem;
    }
}

/* ===== featured_case_to_repair_the_pipe_the_finish_had_to_move_first ===== */
.case-study-block {
    padding-top: 5rem;
    padding-bottom: 5rem;
    overflow: hidden;
}

.case-study-block .case-study-lead {
    color: var(--text-muted);
    font-size: 1.0625rem;
    line-height: 1.65;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.case-study-block .sequence-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    padding: 1.75rem;
    cursor: pointer;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
    min-height: 100%;
    text-align: left;
}

.case-study-block .sequence-card:hover {
    border-color: var(--primary);
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}

.case-study-block .sequence-card.active {
    border-color: var(--primary);
    background-color: var(--surface);
    box-shadow: 0 10px 24px -4px rgba(44, 129, 79, 0.15);
    position: relative;
}

.case-study-block .sequence-card.active::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 4px;
    background-color: var(--primary);
    border-radius: 4px;
}

.case-study-block .step-num {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--primary);
    line-height: 1;
}

.case-study-block .sequence-icon-holder {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.case-study-block .sequence-badge {
    background-color: rgba(212, 135, 187, 0.18);
    color: var(--accent-text);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 50rem;
    display: inline-block;
    width: fit-content;
}

.case-study-block .sequence-step-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.case-study-block .sequence-step-desc {
    color: var(--text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

.case-study-block .sequence-meta {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-muted);
}

.case-study-block .stage-detail-panel {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.75rem;
    box-shadow: 0 4px 16px rgba(35, 29, 21, 0.04);
}

.case-study-block .detail-phase-tag {
    background-color: var(--primary);
    color: var(--on-primary);
    padding: 0.35rem 0.85rem;
    border-radius: 50rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.case-study-block .detail-scope-pill {
    background-color: var(--surface-alt);
    color: var(--primary-text);
    padding: 0.35rem 0.85rem;
    border-radius: 50rem;
    font-size: 0.75rem;
    font-weight: 600;
}

.case-study-block .detail-panel-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.case-study-block .detail-panel-desc {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.case-study-block .context-note-card {
    background-color: var(--surface-alt);
    border-radius: 1rem;
    border-left: 4px solid var(--primary);
}

.case-study-block .context-note-card strong {
    color: var(--text);
    font-size: 0.875rem;
}

.case-study-block .context-note-text {
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.5;
}

.case-study-block .disclaimer-inline {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-style: italic;
}

.case-study-block .stage-attributes-box {
    background-color: var(--bg);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
}

.case-study-block .attributes-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text);
}

.case-study-block .attributes-list li {
    color: var(--text-muted);
    font-size: 0.875rem;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .case-study-block {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .case-study-block .detail-panel-title {
        font-size: 1.25rem;
    }

    .case-study-block .sequence-card.active::after {
        display: none;
    }
}

/* ===== real_case_with_numbers ===== */
.rsl-case-study {
    position: relative;
    overflow: hidden;
    background-color: var(--primary);
}

.rsl-case-study .hd-eyebrow {
    background-color: var(--light-accent-tint);
    color: var(--accent-text);
    padding: 0.35rem 1rem;
    border-radius: 50rem;
    font-weight: 600;
    font-size: 0.875rem;
}

.rsl-case-study__lead {
    font-size: 1.125rem;
    line-height: 1.6;
    max-width: 800px;
    margin-inline: auto;
}

.rsl-case-study__card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rsl-case-study__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.rsl-case-study__step-badge {
    background-color: var(--surface-alt);
    color: var(--primary-text);
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
    border-radius: 2rem;
}

.rsl-case-study__phase-tag {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-muted);
}

.rsl-case-study__card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.35;
}

.rsl-case-study__card-text {
    font-size: 0.95rem;
    color: var(--text-muted);
    line-height: 1.6;
}

.rsl-case-study__list {
    list-style: none;
    font-size: 0.9rem;
    color: var(--text);
}

.rsl-case-study__metrics-panel {
    background: rgba(19, 57, 35, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
}

.rsl-case-study__metric-num {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.rsl-case-study__metric-label {
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 0.25rem;
}

.rsl-case-study .hd-btn {
    background-color: var(--surface);
    color: var(--primary);
    padding: 0.8125rem 2rem;
    border-radius: 50rem;
    font-weight: 700;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.rsl-case-study .hd-btn:hover {
    background-color: var(--bg);
    color: var(--primary-hover);
}

.rsl-case-study .hd-btn-alt {
    background-color: transparent;
    padding: 0.75rem 1.875rem;
    border-radius: 50rem;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.rsl-case-study .hd-btn-alt:hover {
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

@media (max-width: 767px) {
    .rsl-case-study__metric-num {
        font-size: 2rem;
    }

    .rsl-case-study__lead {
        font-size: 1rem;
    }
}

/* ===== press_mentions ===== */
.press-mentions-section {
    background-color: var(--bg);
    color: var(--text);
}

.press-mentions-section .hd-eyebrow {
    background: rgba(212, 135, 187, 0.18);
    color: var(--accent-text);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.35rem 1rem;
    border-radius: 50rem;
    letter-spacing: 0.01em;
}

.press-mentions-section .hd-title {
    font-family: 'Barlow', sans-serif;
    font-size: 2.25rem;
    line-height: 1.25;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.015em;
}

.press-mentions-section .press-mentions-lead {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--text-muted);
}

.press-mentions-section .press-filter-nav {
    background-color: var(--surface_alt);
    padding: 0.375rem;
    border-radius: 50rem;
    border: 1px solid var(--border);
}

.press-mentions-section .press-filter-btn {
    background: transparent;
    border: none;
    color: var(--text);
    font-family: 'Barlow', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
    border-radius: 50rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

.press-mentions-section .press-filter-btn:hover {
    background: rgba(44, 129, 79, 0.12);
    color: var(--primary-text);
}

.press-mentions-section .press-filter-btn.active {
    background: var(--primary);
    color: var(--on-primary);
}

.press-mentions-section .press-item-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.press-mentions-section .press-item-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: rgba(44, 129, 79, 0.4);
}

.press-mentions-section .press-source-tag {
    background: var(--surface_alt);
    color: var(--primary-text);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 2rem;
    border: none;
}

.press-mentions-section .press-date {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-muted);
}

.press-mentions-section .press-quote-icon {
    font-size: 2rem;
    line-height: 1;
    color: var(--accent-text);
    opacity: 0.85;
}

.press-mentions-section .press-quote-text {
    font-size: 1rem;
    line-height: 1.6;
    font-style: italic;
    color: var(--text);
}

.press-mentions-section .press-card-footer {
    border-color: var(--border) !important;
}

.press-mentions-section .press-author-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.25rem;
}

.press-mentions-section .press-topic-meta {
    font-size: 0.8125rem;
    color: var(--text-muted);
    font-weight: 500;
}

.press-mentions-section .press-featured-mention {
    background-color: var(--surface_alt);
    border-color: rgba(44, 129, 79, 0.25);
}

.press-mentions-section .press-featured-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
}

.press-mentions-section .press-featured-link {
    color: var(--text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.press-mentions-section .press-featured-link:hover {
    color: var(--primary-text);
}

.press-mentions-section .press-featured-desc {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--text-muted);
}

.press-mentions-section .press-action-link {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--primary-text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.press-mentions-section .press-action-link:hover {
    color: var(--primary-hover);
}

@media (max-width: 767px) {
    .press-mentions-section .hd-title {
        font-size: 1.5rem;
    }

    .press-mentions-section .press-mentions-lead {
        font-size: 0.95rem;
    }

    .press-mentions-section .press-filter-nav {
        width: 100%;
        border-radius: 1rem;
    }

    .press-mentions-section .press-filter-btn {
        flex: 1 1 auto;
        text-align: center;
        padding: 0.45rem 0.75rem;
    }
}

/* ===== glossary_for_beginners ===== */
.sequence-glossary-section {
    background-color: var(--surface-alt);
}

.sequence-glossary-section .sequence-glossary-eyebrow {
    background: var(--light-accent-tint, rgba(212, 135, 187, 0.18));
    color: var(--accent-text);
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.375rem 1.125rem;
    border-radius: 50rem;
    letter-spacing: 0.01em;
}

.sequence-glossary-section .sequence-glossary-title {
    color: var(--text);
    font-size: 2.25rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.015em;
}

.sequence-glossary-section .sequence-glossary-lead {
    color: var(--text-muted);
    font-size: 1.0625rem;
    line-height: 1.65;
}

.sequence-glossary-section .sequence-glossary-filter-btn {
    border: 1px solid var(--border);
    background-color: var(--surface);
    color: var(--text);
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 0.5rem 1.25rem;
    border-radius: 50rem;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.sequence-glossary-section .sequence-glossary-filter-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
    border-color: var(--primary-hover);
}

.sequence-glossary-section .sequence-glossary-filter-btn.active {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.sequence-glossary-section .sequence-glossary-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.sequence-glossary-section .sequence-glossary-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: var(--primary);
}

.sequence-glossary-section .sequence-glossary-term-tag {
    background-color: var(--light-primary-tint, rgba(44, 129, 79, 0.12));
    color: var(--primary-text);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.75rem;
    border-radius: 50rem;
}

.sequence-glossary-section .sequence-glossary-icon {
    width: 2.5rem;
    height: 2.5rem;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    border-radius: 50%;
    font-size: 1.125rem;
}

.sequence-glossary-section .sequence-glossary-term {
    color: var(--text);
    font-size: 1.25rem;
    line-height: 1.35;
    font-weight: 700;
}

.sequence-glossary-section .sequence-glossary-def {
    color: var(--text-muted);
    font-size: 0.9375rem;
    line-height: 1.55;
}

@media (max-width: 767px) {
    .sequence-glossary-section .sequence-glossary-title {
        font-size: 1.5rem;
        line-height: 1.3;
    }

    .sequence-glossary-section .sequence-glossary-term {
        font-size: 1.125rem;
    }
}

/* ===== inside_the_process ===== */
.rsl-process-block {
    background-color: var(--bg);
    color: var(--text);
    font-family: 'Barlow', sans-serif;
    overflow-x: hidden;
}

.rsl-process-block .rsl-eyebrow {
    background-color: var(--light-accent-tint, rgba(212, 135, 187, 0.18));
    color: var(--accent-text, #B4418F);
    padding: 0.375rem 1rem;
    border-radius: 50rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.rsl-process-block .rsl-title {
    color: var(--text, #231D15);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
}

.rsl-process-block .rsl-lead {
    color: var(--text-muted, #72685A);
    font-size: 1.0625rem;
    line-height: 1.65;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.rsl-process-block .rsl-tab-group {
    background: var(--surface, #FFFFFF);
    padding: 0.375rem;
    border-radius: 50rem;
    border: 1px solid var(--border, #E4DFD8);
    box-shadow: 0 4px 12px rgba(35, 29, 21, 0.04);
}

.rsl-process-block .rsl-filter-btn {
    border: none;
    background: transparent;
    color: var(--text-muted, #72685A);
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0.5rem 1.25rem;
    border-radius: 50rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rsl-process-block .rsl-filter-btn:hover {
    color: var(--primary, #2C814F);
    background-color: var(--surface-alt, #E6F4EB);
}

.rsl-process-block .rsl-filter-btn.active {
    background-color: var(--primary, #2C814F);
    color: var(--on-primary, #FFFFFF);
}

.rsl-process-block .rsl-process-card {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.25rem;
    overflow: hidden;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.rsl-process-block .rsl-process-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: var(--primary, #2C814F);
}

.rsl-process-block .rsl-media-wrap {
    height: 220px;
    width: 100%;
    overflow: hidden;
    background-color: var(--surface-alt, #E6F4EB);
}

.rsl-process-block .rsl-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
}

.rsl-process-block .rsl-badge-step {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background-color: var(--primary, #2C814F);
    color: var(--on-primary, #FFFFFF);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.25rem 0.75rem;
    border-radius: 50rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.rsl-process-block .rsl-meta-tag {
    color: var(--primary-text, #29794A);
    font-weight: 700;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.rsl-process-block .rsl-meta-dot {
    color: var(--border, #E4DFD8);
    font-size: 0.75rem;
}

.rsl-process-block .rsl-meta-info {
    color: var(--text-muted, #72685A);
    font-size: 0.8125rem;
    font-weight: 500;
}

.rsl-process-block .rsl-card-title {
    color: var(--text, #231D15);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
}

.rsl-process-block .rsl-card-desc {
    color: var(--text-muted, #72685A);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.rsl-process-block .rsl-highlight-pill {
    background-color: var(--surface-alt, #E6F4EB);
    border: 1px solid rgba(44, 129, 79, 0.15);
}

.rsl-process-block .rsl-check-icon {
    color: var(--primary, #2C814F);
    font-size: 1.125rem;
    flex-shrink: 0;
}

.rsl-process-block .rsl-highlight-text {
    color: var(--primary-text, #29794A);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
}

.rsl-process-block .rsl-stats-strip {
    background-color: var(--surface-alt, #E6F4EB);
    border: 1px solid rgba(44, 129, 79, 0.2);
}

.rsl-process-block .rsl-strip-title {
    color: var(--text, #231D15);
    font-size: 1.35rem;
    font-weight: 700;
}

.rsl-process-block .rsl-strip-desc {
    color: var(--text-muted, #72685A);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.rsl-process-block .rsl-stat-num {
    color: var(--primary, #2C814F);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
}

.rsl-process-block .rsl-stat-label {
    color: var(--text, #231D15);
    font-size: 0.8125rem;
    font-weight: 600;
    margin-top: 0.25rem;
}

@media (max-width: 767.98px) {
    .rsl-process-block .rsl-title {
        font-size: 1.75rem;
    }

    .rsl-process-block .rsl-lead {
        font-size: 0.9375rem;
    }

    .rsl-process-block .rsl-media-wrap {
        height: 190px;
    }

    .rsl-process-block .rsl-filter-btn {
        padding: 0.375rem 0.875rem;
        font-size: 0.8125rem;
    }

    .rsl-process-block .rsl-stat-num {
        font-size: 1.5rem;
    }

    .rsl-process-block .rsl-stat-label {
        font-size: 0.75rem;
    }
}

/* ===== tariffs ===== */
.rsl-tariffs-block {
    overflow-x: hidden;
}

.rsl-tariffs-block .hd-eyebrow {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-size: 0.875rem;
    font-weight: 600;
}

.rsl-tariffs-block .hd-title {
    color: #231D15;
    font-weight: 700;
    line-height: 1.25;
}

.rsl-tariffs-block .rsl-lead-text {
    color: #72685A;
    font-size: 1.0625rem;
    line-height: 1.65;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.rsl-tariffs-block .rsl-tariff-card {
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.rsl-tariffs-block .rsl-tariff-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: #2C814F;
}

.rsl-tariffs-block .rsl-tariff-card.is-active {
    border: 2px solid #2C814F;
}

.rsl-tariffs-block .rsl-tariff-recommended {
    background-color: #FFFFFF;
    border: 2px solid #2C814F;
    box-shadow: 0 8px 20px -4px rgba(44, 129, 79, 0.15);
}

.rsl-tariffs-block .rsl-recommended-badge {
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #2C814F;
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.rsl-tariffs-block .hd-badge {
    background-color: #E6F4EB;
    color: #29794A;
    font-size: 0.8125rem;
    font-weight: 600;
}

.rsl-tariffs-block .rsl-badge-accent {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
}

.rsl-tariffs-block .rsl-tariff-icon {
    width: 44px;
    height: 44px;
    background-color: #E6F4EB;
    color: #29794A;
    font-size: 1.25rem;
}

.rsl-tariffs-block .rsl-icon-accent {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
}

.rsl-tariffs-block .rsl-tariff-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #231D15;
}

.rsl-tariffs-block .rsl-tariff-desc {
    color: #72685A;
    font-size: 0.9375rem;
    line-height: 1.5;
    min-height: 45px;
}

.rsl-tariffs-block .rsl-price-box {
    border-color: #E4DFD8 !important;
}

.rsl-tariffs-block .rsl-currency {
    font-size: 1.5rem;
    font-weight: 700;
    color: #231D15;
}

.rsl-tariffs-block .rsl-price {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1;
    color: #231D15;
}

.rsl-tariffs-block .rsl-period {
    color: #72685A;
    font-size: 0.9375rem;
    font-weight: 500;
}

.rsl-tariffs-block .rsl-price-subtext {
    font-size: 0.8125rem;
    color: #72685A;
}

.rsl-tariffs-block .rsl-features-list li {
    font-size: 0.9375rem;
    color: #231D15;
    line-height: 1.45;
}

.rsl-tariffs-block .rsl-check-icon {
    color: #2C814F;
    font-size: 1rem;
    margin-top: 2px;
}

.rsl-tariffs-block .hd-btn {
    background-color: #2C814F;
    color: #FFFFFF;
    border: none;
    transition: background-color 0.2s ease;
}

.rsl-tariffs-block .hd-btn:hover {
    background-color: #23663F;
    color: #FFFFFF;
}

.rsl-tariffs-block .hd-btn-alt {
    background-color: transparent;
    color: #29794A;
    border: 2px solid #2C814F;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.rsl-tariffs-block .hd-btn-alt:hover {
    background-color: #2C814F;
    color: #FFFFFF;
}

.rsl-tariffs-block .rsl-enrollment-panel {
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.75rem;
}

.rsl-tariffs-block .rsl-chosen-tag {
    background-color: #E6F4EB;
    color: #29794A;
    font-size: 0.8125rem;
    font-weight: 600;
}

.rsl-tariffs-block .rsl-chosen-title {
    color: #231D15;
    font-size: 1.5rem;
    font-weight: 700;
}

.rsl-tariffs-block .rsl-chosen-desc {
    color: #72685A;
    font-size: 0.9375rem;
    line-height: 1.55;
}

.rsl-tariffs-block .rsl-form-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #231D15;
    margin-bottom: 0.35rem;
}

.rsl-tariffs-block .rsl-input {
    background-color: #F8F6F4;
    border: 1px solid #E4DFD8;
    color: #231D15;
    font-size: 0.9375rem;
}

.rsl-tariffs-block .rsl-input:focus {
    background-color: #FFFFFF;
    border-color: #2C814F;
    box-shadow: 0 0 0 0.25rem rgba(44, 129, 79, 0.15);
    color: #231D15;
}

.rsl-tariffs-block .rsl-input::placeholder {
    color: #72685A;
    opacity: 0.75;
}

.rsl-tariffs-block .rsl-consent-check .form-check-input:checked {
    background-color: #2C814F;
    border-color: #2C814F;
}

.rsl-tariffs-block .rsl-consent-label {
    font-size: 0.8125rem;
    color: #72685A;
    line-height: 1.4;
}

.rsl-tariffs-block .rsl-link {
    color: #29794A;
    text-decoration: underline;
}

.rsl-tariffs-block .rsl-link:hover {
    color: #23663F;
}

@media (max-width: 767px) {
    .rsl-tariffs-block .rsl-tariff-card {
        margin-bottom: 0.5rem;
    }

    .rsl-tariffs-block .rsl-price {
        font-size: 2.25rem;
    }

    .rsl-tariffs-block .hd-title {
        font-size: 1.5rem;
        hyphens: auto;
    }

    .rsl-tariffs-block .rsl-tariff-title {
        font-size: 1.25rem;
        hyphens: auto;
    }
}

/* ===== footer ===== */
.rsl-footer {
    background-color: var(--dark-band, #133923);
    color: var(--on-dark, #FFFFFF);
    font-family: var(--typography-font-family, 'Barlow', sans-serif);
}

.rsl-footer .rsl-footer-border {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.rsl-footer .rsl-brand-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
    letter-spacing: -0.01em;
}

.rsl-footer .rsl-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
    max-width: 480px;
}

.rsl-footer .rsl-icon {
    color: var(--primary, #2C814F);
    font-size: 1rem;
    flex-shrink: 0;
}

.rsl-footer .rsl-contact-item {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
    overflow-wrap: anywhere;
}

.rsl-footer .rsl-footer-link {
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.rsl-footer .rsl-footer-link:hover,
.rsl-footer .rsl-footer-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
}

.rsl-footer .rsl-copyright {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
}

.rsl-footer .rsl-legal-links {
    font-size: 0.875rem;
}

@media (max-width: 767px) {
    .rsl-footer .rsl-footer-desc {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===== PAGE: about ===== */
.rsl-about-framework .rsl-principle-card {
  background-color: var(--surface, #FFFFFF);
  border: 1px solid var(--border, #E4DFD8);
  border-radius: 1.25rem;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.rsl-about-framework .rsl-principle-card:hover {
  box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
  border-color: var(--primary, #2C814F);
}
.rsl-about-framework .rsl-icon-pill {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: var(--surface-alt, #E6F4EB);
  color: var(--primary-text, #29794A);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.rsl-about-framework .rsl-media-frame {
  height: 380px;
  border: 1px solid var(--border, #E4DFD8);
}
.rsl-sequence-explorer .rsl-matrix-display {
  border: 1px solid var(--border, #E4DFD8);
}
.rsl-case-studies .rsl-case-card {
  background-color: var(--surface, #FFFFFF);
  border: 1px solid var(--border, #E4DFD8);
  border-radius: 1.5rem;
  transition: box-shadow 0.2s ease;
}
.rsl-case-studies .rsl-case-card:hover {
  box-shadow: 0 12px 28px -6px rgba(19, 57, 35, 0.12);
}
.rsl-case-studies .rsl-case-image-wrapper {
  width: 220px;
  height: 160px;
}
.rsl-case-studies .rsl-case-link:hover {
  color: var(--primary, #2C814F) !important;
}
@media (max-width: 767px) {
  .rsl-about-framework .rsl-media-frame {
    height: 240px;
  }
  .rsl-case-studies .rsl-case-image-wrapper {
    width: 100%;
    height: 200px;
  }
}

/* ===== PAGE: xactimate-case ===== */
.xact-study-boundary .hd-card,.xact-interactive-flow .hd-card,.xact-methodology .hd-card,.xact-faq-preview .hd-card{border-radius:1.25rem;border:1px solid var(--border);transition:box-shadow .2s ease,border-color .2s ease}.xact-study-boundary .hd-card:hover,.xact-interactive-flow .hd-card:hover,.xact-methodology .hd-card:hover,.xact-faq-preview .hd-card:hover{box-shadow:0 10px 24px -4px rgba(35,29,21,.08);border-color:var(--primary)}.xact-interactive-flow .js-filter-btn{cursor:pointer;border-radius:50rem;padding:.5rem 1.25rem;font-weight:600;transition:all .2s ease}.xact-interactive-flow .js-filter-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.xact-methodology .table td,.xact-methodology .table th{padding:.75rem .5rem}.xact-methodology .table tr td:first-child{color:var(--text);font-weight:600}@media (max-width:767px){.xact-interactive-flow .js-steps-list{display:flex;flex-direction:column;gap:1rem}.xact-methodology .table thead{display:none}.xact-methodology .table,.xact-methodology .table tbody,.xact-methodology .table tr,.xact-methodology .table td{display:block;width:100%}.xact-methodology .table tr{border-bottom:1px solid var(--border);padding:.75rem 0}.xact-methodology .table td{padding:.25rem 0}}

/* ===== PAGE: contact ===== */
.rsl-contact-section { background-color: var(--bg); font-family: 'Barlow', sans-serif; }
.rsl-contact-section .rsl-contact-info-card { background-color: #FFFFFF; border: 1px solid var(--border); border-radius: 1.25rem; }
.rsl-contact-section .rsl-contact-form-card { background-color: #FFFFFF; border: 1px solid var(--border); border-radius: 1.25rem; }
.rsl-contact-section .rsl-contact-pill { display: inline-flex; align-items: center; background-color: rgba(212, 135, 187, 0.18); color: #B4418F; font-size: 0.875rem; font-weight: 600; padding: 0.35rem 1rem; border-radius: 2rem; }
.rsl-contact-section .hd-title { font-size: 2rem; font-weight: 700; line-height: 1.25; color: var(--text); }
.rsl-contact-section .rsl-contact-intro { font-size: 1rem; line-height: 1.6; }
.rsl-contact-section .rsl-contact-icon-box { width: 44px; height: 44px; background-color: #E6F4EB; color: #2C814F; border-radius: 50%; font-size: 1.15rem; }
.rsl-contact-section .rsl-contact-label { font-size: 0.8125rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.2rem; }
.rsl-contact-section .rsl-contact-value { font-size: 1rem; font-weight: 500; color: var(--text); overflow-wrap: anywhere; }
.rsl-contact-section .rsl-contact-link { color: var(--text); text-decoration: none; transition: color 0.2s ease; }
.rsl-contact-section .rsl-contact-link:hover { color: #2C814F; }
.rsl-contact-section .rsl-contact-timing-panel { background-color: #F8F6F4; border: 1px solid #E4DFD8; }
.rsl-contact-section .rsl-timing-title { font-weight: 600; font-size: 0.9375rem; color: var(--text); }
.rsl-contact-section .rsl-timing-text { line-height: 1.5; }
.rsl-contact-section .hd-eyebrow { display: inline-block; font-size: 0.875rem; font-weight: 600; color: #B4418F; text-transform: none; }
.rsl-contact-section .rsl-form-heading { font-size: 1.5rem; font-weight: 700; color: var(--text); }
.rsl-contact-section .rsl-form-label { font-size: 0.875rem; font-weight: 600; color: var(--text); margin-bottom: 0.35rem; }
.rsl-contact-section .rsl-input-icon { background-color: #F8F6F4; border: 1px solid var(--border); border-right: none; color: var(--text-muted); border-top-left-radius: 0.75rem; border-bottom-left-radius: 0.75rem; }
.rsl-contact-section .rsl-form-control { background-color: #FFFFFF; border: 1px solid var(--border); color: var(--text); border-radius: 0.75rem; padding: 0.65rem 0.875rem; font-size: 0.9375rem; }
.rsl-contact-section .input-group > .rsl-form-control { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.rsl-contact-section .rsl-form-control:focus { background-color: #FFFFFF; border-color: #2C814F; color: var(--text); box-shadow: 0 0 0 3px rgba(44, 129, 79, 0.15); }
.rsl-contact-section .rsl-form-control::placeholder { color: #A09689; opacity: 1; }
.rsl-contact-section .rsl-form-check { padding-left: 1.75em; }
.rsl-contact-section .rsl-check-input { width: 1.15em; height: 1.15em; margin-top: 0.2em; border: 1px solid var(--border); border-radius: 0.25rem; }
.rsl-contact-section .rsl-check-input:checked { background-color: #2C814F; border-color: #2C814F; }
.rsl-contact-section .rsl-check-label { font-size: 0.875rem; line-height: 1.4; }
.rsl-contact-section .rsl-inline-link { color: #2C814F; text-decoration: underline; font-weight: 600; }
.rsl-contact-section .rsl-inline-link:hover { color: #23663F; }
.rsl-contact-section .hd-btn { background-color: #2C814F; color: #FFFFFF; border: none; border-radius: 50rem; padding: 0.8125rem 1.875rem; font-weight: 600; font-size: 1rem; transition: background-color 0.2s ease, box-shadow 0.2s ease; cursor: pointer; text-decoration: none; }
.rsl-contact-section .hd-btn:hover, .rsl-contact-section .hd-btn:focus { background-color: #23663F; color: #FFFFFF; box-shadow: 0 4px 14px rgba(35, 102, 63, 0.25); }
@media (max-width: 767.98px) {
  .rsl-contact-section .hd-title { font-size: 1.5rem; }
  .rsl-contact-section .rsl-form-heading { font-size: 1.25rem; }
  .rsl-contact-section .rsl-contact-info-card, .rsl-contact-section .rsl-contact-form-card { padding: 1.5rem; }
}

/* ===== PAGE: faq ===== */
.faq-section {
  background-color: var(--bg);
}
.faq-section .faq-subtitle {
  color: var(--text-muted);
  font-size: 1.0625rem;
  line-height: 1.65;
}
.faq-section .faq-search-box {
  background: var(--surface);
  border-radius: 50rem;
  border: 1px solid var(--border);
  box-shadow: 0 4px 12px rgba(35, 29, 21, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.faq-section .faq-search-box:focus-within {
  border-color: var(--primary);
  box-shadow: 0 6px 18px rgba(44, 129, 79, 0.12);
}
.faq-section .faq-search-icon {
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary-text);
  font-size: 1.1rem;
  pointer-events: none;
}
.faq-section .faq-search-input {
  border: none;
  background: transparent;
  padding: 0.875rem 3rem 0.875rem 3.25rem;
  border-radius: 50rem;
  font-size: 0.95rem;
  color: var(--text);
}
.faq-section .faq-search-input:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
  color: var(--text);
}
.faq-section .faq-search-input::placeholder {
  color: var(--text-muted);
  opacity: 0.8;
}
.faq-section .faq-search-clear {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  padding: 0;
  font-size: 1.1rem;
  text-decoration: none;
}
.faq-section .faq-search-clear:hover {
  color: var(--text);
}
.faq-section .faq-filter-btn {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0.5rem 1.125rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.faq-section .faq-filter-btn:hover {
  background: var(--surface-alt);
  color: var(--primary-text);
  border-color: var(--primary);
}
.faq-section .faq-filter-btn.active {
  background: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
.faq-section .faq-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.faq-section .faq-item:hover {
  box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}
.faq-section .faq-item.is-open {
  border-color: var(--primary);
}
.faq-section .faq-question-btn {
  cursor: pointer;
}
.faq-section .faq-question-btn:focus {
  outline: none;
}
.faq-section .faq-question-text {
  font-family: 'Barlow', sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.4;
  color: var(--text);
  transition: color 0.2s ease;
}
.faq-section .faq-question-btn:hover .faq-question-text {
  color: var(--primary-text);
}
.faq-section .faq-toggle-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--surface-alt);
  color: var(--primary-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.faq-section .faq-item.is-open .faq-toggle-icon {
  transform: rotate(180deg);
  background: var(--primary);
  color: var(--on-primary);
}
.faq-section .faq-answer-collapse {
  display: none;
}
.faq-section .faq-item.is-open .faq-answer-collapse {
  display: block;
}
.faq-section .faq-answer-content {
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.6;
}
.faq-section .faq-help-card {
  background: var(--surface-alt);
  border-radius: 1.75rem;
  border: 1px solid rgba(44, 129, 79, 0.15);
}
.faq-section .faq-help-title {
  font-weight: 700;
  color: var(--text);
  font-size: 1.375rem;
}
.faq-section .faq-help-desc {
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .faq-section .faq-question-text {
    font-size: 1rem;
  }
  .faq-section .faq-help-card {
    text-align: center;
  }
  .faq-section .faq-help-card .d-flex {
    width: 100%;
    justify-content: center;
  }
}

/* ===== PAGE: privacy ===== */
.privacy-page-section { background-color: var(--bg); }
.privacy-page-section .privacy-sidebar { background-color: var(--surface); border: 1px solid var(--border); border-radius: 1.25rem; top: 1.5rem; }
.privacy-page-section .privacy-nav-link { color: var(--text-muted); text-decoration: none; padding: 0.625rem 0.875rem; border-radius: 50rem; font-size: 0.9375rem; font-weight: 500; transition: background-color 0.2s ease, color 0.2s ease; }
.privacy-page-section .privacy-nav-link:hover, .privacy-page-section .privacy-nav-link.active { background-color: var(--surface-alt); color: var(--primary-text); font-weight: 600; }
.privacy-page-section .privacy-quick-card { background-color: var(--surface-alt); border: 1px solid rgba(44, 129, 79, 0.15); }
.privacy-page-section .privacy-content { background-color: var(--surface); border: 1px solid var(--border); border-radius: 1.25rem; }
.privacy-page-section .privacy-list { padding-left: 1.25rem; margin-bottom: 0; }
.privacy-page-section .privacy-list li { margin-bottom: 0.5rem; }
@media (max-width: 767px) { .privacy-page-section .privacy-sidebar { position: static !important; margin-bottom: 1.5rem; } }

/* ===== PAGE: terms ===== */
.terms-section{padding:4rem 0;background-color:var(--bg);}.terms-section .terms-nav-card{position:sticky;top:6rem;background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;}.terms-section .terms-nav-title{font-size:1.25rem;font-weight:700;color:var(--text);}.terms-section .terms-nav-desc{font-size:0.9375rem;color:var(--text-muted);line-height:1.5;}.terms-section .terms-quick-nav{border-top:1px solid var(--border);padding-top:1rem;}.terms-section .terms-nav-link{display:flex;align-items:center;padding:0.5rem 0.75rem;font-size:0.9375rem;font-weight:600;color:var(--text-muted);text-decoration:none;border-radius:50rem;transition:all 0.2s ease;}.terms-section .terms-nav-link:hover,.terms-section .terms-nav-link.active{color:var(--primary-text);background-color:var(--surface-alt);}.terms-section .terms-support-box{background-color:var(--surface-alt);border-radius:1rem;border:1px dashed var(--border);}.terms-section .terms-support-text{font-size:0.875rem;color:var(--text);line-height:1.5;}.terms-section .terms-inline-link{color:var(--primary-text);font-weight:600;text-decoration:underline;text-underline-offset:2px;}.terms-section .terms-inline-link:hover{color:var(--primary-hover);}.terms-section .terms-meta-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;}.terms-section .terms-date-value{font-size:0.9375rem;font-weight:600;color:var(--text);}.terms-section .terms-article-block{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;scroll-margin-top:6rem;}.terms-section .terms-section-title{font-size:1.5rem;font-weight:700;color:var(--text);}.terms-section .terms-paragraph{font-size:1.0625rem;color:var(--text-muted);line-height:1.65;}.terms-section .terms-highlight-box{background:var(--surface-alt);border-radius:1rem;border:1px solid var(--border);}.terms-section .terms-highlight-title{font-size:1rem;color:var(--text);}.terms-section .terms-highlight-text{font-size:0.9375rem;color:var(--text-muted);line-height:1.5;}.terms-section .terms-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:0.75rem;}.terms-section .terms-list-item{display:flex;align-items:flex-start;font-size:1.0625rem;color:var(--text-muted);line-height:1.6;}@media(max-width:991px){.terms-section .terms-nav-card{position:static;}}@media(max-width:767px){.terms-section{padding:2.5rem 0;}.terms-section .terms-section-title{font-size:1.25rem;}.terms-section .terms-paragraph,.terms-section .terms-list-item{font-size:0.9375rem;}}

/* ===== PAGE: disclaimer ===== */
.disclaimer-page {
  background-color: var(--bg, #F8F6F4);
  min-height: 60vh;
}
.disclaimer-page__wrapper {
  background-color: var(--surface, #FFFFFF);
  border-color: var(--border, #E4DFD8) !important;
  box-shadow: 0 4px 16px rgba(35, 29, 21, 0.04);
}
.disclaimer-page .hd-eyebrow {
  background-color: rgba(212, 135, 187, 0.18);
  color: var(--accent-text, #B4418F);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  display: inline-block;
}
.disclaimer-page__date {
  font-size: 0.875rem;
  color: var(--text-muted, #72685A);
}
.disclaimer-page .hd-title {
  color: var(--text, #231D15);
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.25;
}
.disclaimer-page .h4 {
  color: var(--text, #231D15);
  font-weight: 600;
  font-size: 1.25rem;
}
.disclaimer-page .h5 {
  color: var(--text, #231D15);
  font-weight: 600;
}
.disclaimer-page__num-badge {
  width: 28px;
  height: 28px;
  min-width: 28px;
  background-color: var(--surface-alt, #E6F4EB);
  color: var(--primary-text, #29794A);
  font-weight: 700;
  font-size: 0.875rem;
}
.disclaimer-page__notice {
  background-color: var(--surface-alt, #E6F4EB);
  border: 1px solid rgba(44, 129, 79, 0.2);
}
.disclaimer-page__notice i {
  color: var(--primary, #2C814F);
}
.disclaimer-page__link {
  color: var(--primary-text, #29794A);
  font-weight: 600;
  font-size: 0.9375rem;
  transition: color 0.2s ease;
}
.disclaimer-page__link:hover {
  color: var(--primary-hover, #23663F);
}
.disclaimer-page .hd-btn {
  background-color: var(--primary, #2C814F);
  color: var(--on-primary, #FFFFFF);
  border-radius: 50rem;
  padding: 0.75rem 1.75rem;
  font-weight: 600;
  border: none;
  display: inline-flex;
  align-items: center;
  transition: background-color 0.2s ease;
}
.disclaimer-page .hd-btn:hover {
  background-color: var(--primary-hover, #23663F);
  color: var(--on-primary, #FFFFFF);
}
@media (max-width: 767px) {
  .disclaimer-page .hd-title {
    font-size: 1.5rem;
    hyphens: auto;
  }
  .disclaimer-page__wrapper {
    padding: 1.5rem !important;
  }
}

.review-card.main-comment {
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.review-card.main-comment:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: #D6CFCE;
}

.avatar-initials {
    width: 48px;
    height: 48px;
    min-width: 48px;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
    user-select: none;
}

.avatar-initials.bg-primary-dark {
    background-color: #2C814F;
    color: #FFFFFF;
}

.comment-author-name {
    color: #231D15;
    font-size: 1.0625rem;
}

.comment-text {
    color: #72685A;
    line-height: 1.6;
    font-size: 0.985rem;
}

.badge-role {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
}

.comment-time {
    color: #72685A;
    font-size: 0.8125rem;
}

.btn-comment-action {
    background-color: #F8F6F4;
    color: #231D15;
    border: 1px solid #E4DFD8;
    padding: 0.35rem 0.85rem;
    font-size: 0.8125rem;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-comment-action:hover {
    background-color: #E6F4EB;
    color: #2C814F;
    border-color: #2C814F;
}

.comment-status-pill {
    background-color: #E6F4EB;
    color: #29794A;
    font-size: 0.775rem;
}

.review-card.reply-comment {
    background-color: #E6F4EB;
    border: 1px solid #D1E7D9;
    border-radius: 1.25rem;
    position: relative;
}

.review-card.reply-comment::before {
    content: '';
    position: absolute;
    left: -1.25rem;
    top: 1.5rem;
    width: 1rem;
    height: 2px;
    background-color: #E4DFD8;
}

.avatar-initials.avatar-sm {
    width: 40px;
    height: 40px;
    min-width: 40px;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    user-select: none;
}

.avatar-initials.bg-instructor {
    background-color: #133923;
    color: #FFFFFF;
}

.badge-instructor {
    background-color: #2C814F;
    color: #FFFFFF;
    font-size: 0.725rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
}

.reply-thread-indicator {
    font-size: 0.8125rem;
    color: #72685A;
}


/* ===== PAGE TEMPLATE: sequence-cases ===== */
.hero-sequence-block {
    position: relative;
    background-color: var(--surface-alt, #E6F4EB);
    padding: 4rem 0 4.5rem;
    overflow: hidden;
}

.hero-sequence-block__video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.hero-sequence-block__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.22;
    filter: saturate(0.85);
}

.hero-sequence-block__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(230, 244, 235, 0.92) 0%, rgba(248, 246, 244, 0.85) 100%);
}

.hero-sequence-block .container {
    z-index: 2;
}

.hero-sequence-block__eyebrow {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.4rem 1.125rem;
    border-radius: 50rem;
    letter-spacing: 0.02em;
}

.hero-sequence-block__title {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #231D15;
    overflow-wrap: anywhere;
}

.hero-sequence-block__title-accent {
    color: #2C814F;
}

.hero-sequence-block__lead {
    font-size: 1.125rem;
    line-height: 1.65;
    color: #72685A;
    max-width: 38rem;
    overflow-wrap: anywhere;
}

.hero-sequence-block__btn {
    border-radius: 50rem;
    font-weight: 600;
    padding: 0.8125rem 1.875rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: normal;
    overflow-wrap: anywhere;
}

.hero-sequence-block .hd-btn {
    background-color: #2C814F;
    color: #FFFFFF;
    border: 2px solid #2C814F;
}

.hero-sequence-block .hd-btn:hover {
    background-color: #23663F;
    border-color: #23663F;
    color: #FFFFFF;
}

.hero-sequence-block .hd-btn-alt {
    background-color: transparent;
    color: #29794A;
    border: 2px solid #2C814F;
}

.hero-sequence-block .hd-btn-alt:hover {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F;
}

.hero-sequence-block__tags-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: #231D15;
}

.hero-sequence-block__tag-link {
    background-color: #FFFFFF;
    color: #29794A;
    border: 1px solid #E4DFD8;
    padding: 0.35rem 0.875rem;
    border-radius: 50rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.hero-sequence-block__tag-link:hover {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F;
}

.hero-sequence-block__visual-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0;
}

.hero-sequence-block__circle-frame {
    width: 360px;
    height: 360px;
    max-width: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 8px solid #FFFFFF;
    box-shadow: 0 16px 36px -10px rgba(35, 29, 21, 0.12);
    background-color: #FFFFFF;
    position: relative;
    z-index: 2;
}

.hero-sequence-block__circle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-sequence-block__stat-card {
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.25rem;
    padding: 1rem 1.25rem;
    width: 90%;
    max-width: 320px;
    z-index: 3;
    box-shadow: 0 12px 28px -6px rgba(19, 57, 35, 0.15);
}

.hero-sequence-block__stat-icon-holder {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: #2C814F;
}

.hero-sequence-block__stat-number {
    font-size: 0.9375rem;
    color: #231D15;
    line-height: 1.2;
}

.hero-sequence-block__stat-text {
    font-size: 0.8125rem;
    color: #72685A;
    margin-top: 2px;
}

.hero-sequence-block__mini-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #FFFFFF;
    margin-left: -8px;
    object-fit: cover;
    display: inline-block;
}

.hero-sequence-block__avatar-group .hero-sequence-block__mini-avatar:first-child {
    margin-left: 0;
}

.hero-sequence-block__avatar-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #72685A;
    line-height: 1.2;
}

.hero-sequence-block__doodle-loop {
    position: absolute;
    top: -25px;
    right: -15px;
    width: 120px;
    height: 120px;
    z-index: 1;
    pointer-events: none;
}

.hero-sequence-block__doodle-dots {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 1;
}

.hero-sequence-block__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #2C814F;
    opacity: 0.4;
}


.sq-dashboard {
    background-color: var(--bg, #F8F6F4);
    font-family: var(--typography-font-family, 'Barlow', sans-serif);
}

.sq-dashboard__metric-tile {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease;
}

.sq-dashboard__metric-tile:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}

.sq-dashboard__tile-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: var(--primary, #2C814F);
    font-size: 1.25rem;
}

.sq-dashboard__metric-val {
    font-size: 1.35rem;
    color: var(--text, #231D15);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.sq-dashboard__metric-label {
    font-size: 0.8125rem;
    color: var(--text-muted, #72685A);
    margin-top: 2px;
}

.sq-dashboard__panel {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.75rem;
}

.sq-dashboard__content-body {
    color: var(--text-muted, #72685A);
    line-height: 1.65;
}

.sq-dashboard__step-list {
    list-style: none;
}

.sq-dashboard__step-num {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: var(--primary, #2C814F);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
}

.sq-dashboard__tab-btn {
    background-color: var(--surface-alt, #E6F4EB);
    border: 1px solid transparent;
    color: var(--primary-text, #29794A);
    border-radius: 50rem;
    padding: 0.45rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sq-dashboard__tab-btn.active,
.sq-dashboard__tab-btn:hover {
    background-color: var(--primary, #2C814F);
    color: var(--on-primary, #FFFFFF);
}

.sq-dashboard__cta-box {
    background-color: var(--surface-alt, #E6F4EB);
    border: 1px dashed var(--primary, #2C814F);
}

.sq-dashboard__cta-icon-holder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--surface, #FFFFFF);
    color: var(--primary, #2C814F);
    font-size: 1.5rem;
}

.sq-dashboard__related-card {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease;
}

.sq-dashboard__related-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}

.sq-dashboard__input {
    background-color: var(--bg, #F8F6F4);
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 0.75rem;
    color: var(--text, #231D15);
}

.sq-dashboard__input:focus {
    background-color: var(--surface, #FFFFFF);
    border-color: var(--primary, #2C814F);
    box-shadow: 0 0 0 0.25rem rgba(44, 129, 79, 0.15);
}

.sq-dashboard__input::placeholder {
    color: #A0988E;
}


.review-card {
    background-color: var(--surface, #FFFFFF);
    border-color: var(--border, #E4DFD8) !important;
}

.bg-alt-surface {
    background-color: var(--surface-alt, #E6F4EB);
}

.avatar-lg {
    width: 44px;
    height: 44px;
    font-size: 1rem;
}

.avatar-sm {
    width: 36px;
    height: 36px;
    font-size: 0.875rem;
}

.bg-primary-dark {
    background-color: var(--dark-band, #133923);
}

.bg-instructor {
    background-color: var(--primary, #2C814F);
}

.badge-role {
    background-color: rgba(44, 129, 79, 0.12);
    color: var(--primary, #2C814F);
    font-weight: 600;
}

.badge-instructor {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-weight: 600;
}

.comment-status-pill {
    background-color: rgba(44, 129, 79, 0.08);
    color: var(--text, #231D15);
}

.btn-comment-action {
    background-color: var(--bg, #F8F6F4);
    border: 1px solid var(--border, #E4DFD8);
    color: var(--text, #231D15);
}

.btn-comment-action:hover,
.btn-comment-action.active {
    background-color: var(--primary, #2C814F);
    border-color: var(--primary, #2C814F);
    color: #FFFFFF;
}


.rsl-footer {
    background-color: var(--dark-band, #133923);
    color: var(--on-dark, #FFFFFF);
    font-family: var(--typography-font-family, 'Barlow', sans-serif);
}

.rsl-footer .rsl-footer-border {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.rsl-footer .rsl-brand-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
    letter-spacing: -0.01em;
}

.rsl-footer .rsl-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
    max-width: 480px;
}

.rsl-footer .rsl-icon {
    color: var(--primary, #2C814F);
    font-size: 1rem;
    flex-shrink: 0;
}

.rsl-footer .rsl-contact-item {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
    overflow-wrap: anywhere;
}

.rsl-footer .rsl-footer-link {
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.rsl-footer .rsl-footer-link:hover,
.rsl-footer .rsl-footer-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
}

.rsl-footer .rsl-copyright {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
}

.rsl-footer .rsl-legal-links {
    font-size: 0.875rem;
}

@media (max-width: 991.98px) {
    .hero-sequence-block__title {
        font-size: 2.25rem;
    }

    .hero-sequence-block__circle-frame {
        width: 300px;
        height: 300px;
    }

    .hero-sequence-block__stat-card {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        margin-top: 1.5rem;
        width: 100%;
        max-width: 100%;
    }

    .hero-sequence-block__visual-container {
        flex-direction: column;
        padding-bottom: 0;
    }
}

@media (max-width: 767.98px) {
    .hero-sequence-block {
        padding: 2.5rem 0 3rem;
    }

    .hero-sequence-block__title {
        font-size: 1.75rem;
        hyphens: auto;
    }

    .hero-sequence-block__lead {
        font-size: 1rem;
    }

    .hero-sequence-block__circle-frame {
        width: 250px;
        height: 250px;
        border-width: 6px;
    }

    .hero-sequence-block__actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-sequence-block__btn {
        width: 100%;
        justify-content: center;
    }

    .hero-sequence-block__doodle-loop {
        display: none;
    }

    .reply-comment {
        margin-left: 1rem !important;
    }
}

/* ===== PAGE TEMPLATE: knowledge-base ===== */
.hero-sequence-block {
    position: relative;
    background-color: var(--surface-alt, #E6F4EB);
    padding: 4rem 0 4.5rem;
    overflow: hidden;
}

.hero-sequence-block__video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.hero-sequence-block__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.22;
    filter: saturate(0.85);
}

.hero-sequence-block__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(230, 244, 235, 0.92) 0%, rgba(248, 246, 244, 0.85) 100%);
}

.hero-sequence-block .container {
    z-index: 2;
}

.hero-sequence-block__eyebrow {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.4rem 1.125rem;
    border-radius: 50rem;
    letter-spacing: 0.02em;
}

.hero-sequence-block__title {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #231D15;
    overflow-wrap: anywhere;
}

.hero-sequence-block__lead {
    font-size: 1.125rem;
    line-height: 1.65;
    color: #72685A;
    max-width: 38rem;
    overflow-wrap: anywhere;
}

.hero-sequence-block__btn {
    border-radius: 50rem;
    font-weight: 600;
    padding: 0.8125rem 1.875rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: normal;
    overflow-wrap: anywhere;
}

.hero-sequence-block .hd-btn {
    background-color: #2C814F;
    color: #FFFFFF;
    border: 2px solid #2C814F;
}

.hero-sequence-block .hd-btn:hover {
    background-color: #23663F;
    border-color: #23663F;
    color: #FFFFFF;
}

.hero-sequence-block .hd-btn-alt {
    background-color: transparent;
    color: #29794A;
    border: 2px solid #2C814F;
}

.hero-sequence-block .hd-btn-alt:hover {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F;
}

.hero-sequence-block__tags-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: #231D15;
}

.hero-sequence-block__tag-link {
    background-color: #FFFFFF;
    color: #29794A;
    border: 1px solid #E4DFD8;
    padding: 0.35rem 0.875rem;
    border-radius: 50rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}

.hero-sequence-block__visual-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0;
}

.hero-sequence-block__circle-frame {
    width: 360px;
    height: 360px;
    max-width: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 8px solid #FFFFFF;
    box-shadow: 0 16px 36px -10px rgba(35, 29, 21, 0.12);
    background-color: #FFFFFF;
    position: relative;
    z-index: 2;
}

.hero-sequence-block__circle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-sequence-block__stat-card {
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.25rem;
    padding: 1rem 1.25rem;
    width: 90%;
    max-width: 320px;
    z-index: 3;
    box-shadow: 0 12px 28px -6px rgba(19, 57, 35, 0.15);
}

.hero-sequence-block__stat-icon-holder {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: #2C814F;
}

.hero-sequence-block__stat-number {
    font-size: 0.9375rem;
    color: #231D15;
    line-height: 1.2;
}

.hero-sequence-block__stat-text {
    font-size: 0.8125rem;
    color: #72685A;
    margin-top: 2px;
}

.hero-sequence-block__mini-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #FFFFFF;
    margin-left: -8px;
    object-fit: cover;
    display: inline-block;
}

.hero-sequence-block__avatar-group .hero-sequence-block__mini-avatar:first-child {
    margin-left: 0;
}

.hero-sequence-block__avatar-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #72685A;
    line-height: 1.2;
}

.hero-sequence-block__doodle-loop {
    position: absolute;
    top: -25px;
    right: -15px;
    width: 120px;
    height: 120px;
    z-index: 1;
    pointer-events: none;
}

.hero-sequence-block__doodle-dots {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 1;
}

.hero-sequence-block__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #2C814F;
    opacity: 0.4;
}

.kb-detail-wrapper {
    background-color: var(--bg, #F8F6F4);
    color: var(--text, #231D15);
}

.kb-info-column {
    background-color: #FFFFFF;
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1.25rem;
    transition: box-shadow 0.2s ease;
}

.kb-info-column:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
}

.kb-info-column__icon-holder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: var(--primary, #2C814F);
}

.kb-info-column__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text, #231D15);
}

.kb-info-column__text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-muted, #72685A);
    overflow-wrap: anywhere;
}

.kb-fact-tile {
    background-color: #FFFFFF;
    border: 1px solid var(--border, #E4DFD8);
    border-radius: 1rem;
}

.kb-fact-tile__icon-box {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 0.75rem;
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-size: 1.125rem;
}

.kb-fact-tile__value {
    font-size: 1rem;
    color: var(--text, #231D15);
    line-height: 1.2;
}

.kb-fact-tile__label {
    font-size: 0.8125rem;
    color: var(--text-muted, #72685A);
}

.kb-accent-heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text, #231D15);
    padding-left: 1rem;
    border-left: 4px solid var(--accent, #D487BB);
    line-height: 1.3;
}

.kb-main-media-box {
    border-radius: 1.5rem;
    border: 1px solid var(--border, #E4DFD8);
    aspect-ratio: 16 / 9;
    background-color: var(--surface-alt, #E6F4EB);
}

.kb-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.kb-prose-text p {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--text-muted, #72685A);
    margin-bottom: 1.25rem;
    overflow-wrap: anywhere;
}

.kb-custom-list {
    padding-left: 1.25rem;
    margin-bottom: 1.5rem;
}

.kb-custom-list li {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--text-muted, #72685A);
    margin-bottom: 0.5rem;
}

.kb-inline-cta {
    background-color: var(--primary, #2C814F);
    border-radius: 1.5rem;
}

.kb-inline-cta .hd-eyebrow {
    background-color: rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
}

.kb-inline-cta__title {
    font-size: 1.5rem;
    font-weight: 700;
}

.kb-inline-cta__btn {
    background-color: #FFFFFF;
    color: #133923;
    border: 2px solid #FFFFFF;
    font-weight: 700;
    padding: 0.8125rem 1.75rem;
    border-radius: 50rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.kb-inline-cta__btn:hover {
    background-color: #F8F6F4;
    color: #133923;
    border-color: #F8F6F4;
}

.kb-related-card {
    border-color: var(--border, #E4DFD8);
}

.kb-related-link {
    color: var(--text, #231D15);
    transition: color 0.2s ease;
}

.kb-related-link:hover {
    color: var(--primary, #2C814F);
}

.kb-related-tag {
    background-color: var(--surface-alt, #E6F4EB);
    color: var(--primary-text, #29794A);
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
    border-radius: 50rem;
}

.review-card {
    border-color: var(--border, #E4DFD8) !important;
}

.bg-alt-surface {
    background-color: var(--surface-alt, #E6F4EB);
}

.avatar-initials {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
}

.avatar-initials.avatar-sm {
    width: 36px;
    height: 36px;
}

.bg-primary-dark {
    background-color: var(--dark-band, #133923);
}

.bg-instructor {
    background-color: var(--primary, #2C814F);
}

.badge-role {
    background-color: rgba(44, 129, 79, 0.12);
    color: var(--primary-text, #29794A);
    font-weight: 600;
}

.badge-instructor {
    background-color: rgba(212, 135, 187, 0.25);
    color: #B4418F;
    font-weight: 600;
}

.comment-status-pill {
    background-color: rgba(44, 129, 79, 0.1);
    color: #231D15;
}

.btn-comment-action {
    background-color: var(--bg, #F8F6F4);
    border: 1px solid var(--border, #E4DFD8);
    color: var(--text-muted, #72685A);
    transition: all 0.2s ease;
}

.btn-comment-action.active {
    background-color: var(--primary, #2C814F);
    border-color: var(--primary, #2C814F);
    color: #FFFFFF;
}

.btn-comment-action:hover {
    background-color: #E4DFD8;
    color: var(--text, #231D15);
}

.btn-comment-action.active:hover {
    background-color: var(--primary-hover, #23663F);
    color: #FFFFFF;
}

.kb-comment-form-card {
    border-color: var(--border, #E4DFD8);
}

.rsl-footer {
    background-color: var(--dark-band, #133923);
    color: var(--on-dark, #FFFFFF);
    font-family: var(--typography-font-family, 'Barlow', sans-serif);
}

.rsl-footer .rsl-footer-border {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.rsl-footer .rsl-brand-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
    letter-spacing: -0.01em;
}

.rsl-footer .rsl-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
    max-width: 480px;
}

.rsl-footer .rsl-icon {
    color: var(--primary, #2C814F);
    font-size: 1rem;
    flex-shrink: 0;
}

.rsl-footer .rsl-contact-item {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
    overflow-wrap: anywhere;
}

.rsl-footer .rsl-footer-link {
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.rsl-footer .rsl-footer-link:hover,
.rsl-footer .rsl-footer-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
}

.rsl-footer .rsl-copyright {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
}

.rsl-footer .rsl-legal-links {
    font-size: 0.875rem;
}

@media (max-width: 991.98px) {
    .hero-sequence-block__title {
        font-size: 2.25rem;
    }

    .hero-sequence-block__circle-frame {
        width: 300px;
        height: 300px;
    }

    .hero-sequence-block__stat-card {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        margin-top: 1.5rem;
        width: 100%;
        max-width: 100%;
    }

    .hero-sequence-block__visual-container {
        flex-direction: column;
        padding-bottom: 0;
    }
}

@media (max-width: 767.98px) {
    .hero-sequence-block {
        padding: 2.5rem 0 3rem;
    }

    .hero-sequence-block__title {
        font-size: 1.75rem;
        hyphens: auto;
    }

    .hero-sequence-block__lead {
        font-size: 1rem;
    }

    .hero-sequence-block__circle-frame {
        width: 250px;
        height: 250px;
        border-width: 6px;
    }

    .hero-sequence-block__actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-sequence-block__btn {
        width: 100%;
        justify-content: center;
    }

    .hero-sequence-block__doodle-loop {
        display: none;
    }

    .kb-accent-heading {
        font-size: 1.35rem;
    }

    .rsl-footer .rsl-footer-desc {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===== PAGE TEMPLATE: blog ===== */
.hero-sequence-block {
    position: relative;
    background-color: var(--surface-alt, #E6F4EB);
    padding: 4rem 0 4.5rem;
    overflow: hidden;
}

.hero-sequence-block__video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.hero-sequence-block__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.22;
    filter: saturate(0.85);
}

.hero-sequence-block__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(230, 244, 235, 0.92) 0%, rgba(248, 246, 244, 0.85) 100%);
}

.hero-sequence-block .container {
    z-index: 2;
}

.hero-sequence-block__eyebrow {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.4rem 1.125rem;
    border-radius: 50rem;
    letter-spacing: 0.02em;
}

.hero-sequence-block__title {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: #231D15;
    overflow-wrap: anywhere;
}

.hero-sequence-block__lead {
    font-size: 1.125rem;
    line-height: 1.65;
    color: #72685A;
    max-width: 38rem;
    overflow-wrap: anywhere;
}

.hero-sequence-block__btn {
    border-radius: 50rem;
    font-weight: 600;
    padding: 0.8125rem 1.875rem;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    white-space: normal;
    overflow-wrap: anywhere;
}

.hero-sequence-block .hd-btn {
    background-color: #2C814F;
    color: #FFFFFF;
    border: 2px solid #2C814F;
}

.hero-sequence-block .hd-btn:hover {
    background-color: #23663F;
    border-color: #23663F;
    color: #FFFFFF;
}

.hero-sequence-block .hd-btn-alt {
    background-color: transparent;
    color: #29794A;
    border: 2px solid #2C814F;
}

.hero-sequence-block .hd-btn-alt:hover {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F;
}

.hero-sequence-block__visual-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0;
}

.hero-sequence-block__circle-frame {
    width: 340px;
    height: 340px;
    max-width: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 8px solid #FFFFFF;
    box-shadow: 0 16px 36px -10px rgba(35, 29, 21, 0.12);
    background-color: #FFFFFF;
    position: relative;
    z-index: 2;
}

.hero-sequence-block__circle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-sequence-block__stat-card {
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FFFFFF;
    border: 1px solid #E4DFD8;
    border-radius: 1.25rem;
    padding: 1rem 1.25rem;
    width: 90%;
    max-width: 320px;
    z-index: 3;
    box-shadow: 0 12px 28px -6px rgba(19, 57, 35, 0.15);
}

.hero-sequence-block__stat-icon-holder {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background-color: rgba(44, 129, 79, 0.12);
    color: #2C814F;
}

.hero-sequence-block__stat-number {
    font-size: 0.9375rem;
    color: #231D15;
    line-height: 1.2;
}

.hero-sequence-block__stat-text {
    font-size: 0.8125rem;
    color: #72685A;
    margin-top: 2px;
}

.hero-sequence-block__mini-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid #FFFFFF;
    margin-left: -8px;
    object-fit: cover;
    display: inline-block;
}

.hero-sequence-block__avatar-group .hero-sequence-block__mini-avatar:first-child {
    margin-left: 0;
}

.hero-sequence-block__avatar-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #72685A;
    line-height: 1.2;
}

.hero-sequence-block__doodle-loop {
    position: absolute;
    top: -25px;
    right: -15px;
    width: 120px;
    height: 120px;
    z-index: 1;
    pointer-events: none;
}

.hero-sequence-block__doodle-dots {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 1;
}

.hero-sequence-block__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #2C814F;
    opacity: 0.4;
}


.rsl-blog-article {
    background-color: var(--bg, #F8F6F4);
    color: var(--text, #231D15);
}

.rsl-blog-article__fact-chip {
    background-color: #FFFFFF;
    color: #29794A;
    border: 1px solid #E4DFD8;
    border-radius: 50rem;
    padding: 0.4rem 1rem;
    font-weight: 600;
    font-size: 0.875rem;
}

.rsl-blog-article__featured-frame {
    width: 100%;
    height: 440px;
    max-height: 55vh;
    border-radius: 1.75rem;
    overflow: hidden;
    border: 1px solid #E4DFD8;
    box-shadow: 0 8px 24px -4px rgba(35, 29, 21, 0.06);
}

.rsl-blog-article__featured-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rsl-blog-article__takeaways-box {
    background-color: #E6F4EB;
    border-left: 6px solid #2C814F;
}

.rsl-blog-article__takeaway-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #2C814F;
    color: #FFFFFF;
    flex-shrink: 0;
}

.rsl-blog-article__takeaways-heading {
    color: #231D15;
    font-weight: 700;
}

.rsl-blog-article__takeaways-lead {
    font-size: 1.0625rem;
    color: #231D15;
    font-weight: 500;
}

.rsl-blog-article__takeaways-list li {
    color: #72685A;
    line-height: 1.6;
}

.rsl-blog-article__eyebrow {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-weight: 700;
    font-size: 0.8125rem;
    padding: 0.25rem 0.875rem;
    border-radius: 50rem;
    letter-spacing: 0.04em;
}

.rsl-blog-article__toc-link {
    color: #231D15;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9375rem;
    transition: color 0.2s ease;
}

.rsl-blog-article__toc-link:hover {
    color: #2C814F;
}

.rsl-blog-article__timeline-wrapper {
    padding: 1rem 0;
}

.rsl-blog-article__timeline-track {
    top: 2rem;
    bottom: 2rem;
    left: 20px;
    width: 3px;
    background: repeating-linear-gradient(to bottom, #2C814F, #2C814F 6px, transparent 6px, transparent 12px);
    z-index: 1;
}

.rsl-blog-article__step {
    z-index: 2;
}

.rsl-blog-article__step-badge {
    top: 1rem;
    left: 0;
    width: 42px;
    height: 42px;
    background-color: #2C814F;
    color: #FFFFFF;
    border: 3px solid #F8F6F4;
    box-shadow: 0 4px 10px rgba(44, 129, 79, 0.3);
    font-size: 0.875rem;
    z-index: 3;
}

.rsl-blog-article__step-card {
    box-shadow: 0 4px 12px rgba(35, 29, 21, 0.04);
}

.rsl-blog-article__step-title {
    color: #231D15;
    font-weight: 700;
}

.rsl-blog-article__body-text {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: #72685A;
}

.rsl-blog-article__tag-badge {
    background-color: #E6F4EB;
    color: #29794A;
    padding: 0.4rem 0.875rem;
    border-radius: 50rem;
    font-weight: 600;
    font-size: 0.8125rem;
}

.rsl-blog-article__faq-box .accordion-button {
    background-color: #FFFFFF;
    color: #231D15;
    box-shadow: none;
    padding: 1.125rem 1.5rem;
}

.rsl-blog-article__faq-box .accordion-button:not(.collapsed) {
    background-color: #E6F4EB;
    color: #2C814F;
}

.rsl-blog-article__faq-box .accordion-body {
    background-color: #FFFFFF;
    line-height: 1.65;
}

.rsl-blog-article__cta-box {
    background-color: #2C814F;
}

.rsl-blog-article__related-card {
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.rsl-blog-article__related-card:hover {
    box-shadow: 0 10px 24px -4px rgba(35, 29, 21, 0.08);
    border-color: #2C814F !important;
}

.rsl-blog-article__related-link {
    color: #231D15;
    font-weight: 600;
    transition: color 0.2s ease;
}

.rsl-blog-article__related-link:hover {
    color: #2C814F;
}


.review-card {
    border-color: #E4DFD8 !important;
}

.avatar-lg {
    width: 48px;
    height: 48px;
    min-width: 48px;
}

.avatar-sm {
    width: 36px;
    height: 36px;
    min-width: 36px;
}

.bg-primary-dark {
    background-color: #133923;
}

.bg-instructor {
    background-color: #2C814F;
}

.bg-alt-surface {
    background-color: #F4FAF6;
}

.badge-role {
    background-color: #E6F4EB;
    color: #2C814F;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-instructor {
    background-color: rgba(212, 135, 187, 0.18);
    color: #B4418F;
    font-size: 0.75rem;
    font-weight: 600;
}

.comment-status-pill {
    background-color: #E6F4EB;
    color: #231D15;
}

.btn-comment-action {
    background-color: #F8F6F4;
    color: #72685A;
    border: 1px solid #E4DFD8;
    transition: all 0.2s ease;
}

.btn-comment-action:hover,
.btn-comment-action.is-liked {
    background-color: #2C814F;
    color: #FFFFFF;
    border-color: #2C814F;
}

.rsl-blog-article__submit-btn {
    background-color: #2C814F;
    color: #FFFFFF;
    border: none;
    border-radius: 50rem;
    padding: 0.75rem 1.875rem;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.rsl-blog-article__submit-btn:hover {
    background-color: #23663F;
    color: #FFFFFF;
}


.rsl-footer {
    background-color: var(--dark-band, #133923);
    color: var(--on-dark, #FFFFFF);
    font-family: var(--typography-font-family, 'Barlow', sans-serif);
}

.rsl-footer .rsl-footer-border {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.rsl-footer .rsl-brand-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
    letter-spacing: -0.01em;
}

.rsl-footer .rsl-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #C3BEB6);
    max-width: 480px;
}

.rsl-footer .rsl-icon {
    color: var(--primary, #2C814F);
    font-size: 1rem;
    flex-shrink: 0;
}

.rsl-footer .rsl-contact-item {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
    overflow-wrap: anywhere;
}

.rsl-footer .rsl-footer-link {
    color: var(--on-dark-muted, #C3BEB6);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.rsl-footer .rsl-footer-link:hover,
.rsl-footer .rsl-footer-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
}

.rsl-footer .rsl-copyright {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3BEB6);
}

.rsl-footer .rsl-legal-links {
    font-size: 0.875rem;
}

@media (max-width: 991.98px) {
    .hero-sequence-block__title {
        font-size: 2.25rem;
    }

    .hero-sequence-block__circle-frame {
        width: 300px;
        height: 300px;
    }

    .hero-sequence-block__stat-card {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        margin-top: 1.5rem;
        width: 100%;
        max-width: 100%;
    }

    .hero-sequence-block__visual-container {
        flex-direction: column;
        padding-bottom: 0;
    }
}

@media (max-width: 767.98px) {
    .hero-sequence-block {
        padding: 2.5rem 0 3rem;
    }

    .hero-sequence-block__title {
        font-size: 1.75rem;
        hyphens: auto;
    }

    .hero-sequence-block__lead {
        font-size: 1rem;
    }

    .hero-sequence-block__circle-frame {
        width: 250px;
        height: 250px;
        border-width: 6px;
    }

    .hero-sequence-block__actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-sequence-block__btn {
        width: 100%;
        justify-content: center;
    }

    .hero-sequence-block__doodle-loop {
        display: none;
    }

    .rsl-blog-article__featured-frame {
        height: 260px;
    }

    .rsl-blog-article__timeline-track {
        left: 14px;
    }

    .rsl-blog-article__step-badge {
        width: 32px;
        height: 32px;
        font-size: 0.75rem;
    }

    .rsl-footer .rsl-footer-desc {
        margin-left: auto;
        margin-right: auto;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
