/**
 * Alternate Blog Layout - CSS
 * Prefix: ksbl-
 * 
 * Design Tokens (from Figma):
 * --ksbl-primary:     #714b67 (Odoo Purple)
 * --ksbl-primary-rgb: 113, 75, 103
 * --ksbl-dark:        #212121
 * --ksbl-body:        #484848
 * --ksbl-muted:       #3d3d3d
 * --ksbl-red:         #e32235 (CTA Red)
 * --ksbl-bg-light:    #f9f6f8
 * --ksbl-bg-card:     #f4f2f8
 * --ksbl-bg-input:    #f9fafb
 * --ksbl-border:      #e7e7e7
 * --ksbl-placeholder:  #b2b2b2
 * --ksbl-label:       #323232
 * --ksbl-radius:      14px
 * --ksbl-radius-sm:   8px
 * --ksbl-radius-btn:  10px
 * 
 * Typography:
 * H1: Inter Bold 48px/60px, letter-spacing: -0.96px
 * H2: Inter SemiBold 40px/52px, letter-spacing: -0.8px
 * H3: Inter SemiBold 32px/42px
 * H4: Inter SemiBold 24px/36px
 * Body: Inter Regular 16px/24px
 * Small: Inter Regular 14px/19.6px
 * Label: Inter SemiBold 14px/21px
 * Button: Inter SemiBold 16px/24px
 */


/* ============================================= *
 * HERO SECTION
 * ============================================= */
.ksbl-hero {
    position: relative;
    /* background-color: #080808; */
    background-size: cover;
    background-position: center;
    padding: 64px 0;
    overflow: hidden;
}

.ksbl-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(99.58deg,
            rgb(8, 8, 8) 18.61%,
            rgb(113, 75, 103) 27.16%,
            rgba(107, 71, 98, 0.943) 41%,
            rgba(100, 67, 91, 0.874) 56.06%,
            rgba(8, 8, 8, 0) 86.13%);
    mix-blend-mode: multiply;
    opacity: 0.78;
    pointer-events: none;
}

.ksbl-hero .container {
    position: relative;
    z-index: 1;
}

.ksbl-hero__content {
    max-width: 800px;
    padding-right: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    min-height: 401px;
}

.ksbl-hero__heading {
    font-weight: 700;
    font-size: 48px;
    line-height: 60px;
    letter-spacing: -0.96px;
    color: #ffffff;
    margin: 0;
}

.ksbl-hero__desc {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: rgba(255, 255, 255, 0.72);
    max-width: 720px;
    margin: 0 0 16px;
}

.ksbl-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #e32235;
    color: #ffffff;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    padding: 16px 24px;
    border-radius: 4px;
    border: 1px solid #e13d4b;
    text-decoration: none;
    transition: background-color 0.3s, transform 0.2s;
    width: fit-content;
}

.ksbl-hero__btn:hover {
    background-color: #e13d4b;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
}

.ksbl-hero__btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}


/* ============================================= *
 * STATS BAR
 * ============================================= */
.ksbl-stats {
    background-color: #ffffff;
    padding: 64px 0;
}

.ksbl-stats__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* =================================================
   KSBL STATS - corrected
   ================================================= */

.ksbl-stats__item {
    flex: 1 0 0;
    min-width: 150px;
    background-color: #f4f2f8;
    border-radius: 14px;
    padding: 24px 16px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9.8px;
    text-align: center;
}

.ksbl-stats__icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 14px;
}

.ksbl-stats__icon img {
    max-width: 30px;
    max-height: 30px;
    object-fit: contain;
}

.ksbl-stats__label {
    font-weight: 600;
    font-size: 14px;
    line-height: 21px;
    color: #212121;
}

/* ---------- First two stat ITEMS have a larger / full-bleed icon ---------- */
.ksbl-stats__item:nth-child(1) .ksbl-stats__icon,
.ksbl-stats__item:nth-child(2) .ksbl-stats__icon {
    width: 100%;
    height: 100%;
    background: transparent;
    border-radius: 0;
}

.ksbl-stats__item:nth-child(1) .ksbl-stats__icon img,
.ksbl-stats__item:nth-child(2) .ksbl-stats__icon img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* ============================================= *
 * MAIN CONTENT AREA
 * ============================================= */
.ksbl-main {
    padding: 48px 0 80px;
}

.ksbl-article {
    padding-right: 24px;
}


/* ============================================= *
 * TEXT BLOCK
 * ============================================= */
.ksbl-text-block {
    margin-bottom: 24px;
}

.ksbl-text-block p {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin-bottom: 18px;
}

.ksbl-text-block p:last-child {
    margin-bottom: 0;
}

.ksbl-text-block ul,
.ksbl-text-block ol {
    color: #484848;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 18px;
    padding-left: 24px;
}


/* ============================================= *
 * SECTION HEADING + TEXT
 * ============================================= */
.ksbl-section {
    padding: 32px 0;
}

.ksbl-section__heading {
    font-weight: 600;
    font-size: 40px;
    line-height: 52px;
    letter-spacing: -0.8px;
    color: #212121;
    margin: 0 0 16px;
}

.ksbl-section__content p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin-bottom: 18px;
}

.ksbl-section__content p b {
    font-weight: 600;
}

.ksbl-section__content p:last-child {
    margin-bottom: 0;
}

.ksbl-section__content ul {
    padding-left: 24px;
}

.ksbl-section__content ul li {
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    font-weight: 400;
}

/* ============================================= *
 * HIGHLIGHT / QUOTE BOX
 * ============================================= */
.ksbl-highlight-box {
    margin-bottom: 24px;
}

.ksbl-highlight-box__inner {
    background-color: #f9f6f8;
    border-radius: 8px;
    padding: 20px 21px;
    border-left: 6px solid #714B67;
}

.ksbl-highlight-box__inner p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin: 0;
}

.ksbl-highlight-box__inner p b {
    font-weight: 600;
}

.ksbl-highlight-box__inner ul,
.ksbl-highlight-box__inner dl,
.ksbl-highlight-box__inner ol {
    padding-left: 16px;
    margin-bottom: 0;
}

.ksbl-highlight-box__inner ul li,
.ksbl-highlight-box__inner ol li {
    color: #484848;
    font-size: 16px;
    font-weight: 400;
    line-height: 27px;
}

/* Style variants */
.ksbl-highlight-box--info .ksbl-highlight-box__inner {
    background-color: #eff6ff;
    border-left: 3px solid #3b82f6;
}

.ksbl-highlight-box--warning .ksbl-highlight-box__inner {
    background-color: #fefce8;
    border-left: 3px solid #eab308;
}


/* ============================================= *
 * CHECKLIST WITH HEADER
 * ============================================= */
.ksbl-checklist {
    display: flex;
    padding: 48px 32px 32px 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    border-radius: 8px;
    background: #F9F6F8;
    margin-bottom: 24px;
}


.ksbl-checklist__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16.8px;
    border-bottom: 0.8px solid rgba(113, 75, 103, 0.12);
}

.ksbl-checklist__header-icon {
    flex-shrink: 0;
}

.ksbl-checklist__header-icon svg {
    display: block;
}

.ksbl-checklist__header-text {
    font-weight: 500;
    font-size: 24px;
    line-height: 28px;
    color: #4a2e42;
}

.ksbl-checklist__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.ksbl-checklist__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 24px 12.8px 0;
    border-bottom: 0.8px solid rgba(113, 75, 103, 0.08);
}

.ksbl-checklist__item:nth-child(even) {
    padding-left: 24.8px;
    padding-right: 16px;
    border-left: 0.8px solid rgba(113, 75, 103, 0.08);
}

/* Remove bottom border from last row */
.ksbl-checklist__grid .ksbl-checklist__item:nth-last-child(-n+2) {
    border-bottom: none;
}

.ksbl-checklist__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: rgba(113, 75, 103, 0.08);
    border-radius: 7.5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ksbl-checklist__icon svg {
    width: 19px;
    height: 19px;
}

.ksbl-checklist__text {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: #3d3d3d;
}


/* ============================================= *
 * ACCORDION SECTION
 * ============================================= */
.ksbl-accordion-section {
    margin-bottom: 32px;
    padding-top: 32px;
}

.ksbl-accordion-section__heading {
    font-weight: 600;
    font-size: 40px;
    line-height: 52px;
    letter-spacing: -0.8px;
    color: #212121;
    margin: 0 0 16px;
}

.ksbl-accordion-section__intro {
    margin-bottom: 32px;
}

.ksbl-accordion-section__intro p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin-bottom: 18px;
}

/* Accordion Items */
.ksbl-accordion__item {
    border-bottom: 0.8px solid #e7e7e7;
}

.ksbl-accordion__item:first-child {
    border-top: 0.8px solid #e7e7e7;
}

.ksbl-accordion__trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.ksbl-accordion__trigger-left {
    display: flex;
    align-items: center;
    gap: 24px;
}

.ksbl-accordion__icon {
    width: 44px;
    height: 44px;
    background-color: #f3edf1;
    border: 1px solid rgba(113, 75, 103, 0.18);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ksbl-accordion__icon img {
    width: 20px;
    height: 20px;
}

.ksbl-accordion__title {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #212121;
}

/* Active / open state title color */
.ksbl-accordion__item.is-open .ksbl-accordion__title {
    color: #714b67;
}

.ksbl-accordion__chevron {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
    color: #714b67;
}

.ksbl-accordion__item.is-open .ksbl-accordion__chevron {
    transform: rotate(180deg);
}

.ksbl-accordion__panel {
    overflow: hidden;
}

.ksbl-accordion__item.is-open .ksbl-accordion__trigger {
    background: #faf4f8;
    color: #212121;
    box-shadow: none;
}

.ksbl-accordion__panel-inner {
    padding-bottom: 20px;
    padding-top: 16px;
}

.ksbl-accordion__panel-inner p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin-bottom: 18px;
}

.ksbl-accordion__panel-inner p:last-child {
    margin-bottom: 0;
}

.ksbl-accordion__panel-inner ul,
.ksbl-accordion__panel-inner ol {
    font-size: 16px;
    line-height: 27px;
    color: #484848;
    margin-bottom: 18px;
    padding-left: 24px;
}

.ksbl-accordion__panel-inner ul li,
.ksbl-accordion__panel-inner ol li {
    font-size: 16px;
    line-height: 27px;
    color: #484848;
}

/* ============================================= *
 * SERVICE CARDS GRID
 * ============================================= */
.ksbl-service-cards {
    padding: 32px 0;
}

.ksbl-service-cards__heading {
    font-weight: 600;
    font-size: 40px;
    line-height: 52px;
    letter-spacing: -0.8px;
    color: #212121;
    margin: 0 0 16px;
}

.ksbl-service-cards__intro {
    margin-bottom: 24px;
}

.ksbl-service-cards__intro p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
}

.ksbl-service-cards__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ksbl-service-cards__card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.ksbl-service-cards__card-body ul {
    padding-left: 0;
    margin-bottom: 0;
}

.ksbl-service-cards__card-body ul li {
    position: relative;
    padding-left: 22px;
    font-size: 14px;
    line-height: 22px;
    color: #484848;
    margin-bottom: 6px;
}

.ksbl-service-cards__card {
    padding: 24px;
    border-radius: 10px;
    border: 1px solid rgba(113, 75, 103, 0.14);
    background: #FFF;
}

.ksbl-service-cards__card--full {
    grid-column: 1 / -1;
}

.ksbl-service-cards__card-header {
    margin-bottom: 16px;
}

.ksbl-service-cards__card-icon {
    width: 44px;
    height: 44px;
    background-color: #f3edf1;
    border: 1px solid rgba(113, 75, 103, 0.18);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ksbl-service-cards__card-icon img {
    width: 20px;
    height: 20px;
}

.ksbl-service-cards__card-title {
    margin: 0 0 8px;
    color: #212121;
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 27px;
}

.ksbl-service-cards__card-desc {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin: 0;
}

.ksbl-service-cards__card-desc b {
    font-weight: 500;
}

/* ============================================= *
 * INDUSTRY CAROUSEL
 * ============================================= */
.ksbl-industry-carousel {
    margin: 32px 0;
}

.ksbl-industry-carousel__heading {
    color: #212121;
    text-align: center;
    font-size: 40px;
    font-weight: 600;
    line-height: 52px;
    letter-spacing: -0.8px;
    margin: 0 0 32px;
}

.ksbl-industry-carousel__wrapper {
    position: relative;
}

.ksbl-industry-carousel__slide {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 340px;
}

.ksbl-industry-carousel__image {
    position: relative;
    width: 100%;
    height: 100%;
}

.ksbl-industry-carousel__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ksbl-industry-carousel__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.7) 100%);
}

.ksbl-industry-carousel__label {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    line-height: 21px;
    color: #ffffff;
    z-index: 1;
    width: 97%;
    margin: 0 auto;
}

.ksbl-industry-carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background-color: #ffffff;
    border: 1px solid #e7e7e7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: box-shadow 0.2s;
}

.ksbl-industry-carousel__nav:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.ksbl-industry-carousel__nav--prev {
    left: 12px;
}

.ksbl-industry-carousel__nav--next {
    right: 12px;
}

.ksbl-industry-carousel__nav svg {
    width: 20px;
    height: 20px;
    color: #212121;
}

/* Owl dots override */
.ksbl-industry-carousel .owl-dots {
    text-align: center;
    margin-top: 24px;
}

.ksbl-industry-carousel button.owl-dot {
    width: 26px !important;
}

.ksbl-industry-carousel .owl-dot span {
    width: 12px;
    height: 8px;
    background: #d9d9d9;
    border-radius: 4px;
    display: inline-block;
    margin: 0 4px;
    transition: all 0.3s;
}

.ksbl-industry-carousel .owl-dot.active span {
    width: 24px;
    background: #714b67;
}


/* ============================================= *
 * INLINE CTA BANNER
 * ============================================= */
.ksbl-inline-cta {
    background-color: #714b67;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    display: flex;
    padding: 56px 48px;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
}

.ksbl-inline-cta__inner {
    position: relative;
    z-index: 1;
}

.ksbl-inline-cta__heading {
    text-align: center;
    font-weight: 600;
    font-size: 28px;
    line-height: 36px;
    color: #ffffff;
    margin: 0 0 12px;
}

.ksbl-inline-cta__desc {
    text-align: center;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 0 32px;
}

.ksbl-inline-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #e13d4b;
    color: #ffffff;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    padding: 14px 24px;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s;
    display: flex;
    margin: 0 auto;
    width: fit-content;
}

.ksbl-inline-cta__btn:hover {
    background-color: #e13d4b;
    color: #ffffff;
    text-decoration: none;
}

.ksbl-inline-cta__btn svg {
    width: 24px;
    height: 24px;
}


/* ============================================= *
 * FINAL WORDS BOX
 * ============================================= */
.ksbl-final-words {
    border-radius: 8px;
    background: #F9F6F8;
    display: flex;
    padding: 48px 32px 32px 32px;
    flex-direction: column;
    gap: 24px;
    margin: 32px 0;
}

.ksbl-final-words__label {
    color: #4A2E42;
    font-size: 32px;
    font-weight: 600;
    line-height: 40px;
    letter-spacing: -0.32px;
}

.ksbl-final-words__content p {
    color: #484848;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
    margin-bottom: 18px;
}

.ksbl-final-words__content p b {
    font-weight: 700;
}

.ksbl-final-words__content p:last-child {
    margin-bottom: 0;
}


/* ============================================= *
 * FAQ SECTION
 * ============================================= */
.ksbl-faq {
    margin-bottom: 32px;
    padding-top: 64px;
}

.ksbl-faq__heading {
    color: #212121;
    font-size: 40px;
    font-weight: 600;
    line-height: 52px;
    letter-spacing: -0.8px;
    margin: 0 0 16px;
}

.ksbl-faq__item {
    border-bottom: 0.8px solid #e7e7e7;
}

.ksbl-faq__item:first-child {
    border-top: 0.8px solid #e7e7e7;
}

.ksbl-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: start;
    gap: 16px;
}

.ksbl-faq__question[aria-expanded="true"] span {
    color: #714B67;
    font-size: 18px;
    font-weight: 600;
    line-height: 27px;
    background: transparent;
    box-shadow: none;
}

.ksbl-faq__question span {
    font-weight: 600;
    font-size: 18px;
    line-height: 27px;
    color: #212121;
}

.ksbl-faq__chevron {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
    color: #714b67;
}

.ksbl-faq__item.is-open .ksbl-faq__chevron {
    transform: rotate(180deg);
}

.ksbl-faq__answer {
    padding-bottom: 20px;
}

.ksbl-faq__answer p {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    margin-bottom: 18px;
}

.ksbl-faq__answer p:last-child {
    margin-bottom: 0;
}

.ksbl-faq__answer ul,
.ksbl-faq__answer ol {
    font-size: 16px;
    line-height: 24px;
    color: #484848;
    padding-left: 24px;
    margin-bottom: 18px;
}

.ksbl-faq__answer ul li,
.ksbl-faq__answer ol li {
    font-weight: 400;
}

/* ============================================= *
 * SIDEBAR
 * ============================================= */
.ksbl-sidebar {
    padding-left: 24px;
    position: sticky;
    top: 120px;
}

/* Table of Contents */
.ksbl-sidebar__toc {
    background-color: #faf4f8;
    border: 1px solid rgba(113, 75, 103, 0.12);
    border-radius: 14px;
    padding: 24px 28.8px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.ksbl-sidebar__toc-title {
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #212121;
    margin: 0 0 14px;
}

.ksbl-sidebar__toc-list {
    padding-left: 20px;
    margin: 0;
    list-style: decimal;
    counter-reset: toc;
}

.ksbl-sidebar__toc-item {
    margin-bottom: 8px;
}

.ksbl-sidebar__toc-item:last-child {
    margin-bottom: 0;
}

.ksbl-sidebar__toc-item a {
    font-weight: 500;
    font-size: 16px;
    line-height: 21px;
    color: #714b67;
    text-decoration: none;
    transition: color 0.2s;
}

.ksbl-sidebar__toc-item a:hover,
.ksbl-sidebar__toc-item a.is-active {
    color: #4a2e42;
    text-decoration: underline;
}

/* Sidebar Badges */
.ksbl-sidebar__badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 20px 0;
}

.ksbl-sidebar__badge {
    background-color: #f4f2f8;
    border-radius: 14px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ksbl-sidebar__badge-icon {
    width: 60px;
    height: 40px;
    object-fit: contain;
    flex-shrink: 0;
}

.ksbl-sidebar__badge-text {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #212121;
}

.ksbl-sidebar__form-wrap {
    border: 1px solid #e7e7e7;
    border-radius: 12px;
    padding: 24px 28px;
}

.ksbl-sidebar__form-heading {
    font-weight: 600;
    font-size: 24px;
    line-height: 36px;
    color: #212121;
    margin: 0 0 12px;
}

.ksbl-sidebar__form .wpcf7 {
    margin: 0;
}

.ksbl-sidebar__field {
    margin-bottom: 14px;
}

.ksbl-sidebar__field label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    line-height: 21px;
    color: #323232;
    margin-bottom: 8px;
}

.ksbl-sidebar__field input,
.ksbl-sidebar__field textarea {
    width: 100%;
    background-color: #f9fafb;
    border: 1px solid #e7e7e7;
    border-radius: 8px;
    padding: 13.4px 14.8px;
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    color: #212121;
    outline: none;
    transition: border-color 0.2s;
}

.ksbl-sidebar__field input::placeholder,
.ksbl-sidebar__field textarea::placeholder {
    color: #b2b2b2;
}

.ksbl-sidebar__field input:focus,
.ksbl-sidebar__field textarea:focus {
    border-color: #714b67;
}

.ksbl-sidebar__field textarea {
    min-height: 88px;
    resize: vertical;
}

.ksbl-sidebar__submit-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: #e32235;
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    padding: 14px 6px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: 6.4px;
}

.ksbl-sidebar__submit-btn:hover {
    background-color: #c41e2f;
}

.ksbl-sidebar__submit-btn svg {
    width: 24px;
    height: 24px;
}

@media (max-width: 1080px) {

    .ksbl-stats__grid {
        flex-wrap: wrap;
    }

    .ksbl-stats__item {
        min-width: calc(33.33% - 12px);
    }

    .ksbl-sidebar__badge {
        flex-direction: column;
    }

    .ksbl-sidebar__badge-text {
        text-align: center;
    }
}

@media (max-width: 991.98px) {
    .ksbl-hero__content {
        padding-right: 0;
        min-height: auto;
        padding: 40px 0;
    }

    .ksbl-hero__heading {
        font-size: 36px;
        line-height: 46px;
    }

    .ksbl-stats__grid {
        flex-wrap: wrap;
    }

    .ksbl-stats__item {
        min-width: calc(33.333% - 12px);
    }

    .ksbl-article {
        padding-right: 0;
        margin-bottom: 48px;
    }

    .ksbl-sidebar {
        padding-left: 0;
        position: static;
    }

    .ksbl-section__heading,
    .ksbl-accordion-section__heading,
    .ksbl-service-cards__heading {
        font-size: 32px;
        line-height: 42px;
    }

    .ksbl-accordion__title {
        font-size: 20px;
        line-height: 30px;
    }

    .ksbl-service-cards__card--full {
        grid-column: auto;
    }

    .ksbl-sidebar__badge {
        flex-direction: row;
    }

    .ksbl-sidebar__badge-text {
        text-align: start;
    }

    .ksbl-sidebar__form-wrap {
        max-width: 420px;
        margin: 0 auto;
    }
}

@media (max-width: 767.98px) {

    .ksbl-sidebar__form-wrap {
        max-width: 100%;
        margin: 0 auto;
    }

    .ksbl-hero {
        padding: 40px 0;
        background-color: #080808;
    }

    .ksbl-hero__content {
        padding-right: 0;
        min-height: auto;
        gap: 12px;
        padding: 0;
    }

    .ksbl-hero__heading {
        font-size: 28px;
        line-height: 34px;
        letter-spacing: -0.56px;
        font-weight: 600;
    }

    .ksbl-hero__desc {
        font-size: 14px;
        line-height: 24px;
    }

    .ksbl-hero__btn {
        width: 100%;
        justify-content: center;
        padding: 16px 24px;
    }

    .ksbl-checklist__header .ksbl-checklist__header-icon {
        display: none;
    }

    /* --- STATS BAR --- */
    /* Figma: 2-col grid, 152px items, 344px container, padding 16px/32px */
    .ksbl-stats {
        padding: 32px 0;
    }

    .ksbl-stats__grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .ksbl-service-cards__grid {
        grid-template-columns: 1fr;
    }

    .ksbl-stats__item {
        min-width: unset;
        padding: 16px;
        min-height: 120px;
        border-radius: 8px;
    }

    .ksbl-text-block {
        margin-bottom: 16px;
    }

    .ksbl-stats__icon {
        width: 48px;
        height: 48px;
        border-radius: 12px;
    }

    .ksbl-stats__icon img {
        width: 42px;
        height: 42px;
    }

    /* --- MAIN CONTENT --- */
    /* Figma: article starts at y=1101, full width, 24px side padding */
    .ksbl-main {
        padding: 0 0 32px;
    }

    .ksbl-article {
        padding-right: 0;
        margin-bottom: 0px;
    }

    /* --- TYPOGRAPHY — headings --- */
    /* Figma mobile H2: 328w × 128h → ~26px, H2 shorter: 96h → ~24px */
    .ksbl-section__heading,
    .ksbl-accordion-section__heading,
    .ksbl-service-cards__heading {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.48px;
    }

    .ksbl-section {
        padding-top: 16px;
        margin-bottom: 0px;
        padding-bottom: 0;
    }

    .ksbl-accordion-section {
        padding-top: 24px;
        margin-bottom: 24px;
        padding-bottom: 0;
    }

    .ksbl-service-cards {
        padding-top: 24px;
        margin-bottom: 24px;
        padding-bottom: 0;
    }

    /* --- HIGHLIGHT BOX --- */
    /* Figma: 328w, padding 28px/20px */
    .ksbl-highlight-box__inner {
        padding: 20px 20px;
    }

    /* --- CHECKLIST --- */
    /* Figma mobile: single column, 328w, padding 32px, items stacked */
    .ksbl-checklist {
        padding: 32px 32px 32px;
        margin: 16px 0;
    }

    .ksbl-checklist__header {
        flex-direction: row;
        align-items: flex-start;
        gap: 8px;
    }

    .ksbl-checklist__grid {
        grid-template-columns: 1fr;
    }

    .ksbl-checklist__item {
        padding: 12px 0;
    }

    .ksbl-checklist__item:nth-child(even) {
        padding-left: 0;
        border-left: none;
    }

    /* --- ACCORDION --- */
    /* Figma mobile: 328w, trigger 94px height (text wraps to 2 lines),
       icon 44px, title font wraps at ~245px width */
    .ksbl-accordion__trigger {
        padding: 20px 16px;
        gap: 8px;
    }

    .ksbl-accordion__trigger-left {
        gap: 12px;
        flex: 1;
        min-width: 0;
    }

    .ksbl-accordion-section__intro p {
        margin-bottom: 16px;
    }

    .ksbl-accordion__icon {
        width: 44px;
        height: 44px;
        flex-shrink: 0;
    }

    .ksbl-accordion__title {
        font-size: 18px;
        line-height: 27px;
        word-break: break-word;
    }

    .ksbl-accordion__chevron {
        flex-shrink: 0;
        margin-left: auto;
    }

    /* --- SERVICE CARDS --- */
    /* Figma mobile: single column, 328w, cards stack vertically */
    .ksbl-service-cards__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ksbl-service-cards__card--full {
        grid-column: auto;
    }

    .ksbl-service-cards__card {
        padding: 24px;
    }

    .ksbl-service-cards__card-title {
        font-size: 18px;
        line-height: 27px;
    }

    /* --- INDUSTRY CAROUSEL --- */
    /* Figma mobile: 328w, slide 220×340, single visible + peek */
    .ksbl-industry-carousel__heading {
        font-size: 28px;
        line-height: 32px;
        margin-bottom: 24px;
    }

    .ksbl-industry-carousel__slide {
        height: 340px;
    }

    .ksbl-industry-carousel__nav--prev {
        left: 8px;
    }

    .ksbl-industry-carousel__nav--next {
        right: 8px;
    }

    /* --- INLINE CTA --- */
    /* Figma mobile: 328w, padding reduced */
    .ksbl-inline-cta {
        padding: 32px 16px;
        border-radius: 16px;
    }

    .ksbl-inline-cta__heading {
        font-size: 22px;
        line-height: 30px;
    }

    .ksbl-inline-cta__btn {
        width: 100%;
        justify-content: center;
    }

    /* --- FINAL WORDS --- */
    /* Figma mobile: 328w, padding 32px */
    .ksbl-final-words {
        padding: 32px 24px;
        margin-bottom: 0;
    }

    .ksbl-final-words__label {
        font-size: 24px;
        line-height: 32px;
    }

    /* --- FAQ --- */
    /* Figma mobile: 328w, question button 94px (text wraps 54px = 2 lines) */
    .ksbl-faq {
        padding-top: 32px;
        margin-bottom: 0;
    }

    .ksbl-faq__heading {
        font-size: 24px;
        line-height: 32px;
    }

    .ksbl-faq__question {
        padding: 20px 0;
    }

    .ksbl-faq__question span {
        font-size: 16px;
        line-height: 27px;
    }

    /* --- SIDEBAR --- */
    /* Figma mobile: sidebar appears below article at full width
       badges 2×2 grid (160px each), form at 272px width */
    .ksbl-sidebar {
        padding-left: 0;
        position: static;
        margin-top: 32px;
    }

    /* TOC */
    .ksbl-sidebar__toc {
        padding: 20px 24px 32px;
        display: none;

    }

    .ksbl-sidebar__toc-title {
        font-size: 20px;
        line-height: 30px;
    }

    .ksbl-sidebar__toc-item a {
        font-size: 14px;
        line-height: 19px;
    }

    /* Badges — Figma: 2-col, 160px items, 8px gap, 75px tall */
    .ksbl-sidebar__badges {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .ksbl-sidebar__badge {
        padding: 8px;
        gap: 8px;
        min-height: 75px;
        border-radius: 12px;
    }

    .ksbl-sidebar__badge-icon {
        width: 40px;
        height: 40px;
    }

    /* Form — Figma: 272px form width, same field styles */
    .ksbl-sidebar__form-wrap {
        padding: 24px 20px;
    }

    .ksbl-sidebar__form-heading {
        font-size: 20px;
        line-height: 30px;
    }

    .ksbl-sidebar__field input,
    .ksbl-sidebar__field textarea {
        font-size: 13px;
    }
}

.ksbl-checklist__icon img {
    width: 24px;
    height: 24px;
    display: inline-block;
}

/*  new css UI dev */