/* site palette */
html:root {
    --bg: #F2F5FA;
    --surface: #FFFFFF;
    --surface-alt: #ECEFF6;
    --text: #121824;
    --text-muted: #5E6778;
    --border: #D8DCE4;
    --primary: #164EBA;
    --primary-hover: #12419A;
    --on-primary: #FFFFFF;
    --primary-text: #164EBA;
    --accent: #8BA9E5;
    --on-accent: #111111;
    --accent-text: #386BD2;
    --dark-band: #112243;
    --on-dark: #FFFFFF;
    --on-dark-muted: #B6BBC3;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #112243;
    --section-alt-bg: #ECEFF6;
    --dark-band-bg: #112243;
    --brand-band-bg: #164EBA;
    --hero-bg: #112243;
}

html:root {
    --bs-primary: #164EBA;
    --bs-primary-rgb: 22, 78, 186;
    --bs-link-color: #164EBA;
    --bs-link-color-rgb: 22, 78, 186;
    --bs-link-hover-color: #12419A;
    --mdb-primary: #164EBA;
    --mdb-primary-rgb: 22, 78, 186;
}

.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;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font_family_primary, 'Source Sans 3', sans-serif);
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

.text-muted {
    color: var(--text_muted, #5E6778) !important;
}

.jkg-eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.jkg-title {
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 1.5rem;
}

.jkg-title .highlight {
    color: var(--primary);
}

.jkg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 14px 28px;
    background-color: var(--primary);
    color: var(--on-primary);
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid var(--primary);
    border-radius: 0px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

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

.jkg-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 12px 26px;
    background-color: transparent;
    color: var(--primary_text, var(--primary));
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 2px solid var(--primary);
    border-radius: 0px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

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

.jkg-card {
    position: relative;
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0px;
    padding: 2rem;
    transition: all 0.25s ease-in-out;
}

.jkg-card:hover {
    box-shadow: 0 12px 28px rgba(18, 24, 36, 0.12);
}

.jkg-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0px;
    border: 1px solid var(--border);
}

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

.jkg-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background-color: var(--surface-alt);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0px;
}

.jkg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--primary);
    transition: all 0.25s ease-in-out;
}

.jkg-section {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--bg);
}

.jkg-section-alt {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--section_alt_bg, var(--surface_alt, #ECEFF6));
}

.jkg-section-dark {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--dark_band_bg, var(--dark_band, #112243));
    color: var(--on-dark, #FFFFFF);
}

.jkg-section-dark .jkg-title {
    color: var(--on-dark, #FFFFFF);
}

.jkg-section-dark .jkg-eyebrow {
    color: var(--accent, #8BA9E5);
}

.jkg-section-dark .text-muted {
    color: var(--on-dark_muted, #B6BBC3) !important;
}

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

.jkg-section-dark .jkg-btn-alt:hover {
    background-color: var(--on-dark, #FFFFFF);
    color: var(--dark_band, #112243);
}

.jkg-section-dark .jkg-card {
    background-color: var(--surface);
    color: var(--text);
}

.jkg-section-dark .jkg-card .text-muted {
    color: var(--text_muted, #5E6778) !important;
}

.jkg-section-brand {
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: var(--brand_band_bg, var(--primary, #164EBA));
    color: var(--on-primary, #FFFFFF);
}

.jkg-section-brand .jkg-title {
    color: var(--on-primary, #FFFFFF);
}

.jkg-section-brand .jkg-eyebrow {
    color: var(--surface, #FFFFFF);
}

.jkg-section-brand .jkg-btn {
    background-color: var(--brand_btn_bg, #FFFFFF);
    color: var(--brand_btn_text, #112243);
    border-color: var(--brand_btn_bg, #FFFFFF);
}

.jkg-section-brand .jkg-btn:hover {
    background-color: var(--surface_alt, #ECEFF6);
    border-color: var(--surface_alt, #ECEFF6);
    color: var(--brand_btn_text, #112243);
}

.jkg-section-brand .jkg-btn-alt {
    border-color: var(--on-primary, #FFFFFF);
    color: var(--on-primary, #FFFFFF);
}

.jkg-section-brand .jkg-btn-alt:hover {
    background-color: var(--on-primary, #FFFFFF);
    color: var(--primary, #164EBA);
}

.jkg-on-dark {
    color: var(--on-dark, #FFFFFF);
}

.jkg-on-dark h1,
.jkg-on-dark h2,
.jkg-on-dark h3,
.jkg-on-dark h4,
.jkg-on-dark h5,
.jkg-on-dark h6,
.jkg-on-dark .jkg-title {
    color: var(--on-dark, #FFFFFF);
}

.jkg-on-dark p,
.jkg-on-dark span:not(.badge) {
    color: var(--on-dark_muted, #B6BBC3);
}

.jkg-on-dark .jkg-eyebrow {
    color: var(--accent, #8BA9E5);
}

.jkg-on-dark .jkg-card {
    background-color: var(--surface);
    color: var(--text);
}

.jkg-on-dark .jkg-card p,
.jkg-on-dark .jkg-card span {
    color: var(--text);
}

.jkg-on-dark .jkg-card .text-muted {
    color: var(--text_muted, #5E6778) !important;
}

@media (max-width: 767.98px) {

    .jkg-section,
    .jkg-section-alt,
    .jkg-section-dark,
    .jkg-section-brand {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

/* ===== header ===== */
.jkg-header-block {
    background-color: var(--dark-band, #112243);
    border-bottom: 1px solid rgba(216, 220, 228, 0.15);
    z-index: 1030;
    position: sticky;
    top: 0;
}

.jkg-header-block .navbar {
    padding: 16px 0;
    min-height: 80px;
}

.jkg-header-block .jkg-header-logo {
    width: 44px;
    height: 44px;
    max-width: 48px;
    object-fit: contain;
}

.jkg-header-block .jkg-header-brand-text {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #FFFFFF;
    text-transform: uppercase;
}

.jkg-header-block .jkg-header-toggler {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0px;
    padding: 6px 10px;
    color: #FFFFFF;
    outline: none;
    box-shadow: none;
}

.jkg-header-block .jkg-header-toggler:focus {
    box-shadow: none;
    border-color: var(--primary, #164EBA);
}

.jkg-header-block .jkg-header-burger-icon {
    font-size: 1.5rem;
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-nav-link {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #FFFFFF !important;
    padding: 8px 14px !important;
    transition: color 0.2s ease-in-out;
    position: relative;
}

.jkg-header-block .jkg-header-nav-link:hover,
.jkg-header-block .jkg-header-nav-link:focus,
.jkg-header-block .jkg-header-nav-link.active {
    color: var(--accent, #8BA9E5) !important;
}

.jkg-header-block .jkg-header-dropdown {
    background-color: var(--dark-band, #112243);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0px;
    padding: 8px 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    margin-top: 4px;
}

.jkg-header-block .jkg-header-dropdown-item {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    padding: 10px 18px;
    transition: all 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-dropdown-item:hover,
.jkg-header-block .jkg-header-dropdown-item:focus {
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-divider {
    border-color: rgba(255, 255, 255, 0.15);
    margin: 4px 0;
}

.jkg-header-block .jkg-header-phone-link {
    text-decoration: none;
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-phone-link:hover .jkg-header-phone-val {
    color: var(--accent, #8BA9E5);
}

.jkg-header-block .jkg-header-phone-icon-wrap {
    width: 36px;
    height: 36px;
    border: 1px solid var(--primary, #164EBA);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent, #8BA9E5);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.jkg-header-block .jkg-header-phone-label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--on-dark-muted, #B6BBC3);
    text-transform: uppercase;
    line-height: 1;
}

.jkg-header-block .jkg-header-phone-val {
    font-size: 0.875rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
    letter-spacing: 0.02em;
    transition: color 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-cta {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0px;
    padding: 10px 22px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-cta:hover {
    background-color: var(--primary-hover, #12419A);
    color: #FFFFFF;
    border-color: var(--primary-hover, #12419A);
}

@media (max-width: 991px) {
    .jkg-header-block .navbar-collapse {
        background-color: var(--dark-band, #112243);
        padding: 16px 0 20px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin-top: 12px;
    }

    .jkg-header-block .jkg-header-nav-link {
        padding: 10px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .jkg-header-block .jkg-header-dropdown {
        background-color: rgba(0, 0, 0, 0.2);
        border: none;
        margin-left: 12px;
    }
}

/* ===== hero_section ===== */
.kb-hero {
    position: relative;
    background-color: var(--dark-band, #112243);
    min-height: 580px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.kb-hero .kb-hero__video-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.kb-hero .kb-hero__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-position: center;
    background-size: cover;
}

.kb-hero .kb-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(17, 34, 67, 0.88);
}

.kb-hero .kb-hero__content-frame {
    background: rgba(17, 34, 67, 0.72);
    border: 1px dashed rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
}

.kb-hero .kb-hero__bracket {
    position: absolute;
    width: 28px;
    height: 28px;
    pointer-events: none;
}

.kb-hero .kb-hero__bracket--tl {
    top: -2px;
    left: -2px;
    border-top: 3px solid var(--primary, #164EBA);
    border-left: 3px solid var(--primary, #164EBA);
}

.kb-hero .kb-hero__bracket--br {
    bottom: -2px;
    right: -2px;
    border-bottom: 3px solid var(--primary, #164EBA);
    border-right: 3px solid var(--primary, #164EBA);
}

.kb-hero .kb-hero__pill-tag {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    background: rgba(22, 78, 186, 0.35);
    border: 1px solid var(--primary, #164EBA);
    padding: 2px 8px;
    text-transform: uppercase;
}

.kb-hero .kb-hero__title {
    font-family: var(--font_family_headings, 'Source Sans 3', sans-serif);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0.03em;
    color: var(--on-dark, #FFFFFF);
    font-size: clamp(1.6rem, 4vw, 2.85rem);
    overflow-wrap: anywhere;
}

.kb-hero .kb-hero__highlight {
    color: var(--accent, #8BA9E5);
}

.kb-hero .kb-hero__subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BBC3);
    max-width: 620px;
}

.kb-hero .kb-hero__btn-cta {
    background-color: var(--primary, #164EBA);
    color: var(--on-primary, #FFFFFF);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 14px 28px;
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0;
    transition: all 0.25s ease-in-out;
}

.kb-hero .kb-hero__btn-cta:hover {
    background-color: var(--primary-hover, #12419A);
    border-color: var(--primary-hover, #12419A);
    color: #FFFFFF;
}

.kb-hero .kb-hero__btn-secondary {
    background-color: transparent;
    color: #FFFFFF;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 14px 24px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0;
    transition: all 0.25s ease-in-out;
}

.kb-hero .kb-hero__btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.12);
    border-color: #FFFFFF;
    color: #FFFFFF;
}

.kb-hero .kb-hero__notice-text {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    color: var(--on-dark-muted, #B6BBC3);
}

.kb-hero .kb-hero__display-card {
    background: rgba(18, 24, 36, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(12px);
}

.kb-hero .kb-hero__pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #22C55E;
    box-shadow: 0 0 8px #22C55E;
}

.kb-hero .kb-hero__mono-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #FFFFFF;
}

.kb-hero .kb-hero__mono-code {
    font-size: 0.7rem;
    color: var(--accent, #8BA9E5);
    font-family: monospace;
    letter-spacing: 0.06em;
}

.kb-hero .kb-hero__stat-row {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.kb-hero .kb-hero__stat-title {
    font-size: 0.8rem;
    color: var(--on-dark-muted, #B6BBC3);
}

.kb-hero .kb-hero__stat-badge {
    font-size: 0.7rem;
    font-weight: 700;
    color: #22C55E;
    background: rgba(34, 197, 94, 0.15);
    padding: 1px 6px;
}

.kb-hero .kb-hero__stat-value {
    font-size: 1.85rem;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.1;
}

.kb-hero .kb-hero__progress-bar {
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    width: 100%;
}

.kb-hero .kb-hero__progress-fill {
    height: 100%;
    background-color: var(--primary, #164EBA);
}

.kb-hero .kb-hero__mini-metric {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.kb-hero .kb-hero__metric-name {
    font-size: 0.7rem;
    letter-spacing: 0.04em;
}

.kb-hero .kb-hero__metric-number {
    font-size: 1.05rem;
    font-weight: 700;
    color: #FFFFFF;
}

.kb-hero .kb-hero__meta-item {
    font-size: 0.75rem;
    color: var(--on-dark-muted, #B6BBC3);
}

@media (max-width: 767px) {
    .kb-hero {
        padding: 24px 0;
    }

    .kb-hero .kb-hero__title {
        font-size: 1.125rem;
        line-height: 1.25;
    }

    .kb-hero .kb-hero__subtitle {
        font-size: 0.9rem;
    }

    .kb-hero .kb-hero__btn-cta,
    .kb-hero .kb-hero__btn-secondary {
        width: 100%;
        justify-content: center;
        padding: 12px 16px;
        font-size: 0.85rem;
    }
}

/* ===== platform_features ===== */
.features-grid-section {
    position: relative;
    background-color: var(--bg);
    color: var(--text);
}

.features-grid-header-viewfinder {
    border-left: 2px solid var(--primary);
    border-right: 2px solid var(--primary);
}

.features-grid-accent {
    color: var(--primary-text);
}

.features-grid-lead-text {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--text-muted);
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.features-grid-card {
    position: relative;
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out, border-color 0.25s ease-in-out;
}

.features-grid-card:hover {
    transform: translateY(-4px);
    border-color: var(--primary);
    box-shadow: 0 12px 28px rgba(18, 24, 36, 0.12);
}

.features-grid-bracket-tl {
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    border-top: 2px solid var(--primary);
    border-left: 2px solid var(--primary);
    pointer-events: none;
    z-index: 3;
}

.features-grid-bracket-br {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 14px;
    height: 14px;
    border-bottom: 2px solid var(--primary);
    border-right: 2px solid var(--primary);
    pointer-events: none;
    z-index: 3;
}

.features-grid-media {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
    background-color: var(--surface-alt);
}

.features-grid-img-link {
    width: 100%;
    height: 100%;
}

.features-grid-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    display: block;
    transition: transform 0.35s ease;
}

.features-grid-card:hover .features-grid-img {
    transform: scale(1.04);
}

.features-grid-watermark {
    position: absolute;
    bottom: 8px;
    right: 12px;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    color: var(--primary);
    opacity: 0.15;
    pointer-events: none;
    user-select: none;
    z-index: 2;
    font-family: var(--font-family-headings, 'Source Sans 3', sans-serif);
}

.features-grid-icon {
    font-size: 1.25rem;
    color: var(--primary);
}

.features-grid-badge {
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--primary-text);
}

.features-grid-card-heading {
    font-size: 1.1875rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--text);
    margin-top: 4px;
}

.features-grid-heading-link {
    color: var(--text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.features-grid-heading-link:hover,
.features-grid-heading-link:focus {
    color: var(--primary);
    text-decoration: none;
}

.features-grid-desc {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--text-muted);
}

.features-grid-meta-note {
    font-size: 0.75rem;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.features-grid-meta-note i {
    color: var(--primary);
}

.features-grid-footer {
    border-color: var(--border) !important;
}

.features-grid-action-btn {
    background-color: var(--primary);
    color: var(--on-primary) !important;
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 12px 18px;
    border: 1px solid var(--primary);
    border-radius: 0;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.features-grid-action-btn:hover,
.features-grid-action-btn:focus {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary) !important;
}

@media (max-width: 767px) {
    .features-grid-lead-text {
        font-size: 0.9375rem;
    }

    .features-grid-card-heading {
        font-size: 1.0625rem;
    }

    .features-grid-desc {
        font-size: 0.875rem;
    }
}

/* ===== pricing_tiers ===== */
.pricing-section {
    color: var(--text);
    position: relative
}

.pricing-section .text-primary-accent {
    color: var(--primary)
}

.pricing-section .text-secondary-custom {
    color: var(--text-muted)
}

.pricing-section .pricing-subhead {
    max-width: 620px;
    font-size: 1.05rem;
    line-height: 1.6
}

.pricing-section .pricing-data-notice {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    font-size: 0.85rem;
    font-weight: 600
}

.pricing-section .pricing-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(18, 24, 36, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease
}

.pricing-section .pricing-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(18, 24, 36, 0.08)
}

.pricing-section .pricing-card-featured {
    border: 2px solid var(--primary)
}

.pricing-section .corner-bracket {
    position: absolute;
    width: 12px;
    height: 12px;
    pointer-events: none
}

.pricing-section .corner-bracket.top-left {
    top: -1px;
    left: -1px;
    border-top: 2px solid var(--primary);
    border-left: 2px solid var(--primary)
}

.pricing-section .corner-bracket.bottom-right {
    bottom: -1px;
    right: -1px;
    border-bottom: 2px solid var(--primary);
    border-right: 2px solid var(--primary)
}

.pricing-section .tier-badge {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: var(--primary);
    background: var(--surface-alt);
    padding: 4px 10px;
    border-radius: 0;
    border: 1px solid var(--border)
}

.pricing-section .tier-badge-black {
    background: var(--dark-band);
    color: var(--on-dark);
    border-color: var(--dark-band)
}

.pricing-section .tier-title {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: var(--text)
}

.pricing-section .tier-icon {
    font-size: 2rem;
    color: var(--primary);
    line-height: 1
}

.pricing-section .tier-icon-featured {
    color: var(--primary)
}

.pricing-section .currency-symbol {
    font-size: 1.75rem;
    line-height: 1;
    color: var(--text)
}

.pricing-section .price-val {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--text)
}

.pricing-section .price-period {
    font-size: 1.05rem;
    font-weight: 500
}

.pricing-section .price-note {
    font-size: 0.875rem;
    margin-top: 0.35rem
}

.pricing-section .tier-features li {
    font-size: 0.95rem;
    color: var(--text)
}

.pricing-section .tier-features li i {
    font-size: 1.15rem
}

.pricing-section .pricing-input-addon {
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-right: none;
    border-radius: 0;
    color: var(--primary)
}

.pricing-section .pricing-input {
    border: 1px solid var(--border);
    border-radius: 0;
    padding: 0.65rem 0.85rem;
    background: var(--surface);
    color: var(--text)
}

.pricing-section .pricing-input:focus {
    background: var(--surface);
    border-color: var(--primary);
    box-shadow: none;
    color: var(--text)
}

.pricing-section .pricing-input::placeholder {
    color: var(--text-muted);
    opacity: 1
}

.pricing-section .consent-text {
    font-size: 0.8125rem;
    line-height: 1.4;
    color: var(--text-muted);
    text-align: left
}

.pricing-section .privacy-link {
    color: var(--primary);
    text-decoration: underline
}

.pricing-section .privacy-link:hover {
    color: var(--primary-hover)
}

.pricing-section .jkg-btn {
    background: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 0;
    padding: 12px 20px;
    letter-spacing: 0.08em;
    transition: all 0.25s ease
}

.pricing-section .jkg-btn:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary)
}

@media (max-width:767px) {
    .pricing-section .price-val {
        font-size: 2.25rem
    }

    .pricing-section .pricing-card {
        padding: 1.5rem
    }
}

/* ===== latest_insights ===== */
.kb-grid-block {
    position: relative;
    overflow: hidden;
}

.kb-grid-block .kb-title-accent {
    color: var(--primary, #164EBA);
}

.kb-grid-block .kb-header-desc {
    color: var(--text-muted, #5E6778);
    font-size: 0.95rem;
    line-height: 1.5;
    max-width: 680px;
}

.kb-grid-block .kb-card {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8DCE4);
    box-shadow: 0 8px 24px rgba(18, 24, 36, 0.08);
    transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
    border-radius: 0;
}

.kb-grid-block .kb-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(18, 24, 36, 0.12);
}

.kb-grid-block .kb-media-frame {
    width: 100%;
    aspect-ratio: 16 / 10;
    position: relative;
    overflow: hidden;
    background: var(--surface-alt, #ECEFF6);
}

.kb-grid-block .kb-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
    transition: transform 0.3s ease;
}

.kb-grid-block .kb-card:hover .kb-image {
    transform: scale(1.03);
}

.kb-grid-block .kb-meta {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted, #5E6778);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.kb-grid-block .kb-meta-icon {
    color: var(--primary, #164EBA);
    font-size: 0.9rem;
}

.kb-grid-block .kb-meta-dot {
    color: var(--border, #D8DCE4);
}

.kb-grid-block .kb-card-heading {
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--text, #121824);
}

.kb-grid-block .kb-heading-link {
    color: var(--text, #121824);
    text-decoration: none;
    transition: color 0.2s ease;
    display: inline-block;
}

.kb-grid-block .kb-heading-link:hover {
    color: var(--primary, #164EBA);
}

.kb-grid-block .kb-card-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--text-muted, #5E6778);
}

.kb-grid-block .kb-action-link {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--primary, #164EBA);
    text-decoration: none;
    transition: color 0.2s ease, gap 0.2s ease;
}

.kb-grid-block .kb-action-link:hover {
    color: var(--primary-hover, #12419A);
    gap: 6px;
}

.kb-grid-block .jkg-btn {
    background: var(--primary, #164EBA);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    padding: 12px 24px;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.kb-grid-block .jkg-btn:hover {
    background: var(--primary-hover, #12419A);
    border-color: var(--primary-hover, #12419A);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .kb-grid-block .kb-card-heading {
        font-size: 14px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .kb-grid-block .jkg-title {
        font-size: 16px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .kb-grid-block .kb-card {
        width: 100%;
    }
}

/* ===== schedule_a_consultation ===== */
.booking-section {
    background-color: var(--dark-band, #112243);
    color: var(--on-dark, #FFFFFF);
    overflow: hidden;
}

.booking-section .booking-section__bar {
    width: 48px;
    height: 3px;
    background-color: var(--primary, #164EBA);
}

.booking-section .booking-section__lead {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BBC3);
}

.booking-section .booking-section__frame {
    background: #0d1a33;
    border: 1px solid rgba(216, 220, 228, 0.15);
    border-radius: 0;
}

.booking-section .booking-section__corner-tl {
    position: absolute;
    top: -1px;
    left: -1px;
    width: 20px;
    height: 20px;
    border-top: 3px solid var(--primary, #164EBA);
    border-left: 3px solid var(--primary, #164EBA);
    pointer-events: none;
}

.booking-section .booking-section__corner-br {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 20px;
    height: 20px;
    border-bottom: 3px solid var(--primary, #164EBA);
    border-right: 3px solid var(--primary, #164EBA);
    pointer-events: none;
}

.booking-section .booking-section__label {
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
}

.booking-section .booking-section__pill-box,
.booking-section .booking-section__slot-box {
    border: 1px solid rgba(216, 220, 228, 0.25);
    background: rgba(255, 255, 255, 0.04);
    color: var(--on-dark, #FFFFFF);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    border-radius: 0;
}

.booking-section .booking-section__option-pill input:checked+.booking-section__pill-box,
.booking-section .booking-section__slot-pill input:checked+.booking-section__slot-box {
    background: var(--primary, #164EBA);
    border-color: var(--primary, #164EBA);
    color: #FFFFFF;
}

.booking-section .booking-section__pill-box:hover,
.booking-section .booking-section__slot-box:hover {
    border-color: var(--primary, #164EBA);
    color: #FFFFFF;
}

.booking-section .booking-section__input,
.booking-section .booking-section__select,
.booking-section .booking-section__textarea {
    background-color: #12213e;
    border: 1px solid rgba(216, 220, 228, 0.22);
    color: #FFFFFF;
    border-radius: 0;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
}

.booking-section .booking-section__input:focus,
.booking-section .booking-section__select:focus,
.booking-section .booking-section__textarea:focus {
    background-color: #16284a;
    border-color: var(--primary, #164EBA);
    color: #FFFFFF;
    box-shadow: 0 0 0 0.2rem rgba(22, 78, 186, 0.25);
}

.booking-section .booking-section__input::placeholder,
.booking-section .booking-section__textarea::placeholder {
    color: rgba(182, 187, 195, 0.7);
}

.booking-section .booking-section__select option {
    background-color: #112243;
    color: #FFFFFF;
}

.booking-section .booking-section__checkbox {
    border-radius: 0;
    border: 1px solid rgba(216, 220, 228, 0.4);
    background-color: #12213e;
    width: 1.15rem;
    height: 1.15rem;
}

.booking-section .booking-section__checkbox:checked {
    background-color: var(--primary, #164EBA);
    border-color: var(--primary, #164EBA);
}

.booking-section .booking-section__consent-label {
    font-size: 0.8125rem;
    line-height: 1.45;
}

.booking-section .booking-section__submit-btn {
    background: var(--primary, #164EBA);
    color: #FFFFFF;
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0;
    letter-spacing: 0.08em;
    font-size: 0.9375rem;
    transition: all 0.25s ease-in-out;
}

.booking-section .booking-section__submit-btn:hover {
    background: var(--primary-hover, #12419A);
    border-color: var(--primary-hover, #12419A);
    color: #FFFFFF;
}

@media (max-width: 767px) {

    .booking-section .booking-section__duration-grid,
    .booking-section .booking-section__slots-grid {
        flex-direction: column;
    }

    .booking-section .booking-section__slot-pill,
    .booking-section .booking-section__option-pill {
        width: 100%;
    }
}

/* ===== quick_request ===== */
.jkg-lead-request-block {
    background-color: var(--bg);
    color: var(--text);
    font-family: var(--font-family-primary, 'Source Sans 3', sans-serif);
    position: relative;
}

.jkg-lead-request-block .jkg-lead-box {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8DCE4);
    position: relative;
    border-radius: 0px;
}

.jkg-lead-request-block .jkg-viewfinder-tl {
    position: absolute;
    top: -2px;
    left: -2px;
    width: 16px;
    height: 16px;
    border-top: 2px solid var(--primary, #164EBA);
    border-left: 2px solid var(--primary, #164EBA);
    pointer-events: none;
}

.jkg-lead-request-block .jkg-viewfinder-br {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 16px;
    height: 16px;
    border-bottom: 2px solid var(--primary, #164EBA);
    border-right: 2px solid var(--primary, #164EBA);
    pointer-events: none;
}

.jkg-lead-request-block .jkg-eyebrow {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--primary, #164EBA);
}

.jkg-lead-request-block .jkg-lead-title {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--text, #121824);
    line-height: 1.2;
    margin-bottom: 12px;
}

.jkg-lead-request-block .jkg-lead-highlight {
    color: var(--primary, #164EBA);
}

.jkg-lead-request-block .jkg-lead-desc {
    font-size: 1rem;
    line-height: 1.55;
    color: var(--text-muted, #5E6778);
    max-width: 580px;
}

.jkg-lead-request-block .jkg-form-label {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text, #121824);
    margin-bottom: 6px;
    display: block;
}

.jkg-lead-request-block .jkg-required-star {
    color: var(--primary, #164EBA);
}

.jkg-lead-request-block .jkg-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.jkg-lead-request-block .jkg-input-icon {
    position: absolute;
    left: 14px;
    font-size: 1.1rem;
    color: var(--primary, #164EBA);
    pointer-events: none;
    z-index: 2;
}

.jkg-lead-request-block .jkg-form-control {
    background-color: var(--surface-alt, #ECEFF6);
    border: 1px solid var(--border, #D8DCE4);
    border-radius: 0px;
    color: var(--text, #121824);
    padding: 12px 14px 12px 42px;
    font-size: 0.95rem;
    transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.jkg-lead-request-block .jkg-form-control:focus {
    background-color: #FFFFFF;
    border-color: var(--primary, #164EBA);
    outline: none;
    box-shadow: none;
    color: var(--text, #121824);
}

.jkg-lead-request-block .jkg-form-control::placeholder {
    color: var(--text-muted, #5E6778);
    opacity: 0.85;
}

.jkg-lead-request-block .jkg-form-step-notice {
    background-color: var(--surface-alt, #ECEFF6);
    border-left: 3px solid var(--primary, #164EBA);
    padding: 14px 16px;
    border-radius: 0px;
}

.jkg-lead-request-block .jkg-notice-icon {
    font-size: 1.25rem;
    color: var(--primary, #164EBA);
    line-height: 1.3;
}

.jkg-lead-request-block .jkg-notice-text {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--text, #121824);
}

.jkg-lead-request-block .jkg-form-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-height: auto;
    padding-left: 0;
}

.jkg-lead-request-block .jkg-check-input {
    border-radius: 0px;
    border: 1px solid var(--border, #D8DCE4);
    background-color: var(--surface-alt, #ECEFF6);
    width: 18px;
    height: 18px;
    margin-top: 2px;
    margin-left: 0;
    flex-shrink: 0;
    cursor: pointer;
}

.jkg-lead-request-block .jkg-check-input:checked {
    background-color: var(--primary, #164EBA);
    border-color: var(--primary, #164EBA);
}

.jkg-lead-request-block .jkg-check-label {
    font-size: 0.875rem;
    color: var(--text, #121824);
    line-height: 1.45;
    cursor: pointer;
}

.jkg-lead-request-block .jkg-policy-link {
    color: var(--primary, #164EBA);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.jkg-lead-request-block .jkg-policy-link:hover {
    color: var(--primary-hover, #12419A);
}

.jkg-lead-request-block .jkg-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary, #164EBA);
    color: var(--on-primary, #FFFFFF);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0px;
    padding: 14px 28px;
    transition: background-color 0.25s ease-in-out, border-color 0.25s ease-in-out;
}

.jkg-lead-request-block .jkg-submit-btn:hover,
.jkg-lead-request-block .jkg-submit-btn:focus {
    background-color: var(--primary-hover, #12419A);
    border-color: var(--primary-hover, #12419A);
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .jkg-lead-request-block .jkg-lead-title {
        font-size: 1.5rem;
        hyphens: auto;
    }

    .jkg-lead-request-block .jkg-lead-desc {
        font-size: 0.9375rem;
    }

    .jkg-lead-request-block .jkg-lead-box {
        padding: 20px 16px;
    }
}

/* ===== footer ===== */
.kb-footer-section {
    background-color: var(--dark-band, #112243);
    color: var(--on-dark-muted, #B6BBC3);
    padding-top: 60px;
    font-family: var(--font-family-primary, 'Source Sans 3', sans-serif);
    position: relative;
}

.kb-footer-section .kb-disclaimer-box {
    background-color: rgba(22, 78, 186, 0.08);
    border: 1px solid rgba(22, 78, 186, 0.4);
    border-left: 4px solid var(--primary, #164EBA);
    border-radius: 0;
}

.kb-footer-section .kb-disclaimer-icon-wrapper {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(22, 78, 186, 0.2);
}

.kb-footer-section .kb-disclaimer-icon {
    font-size: 1.25rem;
    color: var(--accent, #8BA9E5);
}

.kb-footer-section .kb-disclaimer-eyebrow {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: var(--accent, #8BA9E5);
}

.kb-footer-section .kb-disclaimer-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.kb-footer-section .kb-footer-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
}

.kb-footer-section .kb-brand-title {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.05em;
}

.kb-footer-section .kb-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BBC3);
    max-width: 360px;
}

.kb-footer-section .kb-market-delay-badge {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    font-size: 0.75rem;
    color: var(--on-dark-muted, #B6BBC3);
}

.kb-footer-section .kb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.kb-footer-section .kb-footer-link {
    color: var(--on-dark-muted, #B6BBC3);
    text-decoration: none;
    font-size: 0.9375rem;
    transition: color 0.2s ease-in-out;
    overflow-wrap: anywhere;
}

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

.kb-footer-section .kb-contact-icon {
    font-size: 1.1rem;
    color: var(--primary, #164EBA);
    flex-shrink: 0;
}

.kb-footer-section .kb-contact-text {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #B6BBC3);
    overflow-wrap: anywhere;
}

.kb-footer-section .kb-bottom-strip {
    background-color: rgba(0, 0, 0, 0.25);
}

.kb-footer-section .kb-copyright-text,
.kb-footer-section .kb-security-note {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6BBC3);
}

@media (max-width: 767px) {
    .kb-footer-section {
        padding-top: 40px;
    }

    .kb-footer-section .kb-footer-desc {
        max-width: 100%;
    }
}

/* ===== PAGE: about ===== */
.about-platform-section {
  background-color: var(--bg);
  color: var(--text);
}

.about-platform-section .text-primary-custom {
  color: var(--primary);
}

.about-platform-section .about-viewfinder-box {
  border-left: 3px solid var(--primary);
  padding-left: 1.5rem;
}

.about-platform-section .about-lead-text {
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: 500;
  color: var(--text);
}

.about-platform-section .about-body-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--text-muted);
}

.about-platform-section .about-notice-band {
  background-color: var(--surface);
  border: 1px dashed var(--border);
  border-left: 4px solid var(--primary);
}

.about-platform-section .about-notice-icon {
  font-size: 1.5rem;
  color: var(--primary);
  flex-shrink: 0;
}

.about-platform-section .about-notice-title {
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  color: var(--text);
}

.about-platform-section .about-media-wrapper {
  border: 1px solid var(--border);
  padding: 8px;
  background-color: var(--surface);
}

.about-platform-section .about-bracket-tl {
  position: absolute;
  top: -4px;
  left: -4px;
  width: 20px;
  height: 20px;
  border-top: 3px solid var(--primary);
  border-left: 3px solid var(--primary);
  z-index: 2;
}

.about-platform-section .about-bracket-br {
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  border-bottom: 3px solid var(--primary);
  border-right: 3px solid var(--primary);
  z-index: 2;
}

.about-platform-section .about-main-img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.about-platform-section .about-badge-overlay {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background-color: var(--surface);
  color: var(--text);
  padding: 8px 16px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 12px rgba(18, 24, 36, 0.08);
}

.about-platform-section .about-feature-item {
  background-color: var(--surface);
  border: 1px solid var(--border);
  overflow: hidden;
}

.about-platform-section .about-giant-number {
  position: absolute;
  top: -10px;
  right: 10px;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1;
  color: rgba(22, 78, 186, 0.06);
  pointer-events: none;
  user-select: none;
}

.about-platform-section .about-feature-title {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text);
}

.about-platform-section .about-feature-desc {
  font-size: 0.875rem;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

.about-platform-section .about-interactive-panel {
  background-color: var(--surface_alt);
  border: 1px solid var(--border);
}

.about-platform-section .about-tabs-nav {
  border-bottom: 1px solid var(--border);
  padding-bottom: 12px;
}

.about-platform-section .about-tab-btn {
  border: 1px solid var(--border);
  background-color: var(--surface);
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 10px 18px;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0;
}

.about-platform-section .about-tab-btn:hover {
  background-color: #E2E7F2;
  color: var(--primary);
}

.about-platform-section .about-tab-btn.active {
  background-color: var(--primary);
  color: var(--on_primary);
  border-color: var(--primary);
}

.about-platform-section .about-subhead {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text);
}

.about-platform-section .about-check-list li {
  font-size: 0.9rem;
  color: var(--text);
}

.about-platform-section .about-spec-box {
  background-color: var(--surface);
}

@media (max-width: 767px) {
  .about-platform-section .about-viewfinder-box {
    padding-left: 1rem;
  }
  .about-platform-section .about-tabs-nav {
    flex-direction: column;
  }
  .about-platform-section .about-tab-btn {
    width: 100%;
    text-align: left;
  }
  .about-platform-section .about-giant-number {
    font-size: 3rem;
  }
  .about-platform-section .about-badge-overlay {
    position: static;
    margin-top: 10px;
  }
}

/* ===== PAGE: features ===== */
.kb-features-catalog .kb-section-header .kb-header-line {
  height: 1px;
  background-color: var(--border);
  margin-left: 1rem;
}

.kb-features-catalog .kb-feature-item {
  background-color: var(--surface);
  border-color: var(--border) !important;
  border-radius: 0px;
  transition: border-color 0.25s ease, transform 0.25s ease;
  overflow: hidden;
}

.kb-features-catalog .kb-feature-item:hover {
  border-color: var(--primary) !important;
  transform: translateY(-2px);
}

.kb-features-catalog .kb-giant-index {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 1;
  color: rgba(22, 78, 186, 0.07);
  pointer-events: none;
  z-index: 1;
  user-select: none;
}

.kb-features-catalog .kb-item-media {
  aspect-ratio: 3 / 2;
  width: 100%;
  overflow: hidden;
  background-color: var(--surface-alt);
}

.kb-features-catalog .kb-item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0px;
  transition: transform 0.35s ease;
}

.kb-features-catalog .kb-feature-item:hover .kb-item-media img {
  transform: scale(1.03);
}

.kb-features-catalog .kb-item-title {
  font-size: 1.25rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--text);
  line-height: 1.3;
}

.kb-features-catalog .kb-item-title a {
  color: var(--text);
  transition: color 0.2s ease;
}

.kb-features-catalog .kb-item-title a:hover {
  color: var(--primary-text);
}

.kb-features-catalog .kb-item-desc {
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.kb-features-catalog .kb-meta-notice {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.kb-features-catalog .kb-link-arrow {
  color: var(--primary-text);
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  transition: transform 0.2s ease, color 0.2s ease;
}

.kb-features-catalog .kb-link-arrow:hover {
  color: var(--primary-hover);
  transform: translateX(3px);
}

.kb-order-band .kb-order-box {
  background-color: #112243;
  border-color: rgba(255, 255, 255, 0.2) !important;
  border-radius: 0px;
}

.kb-order-band .kb-order-box::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 16px;
  height: 16px;
  border-top: 3px solid var(--primary);
  border-left: 3px solid var(--primary);
}

.kb-order-band .kb-order-box::after {
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 16px;
  height: 16px;
  border-bottom: 3px solid var(--primary);
  border-right: 3px solid var(--primary);
}

.kb-order-band .kb-highlight-badge {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15) !important;
  border-radius: 0px;
}

.kb-order-band .kb-form-control {
  background-color: #182d54;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 0px;
  padding: 0.7rem 0.9rem;
  font-size: 0.95rem;
}

.kb-order-band .kb-form-control:focus {
  background-color: #1a325e;
  border-color: var(--primary);
  color: #ffffff;
  box-shadow: none;
  outline: none;
}

.kb-order-band .kb-form-control::placeholder {
  color: rgba(255, 255, 255, 0.45);
  opacity: 1;
}

.kb-order-band select.kb-form-control option {
  background-color: #112243;
  color: #ffffff;
}

.kb-order-band .kb-form-check-input {
  border-radius: 0px;
  border-color: rgba(255, 255, 255, 0.4);
  background-color: #182d54;
}

.kb-order-band .kb-form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}

@media (max-width: 767px) {
  .kb-features-catalog .kb-numbered-grid > div {
    width: 100%;
  }
  .kb-features-catalog .kb-giant-index {
    font-size: 3.25rem;
    top: 6px;
    right: 10px;
  }
}

/* ===== PAGE: knowledge-base ===== */
.kb-hub-section {
  padding-top: 60px;
  padding-bottom: 80px;
}

.kb-hub-section .kb-main-heading {
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: var(--text);
  margin-top: 6px;
  margin-bottom: 12px;
}

.kb-hub-section .kb-section-desc {
  color: var(--text-muted);
  font-size: 1.05rem;
  max-width: 780px;
  margin-bottom: 0;
}

.kb-hub-section .kb-search-wrap {
  position: relative;
}

.kb-hub-section .kb-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  font-size: 1.15rem;
  pointer-events: none;
}

.kb-hub-section .kb-search-input {
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0;
  padding: 12px 14px 12px 42px;
  font-size: 0.95rem;
  color: var(--text);
}

.kb-hub-section .kb-search-input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.2rem rgba(22, 78, 186, 0.15);
  background-color: var(--surface);
  color: var(--text);
}

.kb-hub-section .kb-filter-pill {
  background-color: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 8px 16px;
  border-radius: 0;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.kb-hub-section .kb-filter-pill:hover {
  border-color: var(--primary);
  color: var(--primary);
  background-color: var(--surface-alt);
}

.kb-hub-section .kb-filter-pill.active {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--on-primary);
}

.kb-hub-section .kb-media-card {
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0;
  padding: 16px;
  transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out, border-color 0.25s ease-in-out;
}

.kb-hub-section .kb-media-card:hover {
  transform: translateY(-3px);
  border-color: var(--primary);
  box-shadow: 0 8px 24px rgba(18, 24, 36, 0.08);
}

.kb-hub-section .kb-card-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  height: 100%;
}

.kb-hub-section .kb-media-thumb-link {
  flex: 0 0 160px;
  width: 160px;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  display: block;
  background-color: var(--surface-alt);
}

.kb-hub-section .kb-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  display: block;
  transition: transform 0.3s ease-in-out;
}

.kb-hub-section .kb-media-card:hover .kb-card-img {
  transform: scale(1.04);
}

.kb-hub-section .kb-card-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kb-hub-section .kb-meta-item {
  font-size: 0.8rem;
  color: var(--text-muted);
  font-weight: 500;
}

.kb-hub-section .kb-card-title {
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  margin-bottom: 6px;
  overflow-wrap: anywhere;
}

.kb-hub-section .kb-title-link {
  color: var(--text);
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

.kb-hub-section .kb-title-link:hover {
  color: var(--primary);
}

.kb-hub-section .kb-card-text {
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--text-muted);
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.kb-hub-section .kb-empty-icon {
  font-size: 3rem;
  color: var(--text-muted);
}

.kb-hub-section .kb-empty-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text);
  text-transform: uppercase;
}

.kb-hub-section .kb-footer-disclaimer {
  background-color: var(--surface-alt);
  border: 1px dashed var(--border);
}

.kb-hub-section .kb-disclaimer-text {
  font-size: 0.85rem;
  color: var(--text-muted);
  font-weight: 500;
}

@media (max-width: 767px) {
  .kb-hub-section {
    padding-top: 40px;
    padding-bottom: 48px;
  }

  .kb-hub-section .kb-main-heading {
    font-size: 1.5rem;
    hyphens: auto;
  }

  .kb-hub-section .kb-card-inner {
    flex-direction: column;
    align-items: stretch;
  }

  .kb-hub-section .kb-media-thumb-link {
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .kb-hub-section .kb-card-title {
    font-size: 0.95rem;
  }
}

/* ===== PAGE: contact ===== */
.contact-block { background-color: var(--bg); position: relative; } .contact-block .contact-info-panel { background-color: var(--surface); border: 1px solid var(--border); position: relative; } .contact-block .viewfinder-corner { position: absolute; width: 14px; height: 14px; pointer-events: none; } .contact-block .viewfinder-corner.top-left { top: -1px; left: -1px; border-top: 2px solid var(--primary); border-left: 2px solid var(--primary); } .contact-block .viewfinder-corner.bottom-right { bottom: -1px; right: -1px; border-bottom: 2px solid var(--primary); border-right: 2px solid var(--primary); } .contact-block .contact-item { background-color: var(--surface-alt); border: 1px solid var(--border); } .contact-block .contact-icon-box { font-size: 1.35rem; color: var(--primary); line-height: 1; flex-shrink: 0; margin-top: 2px; } .contact-block .contact-item-label { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; color: var(--text-muted); text-transform: uppercase; margin-bottom: 2px; } .contact-block .contact-item-value { font-size: 0.95rem; font-weight: 600; color: var(--text); overflow-wrap: anywhere; } .contact-block .contact-link { color: var(--text); text-decoration: none; transition: color 0.2s ease-in-out; } .contact-block .contact-link:hover { color: var(--primary); text-decoration: underline; } .contact-block .operational-hours { border-top: 1px dashed var(--border); } .contact-block .contact-form-wrapper { background-color: var(--surface); border: 1px solid var(--border); box-shadow: none; } .contact-block .contact-label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text); margin-bottom: 6px; } .contact-block .contact-input, .contact-block .contact-select, .contact-block .contact-textarea { background-color: #FFFFFF; border: 1px solid var(--border); border-radius: 0; color: var(--text); font-size: 0.95rem; padding: 12px 14px; box-shadow: none; transition: border-color 0.2s ease-in-out; } .contact-block .contact-input::placeholder, .contact-block .contact-textarea::placeholder { color: #8F97A3; opacity: 1; font-size: 0.88rem; } .contact-block .contact-input:focus, .contact-block .contact-select:focus, .contact-block .contact-textarea:focus { background-color: #FFFFFF; border-color: var(--primary); color: var(--text); box-shadow: 0 0 0 1px var(--primary); outline: none; } .contact-block .contact-consent-check { padding-left: 1.8rem; } .contact-block .contact-consent-check .form-check-input { border-radius: 0; border: 1px solid var(--border); width: 1.1rem; height: 1.1rem; margin-top: 0.2rem; cursor: pointer; } .contact-block .contact-consent-check .form-check-input:checked { background-color: var(--primary); border-color: var(--primary); } @media (max-width: 767px) { .contact-block .contact-info-panel, .contact-block .contact-form-wrapper { padding: 24px 16px !important; } }

/* ===== PAGE: privacy ===== */
.legal-policy-section { background-color: var(--bg); color: var(--text); position: relative; }
.legal-sidebar-sticky { position: sticky; top: 100px; }
.legal-nav-card { background: var(--surface); border: 1px solid var(--border); border-radius: 0px; box-shadow: none; }
.legal-meta-text { font-size: 0.875rem; color: var(--text-muted); line-height: 1.5; }
.legal-nav-link { display: flex; align-items: center; padding: 8px 12px; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text); border-left: 2px solid transparent; text-decoration: none; transition: all 0.2s ease-in-out; }
.legal-nav-link:hover, .legal-nav-link.active { background-color: var(--surface-alt); border-left-color: var(--primary); color: var(--primary-text); }
.legal-support-box { background: var(--surface-alt); border: 1px dashed var(--border); }
.legal-clause-block { scroll-margin-top: 100px; }
.legal-viewfinder-bracket { position: relative; padding-left: 12px; border-left: 3px solid var(--primary); }
.legal-clause-block p { color: var(--text); line-height: 1.65; margin-bottom: 1rem; }
.legal-mini-card { background: var(--surface); border: 1px solid var(--border); border-radius: 0px; }
.legal-bullet-list { list-style: none; padding-left: 0; margin-bottom: 1rem; }
.legal-bullet-list li { display: flex; align-items: flex-start; color: var(--text); line-height: 1.55; }
.legal-bullet-list li i { margin-top: 2px; flex-shrink: 0; }
.legal-alert-box { background: var(--surface-alt); border: 1px solid var(--border); border-left: 3px solid var(--primary); }
.legal-rights-table { border: 1px solid var(--border); background: var(--surface); font-size: 0.875rem; }
.legal-rights-table th { background: var(--surface-alt); color: var(--text); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid var(--border); padding: 12px 16px; }
.legal-rights-table td { padding: 12px 16px; border-bottom: 1px solid var(--border); color: var(--text); vertical-align: middle; }
.legal-contact-panel { background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--primary); }
@media (max-width: 767px) {
  .legal-sidebar-sticky { position: static; }
  .legal-policy-section { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .legal-clause-block h2 { font-size: 1.25rem !important; }
  .legal-rights-table thead { display: none; }
  .legal-rights-table, .legal-rights-table tbody, .legal-rights-table tr, .legal-rights-table td { display: block; width: 100%; }
  .legal-rights-table tr { border-bottom: 2px solid var(--border); padding-bottom: 8px; margin-bottom: 8px; }
  .legal-rights-table td { border-bottom: none; padding: 6px 12px; }
}

/* ===== PAGE: terms ===== */
.kb-terms-section{position:relative;background-color:var(--bg);overflow:hidden;}.kb-terms-sidebar .kb-terms-nav-box{background-color:var(--surface);border:1px solid var(--border);border-radius:0;}.kb-terms-sidebar.sticky-top{top:96px;z-index:10;}.kb-terms-search input{background-color:var(--surface);border-color:var(--border);border-radius:0;font-size:0.875rem;color:var(--text);}.kb-terms-search input:focus{border-color:var(--primary);box-shadow:none;background-color:var(--surface);color:var(--text);}.kb-terms-search .input-group-text{border-color:var(--border);border-radius:0;color:var(--text-muted);}.kb-terms-link{padding:10px 14px;color:var(--text-muted);text-decoration:none;font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;border-left:3px solid transparent;background:transparent;transition:all 0.2s ease-in-out;display:flex;align-items:center;}.kb-terms-link:hover{color:var(--primary);background-color:var(--surface-alt);border-left-color:var(--accent);}.kb-terms-link.active{color:var(--primary);background-color:var(--surface-alt);border-left-color:var(--primary);}.kb-terms-content .jkg-card{background-color:var(--surface);border:1px solid var(--border);border-radius:0;}.kb-terms-block{scroll-margin-top:110px;}.kb-viewfinder-header::before{content:'';position:absolute;top:0;left:0;width:14px;height:14px;border-top:2px solid var(--primary);border-left:2px solid var(--primary);pointer-events:none;}.kb-viewfinder-header::after{content:'';position:absolute;bottom:0;right:0;width:14px;height:14px;border-bottom:2px solid var(--primary);border-right:2px solid var(--primary);pointer-events:none;}@media (max-width:991px){.kb-terms-sidebar.sticky-top{position:static!important;margin-bottom:24px;}}@media (max-width:767px){.kb-terms-content .jkg-card{padding:20px!important;}.kb-terms-link{font-size:0.8rem;padding:8px 10px;}}

/* ===== PAGE: disclaimer ===== */
.legal-disclaimer-block { background-color: var(--bg); color: var(--text); position: relative; } .legal-disclaimer-block .legal-notice-banner { background-color: var(--surface); border-left: 4px solid var(--primary); border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); } .legal-disclaimer-block .legal-nav-panel { background-color: var(--surface); border: 1px solid var(--border); } .legal-disclaimer-block .legal-toc-list { list-style: none; padding: 0; margin: 0; } .legal-disclaimer-block .toc-item { width: 100%; border: 1px solid transparent; background: transparent; color: var(--text); font-weight: 600; font-size: 0.9rem; text-transform: uppercase; transition: all 0.2s ease-in-out; border-radius: 0; cursor: pointer; } .legal-disclaimer-block .toc-item .toc-num { color: var(--primary); font-weight: 800; } .legal-disclaimer-block .toc-item:hover { background-color: var(--surface-alt); color: var(--primary); border-color: var(--border); } .legal-disclaimer-block .toc-item.active { background-color: var(--primary); color: var(--on-primary); border-color: var(--primary); } .legal-disclaimer-block .toc-item.active .toc-num { color: var(--on-primary); } .legal-disclaimer-block .legal-clause-card { background-color: var(--surface); border: 1px solid var(--border); position: relative; overflow: hidden; } .legal-disclaimer-block .clause-number-watermark { position: absolute; right: 16px; top: 8px; font-size: 5rem; font-weight: 900; line-height: 1; color: rgba(22, 78, 186, 0.06); pointer-events: none; user-select: none; } .legal-disclaimer-block .legal-summary-card { background-color: var(--surface); } @media (max-width: 767px) { .legal-disclaimer-block .legal-nav-panel { margin-bottom: 1rem; } .legal-disclaimer-block .clause-number-watermark { font-size: 3.5rem; } }

.inv-comment-card {
    background-color: #FFFFFF;
    border: 1px solid #D8DCE4;
    border-radius: 0px;
    padding: 24px;
    position: relative;
    margin-bottom: 20px;
    transition: border-color 0.2s ease-in-out;
}

.inv-comment-main::before {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #164EBA;
    border-left: 2px solid #164EBA;
}

.inv-comment-main::after {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 12px;
    height: 12px;
    border-bottom: 2px solid #164EBA;
    border-right: 2px solid #164EBA;
}

.inv-comment-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.inv-comment-avatar {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    user-select: none;
    object-fit: cover;
}

.inv-avatar-primary {
    background-color: #112243;
    color: #FFFFFF;
    border: 1px solid #164EBA;
}

.inv-avatar-secondary {
    background-color: #ECEFF6;
    color: #164EBA;
    border: 1px solid #D8DCE4;
}

.inv-comment-meta {
    flex-grow: 1;
}

.inv-comment-author {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #121824;
}

.inv-comment-badge {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #164EBA;
    background-color: #ECEFF6;
    padding: 2px 8px;
    border-left: 2px solid #164EBA;
    border-radius: 0px;
}

.inv-comment-date {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    color: #5E6778;
    font-weight: 500;
    margin-top: 2px;
}

.inv-comment-body {
    margin-bottom: 16px;
}

.inv-comment-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #121824;
    margin-bottom: 0;
}

.inv-comment-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px dashed #D8DCE4;
    padding-top: 14px;
}

.inv-comment-action-btn {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0px;
    padding: 6px 14px;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5E6778;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.inv-comment-action-btn:hover {
    background-color: #ECEFF6;
    color: #164EBA;
    border-color: #D8DCE4;
}

.inv-like-counter {
    font-weight: 800;
    color: #164EBA;
}

@media (max-width: 576px) {
    .inv-comment-card {
        padding: 16px;
    }

    .inv-comment-avatar {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 0.95rem;
    }
}

.inv-reply-wrapper {
    position: relative;
    padding-left: 36px;
    margin-top: -8px;
    margin-bottom: 20px;
}

.inv-reply-wrapper::before {
    content: '';
    position: absolute;
    left: 12px;
    top: -12px;
    bottom: 28px;
    width: 2px;
    border-left: 2px dashed #164EBA;
}

.inv-reply-wrapper::after {
    content: '';
    position: absolute;
    left: 12px;
    top: 28px;
    width: 20px;
    height: 2px;
    border-top: 2px dashed #164EBA;
}

.inv-comment-reply {
    background-color: #F2F5FA;
    border: 1px solid #D8DCE4;
    border-radius: 0px;
    padding: 20px;
    position: relative;
    margin-bottom: 0;
}

.inv-comment-reply .inv-comment-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.inv-comment-reply .inv-comment-avatar {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    user-select: none;
    object-fit: cover;
    background-color: #164EBA;
    color: #FFFFFF;
    border: 1px solid #164EBA;
}

.inv-badge-lead {
    background-color: #112243;
    color: #FFFFFF;
    border-left: 2px solid #164EBA;
}

.inv-comment-reply .inv-comment-author {
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #121824;
}

.inv-comment-reply .inv-comment-date {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    color: #5E6778;
    font-weight: 500;
}

.inv-comment-reply .inv-comment-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: #121824;
    margin-bottom: 0;
}

.inv-comment-reply .inv-comment-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px dashed #D8DCE4;
    padding-top: 12px;
    margin-top: 12px;
}

@media (max-width: 576px) {
    .inv-reply-wrapper {
        padding-left: 18px;
    }

    .inv-reply-wrapper::before {
        left: 4px;
    }

    .inv-reply-wrapper::after {
        left: 4px;
        width: 12px;
    }

    .inv-comment-reply {
        padding: 14px;
    }

    .inv-comment-reply .inv-comment-avatar {
        width: 36px;
        height: 36px;
        min-width: 36px;
        font-size: 0.85rem;
    }
}


/* ===== PAGE TEMPLATE: features ===== */
.jkg-header-block {
    background-color: var(--dark-band, #112243);
    border-bottom: 1px solid rgba(216, 220, 228, 0.15);
    z-index: 1030;
    position: sticky;
    top: 0;
}

.jkg-header-block .navbar {
    padding: 16px 0;
    min-height: 80px;
}

.jkg-header-block .jkg-header-logo {
    width: 44px;
    height: 44px;
    max-width: 48px;
    object-fit: contain;
}

.jkg-header-block .jkg-header-brand-text {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #FFFFFF;
    text-transform: uppercase;
}

.jkg-header-block .jkg-header-toggler {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0px;
    padding: 6px 10px;
    color: #FFFFFF;
    outline: none;
    box-shadow: none;
}

.jkg-header-block .jkg-header-toggler:focus {
    box-shadow: none;
    border-color: var(--primary, #164EBA);
}

.jkg-header-block .jkg-header-burger-icon {
    font-size: 1.5rem;
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-nav-link {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #FFFFFF !important;
    padding: 8px 14px !important;
    transition: color 0.2s ease-in-out;
    position: relative;
}

.jkg-header-block .jkg-header-nav-link:hover,
.jkg-header-block .jkg-header-nav-link:focus,
.jkg-header-block .jkg-header-nav-link.active {
    color: var(--accent, #8BA9E5) !important;
}

.jkg-header-block .jkg-header-dropdown {
    background-color: var(--dark-band, #112243);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0px;
    padding: 8px 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    margin-top: 4px;
}

.jkg-header-block .jkg-header-dropdown-item {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    padding: 10px 18px;
    transition: all 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-dropdown-item:hover,
.jkg-header-block .jkg-header-dropdown-item:focus {
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-divider {
    border-color: rgba(255, 255, 255, 0.15);
    margin: 4px 0;
}

.jkg-header-block .jkg-header-phone-link {
    text-decoration: none;
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-phone-link:hover .jkg-header-phone-val {
    color: var(--accent, #8BA9E5);
}

.jkg-header-block .jkg-header-phone-icon-wrap {
    width: 36px;
    height: 36px;
    border: 1px solid var(--primary, #164EBA);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent, #8BA9E5);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.jkg-header-block .jkg-header-phone-label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--on-dark-muted, #B6BBC3);
    text-transform: uppercase;
    line-height: 1;
}

.jkg-header-block .jkg-header-phone-val {
    font-size: 0.875rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
    letter-spacing: 0.02em;
    transition: color 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-cta {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0px;
    padding: 10px 22px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-cta:hover {
    background-color: var(--primary-hover, #12419A);
    color: #FFFFFF;
    border-color: var(--primary-hover, #12419A);
}

.jkg-detail-page {
    background-color: var(--bg, #F2F5FA);
    color: var(--text, #121824);
    font-family: var(--font-family-primary, 'Source Sans 3', sans-serif);
}

.jkg-detail-page .jkg-image-framed-wrap {
    border: 1px solid var(--border, #D8DCE4);
    background-color: #FFFFFF;
}

.jkg-detail-page .jkg-viewfinder-tl {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 16px;
    height: 16px;
    border-top: 3px solid var(--primary, #164EBA);
    border-left: 3px solid var(--primary, #164EBA);
    z-index: 2;
}

.jkg-detail-page .jkg-viewfinder-br {
    position: absolute;
    bottom: -4px;
    right: -4px;
    width: 16px;
    height: 16px;
    border-bottom: 3px solid var(--primary, #164EBA);
    border-right: 3px solid var(--primary, #164EBA);
    z-index: 2;
}

.jkg-detail-page .jkg-giant-number {
    position: absolute;
    right: 12px;
    bottom: 0;
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;
    color: rgba(22, 78, 186, 0.08);
    user-select: none;
    z-index: 0;
}

.jkg-detail-page .jkg-compact-item {
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.jkg-detail-page .jkg-compact-item:hover {
    transform: translateY(-2px);
    border-color: var(--primary, #164EBA) !important;
}

.jkg-detail-page .jkg-cta-bar {
    width: 4px;
    height: 40px;
    background-color: var(--primary, #164EBA);
}

.kb-footer-section {
    background-color: var(--dark-band, #112243);
    color: var(--on-dark-muted, #B6BBC3);
    padding-top: 60px;
    font-family: var(--font-family-primary, 'Source Sans 3', sans-serif);
    position: relative;
}

.kb-footer-section .kb-disclaimer-box {
    background-color: rgba(22, 78, 186, 0.08);
    border: 1px solid rgba(22, 78, 186, 0.4);
    border-left: 4px solid var(--primary, #164EBA);
    border-radius: 0;
}

.kb-footer-section .kb-disclaimer-icon-wrapper {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(22, 78, 186, 0.2);
}

.kb-footer-section .kb-disclaimer-icon {
    font-size: 1.25rem;
    color: var(--accent, #8BA9E5);
}

.kb-footer-section .kb-disclaimer-eyebrow {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: var(--accent, #8BA9E5);
}

.kb-footer-section .kb-disclaimer-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.kb-footer-section .kb-footer-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
}

.kb-footer-section .kb-brand-title {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.05em;
}

.kb-footer-section .kb-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BBC3);
    max-width: 360px;
}

.kb-footer-section .kb-market-delay-badge {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    font-size: 0.75rem;
    color: var(--on-dark-muted, #B6BBC3);
}

.kb-footer-section .kb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.kb-footer-section .kb-footer-link {
    color: var(--on-dark-muted, #B6BBC3);
    text-decoration: none;
    font-size: 0.9375rem;
    transition: color 0.2s ease-in-out;
    overflow-wrap: anywhere;
}

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

.kb-footer-section .kb-contact-icon {
    font-size: 1.1rem;
    color: var(--primary, #164EBA);
    flex-shrink: 0;
}

.kb-footer-section .kb-contact-text {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #B6BBC3);
    overflow-wrap: anywhere;
}

.kb-footer-section .kb-bottom-strip {
    background-color: rgba(0, 0, 0, 0.25);
}

.kb-footer-section .kb-copyright-text,
.kb-footer-section .kb-security-note {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6BBC3);
}

@media (max-width: 991px) {
    .jkg-header-block .navbar-collapse {
        background-color: var(--dark-band, #112243);
        padding: 16px 0 20px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin-top: 12px;
    }

    .jkg-header-block .jkg-header-nav-link {
        padding: 10px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .jkg-header-block .jkg-header-dropdown {
        background-color: rgba(0, 0, 0, 0.2);
        border: none;
        margin-left: 12px;
    }
}

@media (max-width: 767px) {
    .kb-footer-section {
        padding-top: 40px;
    }

    .kb-footer-section .kb-footer-desc {
        max-width: 100%;
    }
}

/* ===== PAGE TEMPLATE: knowledge-base ===== */
.kb-detail-body {
    background-color: var(--bg, #F2F5FA);
    color: var(--text, #121824);
    font-family: var(--font-family-primary, 'Source Sans 3', sans-serif);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.jkg-header-block {
    background-color: var(--dark-band, #112243);
    border-bottom: 1px solid rgba(216, 220, 228, 0.15);
    z-index: 1030;
    position: sticky;
    top: 0;
}

.jkg-header-block .navbar {
    padding: 16px 0;
    min-height: 80px;
}

.jkg-header-block .jkg-header-logo {
    width: 44px;
    height: 44px;
    max-width: 48px;
    object-fit: contain;
}

.jkg-header-block .jkg-header-brand-text {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #FFFFFF;
    text-transform: uppercase;
}

.jkg-header-block .jkg-header-toggler {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0px;
    padding: 6px 10px;
    color: #FFFFFF;
    outline: none;
    box-shadow: none;
}

.jkg-header-block .jkg-header-toggler:focus {
    box-shadow: none;
    border-color: var(--primary, #164EBA);
}

.jkg-header-block .jkg-header-burger-icon {
    font-size: 1.5rem;
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-nav-link {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #FFFFFF !important;
    padding: 8px 14px !important;
    transition: color 0.2s ease-in-out;
    position: relative;
}

.jkg-header-block .jkg-header-nav-link:hover,
.jkg-header-block .jkg-header-nav-link:focus,
.jkg-header-block .jkg-header-nav-link.active {
    color: var(--accent, #8BA9E5) !important;
}

.jkg-header-block .jkg-header-dropdown {
    background-color: var(--dark-band, #112243);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0px;
    padding: 8px 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    margin-top: 4px;
}

.jkg-header-block .jkg-header-dropdown-item {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    padding: 10px 18px;
    transition: all 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-dropdown-item:hover,
.jkg-header-block .jkg-header-dropdown-item:focus {
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-divider {
    border-color: rgba(255, 255, 255, 0.15);
    margin: 4px 0;
}

.jkg-header-block .jkg-header-phone-link {
    text-decoration: none;
    color: #FFFFFF;
}

.jkg-header-block .jkg-header-phone-link:hover .jkg-header-phone-val {
    color: var(--accent, #8BA9E5);
}

.jkg-header-block .jkg-header-phone-icon-wrap {
    width: 36px;
    height: 36px;
    border: 1px solid var(--primary, #164EBA);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent, #8BA9E5);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.jkg-header-block .jkg-header-phone-label {
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--on-dark-muted, #B6BBC3);
    text-transform: uppercase;
    line-height: 1;
}

.jkg-header-block .jkg-header-phone-val {
    font-size: 0.875rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
    letter-spacing: 0.02em;
    transition: color 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-cta {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
    border: 1px solid var(--primary, #164EBA);
    border-radius: 0px;
    padding: 10px 22px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease-in-out;
}

.jkg-header-block .jkg-header-cta:hover {
    background-color: var(--primary-hover, #12419A);
    color: #FFFFFF;
    border-color: var(--primary-hover, #12419A);
}

.kb-hero-block {
    padding: 56px 0 44px 0;
    background-color: var(--dark-band, #112243);
}

.kb-hero-viewfinder-frame {
    border-left: 2px solid var(--primary, #164EBA);
    padding-left: 20px;
}

.kb-breadcrumb-link {
    color: var(--on-dark-muted, #B6BBC3);
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    transition: color 0.2s;
}

.kb-breadcrumb-link:hover {
    color: var(--on-dark, #FFFFFF);
}

.kb-hero-block .breadcrumb-item.active {
    color: var(--accent, #8BA9E5);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.kb-hero-block .breadcrumb-item+.breadcrumb-item::before {
    color: var(--on-dark-muted, #B6BBC3);
}

.kb-hero-title {
    font-size: 2.25rem;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: 0.03em;
    color: var(--on-dark, #FFFFFF);
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.kb-hero-subtitle {
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BBC3);
    max-width: 880px;
    overflow-wrap: anywhere;
}

.kb-meta-item {
    font-size: 0.875rem;
    color: var(--on-dark, #FFFFFF);
    font-weight: 600;
}

.kb-delay-note {
    font-size: 0.75rem;
    color: var(--on-dark-muted, #B6BBC3);
    background-color: rgba(255, 255, 255, 0.06);
    padding: 4px 10px;
    border: 1px dashed rgba(255, 255, 255, 0.2);
}

.kb-content-wrapper {
    max-width: 880px;
}

.kb-key-facts-panel {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8DCE4);
    border-left: 3px solid var(--primary, #164EBA);
}

.kb-facts-title {
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    color: var(--text, #121824);
}

.kb-main-media-frame {
    border: 1px solid var(--border, #D8DCE4);
    background-color: var(--surface, #FFFFFF);
    padding: 6px;
}

.kb-featured-photo {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    border-radius: 0;
}

.kb-viewfinder-bracket {
    position: absolute;
    width: 16px;
    height: 16px;
    pointer-events: none;
    z-index: 2;
}

.kb-viewfinder-bracket.bracket-tl {
    top: -2px;
    left: -2px;
    border-top: 3px solid var(--primary, #164EBA);
    border-left: 3px solid var(--primary, #164EBA);
}

.kb-viewfinder-bracket.bracket-br {
    bottom: -2px;
    right: -2px;
    border-bottom: 3px solid var(--primary, #164EBA);
    border-right: 3px solid var(--primary, #164EBA);
}

.kb-photo-caption {
    background-color: var(--surface-alt, #ECEFF6);
    font-size: 0.8125rem;
    color: var(--text-muted, #5E6778);
    border-top: 1px solid var(--border, #D8DCE4);
}

.kb-caption-source {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--primary, #164EBA);
    letter-spacing: 0.05em;
}

.kb-takeaways-box {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8DCE4);
    box-shadow: 0 4px 16px rgba(18, 24, 36, 0.05);
    position: relative;
}

.kb-box-icon {
    width: 32px;
    height: 32px;
    background-color: var(--primary, #164EBA);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.kb-takeaways-heading {
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: var(--text, #121824);
}

.kb-takeaway-num {
    font-size: 1.1rem;
    font-weight: 900;
    color: var(--primary, #164EBA);
    min-width: 24px;
    line-height: 1.4;
}

.kb-takeaway-item p {
    font-size: 1rem;
    line-height: 1.55;
    color: var(--text, #121824);
    overflow-wrap: anywhere;
}

.kb-section-h2 {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--text, #121824);
    border-left: 4px solid var(--primary, #164EBA);
    padding-left: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.kb-article-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--text, #121824);
    overflow-wrap: anywhere;
}

.kb-inline-cta {
    background-color: var(--dark-band, #112243);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.kb-cta-accent-bar {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background-color: var(--primary, #164EBA);
}

.kb-cta-heading {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--on-dark, #FFFFFF);
    line-height: 1.25;
    letter-spacing: 0.03em;
}

.kb-cta-desc {
    font-size: 0.9375rem;
    color: var(--on-dark-muted, #B6BBC3);
    line-height: 1.5;
}

.kb-pull-quote {
    background-color: var(--surface, #FFFFFF);
    border-top: 1px solid var(--border, #D8DCE4);
    border-bottom: 1px solid var(--border, #D8DCE4);
    border-left: 3px solid var(--primary, #164EBA);
}

.kb-quote-icon {
    font-size: 2rem;
    color: var(--primary, #164EBA);
    line-height: 1;
    display: block;
    margin-bottom: 8px;
}

.kb-quote-text {
    font-size: 1.15rem;
    line-height: 1.6;
    color: var(--text, #121824);
    font-style: italic;
}

.kb-quote-author {
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    color: var(--primary, #164EBA);
}

.kb-content-list li {
    font-size: 1rem;
    line-height: 1.55;
    color: var(--text, #121824);
}

.kb-tags-title {
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    color: var(--text, #121824);
}

.kb-custom-accordion .kb-faq-item {
    border: 1px solid var(--border, #D8DCE4);
    border-radius: 0 !important;
    margin-bottom: 8px;
    background-color: var(--surface, #FFFFFF);
}

.kb-custom-accordion .kb-faq-btn {
    background-color: var(--surface, #FFFFFF);
    color: var(--text, #121824);
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    padding: 16px 20px;
    border-radius: 0 !important;
    box-shadow: none;
}

.kb-custom-accordion .kb-faq-btn:not(.collapsed) {
    color: var(--primary, #164EBA);
    background-color: var(--surface-alt, #ECEFF6);
}

.kb-custom-accordion .kb-faq-btn:focus {
    box-shadow: none;
    border-color: var(--primary, #164EBA);
}

.kb-custom-accordion .kb-faq-body {
    padding: 16px 20px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-muted, #5E6778);
    background-color: var(--surface, #FFFFFF);
    border-top: 1px solid var(--border, #D8DCE4);
}

.kb-newsletter-signup-card {
    border: 1px solid var(--border, #D8DCE4);
}

.kb-signup-heading {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text, #121824);
    letter-spacing: 0.03em;
}

.kb-signup-desc {
    font-size: 0.9375rem;
    color: var(--text-muted, #5E6778);
    line-height: 1.55;
}

.kb-email-input {
    border: 1px solid var(--border, #D8DCE4);
    border-radius: 0;
    background-color: #FFFFFF;
    color: var(--text, #121824);
    font-size: 0.9375rem;
    padding: 12px 14px;
}

.kb-email-input:focus {
    border-color: var(--primary, #164EBA);
    box-shadow: none;
}

.kb-email-input::placeholder {
    color: var(--text-muted, #5E6778);
    opacity: 0.8;
}

.kb-submit-btn {
    border-radius: 0;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0 24px;
}

.kb-consent-label {
    font-size: 0.8125rem;
    color: var(--text-muted, #5E6778);
    line-height: 1.4;
}

.kb-consent-link {
    color: var(--primary, #164EBA);
}

.kb-view-all-link {
    color: var(--primary, #164EBA);
    text-decoration: none;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
}

.kb-view-all-link:hover {
    color: var(--primary-hover, #12419A);
    text-decoration: underline;
}

.kb-related-card {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8DCE4);
    transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
}

.kb-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(18, 24, 36, 0.08);
}

.kb-related-thumb-wrap {
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.kb-related-thumb {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.kb-related-card:hover .kb-related-thumb {
    transform: scale(1.03);
}

.kb-related-badge {
    background-color: var(--dark-band, #112243);
    color: #FFFFFF;
    font-size: 0.6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 3px 8px;
}

.kb-related-date {
    font-size: 0.75rem;
    color: var(--text-muted, #5E6778);
    font-weight: 600;
}

.kb-related-title {
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: var(--text, #121824);
    overflow-wrap: anywhere;
}

.kb-related-card:hover .kb-related-title {
    color: var(--primary, #164EBA);
}

.kb-related-desc {
    font-size: 0.8125rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.kb-related-read-more {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: var(--primary, #164EBA);
}

.kb-footer-section {
    background-color: var(--dark-band, #112243);
    color: var(--on-dark-muted, #B6BBC3);
    padding-top: 60px;
    font-family: var(--font-family-primary, 'Source Sans 3', sans-serif);
    position: relative;
}

.kb-footer-section .kb-disclaimer-box {
    background-color: rgba(22, 78, 186, 0.08);
    border: 1px solid rgba(22, 78, 186, 0.4);
    border-left: 4px solid var(--primary, #164EBA);
    border-radius: 0;
}

.kb-footer-section .kb-disclaimer-icon-wrapper {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(22, 78, 186, 0.2);
}

.kb-footer-section .kb-disclaimer-icon {
    font-size: 1.25rem;
    color: var(--accent, #8BA9E5);
}

.kb-footer-section .kb-disclaimer-eyebrow {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: var(--accent, #8BA9E5);
}

.kb-footer-section .kb-disclaimer-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.kb-footer-section .kb-footer-logo {
    max-width: 44px;
    max-height: 44px;
    object-fit: contain;
}

.kb-footer-section .kb-brand-title {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.05em;
}

.kb-footer-section .kb-footer-desc {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BBC3);
    max-width: 360px;
}

.kb-footer-section .kb-market-delay-badge {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    font-size: 0.75rem;
    color: var(--on-dark-muted, #B6BBC3);
}

.kb-footer-section .kb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 0.9375rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.kb-footer-section .kb-footer-link {
    color: var(--on-dark-muted, #B6BBC3);
    text-decoration: none;
    font-size: 0.9375rem;
    transition: color 0.2s ease-in-out;
    overflow-wrap: anywhere;
}

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

.kb-footer-section .kb-contact-icon {
    font-size: 1.1rem;
    color: var(--primary, #164EBA);
    flex-shrink: 0;
}

.kb-footer-section .kb-contact-text {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--on-dark-muted, #B6BBC3);
    overflow-wrap: anywhere;
}

.kb-footer-section .kb-bottom-strip {
    background-color: rgba(0, 0, 0, 0.25);
}

.kb-footer-section .kb-copyright-text,
.kb-footer-section .kb-security-note {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6BBC3);
}

@media (max-width: 991px) {
    .jkg-header-block .navbar-collapse {
        background-color: var(--dark-band, #112243);
        padding: 16px 0 20px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin-top: 12px;
    }

    .jkg-header-block .jkg-header-nav-link {
        padding: 10px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .jkg-header-block .jkg-header-dropdown {
        background-color: rgba(0, 0, 0, 0.2);
        border: none;
        margin-left: 12px;
    }
}

@media (max-width: 767px) {
    .kb-hero-block {
        padding: 36px 0 28px 0;
    }

    .kb-hero-title {
        font-size: 1.5rem;
    }

    .kb-hero-subtitle {
        font-size: 0.95rem;
    }

    .kb-section-h2 {
        font-size: 1.15rem;
    }

    .kb-article-text {
        font-size: 0.95rem;
    }

    .kb-takeaways-heading {
        font-size: 1.1rem;
    }

    .kb-takeaway-item p {
        font-size: 0.9rem;
    }

    .kb-footer-section {
        padding-top: 40px;
    }

    .kb-footer-section .kb-footer-desc {
        max-width: 100%;
    }
}

/* 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%;
  }
}

/* ===== Sticky footer & footer spacing fix ===== */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body > #site-footer {
  margin-top: auto;
  width: 100%;
}

.kb-footer-section {
  padding-bottom: 0 !important;
}

/* ===== Newsletter subscribe button: keep base color on click/focus ===== */
.kb-newsletter-form .kb-submit-btn:focus,
.kb-newsletter-form .kb-submit-btn:active,
.kb-submit-btn:focus,
.kb-submit-btn:active {
  background-color: var(--primary, #164EBA) !important;
  border-color: var(--primary, #164EBA) !important;
  color: var(--on-primary, #FFFFFF) !important;
}

/* ===== Initialize Integration button: keep blue bg + white text on hover/click/focus ===== */
a.jkg-btn[href="#connect-form"],
a.jkg-btn[href="#connect-form"]:hover,
a.jkg-btn[href="#connect-form"]:focus,
a.jkg-btn[href="#connect-form"]:focus-visible,
a.jkg-btn[href="#connect-form"]:active,
a.jkg-btn[href="#connect-form"]:active:focus {
  background-color: var(--primary, #164EBA) !important;
  border-color: var(--primary, #164EBA) !important;
  color: var(--on-primary, #FFFFFF) !important;
  box-shadow: none !important;
}
