:root {
    --keystone-navy: #071e43;
    --keystone-topbar: #011c41;
    --keystone-blue: #086cf0;
    --keystone-green: #09a85a;
}

/* Claim enquiry popup - v1.53.0 */
body.keystone-claim-modal-open {
    overflow: hidden !important;
}

.keystone-claim-modal {
    position: fixed;
    z-index: 100000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: inherit;
}

.keystone-claim-modal.is-open {
    display: flex;
}

.keystone-claim-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 15, 38, .76);
    backdrop-filter: blur(6px);
}

.keystone-claim-modal__dialog {
    position: relative;
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(500px, 1.45fr);
    width: min(1120px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(2, 19, 48, .34);
    color: #071a3b;
}

.keystone-claim-modal__close {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #d7e2f2;
    border-radius: 50%;
    background: #fff;
    color: #071a3b;
    font: 400 29px/1 Arial, sans-serif;
    cursor: pointer;
}

.keystone-claim-modal__contact,
.keystone-claim-modal__form-wrap {
    padding: 42px;
}

.keystone-claim-modal__contact {
    background: linear-gradient(145deg, #061a3d 0%, #092c65 100%);
    color: #fff;
}

.keystone-claim-modal__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #7fc0ff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.keystone-claim-modal h2,
.keystone-claim-modal h3 {
    margin: 0 0 14px;
    color: inherit;
    font-family: inherit;
    font-weight: 800;
    line-height: 1.12;
}

.keystone-claim-modal h2 {
    font-size: clamp(30px, 3vw, 43px);
}

.keystone-claim-modal h3 {
    font-size: clamp(26px, 2.2vw, 34px);
}

.keystone-claim-modal p {
    margin: 0 0 22px;
    font-size: 15px;
    line-height: 1.65;
}

.keystone-claim-modal__phone {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 25px 0 14px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 15px;
    background: #0875f5;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(0, 96, 230, .28);
}

.keystone-claim-modal__phone > span:first-child {
    font-size: 30px;
}

.keystone-claim-modal__phone small,
.keystone-claim-modal__phone strong {
    display: block;
}

.keystone-claim-modal__phone small {
    margin-bottom: 2px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.keystone-claim-modal__phone strong {
    font-size: 25px;
}

.keystone-claim-modal__hours {
    color: #c7d9f3;
    font-size: 12px;
    line-height: 1.5;
}

.keystone-claim-modal__contact ul {
    display: grid;
    gap: 13px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.keystone-claim-modal__contact li {
    position: relative;
    padding-left: 27px;
    font-size: 14px;
    font-weight: 650;
}

.keystone-claim-modal__contact li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "✓";
    color: #71f0bc;
    font-weight: 900;
}

.keystone-claim-modal__form-wrap {
    background: #fff;
}

.keystone-claim-modal__form-wrap > .keystone-claim-modal__eyebrow {
    color: #0875f5;
}

.keystone-claim-modal__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.keystone-claim-modal__fields label {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0;
}

.keystone-claim-modal__fields label.is-wide {
    grid-column: 1 / -1;
}

.keystone-claim-modal__fields label > span {
    color: #243957;
    font-size: 12px;
    font-weight: 750;
}

.keystone-claim-modal__fields b {
    color: #d82f4d;
}

.keystone-claim-modal__fields input,
.keystone-claim-modal__fields select,
.keystone-claim-modal__fields textarea {
    width: 100%;
    min-height: 45px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #cdd9e8;
    border-radius: 9px;
    outline: 0;
    background: #f9fbfe;
    color: #071a3b;
    font: inherit;
    font-size: 14px;
    box-shadow: none;
}

.keystone-claim-modal__fields textarea {
    min-height: 92px;
    resize: vertical;
}

.keystone-claim-modal__fields input:focus,
.keystone-claim-modal__fields select:focus,
.keystone-claim-modal__fields textarea:focus {
    border-color: #0875f5;
    box-shadow: 0 0 0 3px rgba(8, 117, 245, .12);
}

.keystone-claim-modal__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 17px 0;
    color: #405571;
    font-size: 12px;
    line-height: 1.5;
}

.keystone-claim-modal__consent input {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    margin-top: 1px;
}

.keystone-claim-modal__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 50px;
    padding: 13px 22px;
    border: 0;
    border-radius: 9px;
    background: #0875f5;
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.keystone-claim-modal__notice {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 9px;
    font-size: 13px;
    line-height: 1.5;
}

.keystone-claim-modal__notice.is-success {
    background: #e8f8ef;
    color: #126334;
}

.keystone-claim-modal__notice.is-error {
    background: #fff0f2;
    color: #9d2438;
}

.keystone-claim-modal__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 900px) {
    .keystone-claim-modal {
        padding: 14px;
    }

    .keystone-claim-modal__dialog {
        grid-template-columns: minmax(0, 1fr);
        max-height: calc(100vh - 28px);
    }

    .keystone-claim-modal__contact,
    .keystone-claim-modal__form-wrap {
        padding: 34px 26px;
    }

    .keystone-claim-modal__contact {
        padding-right: 64px;
    }
}

@media (max-width: 767px) {
    .keystone-claim-modal {
        align-items: flex-start;
        padding: 8px;
    }

    .keystone-claim-modal__dialog {
        max-height: calc(100vh - 16px);
        border-radius: 17px;
    }

    .keystone-claim-modal__contact,
    .keystone-claim-modal__form-wrap {
        padding: 28px 18px;
    }

    .keystone-claim-modal__contact {
        padding-right: 58px;
    }

    .keystone-claim-modal__fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .keystone-claim-modal__fields label.is-wide {
        grid-column: auto;
    }

    .keystone-claim-modal__phone strong {
        font-size: 21px;
    }

    .keystone-claim-modal__submit {
        width: 100%;
    }
}

.elementor-widget-keystone-header,
.elementor-widget-keystone-hero,
.elementor-widget-keystone-feature {
    width: 100%;
}

.keystone-header,
.keystone-hero,
.keystone-feature,
.keystone-header *,
.keystone-hero *,
.keystone-feature * {
    box-sizing: border-box;
}

.keystone-header a,
.keystone-hero a,
.keystone-feature a {
    text-decoration: none;
}

.keystone-header__inner,
.keystone-hero__container {
    width: 100%;
    margin: 0 auto;
}

.keystone-header--sticky {
    position: sticky;
    top: 0;
    z-index: 9999;
}

.keystone-topbar {
    width: 100%;
    background: var(--keystone-topbar);
    color: #fff;
}

.keystone-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 38px;
    min-height: 44px;
    overflow: hidden;
}

.keystone-topbar__item {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    color: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.keystone-topbar__item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -27px;
    width: 1px;
    height: 22px;
    background: rgba(255, 255, 255, .32);
    transform: translateY(-50%);
}

.keystone-topbar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

.keystone-topbar__accent {
    color: var(--keystone-blue);
}

.keystone-mainbar {
    position: relative;
    z-index: 5;
    width: 100%;
    background: #fff;
}

.keystone-mainbar__inner {
    display: grid;
    grid-template-columns: minmax(260px, 330px) minmax(420px, 1fr) auto;
    align-items: center;
    gap: 30px;
    padding: 14px 34px;
    min-height: 100px;
}

.keystone-header__logo {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}

.keystone-header__logo img {
    display: block;
    width: 320px;
    max-width: 100%;
    height: auto;
}

.keystone-nav > ul,
.keystone-nav .keystone-menu-list,
.keystone-mobile-nav > ul,
.keystone-mobile-nav .keystone-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.keystone-nav > ul,
.keystone-nav .keystone-menu-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2.2vw, 36px);
}

.keystone-nav li {
    position: relative;
}

.keystone-nav a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--keystone-navy);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    transition: color .2s ease;
}

.keystone-nav__chevron {
    color: var(--keystone-blue);
    font-size: 17px;
    line-height: .8;
    transform: translateY(-2px);
}

.keystone-nav .sub-menu {
    position: absolute;
    top: calc(100% + 18px);
    left: 0;
    z-index: 30;
    display: none;
    min-width: 210px;
    padding: 10px;
    margin: 0;
    list-style: none;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(5, 31, 69, .14);
}

.keystone-nav li:hover > .sub-menu,
.keystone-nav li:focus-within > .sub-menu {
    display: block;
}

.keystone-nav .sub-menu a {
    display: flex;
    padding: 10px 12px;
}

.keystone-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 11px;
}

.keystone-header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.keystone-header-btn:hover {
    transform: translateY(-1px);
    filter: brightness(.98);
    box-shadow: 0 8px 20px rgba(2, 30, 67, .12);
}

.keystone-header-phone {
    color: var(--keystone-blue);
    background: #fff;
    border-color: #d8e3f1;
}

.keystone-header-phone > span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #fff;
    background: var(--keystone-blue);
}

.keystone-header-callback {
    color: #fff;
    background: var(--keystone-green);
}

.keystone-header-claim {
    color: #fff;
    background: var(--keystone-blue);
}

.keystone-header__mobile-actions,
.keystone-mobile-panel,
.keystone-mobile-overlay {
    display: none;
}

/* Hero */
.keystone-hero {
    --keystone-image-x: 50%;
    --keystone-image-y: 50%;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f2f8fe;
}

.keystone-hero__container {
    position: relative;
    max-width: 1300px;
}

.keystone-hero__main {
    position: relative;
    min-height: 715px;
    overflow: hidden;
    background: #f2f8fe;
}

.keystone-hero__visual {
    position: absolute;
    inset: 0 0 0 46%;
    z-index: 0;
    overflow: hidden;
}

.keystone-hero--full-bg .keystone-hero__visual {
    inset: 0;
}

.keystone-hero__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: transparent;
}

.keystone-hero__visual picture,
.keystone-hero__image {
    display: block;
    width: 100%;
    height: 100%;
}

.keystone-hero__visual picture {
    position: relative;
    z-index: 0;
}

.keystone-hero__image {
    object-fit: cover;
    object-position: var(--keystone-image-x) var(--keystone-image-y);
}

.keystone-hero__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 52%;
    min-height: 715px;
    padding: 55px 35px 115px 52px;
    background: linear-gradient(90deg, #f2f8fe 0%, #f2f8fe 74%, rgba(242, 248, 254, .88) 84%, rgba(242, 248, 254, 0) 100%);
}

.keystone-hero--full-bg .keystone-hero__content {
    background: linear-gradient(90deg, rgba(242, 248, 254, .99) 0%, rgba(242, 248, 254, .96) 64%, rgba(242, 248, 254, .72) 82%, rgba(242, 248, 254, 0) 100%);
}

.keystone-hero__eyebrow {
    align-self: flex-start;
    margin-bottom: 18px;
    padding: 9px 18px;
    border-radius: 999px;
    color: var(--keystone-blue);
    background: #deedff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
}

.keystone-hero__heading {
    margin: 0;
    color: var(--keystone-navy);
    font-size: clamp(43px, 4vw, 61px);
    font-weight: 800;
    line-height: .99;
    letter-spacing: -.035em;
}

.keystone-hero__description {
    max-width: 550px;
    margin-top: 18px;
    color: #222;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.38;
}

.keystone-hero__highlight {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 30px;
    color: var(--keystone-blue);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.keystone-hero__highlight > span {
    flex: 0 0 28px;
    height: 2px;
    background: currentColor;
}

.keystone-checklist {
    display: grid;
    gap: 11px;
    margin-top: 18px;
}

.keystone-check {
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--keystone-navy);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.3;
}

.keystone-check__icon {
    flex: 0 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    color: #fff !important;
    background: var(--keystone-blue);
    font-size: 12px;
}

.keystone-call {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 12px;
    margin-top: 24px;
    color: var(--keystone-navy);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.1;
}

.keystone-call__icon {
    flex: 0 0 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    color: #fff;
    background: var(--keystone-blue);
    font-size: 17px;
}

.keystone-hero__phone-number {
    color: var(--keystone-blue);
}

.keystone-hero__buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    width: 100%;
    max-width: 520px;
    margin-top: 20px;
}

.keystone-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 51px;
    padding: 12px 20px;
    border-radius: 6px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1;
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.keystone-hero__button:hover {
    color: #fff;
    transform: translateY(-2px);
    filter: brightness(.98);
    box-shadow: 0 10px 24px rgba(5, 31, 69, .14);
}

.keystone-hero__button--callback {
    background: var(--keystone-green);
}

.keystone-hero__button--claim {
    background: var(--keystone-blue);
}

.keystone-feature-cards {
    position: absolute;
    top: 5%;
    right: 1.6%;
    z-index: 3;
    display: grid;
    gap: 16px;
    width: 280px;
    align-content: start;
}

.keystone-feature-card {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    align-content: center;
    gap: 12px;
    min-height: 82px;
    height: auto;
    padding: 12px 16px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(3, 31, 69, .16);
}

.keystone-feature-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--keystone-blue);
    font-size: 34px;
}

.keystone-feature-card__icon.keystone-icon-mask,
.keystone-benefit__icon.keystone-icon-mask {
    background-color: currentColor;
    -webkit-mask-image: var(--keystone-icon-url);
    mask-image: var(--keystone-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.keystone-feature-card__icon svg,
.keystone-feature-card__icon img,
.keystone-benefit__icon svg,
.keystone-benefit__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.keystone-feature-card__text {
    color: var(--keystone-navy);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
}

.keystone-benefits {
    position: absolute;
    right: 3.7%;
    bottom: 38px;
    left: 3.7%;
    z-index: 7;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    min-height: 116px;
    padding: 22px 22px;
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 35px rgba(10, 35, 67, .12);
}

.keystone-benefit {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-width: 0;
    padding: 0 20px;
}

.keystone-benefit:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10%;
    right: 0;
    width: 1px;
    height: 80%;
    background: #dfe7f0;
}

.keystone-benefit__icon {
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--keystone-blue);
    font-size: 39px;
}

.keystone-benefit__text {
    color: var(--keystone-navy);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 1180px) {
    .keystone-mainbar__inner {
        grid-template-columns: minmax(230px, 285px) 1fr auto;
        gap: 20px;
    }

    .keystone-header-btn {
        padding: 0 14px;
    }

    .keystone-header-phone__text {
        display: none;
    }

    .keystone-header-phone {
        width: 50px;
        padding: 0;
        border-radius: 50%;
    }

    .keystone-nav > ul,
    .keystone-nav .keystone-menu-list {
        gap: 18px;
    }

    .keystone-hero__content {
        width: 56%;
    }

    .keystone-hero__visual {
        left: 48%;
    }

    .keystone-feature-cards {
        right: 3%;
    }

    .keystone-benefit {
        gap: 10px;
        padding: 0 12px;
    }
}

@media (max-width: 1024px) {
    .keystone-topbar__item:nth-child(n+4) {
        display: none;
    }

    .keystone-header__desktop-nav,
    .keystone-header__actions {
        display: none;
    }

    .keystone-mainbar__inner {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        min-height: 94px;
    }

    .keystone-header__mobile-actions {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .keystone-mobile-call {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        color: #fff;
        background: var(--keystone-blue);
        font-size: 25px;
    }

    .keystone-menu-toggle {
        display: inline-grid;
        gap: 7px;
        width: 48px;
        padding: 5px;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .keystone-menu-toggle span {
        display: block;
        width: 100%;
        height: 4px;
        border-radius: 5px;
        background: var(--keystone-navy);
    }

    .keystone-mobile-panel {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10002;
        display: block;
        width: min(86vw, 380px);
        height: 100vh;
        padding: 75px 28px 30px;
        overflow-y: auto;
        background: #fff;
        transform: translateX(110%);
        transition: transform .28s ease;
        box-shadow: -15px 0 45px rgba(0, 22, 55, .18);
    }

    .keystone-header.is-menu-open .keystone-mobile-panel {
        transform: translateX(0);
    }

    .keystone-mobile-panel__close {
        position: absolute;
        top: 20px;
        right: 22px;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: #fff;
        background: var(--keystone-navy);
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
    }

    .keystone-mobile-nav ul {
        display: grid;
        gap: 5px;
    }

    .keystone-mobile-nav a {
        display: flex;
        padding: 14px 4px;
        border-bottom: 1px solid #e4ebf3;
        color: var(--keystone-navy);
        font-size: 18px;
        font-weight: 700;
    }

    .keystone-mobile-nav .sub-menu {
        list-style: none;
        padding: 0 0 0 16px;
    }

    .keystone-mobile-panel__buttons {
        display: grid;
        gap: 12px;
        margin-top: 28px;
    }

    .keystone-mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 10001;
        display: block;
        border: 0;
        background: rgba(0, 17, 45, .58);
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s ease, visibility .25s ease;
    }

    .keystone-header.is-menu-open .keystone-mobile-overlay {
        opacity: 1;
        visibility: visible;
    }

    body.keystone-menu-open {
        overflow: hidden;
    }
}

@media (max-width: 767px) {
    .keystone-hero .keystone-feature-cards {
        display: none !important;
    }

    .keystone-header--sticky {
        top: 0;
    }

    .keystone-topbar__inner {
        justify-content: space-around;
        gap: 0;
        min-height: 65px;
        padding: 0 18px;
    }

    .keystone-topbar__item {
        flex: 1 1 50%;
        font-size: 17px;
        gap: 10px;
    }

    .keystone-topbar__item:nth-child(n+3) {
        display: none;
    }

    .keystone-topbar__item:not(:last-child)::after {
        right: 0;
        height: 27px;
    }

    .keystone-topbar__item:nth-child(2)::after {
        display: none;
    }

    .keystone-mainbar__inner {
        min-height: 130px;
        padding: 16px 40px;
    }

    .keystone-header__logo img {
        width: 360px;
        max-width: calc(100vw - 190px);
    }

    .keystone-header__mobile-actions {
        gap: 25px;
    }

    .keystone-mobile-call {
        width: 68px;
        height: 68px;
        font-size: 29px;
    }

    .keystone-menu-toggle {
        width: 49px;
    }

    .keystone-menu-toggle span {
        height: 4px;
    }

    .keystone-hero {
        overflow: visible;
    }

    .keystone-hero__container {
        max-width: none !important;
    }

    .keystone-hero__main {
        display: flex;
        flex-direction: column;
        min-height: 0 !important;
        overflow: visible;
    }

    .keystone-hero__visual {
        position: relative;
        inset: auto;
        order: 1;
        width: 100%;
        height: auto;
        aspect-ratio: 839 / 524;
        overflow: hidden;
    }

    .keystone-hero__visual picture,
    .keystone-hero__image {
        width: 100%;
        height: 100%;
    }

    .keystone-hero__content {
        order: 2;
        width: 100%;
        min-height: 0;
        margin-top: -2px;
        padding: 34px 40px 32px;
        border-radius: 34px 34px 0 0;
        background: #fff;
    }

    .keystone-hero__eyebrow {
        margin-bottom: 27px;
        padding: 12px 23px;
        font-size: 20px;
    }

    .keystone-hero__heading {
        font-size: clamp(39px, 8.2vw, 58px);
        line-height: 1.09;
        letter-spacing: -.035em;
    }

    .keystone-hero__description {
        max-width: none;
        margin-top: 18px;
        font-size: 22px;
        line-height: 1.4;
    }

    .keystone-hero__highlight {
        margin-top: 32px;
        gap: 17px;
        font-size: 21px;
        line-height: 1.22;
    }

    .keystone-hero__highlight > span {
        flex-basis: 39px;
        height: 3px;
    }

    .keystone-checklist {
        gap: 15px;
        margin-top: 25px;
    }

    .keystone-check {
        gap: 20px;
        font-size: 22px;
    }

    .keystone-check__icon {
        flex-basis: 37px;
        width: 37px;
        height: 37px;
        font-size: 16px;
    }

    .keystone-call {
        gap: 15px;
        margin-top: 28px;
        font-size: clamp(24px, 4.5vw, 34px);
    }

    .keystone-call__icon {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
        font-size: 22px;
    }

    .keystone-hero__buttons {
        max-width: none;
        gap: 25px;
        margin-top: 20px;
    }

    .keystone-hero__button {
        min-height: 78px;
        padding: 15px 12px;
        font-size: clamp(19px, 3.8vw, 28px);
    }

    .keystone-feature-cards {
        top: 44%;
        right: 5.6%;
        width: 29%;
        gap: 25px;
        transform: translateY(-23%);
    }

    .keystone-feature-card {
        grid-template-columns: 35px 1fr;
        gap: 10px;
        min-height: 82px;
        height: auto;
        padding: 12px 14px;
        border-radius: 17px;
    }

    .keystone-feature-card__icon {
        font-size: 32px;
    }

    .keystone-feature-card__text {
        font-size: clamp(15px, 2.6vw, 23px);
        line-height: 1.16;
    }

    .keystone-mobile-cards-0 .keystone-feature-card { display: none; }
    .keystone-mobile-cards-1 .keystone-feature-card:nth-child(n+2) { display: none; }
    .keystone-mobile-cards-2 .keystone-feature-card:nth-child(n+3) { display: none; }
    .keystone-mobile-cards-3 .keystone-feature-card:nth-child(n+4) { display: none; }
    .keystone-mobile-cards-4 .keystone-feature-card:nth-child(n+5) { display: none; }

    .keystone-benefits {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        z-index: 8;
        display: flex;
        gap: 16px;
        min-height: 0;
        padding: 34px 40px 42px;
        overflow-x: auto;
        border-radius: 0;
        box-shadow: none;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .keystone-benefits::-webkit-scrollbar {
        display: none;
    }

    .keystone-benefit {
        flex: 0 0 190px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 15px;
        min-height: 195px;
        padding: 24px 18px;
        border: 1px solid #e8edf4;
        border-radius: 17px;
        background: #fff;
        box-shadow: 0 7px 22px rgba(7, 30, 67, .08);
        scroll-snap-align: start;
        text-align: center;
    }

    .keystone-benefit:not(:last-child)::after {
        display: none;
    }

    .keystone-benefit__icon {
        flex-basis: auto;
        font-size: 47px;
    }

    .keystone-benefit__text {
        font-size: 20px;
        line-height: 1.2;
    }

    .keystone-hero--full-bg.keystone-hero-mobile--full-bg .keystone-hero__main {
        position: relative;
        display: block;
        min-height: var(--keystone-mobile-full-height, 760px) !important;
        overflow: hidden;
    }

    .keystone-hero--full-bg.keystone-hero-mobile--full-bg .keystone-hero__visual {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }

    .keystone-hero--full-bg.keystone-hero-mobile--full-bg .keystone-hero__content {
        position: relative;
        z-index: 3;
        width: 100%;
        min-height: var(--keystone-mobile-full-height, 760px);
        margin-top: 0;
        border-radius: 0;
        background: linear-gradient(180deg, rgba(242, 248, 254, .98) 0%, rgba(242, 248, 254, .93) 48%, rgba(242, 248, 254, .66) 72%, rgba(242, 248, 254, .22) 100%);
    }

    .keystone-hero--full-bg.keystone-hero-mobile--full-bg .keystone-feature-cards {
        z-index: 4;
    }
}

@media (max-width: 520px) {
    .keystone-topbar__inner {
        min-height: 52px;
        padding: 0 10px;
    }

    .keystone-topbar__item {
        font-size: 13px;
        gap: 7px;
    }

    .keystone-mainbar__inner {
        min-height: 92px;
        padding: 12px 18px;
    }

    .keystone-header__logo img {
        max-width: calc(100vw - 135px);
    }

    .keystone-header__mobile-actions {
        gap: 14px;
    }

    .keystone-mobile-call {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .keystone-menu-toggle {
        width: 39px;
        gap: 5px;
    }

    .keystone-menu-toggle span {
        height: 3px;
    }

    .keystone-hero__content {
        padding: 24px 20px 25px;
        border-radius: 24px 24px 0 0;
    }

    .keystone-hero__eyebrow {
        margin-bottom: 18px;
        padding: 9px 14px;
        font-size: 15px;
    }

    .keystone-hero__heading {
        font-size: 35px;
    }

    .keystone-hero__description {
        font-size: 17px;
    }

    .keystone-hero__highlight {
        gap: 12px;
        margin-top: 24px;
        font-size: 17px;
    }

    .keystone-hero__highlight > span {
        flex-basis: 25px;
    }

    .keystone-checklist {
        gap: 11px;
        margin-top: 20px;
    }

    .keystone-check {
        gap: 12px;
        font-size: 17px;
    }

    .keystone-check__icon {
        flex-basis: 28px;
        width: 28px;
        height: 28px;
        font-size: 12px;
    }

    .keystone-call {
        gap: 10px;
        margin-top: 23px;
        font-size: 21px;
    }

    .keystone-call__icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    .keystone-hero__buttons {
        gap: 12px;
        margin-top: 17px;
    }

    .keystone-hero__button {
        min-height: 58px;
        gap: 8px;
        padding: 10px 7px;
        font-size: 16px;
    }

    .keystone-feature-cards {
        right: 5%;
        width: 31%;
        gap: 13px;
    }

    .keystone-feature-card {
        grid-template-columns: 24px 1fr;
        gap: 7px;
        min-height: 62px;
        height: auto;
        padding: 8px 9px;
        border-radius: 11px;
    }

    .keystone-feature-card__icon {
        font-size: 23px;
    }

    .keystone-feature-card__text {
        font-size: 12px;
    }

    .keystone-benefits {
        gap: 10px;
        padding: 20px 20px 26px;
    }

    .keystone-benefit {
        flex-basis: 150px;
        min-height: 150px;
        padding: 18px 12px;
    }

    .keystone-benefit__icon {
        font-size: 36px;
    }

    .keystone-benefit__text {
        font-size: 16px;
    }
}

/* Keystone Feature */
.keystone-feature {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--keystone-navy);
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
    border: 1px solid #dde7f3;
    border-radius: 26px;
}

.keystone-feature__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 31px 58px;
}

.keystone-feature__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.keystone-feature__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 258px;
    min-height: 36px;
    padding: 8px 30px;
    border-radius: 999px;
    color: #fff;
    background: #075ccb;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .025em;
    text-transform: uppercase;
    box-shadow: inset 0 -2px 0 rgba(0, 25, 85, .2);
}

.keystone-feature__heading {
    display: grid;
    gap: 2px;
    margin: 18px 0 0;
    font-size: 47px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.keystone-feature__heading-primary,
.keystone-feature__heading-accent {
    display: block;
}

.keystone-feature__heading-primary {
    color: #071a3b;
}

.keystone-feature__heading-accent {
    color: #075ccb;
}

.keystone-feature__heading-divider {
    display: block;
    width: 72px;
    height: 3px;
    margin-top: 19px;
    border-radius: 99px;
    background: #075ccb;
}

.keystone-feature__cards {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 23px;
    margin-top: 29px;
}

.keystone-feature-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    min-height: 375px;
    padding: 23px 19px 27px;
    overflow: hidden;
    border: 1px solid #e4ebf4;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(7, 30, 67, .10);
    text-align: center;
}

.keystone-feature-card__icon-wrap {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 111px;
    height: 111px;
    border-radius: 50%;
    background: #eff5ff;
}

.keystone-feature-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    color: #0874f9;
    font-size: 76px;
    line-height: 1;
}

.keystone-feature-card__icon.keystone-icon-mask {
    background-color: currentColor;
    -webkit-mask-image: var(--keystone-icon-url);
    mask-image: var(--keystone-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.keystone-feature-card__icon svg,
.keystone-feature-card__icon img {
    display: block;
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.keystone-feature-card__title {
    margin: 19px 0 0;
    color: #071a3b;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
}

.keystone-feature-card__description {
    margin-top: 17px;
    color: #43516c;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.42;
}

.keystone-feature-card__line {
    display: block;
    width: 55px;
    height: 3px;
    margin-top: auto;
    border-radius: 99px;
    background: #075ccb;
}

.keystone-feature__mobile-controls {
    display: none;
}

.keystone-feature__bottom {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    margin-top: 42px;
    text-align: center;
}

.keystone-feature__bottom-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    min-width: 43px;
    color: #075ccb;
    font-size: 43px;
}

.keystone-feature__bottom-icon img,
.keystone-feature__bottom-icon svg {
    display: block;
    width: 43px;
    height: auto;
}

.keystone-feature__bottom-copy {
    font-size: 17px;
    line-height: 1.35;
}

.keystone-feature__bottom-primary {
    color: #071a3b;
    font-weight: 500;
}

.keystone-feature__bottom-accent {
    color: #075ccb;
    font-weight: 700;
}

.keystone-feature__watermark {
    position: absolute;
    z-index: 1;
    display: block;
    width: 315px;
    max-width: none;
    height: auto;
    opacity: .22;
    pointer-events: none;
    user-select: none;
}

.keystone-feature__watermark--left {
    top: 39px;
    left: -49px;
}

.keystone-feature__watermark--right {
    right: -62px;
    bottom: -102px;
    transform: rotate(180deg);
}

@media (max-width: 1180px) {
    .keystone-feature__inner {
        padding-right: 30px;
        padding-left: 30px;
    }

    .keystone-feature__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .keystone-feature {
        border-radius: 20px;
    }

    .keystone-feature__inner {
        padding: 28px 18px;
    }

    .keystone-feature__eyebrow {
        min-width: 0;
        min-height: 34px;
        padding: 8px 22px;
        font-size: 14px;
    }

    .keystone-feature__heading {
        gap: 5px;
        margin-top: 17px;
        font-size: clamp(31px, 8.7vw, 43px);
        line-height: 1.08;
    }

    .keystone-feature__heading-divider {
        margin-top: 17px;
    }

    .keystone-feature__cards {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 16px;
        margin-right: -18px;
        margin-left: -18px;
        padding: 8px 18px 18px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .keystone-feature__cards::-webkit-scrollbar {
        display: none;
    }

    .keystone-feature-card {
        flex: 0 0 var(--keystone-feature-mobile-card-width, 84%);
        min-width: 0;
        min-height: 365px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .keystone-feature-card:first-child {
        scroll-snap-align: start;
    }

    .keystone-feature-card:last-child {
        scroll-snap-align: end;
    }

    .keystone-feature__mobile-controls {
        position: relative;
        z-index: 4;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        margin-top: 2px;
    }

    .keystone-feature__carousel-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: #fff;
        background: #075ccb;
        font-size: 14px;
        line-height: 1;
        cursor: pointer;
        transition: opacity .2s ease, transform .2s ease;
    }

    .keystone-feature__carousel-button:active {
        transform: scale(.94);
    }

    .keystone-feature__carousel-button:disabled {
        opacity: .35;
        cursor: default;
    }

    .keystone-feature__swipe-label {
        color: #075ccb;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
    }

    .keystone-feature__bottom {
        align-items: flex-start;
        gap: 12px;
        margin-top: 28px;
        text-align: left;
    }

    .keystone-feature__bottom-copy {
        font-size: 15px;
    }

    .keystone-feature__bottom-accent {
        margin-top: 3px;
    }

    .keystone-feature__watermark--left {
        top: 115px;
        left: -120px;
    }

    .keystone-feature__watermark--right {
        right: -145px;
        bottom: -90px;
    }
}

@media (max-width: 480px) {
    .keystone-feature__inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    .keystone-feature__cards {
        margin-right: -14px;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
        scroll-padding-inline: 14px;
    }

    .keystone-feature-card {
        flex-basis: var(--keystone-feature-mobile-card-width, 88%);
    }

    .keystone-feature__heading {
        font-size: clamp(29px, 9.4vw, 39px);
    }
}

.elementor-widget-keystone-why-choose {
    width: 100%;
}

.keystone-why,
.keystone-why * {
    box-sizing: border-box;
}

.keystone-why {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--keystone-navy);
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
    border: 1px solid #dde7f3;
    border-radius: 26px;
}

.keystone-why__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 26px 58px 28px;
}

.keystone-why__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.keystone-why__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 218px;
    padding: 8px 28px;
    border-radius: 999px;
    background: #075ccb;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
    box-shadow: inset 0 -2px 0 rgba(0, 25, 85, .2);
}

.keystone-why__heading {
    margin: 20px 0 0;
    color: #071a3b;
    font-size: 43px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.keystone-why__divider {
    display: block;
    width: 88px;
    height: 4px;
    margin-top: 18px;
    border-radius: 999px;
    background: #075ccb;
}

.keystone-why__description {
    max-width: 900px;
    margin-top: 18px;
    color: #43516c;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
}

.keystone-why__cards {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 34px;
}

.keystone-why-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 355px;
    min-width: 0;
    padding: 20px 18px 24px;
    border: 1px solid #e4ebf4;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(7, 30, 67, .10);
    text-align: center;
}

.keystone-why-card__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #eff5ff;
}

.keystone-why-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    color: #0874f9;
    font-size: 58px;
    line-height: 1;
}

.keystone-why-card__icon.keystone-icon-mask,
.keystone-why-highlight__icon.keystone-icon-mask {
    background-color: currentColor;
    -webkit-mask-image: var(--keystone-icon-url);
    mask-image: var(--keystone-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.keystone-why-card__icon svg,
.keystone-why-card__icon img,
.keystone-why-highlight__icon svg,
.keystone-why-highlight__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.keystone-why-card__title {
    margin: 24px 0 0;
    color: #071a3b;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.keystone-why-card__line {
    display: block;
    width: 56px;
    height: 3px;
    margin-top: 15px;
    border-radius: 999px;
    background: #075ccb;
}

.keystone-why-card__description {
    margin-top: 18px;
    color: #43516c;
    font-size: 15px;
    line-height: 1.55;
}

.keystone-why__mobile-controls {
    display: none;
}

.keystone-why__highlights {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 30px;
}

.keystone-why-highlight {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 8px 30px;
    border-right: 1px solid #d9e4f1;
}

.keystone-why-highlight.is-last {
    border-right: 0;
}

.keystone-why-highlight__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #0874f9;
    font-size: 36px;
    line-height: 1;
}

.keystone-why-highlight__text {
    color: #071a3b;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.28;
}

.keystone-why__bg-image {
    position: absolute;
    top: 22px;
    right: -40px;
    z-index: 1;
    width: 470px;
    max-width: none;
    height: auto;
    opacity: .18;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 1180px) {
    .keystone-why__inner {
        padding-right: 30px;
        padding-left: 30px;
    }

    .keystone-why__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .keystone-why {
        border-radius: 20px;
    }

    .keystone-why__inner {
        padding: 24px 18px;
    }

    .keystone-why__eyebrow {
        min-width: 0;
        min-height: 34px;
        padding: 8px 22px;
        font-size: 14px;
    }

    .keystone-why__heading {
        margin-top: 18px;
        font-size: clamp(31px, 8.8vw, 46px);
        line-height: 1.08;
    }

    .keystone-why__description {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.5;
    }

    .keystone-why__cards {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 16px;
        margin-right: -18px;
        margin-left: -18px;
        padding: 8px 18px 18px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .keystone-why__cards::-webkit-scrollbar {
        display: none;
    }

    .keystone-why-card {
        flex: 0 0 var(--keystone-why-mobile-card-width, 84%);
        min-height: 335px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .keystone-why__mobile-controls {
        position: relative;
        z-index: 4;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        margin-top: 6px;
    }

    .keystone-why__carousel-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: #fff;
        background: #075ccb;
        font-size: 14px;
        line-height: 1;
        cursor: pointer;
        transition: opacity .2s ease, transform .2s ease;
    }

    .keystone-why__carousel-button:active {
        transform: scale(.94);
    }

    .keystone-why__carousel-button:disabled {
        opacity: .35;
        cursor: default;
    }

    .keystone-why__swipe-label {
        color: #075ccb;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
    }

    .keystone-why__highlights {
        justify-content: flex-start;
        gap: 14px 0;
        margin-top: 24px;
    }

    .keystone-why-highlight {
        width: 50%;
        padding: 0 10px 0 0;
        border-right: 0;
    }

    .keystone-why-highlight__icon {
        width: 32px;
        height: 32px;
        font-size: 32px;
    }

    .keystone-why-highlight__text {
        font-size: 14px;
    }

    .keystone-why__bg-image {
        width: 300px;
        top: 100px;
        right: -95px;
    }
}

@media (max-width: 480px) {
    .keystone-why__inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    .keystone-why__cards {
        margin-right: -14px;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
        scroll-padding-inline: 14px;
    }

    .keystone-why-card {
        flex-basis: var(--keystone-why-mobile-card-width, 88%);
    }

    .keystone-why-highlight {
        width: 100%;
    }
}

.elementor-widget-keystone-how-it-works {
    width: 100%;
}

.keystone-how,
.keystone-how * {
    box-sizing: border-box;
}

.keystone-how {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--keystone-navy);
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
    border: 1px solid #dde7f3;
    border-radius: 26px;
}

.keystone-how__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 26px 58px 28px;
}

.keystone-how__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.keystone-how__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 190px;
    padding: 8px 28px;
    border-radius: 999px;
    background: #075ccb;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
    box-shadow: inset 0 -2px 0 rgba(0, 25, 85, .2);
}

.keystone-how__heading {
    margin: 20px 0 0;
    color: #071a3b;
    font-size: 43px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.keystone-how__divider {
    display: block;
    width: 100px;
    height: 4px;
    margin-top: 18px;
    border-radius: 999px;
    background: #075ccb;
}

.keystone-how__description {
    max-width: 900px;
    margin-top: 18px;
    color: #43516c;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
}

.keystone-how__steps-wrap {
    position: relative;
    margin-top: 34px;
}

.keystone-how__connector {
    position: absolute;
    top: 188px;
    left: 0;
    width: 100%;
    height: 36px;
    z-index: 1;
    pointer-events: none;
}

.keystone-how__connector-line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: #0a63f6;
    transform: translateY(-50%);
}

.keystone-how__connector-shadow {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 18px;
    border-radius: 999px;
    background: rgba(10,99,246,.35);
    filter: blur(11px);
    transform: translateY(-50%);
    opacity: .55;
}

.keystone-how__connector-dot {
    position: absolute;
    top: 50%;
    width: 28px;
    height: 28px;
    border: 6px solid #fff;
    border-radius: 50%;
    background: #0a63f6;
    box-shadow: 0 0 0 4px rgba(10,99,246,.12), 0 10px 24px rgba(10,99,246,.18);
    transform: translate(-50%, -50%);
}

.keystone-how__steps {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 96px;
    align-items: stretch;
}

.keystone-how-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 390px;
    min-width: 0;
    padding: 20px 20px 28px;
    border: 1px solid #e4ebf4;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(7, 30, 67, .10);
    text-align: center;
}

.keystone-how-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    height: 58px;
    padding: 0 12px;
    border-radius: 10px;
    background: #e7f0ff;
    color: #0a63f6;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
}

.keystone-how-step__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 112px;
    margin-top: 10px;
    border-radius: 50%;
    background: #eff5ff;
}

.keystone-how-step__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    color: #0874f9;
    font-size: 68px;
    line-height: 1;
}

.keystone-how-step__icon.keystone-icon-mask,
.keystone-how-highlight__icon.keystone-icon-mask {
    background-color: currentColor;
    -webkit-mask-image: var(--keystone-icon-url);
    mask-image: var(--keystone-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.keystone-how-step__icon svg,
.keystone-how-step__icon img,
.keystone-how-highlight__icon svg,
.keystone-how-highlight__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.keystone-how-step__title {
    margin: 20px 0 0;
    color: #071a3b;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.keystone-how-step__line {
    display: block;
    width: 56px;
    height: 3px;
    margin-top: 15px;
    border-radius: 999px;
    background: #075ccb;
}

.keystone-how-step__description {
    margin-top: 18px;
    color: #43516c;
    font-size: 15px;
    line-height: 1.55;
}

.keystone-how__mobile-controls {
    display: none;
}

.keystone-how__highlights {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 28px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(7, 30, 67, .10);
}

.keystone-how-highlight {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex: 1 1 0;
    min-width: 0;
    padding: 10px 26px;
    border-right: 1px solid #d9e4f1;
}

.keystone-how-highlight.is-last {
    border-right: 0;
}

.keystone-how-highlight__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #0874f9;
    font-size: 36px;
    line-height: 1;
}

.keystone-how-highlight__text {
    color: #071a3b;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.28;
}

.keystone-how__bg-image {
    position: absolute;
    top: 22px;
    right: -40px;
    z-index: 1;
    width: 470px;
    max-width: none;
    height: auto;
    opacity: .18;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 1180px) {
    .keystone-how__inner {
        padding-right: 30px;
        padding-left: 30px;
    }

    .keystone-how__steps {
        gap: 34px;
    }
}

@media (max-width: 1024px) {
    .keystone-how__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

    .keystone-how__connector {
        display: none;
    }

    .keystone-how-step {
        min-height: 360px;
    }
}

@media (max-width: 767px) {
    .keystone-how {
        border-radius: 20px;
    }

    .keystone-how__inner {
        padding: 24px 18px;
    }

    .keystone-how__eyebrow {
        min-width: 0;
        min-height: 34px;
        padding: 8px 22px;
        font-size: 14px;
    }

    .keystone-how__heading {
        margin-top: 18px;
        font-size: clamp(31px, 8.8vw, 46px);
        line-height: 1.08;
    }

    .keystone-how__description {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.5;
    }

    .keystone-how__steps {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 16px;
        margin-right: -18px;
        margin-left: -18px;
        padding: 8px 18px 18px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .keystone-how__steps::-webkit-scrollbar {
        display: none;
    }

    .keystone-how-step {
        flex: 0 0 var(--keystone-how-mobile-card-width, 84%);
        min-height: 350px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .keystone-how__mobile-controls {
        position: relative;
        z-index: 4;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        margin-top: 6px;
    }

    .keystone-how__carousel-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: #fff;
        background: #075ccb;
        font-size: 14px;
        line-height: 1;
        cursor: pointer;
        transition: opacity .2s ease, transform .2s ease;
    }

    .keystone-how__carousel-button:active {
        transform: scale(.94);
    }

    .keystone-how__carousel-button:disabled {
        opacity: .35;
        cursor: default;
    }

    .keystone-how__swipe-label {
        color: #075ccb;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
    }

    .keystone-how__highlights {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 12px;
        margin-top: 24px;
    }

    .keystone-how-highlight {
        width: 100%;
        justify-content: flex-start;
        padding: 12px 8px;
        border-right: 0;
        border-bottom: 1px solid #d9e4f1;
    }

    .keystone-how-highlight.is-last {
        border-bottom: 0;
    }

    .keystone-how-highlight__icon {
        width: 32px;
        height: 32px;
        font-size: 32px;
    }

    .keystone-how-highlight__text {
        font-size: 14px;
    }

    .keystone-how__bg-image {
        width: 300px;
        top: 100px;
        right: -95px;
    }
}

@media (max-width: 480px) {
    .keystone-how__inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    .keystone-how__steps {
        margin-right: -14px;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
        scroll-padding-inline: 14px;
    }

    .keystone-how-step {
        flex-basis: var(--keystone-how-mobile-card-width, 88%);
    }
}

/* Hero floating feature cards - scoped fix to avoid conflicts with the Keystone Feature widget */
.keystone-hero .keystone-feature-cards {
    position: absolute;
    top: 5%;
    right: 1.6%;
    z-index: 3;
    display: grid;
    gap: 14px;
    width: 280px;
    align-content: start;
}

.keystone-hero .keystone-feature-card {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    justify-items: start;
    gap: 12px;
    min-height: 68px;
    height: auto;
    padding: 12px 16px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(3, 31, 69, .16);
    text-align: left;
}

.keystone-hero .keystone-feature-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px;
    color: var(--keystone-blue);
    font-size: 32px;
    line-height: 1;
}

.keystone-hero .keystone-feature-card__icon svg,
.keystone-hero .keystone-feature-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.keystone-hero .keystone-feature-card__text {
    display: block;
    color: var(--keystone-navy);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.12;
    text-align: left;
}

@media (max-width: 1180px) {
    .keystone-hero .keystone-feature-cards {
        right: 3%;
        width: 248px;
        gap: 12px;
    }

    .keystone-hero .keystone-feature-card {
        grid-template-columns: 30px 1fr;
        min-height: 62px;
        padding: 10px 14px;
    }

    .keystone-hero .keystone-feature-card__icon {
        width: 28px;
        height: 28px;
        min-width: 28px;
        font-size: 28px;
    }

    .keystone-hero .keystone-feature-card__text {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .keystone-hero .keystone-feature-cards {
        display: none !important;
    }
}

.elementor-widget-keystone-services {
    width: 100%;
}

.keystone-services,
.keystone-services * {
    box-sizing: border-box;
}

.keystone-services {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--keystone-navy);
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
    border: 1px solid #dde7f3;
    border-radius: 26px;
}

.keystone-services__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 26px 58px 28px;
}

.keystone-services__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.keystone-services__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 180px;
    padding: 8px 28px;
    border-radius: 999px;
    background: #075ccb;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.15;
    box-shadow: inset 0 -2px 0 rgba(0, 25, 85, .2);
}

.keystone-services__heading {
    margin: 18px 0 0;
    color: #071a3b;
    font-size: 43px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.03em;
}

.keystone-services__divider {
    display: block;
    width: 100px;
    height: 4px;
    margin-top: 18px;
    border-radius: 999px;
    background: #075ccb;
}

.keystone-services__description {
    max-width: 760px;
    margin-top: 16px;
    color: #43516c;
    font-size: 16px;
    line-height: 1.55;
}

.keystone-services__cards {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.keystone-service-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 215px;
    min-width: 0;
    padding: 22px 32px 18px;
    border: 1px solid #e4ebf4;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(7, 30, 67, .08);
}

.keystone-service-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    color: #0a63f6;
    font-size: 58px;
    line-height: 1;
}

.keystone-service-card__icon.keystone-icon-mask,
.keystone-services-highlight__icon.keystone-icon-mask {
    background-color: currentColor;
    -webkit-mask-image: var(--keystone-icon-url);
    mask-image: var(--keystone-icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.keystone-service-card__icon svg,
.keystone-service-card__icon img,
.keystone-services-highlight__icon svg,
.keystone-services-highlight__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.keystone-service-card__title {
    margin: 20px 0 0;
    color: #071a3b;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.24;
}

.keystone-service-card__description {
    margin-top: 10px;
    color: #43516c;
    font-size: 15px;
    line-height: 1.55;
}

.keystone-service-card__link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 18px;
    color: #0a63f6;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.keystone-service-card__link:hover {
    color: #083ea9;
    transform: translateX(1px);
}

.keystone-service-card__arrow {
    font-size: 18px;
    line-height: 1;
}

.keystone-services__mobile-controls {
    display: none;
}

.keystone-services__highlights {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 28px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(7, 30, 67, .08);
}

.keystone-services-highlight {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    flex: 1 1 0;
    min-width: 0;
    padding: 6px 26px;
    border-right: 1px solid #d9e4f1;
}

.keystone-services-highlight.is-last {
    border-right: 0;
}

.keystone-services-highlight__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #0a63f6;
    font-size: 40px;
    line-height: 1;
}

.keystone-services-highlight__content {
    min-width: 0;
}

.keystone-services-highlight__title {
    color: #071a3b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
}

.keystone-services-highlight__subtitle {
    margin-top: 3px;
    color: #43516c;
    font-size: 14px;
    line-height: 1.35;
}

.keystone-services__bg-image {
    position: absolute;
    top: 12px;
    right: -40px;
    z-index: 1;
    width: 470px;
    max-width: none;
    height: auto;
    opacity: .18;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 1180px) {
    .keystone-services__inner {
        padding-right: 30px;
        padding-left: 30px;
    }

    .keystone-services__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-services__highlights {
        gap: 12px 0;
    }

    .keystone-services-highlight {
        flex: 1 1 50%;
    }
}

@media (max-width: 767px) {
    .keystone-services {
        border-radius: 20px;
    }

    .keystone-services__inner {
        padding: 24px 18px;
    }

    .keystone-services__eyebrow {
        min-width: 0;
        min-height: 34px;
        padding: 8px 22px;
        font-size: 14px;
    }

    .keystone-services__heading {
        margin-top: 18px;
        font-size: clamp(31px, 8.8vw, 46px);
        line-height: 1.08;
    }

    .keystone-services__description {
        margin-top: 14px;
        font-size: 15px;
        line-height: 1.5;
    }

    .keystone-services__cards {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 16px;
        margin-right: -18px;
        margin-left: -18px;
        padding: 8px 18px 18px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .keystone-services__cards::-webkit-scrollbar {
        display: none;
    }

    .keystone-service-card {
        flex: 0 0 var(--keystone-services-mobile-card-width, 86%);
        min-height: 215px;
        padding: 22px 20px 18px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .keystone-services__mobile-controls {
        position: relative;
        z-index: 4;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        margin-top: 6px;
    }

    .keystone-services__carousel-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: #fff;
        background: #075ccb;
        font-size: 14px;
        line-height: 1;
        cursor: pointer;
        transition: opacity .2s ease, transform .2s ease;
    }

    .keystone-services__carousel-button:active {
        transform: scale(.94);
    }

    .keystone-services__carousel-button:disabled {
        opacity: .35;
        cursor: default;
    }

    .keystone-services__swipe-label {
        color: #075ccb;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
    }

    .keystone-services__highlights {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 12px;
        margin-top: 24px;
    }

    .keystone-services-highlight {
        width: 100%;
        justify-content: flex-start;
        padding: 12px 8px;
        border-right: 0;
        border-bottom: 1px solid #d9e4f1;
    }

    .keystone-services-highlight.is-last {
        border-bottom: 0;
    }

    .keystone-services-highlight__icon {
        width: 34px;
        height: 34px;
        font-size: 34px;
    }

    .keystone-services-highlight__title {
        font-size: 15px;
    }

    .keystone-services-highlight__subtitle {
        font-size: 13px;
    }

    .keystone-services__bg-image {
        width: 300px;
        top: 100px;
        right: -95px;
    }
}

@media (max-width: 480px) {
    .keystone-services__inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    .keystone-services__cards {
        margin-right: -14px;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
        scroll-padding-inline: 14px;
    }

    .keystone-service-card {
        flex-basis: var(--keystone-services-mobile-card-width, 90%);
    }
}

/* Reserve desktop space beneath the hero CTA buttons so the benefits bar never covers them. */
@media (min-width: 1025px) {
    .keystone-hero .keystone-hero__buttons {
        margin-bottom: 125px;
    }
}

/* Reliable Hero icon rendering and colour correction - v1.22.0 */
.keystone-hero .keystone-reliable-icon {
    display: block;
    width: 1em;
    height: 1em;
    overflow: visible;
    color: inherit;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.keystone-hero .keystone-check__icon,
.keystone-hero .keystone-call__icon,
.keystone-hero .keystone-hero__button,
.keystone-hero .keystone-hero__button-icon {
    color: #fff !important;
}

.keystone-hero .keystone-check__icon svg,
.keystone-hero .keystone-check__icon i,
.keystone-hero .keystone-call__icon svg,
.keystone-hero .keystone-call__icon i,
.keystone-hero .keystone-hero__button-icon svg,
.keystone-hero .keystone-hero__button-icon i {
    display: block;
    color: #fff !important;
    fill: none !important;
    stroke: currentColor !important;
}

.keystone-hero .keystone-check__icon svg {
    width: 15px !important;
    height: 15px !important;
    stroke-width: 3;
}

.keystone-hero .keystone-call__icon svg {
    width: 21px !important;
    height: 21px !important;
}

.keystone-hero .keystone-hero__button-icon {
    display: inline-flex;
    flex: 0 0 22px;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: 21px;
    line-height: 1;
}

.keystone-hero .keystone-hero__button-icon svg {
    width: 21px !important;
    height: 21px !important;
}

.keystone-hero .keystone-feature-card__icon .keystone-reliable-icon,
.keystone-hero .keystone-benefit__icon .keystone-reliable-icon {
    width: 100%;
    height: 100%;
    color: inherit;
    stroke: currentColor;
}

/* Compact, right-shifted Hero floating cards - v1.23.0 */
@media (min-width: 1181px) {
    .keystone-hero .keystone-feature-cards {
        right: 1.2%;
        gap: 10px;
        width: 180px;
    }

    .keystone-hero .keystone-feature-card {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 7px;
        min-height: 54px;
        padding: 8px 10px;
        overflow: hidden;
        border-radius: 12px;
        box-shadow: 0 7px 20px rgba(3, 31, 69, .14);
    }

    .keystone-hero .keystone-feature-card__icon {
        width: 23px;
        height: 23px;
        min-width: 23px;
        font-size: 23px;
    }

    .keystone-hero .keystone-feature-card__text {
        font-size: 13px;
        line-height: 1.08;
    }
}

@media (min-width: 768px) and (max-width: 1180px) {
    .keystone-hero .keystone-feature-cards {
        right: 1.5%;
        gap: 9px;
        width: 200px;
    }

    .keystone-hero .keystone-feature-card {
        grid-template-columns: 25px minmax(0, 1fr);
        gap: 8px;
        min-height: 52px;
        padding: 8px 10px;
        border-radius: 10px;
    }

    .keystone-hero .keystone-feature-card__icon {
        width: 24px;
        height: 24px;
        min-width: 24px;
        font-size: 24px;
    }

    .keystone-hero .keystone-feature-card__text {
        font-size: 13px;
        line-height: 1.08;
    }
}

/* Restore the Section 9 reference layout - v1.26.0 */
@media (min-width: 1181px) {
    .keystone-after-accident__inner {
        padding-right: 8px;
        padding-left: 8px;
    }

    .keystone-after-accident__grid {
        grid-template-columns: minmax(0, 1.42fr) minmax(480px, 1fr);
        gap: 22px;
        align-items: stretch;
    }

    .keystone-after-accident__image-wrap,
    .keystone-after-accident__image,
    .keystone-after-accident__card {
        height: 490px;
        min-height: 490px;
    }

    .keystone-after-accident__image {
        object-fit: cover;
    }

    .keystone-after-accident__card {
        padding: 26px 36px 0;
    }

    .keystone-after-accident__card-title {
        margin-bottom: 8px;
        font-size: 26px;
    }

    .keystone-after-accident-item {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 16px;
        min-height: 58px;
        padding: 12px 0;
    }

    .keystone-after-accident-item__icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
        background: #0a63f6;
        color: #fff;
        font-size: 17px;
    }

    .keystone-after-accident-item__text {
        font-size: 15px;
        line-height: 1.35;
    }

    .keystone-after-accident__callout {
        flex-wrap: nowrap;
        gap: 14px;
        min-height: 96px;
        padding: 16px 0 18px;
    }

    .keystone-after-accident-callout__left {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
    }

    .keystone-after-accident-callout__icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 0;
        background: transparent;
        color: #0a63f6;
        font-size: 40px;
    }

    .keystone-after-accident-callout__text {
        font-size: 14px;
        line-height: 1.4;
    }

    .keystone-after-accident__button {
        min-width: 140px;
        min-height: 46px;
        padding: 11px 18px;
        font-size: 15px;
    }
}

.keystone-after-accident-svg {
    display: block;
    width: 1em;
    height: 1em;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.keystone-after-accident-item__icon .keystone-after-accident-svg {
    width: 17px;
    height: 17px;
    color: #fff;
    stroke-width: 3;
}

.keystone-after-accident-callout__icon .keystone-after-accident-svg {
    width: 40px;
    height: 40px;
    color: #0a63f6;
    stroke-width: 1.8;
}

/* After Accident section width refinement - v1.28.0 */
@media (min-width: 1181px) {
    .keystone-after-accident__inner {
        max-width: 1160px !important;
    }
}

/* Callback reference match - v1.31.0 (final precedence; width unchanged) */
.keystone-callback {
    background:
        radial-gradient(circle at 78% 44%, rgba(16, 108, 232, .34), transparent 37%),
        linear-gradient(128deg, #00245f 0%, #003c96 52%, #0865d2 100%) !important;
}

.keystone-callback::before {
    background: linear-gradient(120deg, rgba(0, 24, 75, .42), rgba(0, 88, 208, .08)) !important;
}

.keystone-callback__watermark {
    top: -28px !important;
    right: -20px !important;
    width: 300px !important;
    opacity: .1 !important;
}

.keystone-callback__grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
    align-items: start;
    gap: 42px;
}

.keystone-callback__heading-row {
    grid-template-columns: 66px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 20px !important;
}

.keystone-callback__heading-icon {
    width: 62px !important;
    height: 62px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0b83f8 !important;
    clip-path: polygon(50% 0, 93% 24%, 93% 76%, 50% 100%, 7% 76%, 7% 24%);
    color: #fff !important;
    font-size: 27px !important;
}

.keystone-callback__heading-icon::before {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: -1;
    background: #04347e;
    clip-path: inherit;
}

.keystone-callback__heading-icon i,
.keystone-callback__heading-icon svg {
    position: relative;
    z-index: 2;
    color: #fff !important;
    fill: currentColor !important;
}

.keystone-callback__heading {
    position: relative;
    padding-bottom: 14px;
    font-size: clamp(36px, 3vw, 46px) !important;
    font-weight: 700 !important;
    letter-spacing: -.025em;
}

.keystone-callback__heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 58px;
    height: 3px;
    border-radius: 999px;
    background: #14a0ff;
}

.keystone-callback__description {
    margin-top: 12px !important;
    max-width: 520px;
    font-size: 17px !important;
    line-height: 1.45 !important;
}

.keystone-callback__form-card {
    margin-top: 20px !important;
    padding: 28px 30px 30px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(0, 18, 65, .2) !important;
}

.keystone-callback__fields {
    gap: 17px 24px !important;
}

.keystone-callback__field {
    position: relative;
    gap: 7px !important;
    color: #071e43;
    font-size: 14px;
    font-weight: 700;
}

.keystone-callback__field::after {
    content: "";
    position: absolute;
    bottom: 14px;
    left: 14px;
    width: 20px;
    height: 20px;
    pointer-events: none;
    background-color: #59709a;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/contain no-repeat;
}

.keystone-callback__field--phone::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 3h4l2 5-3 2c1.5 3 3 4.5 6 6l2-3 5 2v4c0 1.1-.9 2-2 2C10.2 21 3 13.8 3 5c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 3h4l2 5-3 2c1.5 3 3 4.5 6 6l2-3 5 2v4c0 1.1-.9 2-2 2C10.2 21 3 13.8 3 5c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E");
}

.keystone-callback__field--email::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

.keystone-callback__field--accident_date::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E");
}

.keystone-callback__field--driveable::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m5 11 2-5h10l2 5'/%3E%3Crect x='3' y='11' width='18' height='7' rx='2'/%3E%3Cpath d='M6 18v2M18 18v2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m5 11 2-5h10l2 5'/%3E%3Crect x='3' y='11' width='18' height='7' rx='2'/%3E%3Cpath d='M6 18v2M18 18v2'/%3E%3C/svg%3E");
}

.keystone-callback__field--postcode::after,
.keystone-callback__field--address::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 22s7-6 7-13a7 7 0 1 0-14 0c0 7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 22s7-6 7-13a7 7 0 1 0-14 0c0 7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E");
}

.keystone-callback__field--details::after {
    top: 42px;
    bottom: auto;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m4 20 4-1 11-11-3-3L5 16l-1 4Z'/%3E%3Cpath d='m14 7 3 3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m4 20 4-1 11-11-3-3L5 16l-1 4Z'/%3E%3Cpath d='m14 7 3 3'/%3E%3C/svg%3E");
}

.keystone-callback__field input,
.keystone-callback__field select,
.keystone-callback__field textarea {
    min-height: 50px !important;
    padding: 12px 14px 12px 44px !important;
    border: 1px solid #c6d2e3 !important;
    border-radius: 6px !important;
    color: #071e43 !important;
}

.keystone-callback__field textarea {
    height: 94px !important;
    padding-top: 14px !important;
}

.keystone-callback__consent {
    margin-top: 16px !important;
    font-size: 13px !important;
}

.keystone-callback__captcha {
    min-height: 70px;
    margin-top: 18px !important;
    padding: 14px !important;
}

.keystone-callback__submit {
    min-height: 60px;
    margin-top: 20px !important;
    border-radius: 7px !important;
    background: linear-gradient(90deg, #063e9d, #075aca) !important;
    font-size: 16px !important;
}

.keystone-callback__side {
    gap: 16px !important;
}

.keystone-callback__image {
    width: 100% !important;
    height: 345px !important;
    border-radius: 26px !important;
    clip-path: inset(0 round 26px);
    object-fit: cover !important;
}

.keystone-callback__info-card,
.keystone-callback__address,
.keystone-callback__benefits {
    padding: 20px !important;
    border: 1px solid rgba(27, 151, 255, .14) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(0, 43, 116, .98), rgba(0, 27, 77, .98)) !important;
}

.keystone-callback__hours-title {
    min-height: 42px;
    padding-left: 54px !important;
    font-size: 18px !important;
}

.keystone-callback__hours-title::before {
    width: 42px !important;
    height: 42px !important;
}

.keystone-callback__hours-row {
    padding: 11px 0 !important;
    font-size: 15px;
}

.keystone-callback__phone {
    min-height: 72px;
    margin-top: 18px !important;
    padding: 5px 0 0 72px !important;
}

.keystone-callback__phone::before {
    content: "" !important;
    width: 58px !important;
    height: 58px !important;
    background-color: #fff !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.6 10.8c1.5 3 3.8 5.3 6.7 6.7l2.2-2.2c.3-.3.7-.4 1.1-.2 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.7c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.4 0 .8-.2 1.1l-2.3 2.3Z'/%3E%3C/svg%3E") center/25px no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.6 10.8c1.5 3 3.8 5.3 6.7 6.7l2.2-2.2c.3-.3.7-.4 1.1-.2 1.2.4 2.4.6 3.7.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.7c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.7.1.4 0 .8-.2 1.1l-2.3 2.3Z'/%3E%3C/svg%3E") center/25px no-repeat !important;
}

.keystone-callback__phone a {
    font-size: 28px !important;
}

.keystone-callback__address {
    min-height: 120px;
    padding-left: 20px !important;
}

.keystone-callback__address-title {
    min-height: 42px;
    padding-left: 54px !important;
    font-size: 17px !important;
}

.keystone-callback__address-title::before {
    width: 42px !important;
    height: 42px !important;
}

.keystone-callback__benefits {
    min-height: 84px;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center;
    gap: 14px !important;
}

.keystone-callback__benefits > div {
    gap: 11px !important;
    font-size: 13px !important;
    line-height: 1.35;
}

.keystone-callback__benefits > div > span {
    flex-basis: 42px !important;
    width: 42px !important;
    height: 42px !important;
}

@media (max-width: 1024px) {
    .keystone-callback__grid {
        grid-template-columns: 1fr;
    }

    .keystone-callback__image {
        height: min(420px, 52vw) !important;
    }
}

@media (max-width: 767px) {
    .keystone-callback__heading-row {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .keystone-callback__heading-icon {
        width: 48px !important;
        height: 48px !important;
        font-size: 21px !important;
    }

    .keystone-callback__heading {
        font-size: clamp(30px, 9vw, 38px) !important;
    }

    .keystone-callback__description {
        font-size: 15px !important;
    }

    .keystone-callback__form-card {
        padding: 22px 18px 24px !important;
    }

    .keystone-callback__fields {
        grid-template-columns: 1fr !important;
    }

    .keystone-callback__image {
        height: 260px !important;
        border-radius: 20px !important;
        clip-path: inset(0 round 20px);
    }

    .keystone-callback__benefits {
        grid-template-columns: 1fr !important;
    }
}

/* Recovery icon and image refinements - v1.29.0 */
.keystone-recovery-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #0a63f6;
    font-size: 36px;
    line-height: 1;
}

.keystone-recovery-item__icon i {
    color: inherit !important;
    font-size: inherit;
    line-height: 1;
}

.keystone-recovery-item__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit !important;
    fill: currentColor !important;
}

.keystone-recovery-item__icon.keystone-mask {
    background-color: currentColor !important;
}

.keystone-recovery__legal-image {
    display: block;
    overflow: hidden;
    border-radius: var(--keystone-recovery-image-radius, 20px);
    clip-path: inset(0 round var(--keystone-recovery-image-radius, 20px));
}

/* Callback visual restoration - v1.30.0 (container width intentionally unchanged) */
.keystone-callback__heading-icon {
    position: relative;
    flex: 0 0 auto;
    overflow: hidden;
    background: rgba(2, 35, 95, .42);
    color: #fff !important;
}

.keystone-callback__heading-icon i,
.keystone-callback__heading-icon svg {
    color: inherit !important;
    fill: currentColor !important;
}

.keystone-callback__heading-row {
    align-items: center;
}

.keystone-callback__description {
    max-width: 560px;
}

.keystone-callback__form-card {
    border: 1px solid rgba(255, 255, 255, .35);
    box-shadow: 0 18px 45px rgba(0, 20, 67, .2);
}

.keystone-callback__field input,
.keystone-callback__field select,
.keystone-callback__field textarea {
    transition: border-color .2s ease, box-shadow .2s ease;
}

.keystone-callback__field input:focus,
.keystone-callback__field select:focus,
.keystone-callback__field textarea:focus {
    outline: 0;
    border-color: #0a76ff;
    box-shadow: 0 0 0 3px rgba(10, 118, 255, .12);
}

.keystone-callback__image {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 26px;
    box-shadow: 0 16px 34px rgba(0, 20, 67, .2);
    object-position: center;
}

.keystone-callback__info-card,
.keystone-callback__address,
.keystone-callback__benefits {
    background: linear-gradient(145deg, rgba(0, 38, 105, .94), rgba(0, 27, 77, .94));
    border: 1px solid rgba(26, 160, 255, .14);
    box-shadow: 0 12px 26px rgba(0, 20, 67, .16);
}

.keystone-callback__hours-title,
.keystone-callback__address-title {
    position: relative;
    min-height: 34px;
    padding-left: 48px;
    display: flex;
    align-items: center;
}

.keystone-callback__hours-title::before,
.keystone-callback__address-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 36px;
    height: 36px;
    transform: translateY(-50%);
    background-color: #18a2ff;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.keystone-callback__hours-title::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}

.keystone-callback__address-title::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M12 22s7-6 7-13a7 7 0 1 0-14 0c0 7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M12 22s7-6 7-13a7 7 0 1 0-14 0c0 7 7 13 7 13Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/svg%3E");
}

.keystone-callback__phone {
    position: relative;
    min-height: 64px;
    padding-left: 68px;
    justify-content: center;
}

.keystone-callback__phone::before {
    content: "☎";
    position: absolute;
    left: 0;
    top: 4px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: #0a63f6;
    font-size: 27px;
    line-height: 1;
}

.keystone-callback__email {
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.keystone-callback__address {
    padding-left: 20px;
}

.keystone-callback__address-title {
    margin-bottom: 8px;
}

.keystone-callback__benefits > div {
    min-width: 0;
}

.keystone-callback__benefits > div > span {
    position: relative;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
}

.keystone-callback__benefits > div > span i,
.keystone-callback__benefits > div > span svg {
    display: none;
}

.keystone-callback__benefits > div > span::before {
    content: "";
    width: 34px;
    height: 34px;
    background-color: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.keystone-callback__benefits > div:nth-child(1) > span::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 2 4 5v6c0 5.3 3.4 9.2 8 11 4.6-1.8 8-5.7 8-11V5l-8-3Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 2 4 5v6c0 5.3 3.4 9.2 8 11 4.6-1.8 8-5.7 8-11V5l-8-3Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
}

.keystone-callback__benefits > div:nth-child(2) > span::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 2 4 5v6c0 5.3 3.4 9.2 8 11 4.6-1.8 8-5.7 8-11V5l-8-3Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 2 4 5v6c0 5.3 3.4 9.2 8 11 4.6-1.8 8-5.7 8-11V5l-8-3Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
}

.keystone-callback__benefits > div:nth-child(3) > span::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='m5 11 2-5h10l2 5'/%3E%3Cpath d='M3 11h18v7H3z'/%3E%3Ccircle cx='7' cy='16' r='1' fill='black'/%3E%3Ccircle cx='17' cy='16' r='1' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='m5 11 2-5h10l2 5'/%3E%3Cpath d='M3 11h18v7H3z'/%3E%3Ccircle cx='7' cy='16' r='1' fill='black'/%3E%3Ccircle cx='17' cy='16' r='1' fill='black'/%3E%3C/svg%3E");
}

@media (min-width: 768px) and (max-width: 1024px) {
    .keystone-hero .keystone-hero__buttons {
        margin-bottom: 90px;
    }
}

/* Sections 6–8 */
.keystone-mask{display:inline-block;background:currentColor;-webkit-mask:var(--keystone-icon-url) center/contain no-repeat;mask:var(--keystone-icon-url) center/contain no-repeat}.keystone-recovery,.keystone-callback,.keystone-network{position:relative;overflow:hidden;width:100%;box-sizing:border-box}.keystone-recovery *,.keystone-callback *,.keystone-network *{box-sizing:border-box}.keystone-recovery{color:#fff;background:#052967 var(--keystone-recovery-bg) center/cover no-repeat}.keystone-recovery:before,.keystone-callback:before,.keystone-network:before{content:"";position:absolute;inset:0;pointer-events:none}.keystone-recovery:before{background:linear-gradient(135deg,rgba(2,25,70,.96),rgba(0,79,197,.82))}.keystone-recovery__watermark,.keystone-callback__watermark,.keystone-network__watermark{position:absolute;right:-2%;top:-4%;width:38%;max-width:600px;opacity:.12;z-index:1}.keystone-recovery__inner,.keystone-callback__inner,.keystone-network__inner{position:relative;z-index:2;max-width:1300px;margin:auto}.keystone-recovery__header{text-align:center}.keystone-recovery__top-icon{font-size:38px;color:#1a8cff}.keystone-recovery__eyebrow{margin-top:8px;font-size:16px;font-weight:700;letter-spacing:.32em}.keystone-recovery__heading{margin:10px 0 0;font-size:54px;line-height:1.05}.keystone-recovery__heading span{color:#2586f7}.keystone-recovery__description{margin-top:15px;font-size:19px;line-height:1.45}.keystone-recovery__panel{margin-top:28px;padding:32px 38px;border-radius:24px;background:#fff;color:#071e43;box-shadow:0 20px 50px rgba(0,0,0,.18)}.keystone-recovery__panel-title{display:flex;align-items:center;justify-content:center;gap:35px;font-size:24px;font-weight:700}.keystone-recovery__panel-title span{width:65px;height:3px;background:#0a63f6}.keystone-recovery__panel-main{display:grid;grid-template-columns:1fr 280px;gap:35px;margin-top:25px}.keystone-recovery__items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}.keystone-recovery-item{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center}.keystone-recovery-item__icon-wrap{width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eff5ff}.keystone-recovery-item__icon{width:48px;height:48px;font-size:48px;color:#0a63f6}.keystone-recovery-item__title{font-size:18px;font-weight:700}.keystone-recovery-item__text{margin-top:5px;color:#43516c;font-size:14px;line-height:1.45}.keystone-recovery__legal-image{width:100%;height:100%;max-height:270px;object-fit:cover;border-radius:14px}.keystone-recovery__legal-row{display:grid;grid-template-columns:1fr 360px;gap:25px;margin-top:25px;padding-top:24px;border-top:1px solid #dfe7f0}.keystone-recovery__legal-title{font-size:18px;font-weight:700}.keystone-recovery__legal-text{margin-top:6px;color:#43516c;line-height:1.5}.keystone-recovery__badge{display:flex;align-items:center;gap:16px;padding:12px;border-radius:12px;background:linear-gradient(135deg,#0d3f9f,#0764df);color:#fff}.keystone-recovery__badge img{width:85px;height:65px;object-fit:contain;background:#fff;border-radius:8px}.keystone-recovery__bottom{text-align:center;margin-top:25px;font-size:19px}.keystone-recovery__bottom strong{display:block;color:#2586f7;font-size:25px;margin-top:3px}

.keystone-callback{color:#fff;background:#052967 var(--keystone-callback-bg) center/cover no-repeat}.keystone-callback:before{background:linear-gradient(135deg,rgba(0,30,87,.97),rgba(0,82,194,.88))}.keystone-callback__grid{display:grid;grid-template-columns:1.1fr .85fr;gap:44px}.keystone-callback__heading-row{display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start}.keystone-callback__heading-icon{width:58px;height:58px;border:2px solid #1aa0ff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff}.keystone-callback__heading{margin:0;font-size:44px;line-height:1.1}.keystone-callback__description{margin-top:12px;font-size:18px;line-height:1.5}.keystone-callback__form-card{margin-top:20px;padding:28px;border-radius:20px;background:#fff;color:#071e43}.keystone-callback__fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.keystone-callback__field{display:flex;flex-direction:column;gap:8px;font-weight:700}.keystone-callback__field.is-wide{grid-column:1/-1}.keystone-callback__field input,.keystone-callback__field select,.keystone-callback__field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #cbd6e5;border-radius:6px;background:#fff;color:#071e43}.keystone-callback__field textarea{height:92px;resize:vertical}.keystone-callback__consent{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:14px;line-height:1.45}.keystone-callback__consent input{width:23px;height:23px}.keystone-callback__captcha{display:flex;align-items:center;gap:12px;width:290px;margin-top:18px;padding:15px;border:1px solid #d5dbe5;background:#f7f7f7}.keystone-callback__captcha input{width:24px;height:24px}.keystone-callback__submit{display:flex;justify-content:center;align-items:center;gap:20px;width:100%;margin-top:20px;padding:18px;border:0;border-radius:7px;background:#0a63f6;color:#fff;font-weight:700;font-size:18px}.keystone-callback__side{display:flex;flex-direction:column;gap:16px}.keystone-callback__image{width:100%;height:345px;object-fit:cover;border-radius:26px}.keystone-callback__info-card,.keystone-callback__address,.keystone-callback__benefits{padding:20px;border-radius:18px;background:rgba(1,30,83,.72);border:1px solid rgba(255,255,255,.08)}.keystone-callback__hours-title,.keystone-callback__address-title{color:#19a2ff;font-size:18px;font-weight:700}.keystone-callback__hours-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}.keystone-callback__phone{display:grid;margin-top:16px}.keystone-callback__phone b{font-size:30px}.keystone-callback__phone span{margin-top:4px}.keystone-callback__address{line-height:1.45}.keystone-callback__benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.keystone-callback__benefits>div{display:flex;align-items:center;gap:10px;font-size:14px}.keystone-callback__benefits span{font-size:30px}

.keystone-network{background:#f6f9fe var(--keystone-network-bg) center/cover no-repeat;color:#071e43}.keystone-network:before{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,248,255,.88))}.keystone-network header{text-align:center}.keystone-network__eyebrow{display:inline-flex;padding:9px 25px;border-radius:999px;background:#0a63f6;color:#fff;font-size:17px;font-weight:700}.keystone-network__heading{margin:18px 0 0;font-size:48px;line-height:1.04}.keystone-network__divider{display:block;width:70px;height:4px;margin:16px auto;background:#0a63f6}.keystone-network__description{font-size:19px;line-height:1.5}.keystone-network__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}.keystone-network__image{width:100%;height:100%;min-height:470px;object-fit:cover;border-radius:18px}.keystone-network__card{padding:28px;border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(7,30,67,.1)}.keystone-network__card h3{margin:0;font-size:28px}.keystone-network__card p{font-size:16px;line-height:1.5}.keystone-network-point{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #dfe7f0}.keystone-network-point__icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eff5ff;color:#0a63f6;font-size:20px}.keystone-network__highlights{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;padding:16px;border-radius:14px;background:#f2f6fc}.keystone-network-highlight{text-align:center;padding:0 14px;border-right:1px solid #d5dfec}.keystone-network-highlight:last-child{border:0}.keystone-network-highlight__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:auto;border-radius:50%;background:#e8f1ff;color:#0a63f6}.keystone-network-highlight strong{display:block;margin-top:8px}

@media(max-width:1024px){.keystone-recovery__panel-main,.keystone-recovery__legal-row,.keystone-callback__grid,.keystone-network__grid{grid-template-columns:1fr}.keystone-recovery__items{grid-template-columns:repeat(2,1fr)}.keystone-recovery__legal-image{max-height:320px}.keystone-callback__side{display:grid;grid-template-columns:1fr 1fr}.keystone-callback__image,.keystone-callback__benefits{grid-column:1/-1}.keystone-network__image{min-height:380px}}
@media(max-width:767px){.keystone-recovery__inner,.keystone-callback__inner,.keystone-network__inner{padding:26px 16px!important}.keystone-recovery__heading,.keystone-callback__heading,.keystone-network__heading{font-size:34px}.keystone-recovery__items{grid-template-columns:1fr}.keystone-recovery__panel{padding:22px 16px}.keystone-recovery__panel-title{font-size:19px;gap:12px}.keystone-recovery__panel-title span{width:30px}.keystone-recovery__legal-row{grid-template-columns:1fr}.keystone-callback__heading-row{grid-template-columns:50px 1fr}.keystone-callback__heading-icon{width:44px;height:44px}.keystone-callback__fields{grid-template-columns:1fr}.keystone-callback__side{display:flex}.keystone-callback__image{height:260px}.keystone-callback__benefits{grid-template-columns:1fr}.keystone-network__image{min-height:280px}.keystone-network__highlights{grid-template-columns:1fr}.keystone-network-highlight{padding:12px 0;border-right:0;border-bottom:1px solid #d5dfec}.keystone-network-highlight:last-child{border-bottom:0}.keystone-recovery__watermark,.keystone-callback__watermark,.keystone-network__watermark{width:70%;right:-25%}}

.elementor-widget-keystone-after-accident { width:100%; }
.keystone-after-accident,.keystone-after-accident *{box-sizing:border-box;}
.keystone-after-accident{position:relative;overflow:hidden;width:100%;background:linear-gradient(135deg,#ffffff 0%,#f4f8fd 100%);}
.keystone-after-accident__bg{position:absolute;top:14px;right:-18px;width:430px;max-width:none;height:auto;opacity:.16;pointer-events:none;user-select:none;z-index:1;}
.keystone-after-accident__inner{position:relative;z-index:2;max-width:1300px;margin:0 auto;padding:24px 58px 28px;}
.keystone-after-accident__header{display:flex;flex-direction:column;align-items:center;text-align:center;}
.keystone-after-accident__eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:9px 28px;min-height:42px;border:2px solid #8DB4F7;border-radius:999px;color:#0A63F6;font-size:17px;font-weight:700;line-height:1.15;background:rgba(255,255,255,.55);}
.keystone-after-accident__heading{margin:22px 0 0;color:#071A3B;font-size:42px;font-weight:700;line-height:1.12;letter-spacing:-.03em;}
.keystone-after-accident__divider{display:block;width:100px;height:4px;margin-top:18px;border-radius:999px;background:#0A63F6;}
.keystone-after-accident__description{max-width:860px;margin-top:18px;color:#5A6376;font-size:17px;line-height:1.55;}
.keystone-after-accident__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(350px,1fr);gap:22px;align-items:stretch;margin-top:34px;}
.keystone-after-accident__image-wrap{min-width:0;}
.keystone-after-accident__image{display:block;width:100%;height:100%;min-height:490px;object-fit:cover;border-radius:24px;}
.keystone-after-accident__card{position:relative;display:flex;flex-direction:column;padding:28px 34px 0;border-radius:24px;background:#fff;box-shadow:0 10px 25px rgba(7,30,67,.08);overflow:hidden;min-width:0;}
.keystone-after-accident__card-title{margin:0 0 12px;color:#071A3B;font-size:27px;font-weight:700;line-height:1.16;}
.keystone-after-accident__items{display:flex;flex-direction:column;}
.keystone-after-accident-item{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #e2e7ef;min-width:0;}
.keystone-after-accident-item__icon,.keystone-after-accident-callout__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border-radius:50%;color:#0A63F6;font-size:40px;line-height:1;background:#fff;}
.keystone-after-accident-item__icon.keystone-mask,.keystone-after-accident-callout__icon.keystone-mask{background-color:currentColor;-webkit-mask-image:var(--keystone-icon-url);mask-image:var(--keystone-icon-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;}
.keystone-after-accident-item__icon svg,.keystone-after-accident-item__icon img,.keystone-after-accident-callout__icon svg,.keystone-after-accident-callout__icon img{display:block;width:100%;height:100%;object-fit:contain;}
.keystone-after-accident-item__text{color:#2f3648;font-size:16px;font-weight:500;line-height:1.5;}
.keystone-after-accident__callout{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding:22px 0 24px;min-height:118px;}
.keystone-after-accident__card-watermark{position:absolute;right:8px;bottom:-12px;width:160px;max-width:none;height:auto;opacity:.10;pointer-events:none;user-select:none;z-index:1;}
.keystone-after-accident-callout__left{position:relative;z-index:2;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:18px;min-width:0;flex:1 1 auto;}
.keystone-after-accident-callout__text{color:#4b5468;font-size:16px;line-height:1.55;}
.keystone-after-accident__callout.is-button-hidden{justify-content:flex-start;}
.keystone-after-accident__callout.is-button-hidden .keystone-after-accident-callout__left{width:100%;flex:1 1 100%;grid-template-columns:40px minmax(0,1fr);align-items:start;}
.keystone-after-accident__callout.is-button-hidden .keystone-after-accident-callout__text{width:100%;max-width:none;padding-right:0;}
.keystone-after-accident__button{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;min-width:165px;min-height:48px;padding:12px 24px;border-radius:10px;background:#0A63F6;color:#fff;text-decoration:none;font-size:18px;font-weight:700;line-height:1.2;box-shadow:0 10px 24px rgba(10,99,246,.18);transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;}
.keystone-after-accident__button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(10,99,246,.22);}
.keystone-after-accident__button-arrow{font-size:22px;line-height:1;}
@media (max-width: 1180px){.keystone-after-accident__inner{padding-right:28px;padding-left:28px;}.keystone-after-accident__grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);gap:18px;}.keystone-after-accident__image{min-height:440px;}.keystone-after-accident__card{padding:24px 24px 0;}.keystone-after-accident__card-title{font-size:24px;}}
@media (max-width: 900px){.keystone-after-accident__grid{grid-template-columns:1fr;}.keystone-after-accident__image{min-height:360px;}.keystone-after-accident__card{padding-bottom:0;}}
@media (max-width: 767px){.keystone-after-accident__inner{padding:22px 18px 24px;}.keystone-after-accident__eyebrow{min-height:36px;padding:8px 18px;font-size:14px;}.keystone-after-accident__heading{margin-top:18px;font-size:clamp(30px,8vw,44px);}.keystone-after-accident__description{margin-top:14px;font-size:15px;}.keystone-after-accident__grid{margin-top:24px;gap:18px;}.keystone-after-accident__image{min-height:280px;border-radius:20px;}.keystone-after-accident__card{padding:22px 18px 0;border-radius:20px;}.keystone-after-accident__card-title{font-size:23px;}.keystone-after-accident-item{grid-template-columns:34px 1fr;gap:14px;padding:15px 0;}.keystone-after-accident-item__icon,.keystone-after-accident-callout__icon{width:34px;height:34px;min-width:34px;font-size:34px;}.keystone-after-accident-item__text{font-size:15px;}.keystone-after-accident__callout{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 0 20px;}.keystone-after-accident-callout__left{grid-template-columns:34px 1fr;gap:14px;}.keystone-after-accident-callout__text{font-size:14px;}.keystone-after-accident__callout.is-button-hidden .keystone-after-accident-callout__left{grid-template-columns:34px minmax(0,1fr);}.keystone-after-accident__button{width:100%;min-width:0;font-size:16px;}.keystone-after-accident__bg{width:260px;right:-80px;top:110px;}.keystone-after-accident__card-watermark{width:120px;right:-6px;}}
@media (max-width: 480px){.keystone-after-accident__inner{padding-right:14px;padding-left:14px;}.keystone-after-accident__image{min-height:235px;}.keystone-after-accident__card{padding-right:16px;padding-left:16px;}}

/* Keystone responsive framework — v1.13.0 */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    html,
    body {
        overflow-x: clip;
    }
}

.elementor-widget-keystone-header,
.elementor-widget-keystone-hero,
.elementor-widget-keystone-feature,
.elementor-widget-keystone-why-choose,
.elementor-widget-keystone-how-it-works,
.elementor-widget-keystone-services,
.elementor-widget-keystone-recovery,
.elementor-widget-keystone-callback,
.elementor-widget-keystone-network,
.elementor-widget-keystone-after-accident {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.keystone-header,
.keystone-hero,
.keystone-feature,
.keystone-why,
.keystone-how,
.keystone-services,
.keystone-recovery,
.keystone-callback,
.keystone-network,
.keystone-after-accident {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

@supports (overflow: clip) {
    .keystone-header,
    .keystone-hero,
    .keystone-feature,
    .keystone-why,
    .keystone-how,
    .keystone-services,
    .keystone-recovery,
    .keystone-callback,
    .keystone-network,
    .keystone-after-accident {
        overflow-x: clip;
    }
}

.keystone-header *,
.keystone-hero *,
.keystone-feature *,
.keystone-why *,
.keystone-how *,
.keystone-services *,
.keystone-recovery *,
.keystone-callback *,
.keystone-network *,
.keystone-after-accident * {
    box-sizing: border-box;
    min-width: 0;
}

.keystone-header img,
.keystone-hero img,
.keystone-feature img,
.keystone-why img,
.keystone-how img,
.keystone-services img,
.keystone-recovery img,
.keystone-callback img,
.keystone-network img,
.keystone-after-accident img {
    max-width: 100%;
}

.keystone-header__inner,
.keystone-hero__container,
.keystone-feature__inner,
.keystone-why__inner,
.keystone-how__inner,
.keystone-services__inner,
.keystone-recovery__inner,
.keystone-callback__inner,
.keystone-network__inner,
.keystone-after-accident__inner {
    width: 100% !important;
    max-width: 1300px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.keystone-hero__heading {
    font-size: clamp(40px, 4.25vw, 61px);
}

.keystone-feature__heading,
.keystone-why__heading,
.keystone-how__heading,
.keystone-services__heading,
.keystone-recovery__heading,
.keystone-callback__heading,
.keystone-network__heading,
.keystone-after-accident__heading {
    font-size: clamp(36px, 3.75vw, 52px);
}

.keystone-hero__description,
.keystone-feature__description,
.keystone-why__description,
.keystone-how__description,
.keystone-services__description,
.keystone-recovery__description,
.keystone-callback__description,
.keystone-network__description,
.keystone-after-accident__description {
    font-size: clamp(15px, 1.35vw, 19px);
}

.keystone-feature-card__title,
.keystone-why-card__title,
.keystone-how-step__title,
.keystone-service-card__title,
.keystone-network__card h3,
.keystone-after-accident__card-title {
    font-size: clamp(19px, 1.7vw, 27px);
}

.keystone-feature-card__description,
.keystone-why-card__description,
.keystone-how-step__description,
.keystone-service-card__description,
.keystone-recovery-item__text,
.keystone-network__card p,
.keystone-after-accident-item__text {
    overflow-wrap: anywhere;
}

.keystone-callback__captcha,
.keystone-callback__field input,
.keystone-callback__field select,
.keystone-callback__field textarea,
.keystone-callback__submit,
.keystone-after-accident__button {
    max-width: 100%;
}

/* Compact desktop/laptop header before the tablet breakpoint. */
@media (min-width: 1025px) and (max-width: 1366px) {
    .keystone-topbar__inner {
        padding-right: 22px;
        padding-left: 22px;
    }

    .keystone-mainbar__inner {
        grid-template-columns: minmax(210px, 255px) minmax(0, 1fr) auto;
        gap: 14px;
        padding: 12px 20px;
    }

    .keystone-header__logo img {
        width: 250px;
    }

    .keystone-nav > ul,
    .keystone-nav .keystone-menu-list {
        gap: clamp(12px, 1.3vw, 19px);
    }

    .keystone-nav a {
        gap: 4px;
        font-size: 13px;
    }

    .keystone-header__actions {
        gap: 7px;
    }

    .keystone-header-btn {
        min-height: 46px;
        padding-right: 12px;
        padding-left: 12px;
        font-size: 13px;
    }

    .keystone-header-phone > span:first-child {
        width: 30px;
        height: 30px;
    }

    .keystone-hero__content {
        padding-right: 24px;
        padding-left: 34px;
    }

    .keystone-benefits {
        right: 20px;
        left: 20px;
    }

    .keystone-benefit {
        gap: 10px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .keystone-benefit__text {
        font-size: 13px;
    }

    .keystone-recovery__panel,
    .keystone-callback__form-card,
    .keystone-network__card {
        max-width: 100%;
    }
}

/* iPad and tablet layout. */
@media (min-width: 768px) and (max-width: 1024px) {
    .keystone-topbar__inner,
    .keystone-mainbar__inner,
    .keystone-feature__inner,
    .keystone-why__inner,
    .keystone-how__inner,
    .keystone-services__inner,
    .keystone-recovery__inner,
    .keystone-callback__inner,
    .keystone-network__inner,
    .keystone-after-accident__inner {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    .keystone-header__logo img {
        width: min(280px, 46vw);
    }

    .keystone-mobile-call {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .keystone-hero__main {
        min-height: 680px;
    }

    .keystone-hero__content {
        width: 58%;
        min-height: 680px;
        padding: 42px 24px 150px 28px;
    }

    .keystone-hero__visual {
        left: 48%;
    }

    .keystone-hero__heading {
        font-size: clamp(38px, 5.4vw, 54px);
    }

    .keystone-benefits {
        right: 18px;
        bottom: 24px;
        left: 18px;
        min-height: 96px;
        padding: 16px 12px;
    }

    .keystone-benefit {
        gap: 8px;
        padding: 0 8px;
    }

    .keystone-benefit__icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
        font-size: 31px;
    }

    .keystone-benefit__text {
        font-size: 12px;
    }

    .keystone-feature__cards,
    .keystone-why__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-how__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }

    .keystone-how-step {
        min-height: 350px;
        padding-right: 14px;
        padding-left: 14px;
    }

    .keystone-how-step__title {
        font-size: 18px;
    }

    .keystone-services__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-recovery__panel-main,
    .keystone-recovery__legal-row,
    .keystone-callback__grid,
    .keystone-network__grid,
    .keystone-after-accident__grid {
        grid-template-columns: 1fr;
    }

    .keystone-recovery__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-callback__side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-callback__image,
    .keystone-callback__benefits {
        grid-column: 1 / -1;
    }

    .keystone-network__image,
    .keystone-after-accident__image {
        min-height: 360px;
    }
}

/* Mobile layout and fluid type. */
@media (max-width: 767px) {
    .keystone-topbar__inner,
    .keystone-mainbar__inner,
    .keystone-feature__inner,
    .keystone-why__inner,
    .keystone-how__inner,
    .keystone-services__inner,
    .keystone-recovery__inner,
    .keystone-callback__inner,
    .keystone-network__inner,
    .keystone-after-accident__inner {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .keystone-header__logo img {
        width: min(245px, 58vw);
    }

    .keystone-mainbar__inner {
        min-height: 80px;
    }

    .keystone-header__mobile-actions {
        gap: 12px;
    }

    .keystone-mobile-call {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .keystone-menu-toggle {
        width: 42px;
    }

    .keystone-hero__heading,
    .keystone-feature__heading,
    .keystone-why__heading,
    .keystone-how__heading,
    .keystone-services__heading,
    .keystone-recovery__heading,
    .keystone-callback__heading,
    .keystone-network__heading,
    .keystone-after-accident__heading {
        font-size: clamp(29px, 8.6vw, 40px);
        line-height: 1.08;
    }

    .keystone-hero__description,
    .keystone-feature__description,
    .keystone-why__description,
    .keystone-how__description,
    .keystone-services__description,
    .keystone-recovery__description,
    .keystone-callback__description,
    .keystone-network__description,
    .keystone-after-accident__description {
        font-size: clamp(14px, 4vw, 16px);
    }

    .keystone-hero__buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .keystone-hero__button {
        min-width: 0;
        padding-right: 10px;
        padding-left: 10px;
        font-size: clamp(14px, 4vw, 18px);
    }

    .keystone-callback__captcha {
        width: 100%;
    }

    .keystone-recovery__panel,
    .keystone-callback__form-card,
    .keystone-network__card,
    .keystone-after-accident__card {
        width: 100%;
        max-width: 100%;
    }

    .keystone-recovery__badge,
    .keystone-after-accident__callout {
        flex-wrap: wrap;
    }

    .keystone-callback__hours-row {
        gap: 14px;
    }

    .keystone-callback__hours-row > * {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 420px) {
    .keystone-topbar__item:nth-child(n+3) {
        display: none;
    }

    .keystone-header__logo img {
        width: min(205px, 56vw);
    }

    .keystone-hero__buttons {
        grid-template-columns: 1fr;
    }

    .keystone-recovery-item {
        grid-template-columns: 64px 1fr;
    }

    .keystone-recovery-item__icon-wrap {
        width: 60px;
        height: 60px;
    }

    .keystone-recovery-item__icon {
        width: 38px;
        height: 38px;
        font-size: 38px;
    }
}

/* Keystone CTA */
.elementor-widget-keystone-cta{width:100%;}
.keystone-cta,.keystone-cta *{box-sizing:border-box;}
.keystone-cta{position:relative;width:100%;overflow:hidden;border:1px solid #dfe8f3;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);box-shadow:0 12px 30px rgba(7,30,67,.08);}
.keystone-cta__inner{position:relative;z-index:2;display:grid;grid-template-columns:330px minmax(0,1fr);align-items:center;gap:36px;width:100%;max-width:1300px;margin:0 auto;padding:36px 48px;}
.keystone-cta__portraits{display:flex;align-items:center;justify-content:center;min-width:0;}
.keystone-cta__portraits img{width:126px;height:126px;object-fit:cover;border:4px solid #fff;border-radius:50%;box-shadow:0 5px 14px rgba(7,30,67,.16);margin-left:-28px;}
.keystone-cta__portraits img:first-child{margin-left:0;}
.keystone-cta__content{min-width:0;}
.keystone-cta__label{display:flex;align-items:center;gap:10px;color:#0a63f6;font-size:18px;font-weight:600;line-height:1.3;}
.keystone-cta__label-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;font-size:28px;}
.keystone-cta__heading{margin:14px 0 0;color:#071a3b;font-size:clamp(34px,3.1vw,52px);font-weight:700;line-height:1.08;letter-spacing:-.03em;}
.keystone-cta__description{margin-top:10px;color:#3c465b;font-size:clamp(16px,1.35vw,22px);line-height:1.5;}
.keystone-cta__actions-row{display:grid;grid-template-columns:minmax(240px,1.05fr) minmax(210px,.9fr) minmax(220px,.95fr);align-items:center;gap:24px;margin-top:26px;}
.keystone-cta__phone{display:flex;align-items:center;gap:16px;color:#0a63f6;text-decoration:none;font-size:clamp(25px,2.25vw,38px);font-weight:700;white-space:nowrap;}
.keystone-cta__phone-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border-radius:50%;color:#fff!important;background:#0a63f6;font-size:24px;}
.keystone-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:62px;padding:14px 24px;border-radius:10px;color:#fff;text-decoration:none;font-size:clamp(17px,1.4vw,22px);font-weight:700;white-space:nowrap;box-shadow:0 10px 22px rgba(7,30,67,.12);transition:transform .2s ease,filter .2s ease;}
.keystone-cta__button:hover{color:#fff;transform:translateY(-2px);filter:brightness(.98);}
.keystone-cta__button span{display:inline-flex;align-items:center;justify-content:center;}
.keystone-cta__button--callback{background:#09a85a;}.keystone-cta__button--claim{background:#086cf0;}
.keystone-cta__watermark{position:absolute;right:12px;top:-24px;width:300px;max-width:none;height:auto;opacity:.08;pointer-events:none;user-select:none;z-index:1;}
@media(max-width:1180px){.keystone-cta__inner{grid-template-columns:260px minmax(0,1fr);gap:24px;padding:30px 28px;}.keystone-cta__portraits img{width:100px;height:100px;margin-left:-24px;}.keystone-cta__actions-row{grid-template-columns:1fr 1fr;gap:16px;}.keystone-cta__phone{grid-column:1/-1;}.keystone-cta__button{min-height:56px;}}
@media(max-width:767px){.keystone-cta__inner{grid-template-columns:1fr;gap:22px;padding:26px 18px;text-align:center;}.keystone-cta__portraits img{width:92px;height:92px;}.keystone-cta__content{display:flex;flex-direction:column;align-items:center;}.keystone-cta__label{justify-content:center;font-size:15px;}.keystone-cta__heading{font-size:clamp(30px,9vw,42px);}.keystone-cta__description{font-size:16px;}.keystone-cta__actions-row{width:100%;grid-template-columns:1fr;gap:12px;margin-top:22px;}.keystone-cta__phone{grid-column:auto;justify-content:center;font-size:28px;}.keystone-cta__phone-icon{width:46px;height:46px;flex-basis:46px;}.keystone-cta__button{width:100%;min-height:54px;font-size:18px;}.keystone-cta__watermark{width:220px;right:-80px;top:20px;}}
@media(max-width:420px){.keystone-cta__portraits img{width:78px;height:78px;margin-left:-20px;}.keystone-cta__phone{font-size:23px;gap:10px;}}

/* Keystone Footer */
.elementor-widget-keystone-footer{width:100%;}
.keystone-footer,.keystone-footer *{box-sizing:border-box;}
.keystone-footer{width:100%;overflow:hidden;color:#fff;background:radial-gradient(circle at 60% 25%,#07315f 0,#021a37 48%,#011327 100%);font-size:16px;line-height:1.5;}
.keystone-footer a{color:#fff;text-decoration:none;transition:color .2s ease,opacity .2s ease;}.keystone-footer a:hover{color:#0a7bff;}
.keystone-footer__container{width:100%;max-width:1300px;margin:0 auto;}
.keystone-footer__top{border-bottom:1px solid rgba(255,255,255,.2);}
.keystone-footer__top-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:26px 28px;}
.keystone-footer__top-item{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:14px;padding:0 20px;border-right:1px solid rgba(255,255,255,.2);min-width:0;}
.keystone-footer__top-item:first-child{padding-left:0;}.keystone-footer__top-item:last-child{padding-right:0;border-right:0;}
.keystone-footer__top-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid #0a7bff;border-radius:50%;color:#0a7bff;font-size:28px;}
.keystone-footer__top-item strong{display:block;font-size:16px;line-height:1.3;}.keystone-footer__top-item>span>span{display:block;margin-top:3px;}
.keystone-footer__main{padding:34px 36px;}
.keystone-footer__grid{display:grid;grid-template-columns:1.15fr minmax(0,1.1fr) minmax(0,1.1fr) 1.35fr;gap:0;}
.keystone-footer__column{min-width:0;padding:0 34px;border-right:1px solid rgba(255,255,255,.2);}.keystone-footer__column:first-child{padding-left:0;}.keystone-footer__column:last-child{padding-right:0;border-right:0;}
.keystone-footer__logo-link{display:block;max-width:285px;width:100%;line-height:0;text-decoration:none;}.keystone-footer__logo{display:block;max-width:285px;width:100%;height:auto;}
.keystone-footer__about{margin-top:22px;font-size:16px;line-height:1.65;}
.keystone-footer__location{display:grid;grid-template-columns:26px 1fr;gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);}.keystone-footer__location strong,.keystone-footer__location span span{display:block;}
.keystone-footer__socials{display:flex;gap:14px;margin-top:20px;}.keystone-footer__socials a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;font-size:20px;}
.keystone-footer__heading{margin:0 0 22px;color:#0a7bff;font-size:17px;font-weight:700;line-height:1.25;}
.keystone-footer__links,.keystone-footer__service-links{display:grid;gap:14px;}.keystone-footer__links a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;}.keystone-footer__service-links a{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;column-gap:12px;min-height:28px;font-size:15px;line-height:1.45;}
.keystone-footer__service-links .keystone-footer__icon{align-self:start;justify-self:center;margin-top:0;}
.keystone-footer__service-text{display:block;min-width:0;line-height:1.45;}
.keystone-footer__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#0a7bff;font-size:26px;}
.keystone-footer__contact{display:flex;flex-direction:column;gap:22px;}.keystone-footer__contact .keystone-footer__heading{margin-bottom:0;}
.keystone-footer__contact-item{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:14px;}.keystone-footer__contact-item strong,.keystone-footer__contact-item span span{display:block;}
.keystone-footer__muted{color:#c4d2e5;}
.keystone-footer__bottom{border-top:1px solid rgba(255,255,255,.2);}.keystone-footer__bottom-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:18px 28px;font-size:14px;}
.keystone-footer__legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;}.keystone-footer__legal a{padding:0 22px;border-right:1px solid rgba(255,255,255,.35);}.keystone-footer__legal a:last-child{border-right:0;}.keystone-footer__credit{white-space:nowrap;}
.keystone-footer .keystone-mask{background-color:currentColor;-webkit-mask-image:var(--keystone-icon-url);mask-image:var(--keystone-icon-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;}
@media(max-width:1180px){.keystone-footer__top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 0;}.keystone-footer__top-item{border-right:0;padding:0 18px;}.keystone-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 0;}.keystone-footer__column:nth-child(2){border-right:0;}.keystone-footer__column:nth-child(3){padding-left:0;}.keystone-footer__bottom-grid{grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px;}}
@media(max-width:767px){.keystone-footer__top-grid{grid-template-columns:1fr;padding:24px 18px;gap:0;}.keystone-footer__top-item{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.15);}.keystone-footer__top-item:last-child{border-bottom:0;}.keystone-footer__main{padding:28px 18px;}.keystone-footer__grid{grid-template-columns:1fr;gap:0;}.keystone-footer__column,.keystone-footer__column:first-child,.keystone-footer__column:nth-child(3){padding:26px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);}.keystone-footer__column:first-child{padding-top:0;}.keystone-footer__column:last-child{border-bottom:0;padding-bottom:0;}.keystone-footer__logo-link,.keystone-footer__logo{max-width:260px;}.keystone-footer__bottom-grid{padding:20px 18px;}.keystone-footer__legal{gap:10px 18px;}.keystone-footer__legal a{padding:0;border-right:0;}.keystone-footer__contact-item{grid-template-columns:30px 1fr;}.keystone-footer__top-icon{width:52px;height:52px;font-size:25px;}}

/* CTA widget refinements - v1.15.0 */
.keystone-cta__inner{
    grid-template-columns:minmax(240px,340px) minmax(0,1fr);
    gap:44px;
}
.keystone-cta__portraits{
    align-self:center;
    justify-content:flex-start;
}
.keystone-cta__portrait-single{
    display:block;
    width:100%;
    max-width:340px;
    height:auto;
    object-fit:contain;
}
.keystone-cta__actions-row{
    grid-template-columns:minmax(290px,max-content) minmax(230px,250px) minmax(240px,260px);
    gap:26px;
}
.keystone-cta__phone{
    gap:18px;
    padding-right:8px;
}
.keystone-cta__phone-icon{
    width:56px;
    height:56px;
    flex:0 0 56px;
    font-size:22px;
    box-shadow:0 10px 24px rgba(10,99,246,.18);
}
.keystone-cta__phone-icon svg,
.keystone-cta__phone-icon i{
    color:#ffffff !important;
    fill:#ffffff;
}
@media(max-width:1180px){
    .keystone-cta__inner{grid-template-columns:260px minmax(0,1fr);gap:28px;}
    .keystone-cta__portrait-single{max-width:260px;}
    .keystone-cta__actions-row{grid-template-columns:minmax(280px,max-content) 1fr 1fr;gap:18px;}
}
@media(max-width:900px){
    .keystone-cta__inner{grid-template-columns:1fr;gap:24px;}
    .keystone-cta__portraits{justify-content:center;}
    .keystone-cta__portrait-single{max-width:300px;margin:0 auto;}
    .keystone-cta__content{display:flex;flex-direction:column;align-items:center;text-align:center;}
    .keystone-cta__actions-row{width:100%;grid-template-columns:1fr 1fr;}
    .keystone-cta__phone{grid-column:1/-1;justify-content:center;padding-right:0;}
}
@media(max-width:767px){
    .keystone-cta__portrait-single{max-width:240px;}
    .keystone-cta__actions-row{grid-template-columns:1fr;gap:12px;}
    .keystone-cta__phone{grid-column:auto;}
    .keystone-cta__phone-icon{width:48px;height:48px;flex-basis:48px;font-size:19px;}
}

/* CTA and Footer icon/layout corrections - v1.16.0 */
.keystone-cta__inner{
    grid-template-columns:300px minmax(0,1fr);
    gap:32px;
}
.keystone-cta__portraits{
    justify-content:center;
    align-self:center;
}
.keystone-cta__portraits img{
    width:112px;
    height:112px;
    margin-left:-25px;
    object-fit:cover;
    border:4px solid #ffffff;
    border-radius:50%;
    box-shadow:0 5px 14px rgba(7,30,67,.16);
}
.keystone-cta__portraits img:first-child{margin-left:0;}
.keystone-cta__actions-row{
    grid-template-columns:minmax(315px,max-content) minmax(215px,1fr) minmax(230px,1fr);
    gap:24px;
}
.keystone-cta__phone{
    gap:15px;
    padding-right:0;
    font-size:clamp(25px,2vw,34px);
}
.keystone-cta__phone-icon{
    width:52px;
    height:52px;
    flex:0 0 52px;
    font-size:23px;
    box-shadow:none;
}
.keystone-cta__label-icon svg,
.keystone-cta__phone-icon svg,
.keystone-cta__button svg{
    display:block;
    width:1em !important;
    height:1em !important;
    fill:currentColor !important;
    color:currentColor !important;
}
.keystone-cta__label-icon svg path,
.keystone-cta__phone-icon svg path,
.keystone-cta__button svg path{
    fill:currentColor !important;
}
.keystone-cta__label-icon i,
.keystone-cta__phone-icon i,
.keystone-cta__button i{
    color:currentColor !important;
}
.keystone-cta__phone-icon,
.keystone-cta__phone-icon svg,
.keystone-cta__phone-icon svg path,
.keystone-cta__button,
.keystone-cta__button svg,
.keystone-cta__button svg path{
    color:#ffffff !important;
    fill:#ffffff !important;
}

.keystone-footer__top-icon svg,
.keystone-footer__icon svg,
.keystone-footer__socials a svg{
    display:block;
    width:1em !important;
    height:1em !important;
    color:currentColor !important;
    fill:currentColor !important;
}
.keystone-footer__top-icon svg path,
.keystone-footer__icon svg path,
.keystone-footer__socials a svg path{
    fill:currentColor !important;
}
.keystone-footer__top-icon i,
.keystone-footer__icon i,
.keystone-footer__socials a i{
    color:currentColor !important;
}
.keystone-footer__socials a{
    color:#ffffff !important;
}
.keystone-footer__top-icon,
.keystone-footer__icon{
    color:#0a7bff;
}

@media(max-width:1180px){
    .keystone-cta__inner{grid-template-columns:260px minmax(0,1fr);gap:26px;}
    .keystone-cta__portraits img{width:98px;height:98px;margin-left:-22px;}
    .keystone-cta__actions-row{grid-template-columns:1fr 1fr;gap:16px;}
    .keystone-cta__phone{grid-column:1/-1;justify-content:flex-start;padding-right:0;}
}
@media(max-width:900px){
    .keystone-cta__inner{grid-template-columns:1fr;gap:22px;}
    .keystone-cta__portraits{justify-content:center;}
    .keystone-cta__content{display:flex;flex-direction:column;align-items:center;text-align:center;}
    .keystone-cta__phone{justify-content:center;}
}
@media(max-width:767px){
    .keystone-cta__portraits img{width:88px;height:88px;margin-left:-22px;}
    .keystone-cta__actions-row{grid-template-columns:1fr;gap:12px;}
    .keystone-cta__phone{grid-column:auto;}
    .keystone-cta__phone-icon{width:46px;height:46px;flex-basis:46px;font-size:20px;}
}
@media(max-width:420px){
    .keystone-cta__portraits img{width:76px;height:76px;margin-left:-18px;}
}


/* Header dropdown, submenu and mega menu system - v1.17.0 */
.keystone-dropdown-icon-template {
    display: none !important;
}

.keystone-mainbar,
.keystone-mainbar__inner,
.keystone-header__desktop-nav,
.keystone-nav {
    position: relative;
}

.keystone-nav > .keystone-menu-list > li,
.keystone-nav > ul > li {
    display: flex;
    align-items: center;
}

.keystone-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    margin: 0 0 0 3px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--keystone-blue);
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.keystone-submenu-toggle svg,
.keystone-submenu-toggle i {
    display: block;
    width: 12px;
    height: 12px;
    font-size: 12px;
    fill: currentColor;
}

.keystone-submenu-toggle:hover,
.keystone-submenu-toggle:focus-visible {
    background: #eef5ff;
    color: var(--keystone-blue);
    outline: none;
}

.keystone-submenu-toggle--indicator {
    pointer-events: none;
}

.keystone-nav .menu-item-has-children.is-submenu-open > .keystone-submenu-toggle,
.keystone-mobile-nav .menu-item-has-children.is-submenu-open > .keystone-submenu-toggle {
    transform: rotate(180deg);
}

.keystone-nav .sub-menu {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    z-index: 9999;
    display: block;
    min-width: 250px;
    padding: 10px;
    margin: 0;
    list-style: none;
    border: 1px solid #e1e9f3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(5, 31, 69, .16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(9px);
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.keystone-nav .sub-menu::before {
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 15px;
    content: "";
}

.keystone-nav li:hover > .sub-menu,
.keystone-nav li:focus-within > .sub-menu,
.keystone-nav li.is-submenu-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.keystone-nav .sub-menu li {
    position: relative;
    display: flex;
    align-items: center;
}

.keystone-nav .sub-menu a {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 11px 13px;
    border-radius: 7px;
    white-space: normal;
    text-decoration: none;
}

.keystone-nav .sub-menu .sub-menu {
    top: -10px;
    left: calc(100% + 10px);
}

.keystone-submenu-item__label {
    display: block;
    font-weight: 700;
    line-height: 1.3;
}

.keystone-submenu-item__description {
    display: block;
    color: #68748a;
    font-size: .86em;
    font-weight: 400;
    line-height: 1.45;
}

/* Mega menu: per-item class, manual menu, or all parent items mode. */
.keystone-nav > .keystone-menu-list > li.keystone-mega-menu,
.keystone-nav > ul > li.keystone-mega-menu,
.keystone-menu-mode--mega .keystone-nav > .keystone-menu-list > li.menu-item-has-children,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children {
    position: static;
}

.keystone-nav > .keystone-menu-list > li.keystone-mega-menu > .sub-menu,
.keystone-nav > ul > li.keystone-mega-menu > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > .keystone-menu-list > li.menu-item-has-children > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children > .sub-menu {
    top: calc(100% + 12px);
    left: 50%;
    display: grid;
    grid-template-columns: repeat(var(--keystone-item-mega-columns, var(--keystone-mega-columns, 3)), minmax(0, 1fr));
    gap: 10px 18px;
    width: min(1050px, calc(100vw - 40px));
    max-width: calc(100vw - 40px);
    padding: 22px;
    transform: translate(-50%, 9px);
}

.keystone-nav > .keystone-menu-list > li.keystone-mega-menu:hover > .sub-menu,
.keystone-nav > .keystone-menu-list > li.keystone-mega-menu:focus-within > .sub-menu,
.keystone-nav > .keystone-menu-list > li.keystone-mega-menu.is-submenu-open > .sub-menu,
.keystone-nav > ul > li.keystone-mega-menu:hover > .sub-menu,
.keystone-nav > ul > li.keystone-mega-menu:focus-within > .sub-menu,
.keystone-nav > ul > li.keystone-mega-menu.is-submenu-open > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > .keystone-menu-list > li.menu-item-has-children:hover > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > .keystone-menu-list > li.menu-item-has-children:focus-within > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > .keystone-menu-list > li.menu-item-has-children.is-submenu-open > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children:hover > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children:focus-within > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children.is-submenu-open > .sub-menu {
    transform: translate(-50%, 0);
}

.keystone-nav .keystone-mega-menu > .sub-menu > li,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children > .sub-menu > li {
    display: block;
    min-width: 0;
}

.keystone-nav .keystone-mega-menu > .sub-menu > li > a,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children > .sub-menu > li > a {
    min-height: 100%;
    padding: 14px 16px;
    border: 1px solid #e6edf6;
    background: #fff;
}

.keystone-nav .keystone-mega-menu > .sub-menu > li > .sub-menu,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children > .sub-menu > li > .sub-menu {
    position: static;
    display: block;
    min-width: 0;
    padding: 4px 0 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
}

.keystone-nav .keystone-mega-menu > .sub-menu > li > .sub-menu a,
.keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children > .sub-menu > li > .sub-menu a {
    padding: 8px 16px;
    font-weight: 500;
}

@media (max-width: 1100px) and (min-width: 768px) {
    .keystone-nav > .keystone-menu-list > li.keystone-mega-menu > .sub-menu,
    .keystone-nav > ul > li.keystone-mega-menu > .sub-menu,
    .keystone-menu-mode--mega .keystone-nav > .keystone-menu-list > li.menu-item-has-children > .sub-menu,
    .keystone-menu-mode--mega .keystone-nav > ul > li.menu-item-has-children > .sub-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(760px, calc(100vw - 30px));
        padding: 18px;
    }
}

@media (max-width: 767px) {
    .keystone-mobile-nav .keystone-menu-list > li,
    .keystone-mobile-nav > ul > li {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 44px;
        align-items: center;
        border-bottom: 1px solid #e3eaf3;
    }

    .keystone-mobile-nav .keystone-menu-list > li > a,
    .keystone-mobile-nav > ul > li > a {
        min-width: 0;
        padding: 14px 4px;
    }

    .keystone-mobile-nav .keystone-submenu-toggle {
        width: 40px;
        height: 40px;
        margin: 0;
        justify-self: end;
    }

    .keystone-mobile-nav .keystone-submenu-toggle svg,
    .keystone-mobile-nav .keystone-submenu-toggle i {
        width: 14px;
        height: 14px;
        font-size: 14px;
    }

    .keystone-mobile-nav .sub-menu {
        position: static;
        grid-column: 1 / -1;
        display: none;
        min-width: 0 !important;
        width: 100% !important;
        max-width: none !important;
        padding: 4px 0 12px 14px;
        margin: 0;
        border: 0;
        border-radius: 0 !important;
        background: transparent;
        box-shadow: none !important;
        opacity: 1;
        visibility: visible;
        transform: none !important;
        pointer-events: auto;
    }

    .keystone-mobile-nav li.is-submenu-open > .sub-menu {
        display: block;
    }

    .keystone-mobile-nav .sub-menu li {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 40px;
        align-items: center;
        border-bottom: 0;
    }

    .keystone-mobile-nav .sub-menu a {
        padding: 11px 8px;
        white-space: normal;
    }

    .keystone-mobile-nav .sub-menu .sub-menu {
        padding-left: 14px;
    }

    .keystone-mobile-nav .keystone-submenu-item__description {
        display: none;
    }
}

/* Contact details update - v1.18.0 */
.keystone-callback__phone,
.keystone-callback__email {
    display: grid;
}
.keystone-callback__email {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.18);
}
.keystone-callback__phone a,
.keystone-callback__email a {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}
.keystone-callback__phone a {
    font-size: 30px;
}
.keystone-callback__email a {
    margin-top: 3px;
    font-size: 18px;
    overflow-wrap: anywhere;
}
.keystone-callback__phone span,
.keystone-callback__email span {
    margin-top: 4px;
}

/* =========================================================
   Keystone inner page widgets — v1.19.0
   ========================================================= */
.elementor-widget-keystone-inner-how-it-works,
.elementor-widget-keystone-inner-services,
.elementor-widget-keystone-inner-accident-repairs,
.elementor-widget-keystone-inner-replacement-vehicle,
.elementor-widget-keystone-inner-recovery-storage,
.elementor-widget-keystone-inner-personal-injury,
.elementor-widget-keystone-inner-taxi-pco,
.elementor-widget-keystone-inner-essex,
.elementor-widget-keystone-inner-about,
.elementor-widget-keystone-inner-faq,
.elementor-widget-keystone-inner-contact,
.elementor-widget-keystone-inner-legal {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.keystone-inner-page,
.keystone-inner-page *,
.keystone-inner-faq,
.keystone-inner-faq *,
.keystone-inner-contact,
.keystone-inner-contact * {
    box-sizing: border-box;
}

.keystone-inner-page,
.keystone-inner-faq,
.keystone-inner-contact {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
    color: #071a3b;
    isolation: isolate;
}

.keystone-inner-page::before,
.keystone-inner-faq::before,
.keystone-inner-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: var(--keystone-inner-bg, var(--keystone-faq-bg, var(--keystone-contact-bg, none)));
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: .12;
    pointer-events: none;
}

.keystone-inner-page__watermark,
.keystone-inner-faq__watermark,
.keystone-inner-contact__watermark {
    position: absolute;
    top: 28px;
    right: -70px;
    z-index: -1;
    width: min(38vw, 520px);
    max-width: none;
    height: auto;
    opacity: .12;
    pointer-events: none;
    user-select: none;
}

.keystone-inner-page__inner,
.keystone-inner-faq__inner,
.keystone-inner-contact__inner {
    position: relative;
    width: 100%;
    max-width: 1300px;
    min-width: 0;
    margin: 0 auto;
    padding: 62px 28px;
}

.keystone-inner-page__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    align-items: center;
    gap: clamp(28px, 5vw, 72px);
    min-width: 0;
}

.keystone-inner-page__hero.is-left .keystone-inner-page__hero-media {
    order: -1;
}

.keystone-inner-page__hero.is-below {
    grid-template-columns: 1fr;
    text-align: center;
}

.keystone-inner-page__hero.is-below .keystone-inner-page__hero-content {
    max-width: 920px;
    margin: 0 auto;
}

.keystone-inner-page__hero.is-below .keystone-inner-page__hero-actions {
    justify-content: center;
}

.keystone-inner-page__hero.is-none {
    grid-template-columns: 1fr;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.keystone-inner-page__hero.is-none .keystone-inner-page__hero-actions {
    justify-content: center;
}

.keystone-inner-page__hero-content,
.keystone-inner-page__hero-media,
.keystone-inner-page__section-content,
.keystone-inner-contact__header-content {
    min-width: 0;
}

.keystone-inner-page__eyebrow,
.keystone-inner-faq__eyebrow,
.keystone-inner-contact__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 20px;
    border-radius: 999px;
    background: #eaf3ff;
    color: #0a63f6;
    font-size: clamp(13px, 1.15vw, 16px);
    font-weight: 700;
    line-height: 1.2;
}

.keystone-inner-page__title,
.keystone-inner-faq__title,
.keystone-inner-contact__title {
    margin: 20px 0 0;
    color: #071a3b;
    font-size: clamp(36px, 4.3vw, 62px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}

.keystone-inner-page__intro,
.keystone-inner-faq__intro,
.keystone-inner-contact__intro {
    margin-top: 22px;
    color: #48556d;
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 1.65;
}

.keystone-inner-page__intro p,
.keystone-inner-page__section-body p,
.keystone-inner-contact__detail p {
    margin: 0 0 14px;
}

.keystone-inner-page__intro p:last-child,
.keystone-inner-page__section-body p:last-child,
.keystone-inner-contact__detail p:last-child {
    margin-bottom: 0;
}

.keystone-inner-page__hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.keystone-inner-page__button,
.keystone-inner-page__bottom-button,
.keystone-inner-contact__submit,
.keystone-inner-faq__cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 24px;
    border: 2px solid transparent;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.keystone-inner-page__button:hover,
.keystone-inner-page__bottom-button:hover,
.keystone-inner-contact__submit:hover,
.keystone-inner-faq__cta a:hover {
    transform: translateY(-2px);
}

.keystone-inner-page__button.is-primary,
.keystone-inner-page__bottom-button {
    background: #0a63f6;
    color: #fff;
    box-shadow: 0 12px 30px rgba(10, 99, 246, .22);
}

.keystone-inner-page__button.is-secondary {
    border-color: #0a63f6;
    color: #0a63f6;
    background: #fff;
}

.keystone-inner-page__hero-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: clamp(320px, 38vw, 500px);
    object-fit: cover;
    border-radius: 28px;
    box-shadow: 0 24px 60px rgba(7, 30, 67, .14);
}

.keystone-inner-page__sections {
    display: grid;
    gap: 24px;
    margin-top: clamp(54px, 7vw, 90px);
    min-width: 0;
}

.keystone-inner-page__sections.is-rows {
    grid-template-columns: 1fr;
}

.keystone-inner-page__sections.is-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.keystone-inner-page__sections.is-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    counter-reset: keystone-step;
}

.keystone-inner-page__section {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid #e2eaf4;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7, 30, 67, .08);
    overflow: hidden;
}

.keystone-inner-page__sections.is-rows .keystone-inner-page__section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
}

.keystone-inner-page__section-main {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
    min-width: 0;
}

.keystone-inner-page__sections.is-cards .keystone-inner-page__section-main,
.keystone-inner-page__sections.is-steps .keystone-inner-page__section-main {
    grid-template-columns: 1fr;
}

.keystone-inner-page__icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 18px;
    background: #edf5ff;
    flex: 0 0 68px;
}

.keystone-inner-page__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: #0a63f6;
    font-size: 42px;
    line-height: 1;
}

.keystone-inner-page__icon svg,
.keystone-inner-page__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.keystone-inner-page__icon.keystone-svg-mask {
    background-color: currentColor;
    -webkit-mask: var(--keystone-icon-url) center / contain no-repeat;
    mask: var(--keystone-icon-url) center / contain no-repeat;
}

.keystone-inner-page__step-number {
    position: absolute;
    top: 18px;
    right: 20px;
    color: rgba(10, 99, 246, .12);
    font-size: clamp(44px, 5vw, 72px);
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.keystone-inner-page__section-title {
    margin: 0;
    color: #071a3b;
    font-size: clamp(23px, 2.25vw, 32px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.keystone-inner-page__section-body,
.keystone-inner-page__bullets {
    margin-top: 14px;
    color: #48556d;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.65;
}

.keystone-inner-page__bullets {
    display: grid;
    gap: 10px;
    padding: 0;
    list-style: none;
}

.keystone-inner-page__bullets li {
    position: relative;
    padding-left: 28px;
}

.keystone-inner-page__bullets li::before {
    content: "✓";
    position: absolute;
    top: .05em;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #0a63f6;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.keystone-inner-page__section-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: #0a63f6;
    font-weight: 700;
    text-decoration: none;
}

.keystone-inner-page__section-image {
    display: block;
    width: min(330px, 32vw);
    max-width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 18px;
}

.keystone-inner-page__sections.is-cards .keystone-inner-page__section-image,
.keystone-inner-page__sections.is-steps .keystone-inner-page__section-image {
    width: 100%;
    height: 220px;
    order: -1;
    margin-bottom: 22px;
}

.keystone-inner-page__bottom-cta,
.keystone-inner-faq__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: clamp(48px, 7vw, 84px);
    padding: clamp(28px, 4vw, 48px);
    border-radius: 24px;
    background: #071f43;
    color: #fff;
    box-shadow: 0 18px 46px rgba(7, 31, 67, .18);
}

.keystone-inner-page__bottom-cta h2,
.keystone-inner-faq__cta h2 {
    margin: 0;
    color: inherit;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.12;
}

.keystone-inner-page__bottom-cta p,
.keystone-inner-faq__cta p {
    margin: 10px 0 0;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.55;
    opacity: .88;
}

.keystone-inner-page__bottom-button,
.keystone-inner-faq__cta a {
    flex: 0 0 auto;
    background: #0a63f6;
    color: #fff;
}

/* FAQ */
.keystone-inner-faq__header {
    max-width: 940px;
    margin: 0 auto;
    text-align: center;
}

.keystone-inner-faq__groups {
    display: grid;
    gap: 42px;
    margin-top: 56px;
}

.keystone-inner-faq__category-title {
    margin: 0 0 18px;
    color: #071a3b;
    font-size: clamp(26px, 2.6vw, 36px);
    line-height: 1.15;
}

.keystone-inner-faq__items {
    display: grid;
    gap: 12px;
}

.keystone-inner-faq__item {
    border: 1px solid #e1e9f3;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(7, 30, 67, .06);
    overflow: hidden;
}

.keystone-inner-faq__question {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 20px 22px;
    border: 0;
    background: transparent;
    color: #071a3b;
    font: inherit;
    font-size: clamp(16px, 1.4vw, 19px);
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.keystone-inner-faq__qicon,
.keystone-inner-faq__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0a63f6;
}

.keystone-inner-faq__qicon {
    font-size: 24px;
}

.keystone-inner-faq__toggle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #edf5ff;
    font-size: 22px;
    font-weight: 500;
    transition: transform .2s ease;
}

.keystone-inner-faq__item.is-open .keystone-inner-faq__toggle {
    transform: rotate(45deg);
}

.keystone-inner-faq__answer {
    padding: 14px 22px 22px 68px;
    color: #48556d;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.65;
}

.keystone-inner-faq__answer[hidden] {
    display: none !important;
}

.keystone-inner-faq__answer p {
    margin: 0;
}

/* Contact */
.keystone-inner-contact__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 480px);
    align-items: center;
    gap: clamp(28px, 5vw, 70px);
}

.keystone-inner-contact__team-image {
    display: block;
    width: 100%;
    height: clamp(280px, 34vw, 430px);
    object-fit: cover;
    border-radius: 26px;
    box-shadow: 0 20px 50px rgba(7, 30, 67, .12);
}

.keystone-inner-contact__details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 48px;
}

.keystone-inner-contact__detail-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    min-width: 0;
    padding: 26px;
    border: 1px solid #e1e9f3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(7, 30, 67, .07);
}

.keystone-inner-contact__detail-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #edf5ff;
    color: #0a63f6;
    font-size: 24px;
}

.keystone-inner-contact__detail-card h2 {
    margin: 0;
    color: #071a3b;
    font-size: clamp(21px, 2vw, 27px);
    line-height: 1.2;
}

.keystone-inner-contact__primary-link {
    display: inline-block;
    max-width: 100%;
    margin-top: 10px;
    color: #0a63f6;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.keystone-inner-contact__detail {
    margin-top: 10px;
    color: #48556d;
    font-size: 15px;
    line-height: 1.55;
}

.keystone-inner-contact__detail address {
    font-style: normal;
}

.keystone-inner-contact__form-card {
    margin-top: 26px;
    padding: clamp(26px, 4vw, 44px);
    border: 1px solid #e1e9f3;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(7, 30, 67, .08);
}

.keystone-inner-contact__form-heading h2 {
    margin: 0;
    color: #071a3b;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.15;
}

.keystone-inner-contact__form-intro {
    margin-top: 10px;
    color: #48556d;
    font-size: 16px;
    line-height: 1.55;
}

.keystone-inner-contact__notice {
    margin-top: 20px;
    padding: 14px 18px;
    border-radius: 10px;
    font-weight: 600;
}

.keystone-inner-contact__notice.is-success {
    background: #e7f8ee;
    color: #08783d;
}

.keystone-inner-contact__notice.is-error {
    background: #fff0f0;
    color: #a62222;
}

.keystone-inner-contact__form {
    margin-top: 26px;
}

.keystone-inner-contact__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.keystone-inner-contact__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    color: #071a3b;
    font-size: 14px;
    font-weight: 700;
}

.keystone-inner-contact__field b {
    color: #d62b2b;
}

.keystone-inner-contact__field.is-wide {
    grid-column: 1 / -1;
}

.keystone-inner-contact__field input,
.keystone-inner-contact__field select,
.keystone-inner-contact__field textarea {
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #cfdae9;
    border-radius: 9px;
    background: #fff;
    color: #17233a;
    font: inherit;
    font-weight: 400;
    outline: none;
}

.keystone-inner-contact__field textarea {
    min-height: 126px;
    resize: vertical;
}

.keystone-inner-contact__field input:focus,
.keystone-inner-contact__field select:focus,
.keystone-inner-contact__field textarea:focus {
    border-color: #0a63f6;
    box-shadow: 0 0 0 3px rgba(10, 99, 246, .12);
}

.keystone-inner-contact__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    color: #48556d;
    font-size: 14px;
    line-height: 1.5;
}

.keystone-inner-contact__consent input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
}

.keystone-inner-contact__submit {
    margin-top: 22px;
    border: 0;
    background: #0a63f6;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(10, 99, 246, .2);
}

.keystone-inner-contact__submit span {
    margin-left: 10px;
}

.keystone-inner-contact__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Desktop navigation spacing and dropdown-arrow alignment - v1.21.0 */
@media (min-width: 1025px) {
    .keystone-nav > ul,
    .keystone-nav > .keystone-menu-list {
        gap: 20px;
    }

    .keystone-nav > ul > li,
    .keystone-nav > .keystone-menu-list > li {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: flex-start;
        min-width: 0;
        gap: 3px;
        line-height: 1;
    }

    .keystone-nav > ul > li > a,
    .keystone-nav > .keystone-menu-list > li > a {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        min-height: 32px;
        padding: 0;
        line-height: 1.2;
    }

    .keystone-nav > ul > li > .keystone-submenu-toggle,
    .keystone-nav > .keystone-menu-list > li > .keystone-submenu-toggle {
        display: inline-flex;
        flex: 0 0 18px;
        align-self: center;
        width: 18px;
        height: 18px;
        margin: 0;
        padding: 0;
        transform-origin: center;
        vertical-align: middle;
    }

    .keystone-nav > ul > li > .keystone-submenu-toggle svg,
    .keystone-nav > ul > li > .keystone-submenu-toggle i,
    .keystone-nav > .keystone-menu-list > li > .keystone-submenu-toggle svg,
    .keystone-nav > .keystone-menu-list > li > .keystone-submenu-toggle i {
        display: block;
        width: 11px;
        height: 11px;
        margin: auto;
        font-size: 11px;
        line-height: 1;
    }

    .keystone-nav > ul > li.menu-item-has-children.is-submenu-open > .keystone-submenu-toggle,
    .keystone-nav > .keystone-menu-list > li.menu-item-has-children.is-submenu-open > .keystone-submenu-toggle {
        transform: rotate(180deg);
    }
}

@media (max-width: 1100px) {
    .keystone-inner-page__hero,
    .keystone-inner-contact__header {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
        gap: 34px;
    }

    .keystone-inner-page__sections.is-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-inner-contact__details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .keystone-inner-contact__detail-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .keystone-inner-page__hero,
    .keystone-inner-page__hero.is-left,
    .keystone-inner-contact__header {
        grid-template-columns: 1fr;
    }

    .keystone-inner-page__hero.is-left .keystone-inner-page__hero-media {
        order: 0;
    }

    .keystone-inner-page__hero-media,
    .keystone-inner-contact__team-image {
        max-width: 720px;
        margin: 0 auto;
    }

    .keystone-inner-page__sections.is-steps {
        grid-template-columns: 1fr;
    }

    .keystone-inner-page__sections.is-rows .keystone-inner-page__section {
        grid-template-columns: 1fr;
    }

    .keystone-inner-page__section-image {
        width: 100%;
        height: 280px;
        order: -1;
    }

    .keystone-inner-page__bottom-cta,
    .keystone-inner-faq__cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .keystone-inner-page__bottom-button,
    .keystone-inner-faq__cta a {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .keystone-inner-page__inner,
    .keystone-inner-faq__inner,
    .keystone-inner-contact__inner {
        padding: 42px 18px;
    }

    .keystone-inner-page__watermark,
    .keystone-inner-faq__watermark,
    .keystone-inner-contact__watermark {
        top: 70px;
        right: -90px;
        width: 300px;
    }

    .keystone-inner-page__title,
    .keystone-inner-faq__title,
    .keystone-inner-contact__title {
        font-size: clamp(34px, 10vw, 48px);
    }

    .keystone-inner-page__hero-image,
    .keystone-inner-contact__team-image {
        height: 280px;
        border-radius: 20px;
    }

    .keystone-inner-page__hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .keystone-inner-page__button {
        width: 100%;
    }

    .keystone-inner-page__sections.is-cards {
        grid-template-columns: 1fr;
    }

    .keystone-inner-page__section {
        padding: 24px 20px;
    }

    .keystone-inner-page__section-main {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 15px;
    }

    .keystone-inner-page__sections.is-cards .keystone-inner-page__section-main,
    .keystone-inner-page__sections.is-steps .keystone-inner-page__section-main {
        grid-template-columns: 1fr;
    }

    .keystone-inner-page__icon-wrap {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
        border-radius: 14px;
    }

    .keystone-inner-page__icon {
        width: 32px;
        height: 32px;
        font-size: 32px;
    }

    .keystone-inner-page__bottom-cta,
    .keystone-inner-faq__cta {
        padding: 26px 20px;
        border-radius: 18px;
    }

    .keystone-inner-faq__groups {
        gap: 34px;
        margin-top: 42px;
    }

    .keystone-inner-faq__question {
        grid-template-columns: 26px minmax(0, 1fr) 26px;
        gap: 10px;
        padding: 17px 16px;
    }

    .keystone-inner-faq__answer {
        padding: 12px 16px 18px 52px;
    }

    .keystone-inner-contact__details,
    .keystone-inner-contact__fields {
        grid-template-columns: 1fr;
    }

    .keystone-inner-contact__detail-card:last-child,
    .keystone-inner-contact__field.is-wide {
        grid-column: auto;
    }

    .keystone-inner-contact__detail-card {
        padding: 22px 18px;
    }

    .keystone-inner-contact__form-card {
        padding: 24px 18px;
    }

    .keystone-inner-contact__submit {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .keystone-inner-page__inner,
    .keystone-inner-faq__inner,
    .keystone-inner-contact__inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    .keystone-inner-page__section-main,
    .keystone-inner-contact__detail-card {
        grid-template-columns: 1fr;
    }

    .keystone-inner-page__icon-wrap,
    .keystone-inner-contact__detail-icon {
        margin-bottom: 4px;
    }

    .keystone-inner-faq__question {
        grid-template-columns: minmax(0, 1fr) 26px;
    }

    .keystone-inner-faq__qicon {
        display: none;
    }

    .keystone-inner-faq__answer {
        padding-left: 16px;
    }
}

/* Final Section 9 desktop precedence - v1.26.0 */
@media (min-width: 1181px) {
    .keystone-after-accident__inner {
        padding-right: 8px;
        padding-left: 8px;
    }

    .keystone-after-accident__grid {
        grid-template-columns: minmax(0, 1.42fr) minmax(480px, 1fr);
        gap: 22px;
        align-items: stretch;
    }

    .keystone-after-accident__image-wrap,
    .keystone-after-accident__image,
    .keystone-after-accident__card {
        height: 490px;
        min-height: 490px;
    }

    .keystone-after-accident__image {
        object-fit: cover;
    }

    .keystone-after-accident__card {
        padding: 26px 36px 0;
    }

    .keystone-after-accident__card-title {
        margin-bottom: 8px;
        font-size: 26px;
    }

    .keystone-after-accident-item {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 16px;
        min-height: 58px;
        padding: 12px 0;
    }

    .keystone-after-accident-item__icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
        background: #0a63f6;
        color: #fff;
        font-size: 17px;
    }

    .keystone-after-accident-item__text {
        font-size: 15px;
        line-height: 1.35;
    }

    .keystone-after-accident__callout {
        flex-wrap: nowrap;
        gap: 14px;
        min-height: 96px;
        padding: 16px 0 18px;
    }

    .keystone-after-accident-callout__left {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
    }

    .keystone-after-accident-callout__icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 0;
        background: transparent;
        color: #0a63f6;
        font-size: 40px;
    }

    .keystone-after-accident-callout__text {
        font-size: 14px;
        line-height: 1.4;
    }

    .keystone-after-accident__button {
        min-width: 140px;
        min-height: 46px;
        padding: 11px 18px;
        font-size: 15px;
    }
}

.keystone-after-accident-item__icon .keystone-after-accident-svg {
    width: 17px;
    height: 17px;
    color: #fff;
    stroke-width: 3;
}

.keystone-after-accident-callout__icon .keystone-after-accident-svg {
    width: 40px;
    height: 40px;
    color: #0a63f6;
    stroke-width: 1.8;
}

/* Callback v1.31.0 last-load safeguards */
@media (min-width: 1025px) {
    .keystone-callback__grid {
        grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr) !important;
        gap: 42px !important;
    }
}

.keystone-callback__image {
    border-radius: 26px !important;
    clip-path: inset(0 round 26px);
}

/* Repair Network icon correction - v1.32.0 */
.keystone-network-point__icon {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
    border-radius: 50% !important;
    background: #eff5ff !important;
    color: #0a63f6 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.keystone-network-point__icon i,
.keystone-network-point__icon svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    color: inherit !important;
    fill: currentColor !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.keystone-network-point__icon.keystone-mask {
    background-color: currentColor !important;
}

.keystone-network-highlight__icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
    margin: 0 auto !important;
    border-radius: 50% !important;
    background: #e8f1ff !important;
    color: #0a63f6 !important;
    font-size: 21px !important;
    line-height: 1 !important;
}

.keystone-network-highlight__icon i,
.keystone-network-highlight__icon svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    margin: 0 !important;
    color: inherit !important;
    fill: currentColor !important;
    font-size: 21px !important;
    line-height: 1 !important;
}

/* Repair Network responsive layout - v1.33.0 */
.keystone-network,
.keystone-network__inner,
.keystone-network__grid,
.keystone-network__card,
.keystone-network__points,
.keystone-network__highlights {
    min-width: 0;
    max-width: 100%;
}

.keystone-network-point > span:last-child,
.keystone-network-highlight strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    .keystone-network__inner {
        padding: 30px 24px !important;
    }

    .keystone-network__grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
        margin-top: 26px !important;
    }

    .keystone-network__image {
        width: 100% !important;
        height: clamp(340px, 56vw, 520px) !important;
        min-height: 0 !important;
        border-radius: 20px !important;
        object-fit: cover !important;
    }

    .keystone-network__card {
        width: 100%;
        padding: 26px !important;
    }

    .keystone-network__highlights {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .keystone-network__inner {
        padding: 24px 16px 28px !important;
    }

    .keystone-network__watermark {
        right: -90px !important;
        width: 260px !important;
        opacity: .08 !important;
    }

    .keystone-network__eyebrow {
        max-width: 100%;
        padding: 8px 16px !important;
        font-size: 14px !important;
        line-height: 1.3;
        text-align: center;
        white-space: normal;
    }

    .keystone-network__heading {
        margin-top: 15px !important;
        font-size: clamp(30px, 8.5vw, 40px) !important;
        line-height: 1.08 !important;
    }

    .keystone-network__divider {
        width: 58px !important;
        height: 3px !important;
        margin: 14px auto !important;
    }

    .keystone-network__description {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .keystone-network__grid {
        gap: 18px !important;
        margin-top: 22px !important;
    }

    .keystone-network__image {
        height: auto !important;
        aspect-ratio: 4 / 3;
        border-radius: 18px !important;
    }

    .keystone-network__card {
        padding: 22px 18px !important;
        border-radius: 18px !important;
    }

    .keystone-network__card h3 {
        font-size: 24px !important;
        line-height: 1.2;
    }

    .keystone-network__card p {
        margin: 10px 0 6px;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .keystone-network-point {
        align-items: center !important;
        gap: 13px !important;
        padding: 13px 0 !important;
        font-size: 14px;
        line-height: 1.4;
    }

    .keystone-network-point__icon {
        flex-basis: 38px !important;
        width: 38px !important;
        height: 38px !important;
    }

    .keystone-network-point__icon i,
    .keystone-network-point__icon svg {
        width: 18px !important;
        height: 18px !important;
        font-size: 18px !important;
    }

    .keystone-network__highlights {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
        margin-top: 18px !important;
        padding: 14px 8px !important;
        border-radius: 13px !important;
    }

    .keystone-network-highlight {
        padding: 0 8px !important;
    }

    .keystone-network-highlight__icon {
        flex-basis: 34px !important;
        width: 34px !important;
        height: 34px !important;
    }

    .keystone-network-highlight__icon i,
    .keystone-network-highlight__icon svg {
        width: 18px !important;
        height: 18px !important;
        font-size: 18px !important;
    }

    .keystone-network-highlight strong {
        margin-top: 7px !important;
        font-size: 12px;
        line-height: 1.35;
    }
}

@media (max-width: 479px) {
    .keystone-network__image {
        aspect-ratio: 1 / 1;
    }

    .keystone-network__highlights {
        grid-template-columns: minmax(0, 1fr) !important;
        padding: 6px 14px !important;
    }

    .keystone-network-highlight {
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 11px 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #d5dfec;
        text-align: left;
    }

    .keystone-network-highlight:last-child {
        border-bottom: 0;
    }

    .keystone-network-highlight__icon {
        margin: 0 !important;
    }

    .keystone-network-highlight strong {
        margin: 0 !important;
        font-size: 13px;
    }
}

/* Reliable mobile carousel controls - v1.34.0 */
@media (max-width: 767px) {
    .keystone-feature__mobile-controls,
    .keystone-why__mobile-controls,
    .keystone-how__mobile-controls,
    .keystone-services__mobile-controls {
        width: 100%;
        min-height: 42px;
        gap: 12px !important;
        padding: 2px 8px;
    }

    .keystone-feature__carousel-button,
    .keystone-why__carousel-button,
    .keystone-how__carousel-button,
    .keystone-services__carousel-button {
        flex: 0 0 36px !important;
        display: inline-grid !important;
        place-items: center !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-radius: 50% !important;
        line-height: 0 !important;
        box-sizing: border-box !important;
        -webkit-appearance: none;
        appearance: none;
    }

    .keystone-carousel-chevron {
        display: block !important;
        width: 17px !important;
        height: 17px !important;
        margin: 0 !important;
        overflow: visible;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 2.5 !important;
        stroke-linecap: round;
        stroke-linejoin: round;
        pointer-events: none;
    }

    .keystone-feature__swipe-label,
    .keystone-why__swipe-label,
    .keystone-how__swipe-label,
    .keystone-services__swipe-label {
        flex: 0 1 auto;
        margin: 0 !important;
        white-space: nowrap;
    }
}

@media (max-width: 359px) {
    .keystone-feature__mobile-controls,
    .keystone-why__mobile-controls,
    .keystone-how__mobile-controls,
    .keystone-services__mobile-controls {
        gap: 9px !important;
        padding-inline: 0;
    }

    .keystone-feature__swipe-label,
    .keystone-why__swipe-label,
    .keystone-how__swipe-label,
    .keystone-services__swipe-label {
        font-size: 12px !important;
    }
}

/* Reliable After Accident checklist icons - no icon-font dependency. */
.elementor .keystone-after-accident-item__icon {
    background-color: #0a63f6;
    color: #fff;
}

.elementor .keystone-after-accident-item__icon .keystone-after-accident-svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 767px) {
    .elementor .keystone-after-accident-item__icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
        border-radius: 50%;
    }
}

/* Exact active-page navigation state - v1.35.0 */
.keystone-nav li.current-menu-item > a,
.keystone-nav li.current_page_item > a,
.keystone-mobile-nav li.current-menu-item > a,
.keystone-mobile-nav li.current_page_item > a {
    color: #086cf0 !important;
}

/* Inner-page hero image rounding - v1.36.0 */
.keystone-inner-page__hero-media {
    border-radius: var(--keystone-inner-hero-radius, 24px);
}

.keystone-inner-page__hero-media .keystone-inner-page__hero-image {
    border-radius: var(--keystone-inner-hero-radius, 24px) !important;
    clip-path: inset(0 round var(--keystone-inner-hero-radius, 24px));
}

/* FAQ states: white normally, Keystone blue on interaction - v1.39.0 */
.keystone-inner-faq__item,
.keystone-inner-faq__item:hover,
.keystone-inner-faq__item.is-open {
    background: #fff !important;
}

.elementor .keystone-inner-faq__question {
    border-color: transparent !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    color: #071a3b !important;
    box-shadow: none !important;
    transition: background-color .2s ease, color .2s ease;
}

.elementor .keystone-inner-faq__question:hover,
.elementor .keystone-inner-faq__question:focus,
.elementor .keystone-inner-faq__question:focus-visible,
.elementor .keystone-inner-faq__question:active,
.elementor .keystone-inner-faq__item.is-open > .keystone-inner-faq__question {
    border-color: #0a63f6 !important;
    background: #0a63f6 !important;
    background-color: #0a63f6 !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
}

.elementor .keystone-inner-faq__question:hover .keystone-inner-faq__qicon,
.elementor .keystone-inner-faq__question:focus .keystone-inner-faq__qicon,
.elementor .keystone-inner-faq__question:focus-visible .keystone-inner-faq__qicon,
.elementor .keystone-inner-faq__question:active .keystone-inner-faq__qicon,
.elementor .keystone-inner-faq__item.is-open > .keystone-inner-faq__question .keystone-inner-faq__qicon {
    color: #fff !important;
}

.elementor .keystone-inner-faq__question:hover .keystone-inner-faq__toggle,
.elementor .keystone-inner-faq__question:focus .keystone-inner-faq__toggle,
.elementor .keystone-inner-faq__question:focus-visible .keystone-inner-faq__toggle,
.elementor .keystone-inner-faq__question:active .keystone-inner-faq__toggle,
.elementor .keystone-inner-faq__item.is-open > .keystone-inner-faq__question .keystone-inner-faq__toggle {
    background: #fff !important;
    color: #0a63f6 !important;
}

.keystone-inner-faq__question:focus-visible {
    outline: 3px solid rgba(10, 99, 246, .24);
    outline-offset: 2px;
}

/* Contact detail icon normalisation - v1.41.0 */
.elementor .keystone-inner-contact__detail-icon {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    background: #edf5ff !important;
    color: #0a63f6 !important;
    line-height: 0 !important;
    box-sizing: border-box !important;
}

.elementor .keystone-inner-contact__detail-icon i,
.elementor .keystone-inner-contact__detail-icon svg {
    display: block !important;
    width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: 22px !important;
    line-height: 1 !important;
    fill: currentColor !important;
    stroke: currentColor;
    box-sizing: border-box !important;
}

.elementor .keystone-inner-contact__detail-icon i::before {
    display: block;
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1 !important;
}

@media (max-width: 767px) {
    .elementor .keystone-inner-contact__detail-icon {
        flex-basis: 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    .elementor .keystone-inner-contact__detail-icon i,
    .elementor .keystone-inner-contact__detail-icon svg {
        width: 20px !important;
        max-width: 20px !important;
        height: 20px !important;
        max-height: 20px !important;
        font-size: 20px !important;
    }
}

/* Contact team image rounding - v1.42.0 */
.elementor .keystone-inner-contact__team-image {
    border-radius: var(--keystone-contact-image-radius, 24px) !important;
    clip-path: inset(0 round var(--keystone-contact-image-radius, 24px));
}

/* Repair Network eyebrow contrast - v1.43.0 */
.elementor .keystone-network__eyebrow,
.elementor .keystone-network__eyebrow *,
.elementor .keystone-network__eyebrow span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.elementor .keystone-network__eyebrow {
    background-color: #0a63f6 !important;
}

/* Plugin-wide responsive hardening - v1.44.0 */
.elementor-widget-keystone-hero,
.elementor-widget-keystone-feature,
.elementor-widget-keystone-why-choose,
.elementor-widget-keystone-how-it-works,
.elementor-widget-keystone-services,
.elementor-widget-keystone-after-accident,
.elementor-widget-keystone-recovery,
.elementor-widget-keystone-callback,
.elementor-widget-keystone-network,
.elementor-widget-keystone-beyond-recovery,
.elementor-widget-keystone-cta,
.elementor-widget-keystone-footer,
.elementor-widget-keystone-inner-page,
.elementor-widget-keystone-inner-faq,
.elementor-widget-keystone-inner-contact {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.elementor [class^="keystone-"],
.elementor [class*=" keystone-"] {
    box-sizing: border-box;
}

.elementor .keystone-hero__inner > *,
.elementor .keystone-feature__inner > *,
.elementor .keystone-why__inner > *,
.elementor .keystone-how__inner > *,
.elementor .keystone-services__inner > *,
.elementor .keystone-after-accident__inner > *,
.elementor .keystone-recovery__inner > *,
.elementor .keystone-callback__inner > *,
.elementor .keystone-network__inner > *,
.elementor .keystone-beyond__inner > *,
.elementor .keystone-cta__inner > *,
.elementor .keystone-inner-page__inner > *,
.elementor .keystone-inner-faq__inner > *,
.elementor .keystone-inner-contact__inner > * {
    min-width: 0;
}

.elementor .keystone-hero img,
.elementor .keystone-feature img,
.elementor .keystone-why img,
.elementor .keystone-how img,
.elementor .keystone-services img,
.elementor .keystone-after-accident img,
.elementor .keystone-recovery img,
.elementor .keystone-callback img,
.elementor .keystone-network img,
.elementor .keystone-beyond img,
.elementor .keystone-cta img,
.elementor .keystone-footer img,
.elementor .keystone-inner-page img,
.elementor .keystone-inner-faq img,
.elementor .keystone-inner-contact img {
    max-width: 100%;
}

.elementor .keystone-inner-contact input,
.elementor .keystone-inner-contact select,
.elementor .keystone-inner-contact textarea,
.elementor .keystone-callback input,
.elementor .keystone-callback select,
.elementor .keystone-callback textarea {
    max-width: 100%;
    min-width: 0;
}

.elementor .keystone-inner-contact__primary-link,
.elementor .keystone-footer a,
.elementor .keystone-callback a,
.elementor .keystone-inner-page a,
.elementor .keystone-network-point span,
.elementor .keystone-recovery-item__text {
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .elementor .keystone-header__inner,
    .elementor .keystone-hero__inner,
    .elementor .keystone-feature__inner,
    .elementor .keystone-why__inner,
    .elementor .keystone-how__inner,
    .elementor .keystone-services__inner,
    .elementor .keystone-after-accident__inner,
    .elementor .keystone-recovery__inner,
    .elementor .keystone-callback__inner,
    .elementor .keystone-network__inner,
    .elementor .keystone-beyond__inner,
    .elementor .keystone-cta__inner,
    .elementor .keystone-footer__container,
    .elementor .keystone-inner-page__inner,
    .elementor .keystone-inner-faq__inner,
    .elementor .keystone-inner-contact__inner {
        max-width: 100%;
    }

    .elementor .keystone-recovery__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor .keystone-footer__top-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .elementor .keystone-recovery__panel-main,
    .elementor .keystone-recovery__legal-row,
    .elementor .keystone-callback__grid,
    .elementor .keystone-network__grid,
    .elementor .keystone-inner-page__hero,
    .elementor .keystone-inner-contact__header {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .elementor .keystone-callback__side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor .keystone-callback__image,
    .elementor .keystone-callback__benefits {
        grid-column: 1 / -1;
    }

    .elementor .keystone-inner-page__hero-media,
    .elementor .keystone-inner-contact__team-image {
        width: 100%;
    }

    .elementor .keystone-inner-contact__details,
    .elementor .keystone-inner-page__sections.is-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .elementor .keystone-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .elementor .keystone-mainbar__inner,
    .elementor .keystone-hero__inner,
    .elementor .keystone-feature__inner,
    .elementor .keystone-why__inner,
    .elementor .keystone-how__inner,
    .elementor .keystone-services__inner,
    .elementor .keystone-after-accident__inner,
    .elementor .keystone-recovery__inner,
    .elementor .keystone-callback__inner,
    .elementor .keystone-network__inner,
    .elementor .keystone-beyond__inner,
    .elementor .keystone-cta__inner,
    .elementor .keystone-inner-page__inner,
    .elementor .keystone-inner-faq__inner,
    .elementor .keystone-inner-contact__inner {
        padding-right: max(16px, env(safe-area-inset-right)) !important;
        padding-left: max(16px, env(safe-area-inset-left)) !important;
    }

    .elementor .keystone-hero__heading,
    .elementor .keystone-feature__heading,
    .elementor .keystone-why__heading,
    .elementor .keystone-how__heading,
    .elementor .keystone-services__heading,
    .elementor .keystone-after-accident__heading,
    .elementor .keystone-recovery__heading,
    .elementor .keystone-callback__heading,
    .elementor .keystone-network__heading,
    .elementor .keystone-beyond__heading,
    .elementor .keystone-cta__heading,
    .elementor .keystone-inner-page__title,
    .elementor .keystone-inner-faq__title,
    .elementor .keystone-inner-contact__title {
        max-width: 100%;
        font-size: clamp(29px, 9vw, 42px) !important;
        line-height: 1.08 !important;
        overflow-wrap: break-word;
    }

    .elementor .keystone-callback__side {
        display: flex;
        flex-direction: column;
    }

    .elementor .keystone-recovery__items,
    .elementor .keystone-recovery__legal-row,
    .elementor .keystone-callback__fields,
    .elementor .keystone-callback__benefits,
    .elementor .keystone-network__highlights,
    .elementor .keystone-inner-contact__details,
    .elementor .keystone-inner-contact__fields,
    .elementor .keystone-inner-page__sections.is-cards,
    .elementor .keystone-inner-page__sections.is-steps,
    .elementor .keystone-footer__top-grid,
    .elementor .keystone-footer__grid,
    .elementor .keystone-footer__bottom-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .elementor .keystone-inner-contact__detail-card:last-child,
    .elementor .keystone-inner-contact__field.is-wide {
        grid-column: auto;
    }

    .elementor .keystone-hero__actions,
    .elementor .keystone-after-accident__actions,
    .elementor .keystone-cta__actions-row,
    .elementor .keystone-inner-page__hero-actions {
        width: 100%;
    }

    .elementor .keystone-header-btn,
    .elementor .keystone-hero__button,
    .elementor .keystone-after-accident__button,
    .elementor .keystone-cta__button,
    .elementor .keystone-callback__submit,
    .elementor .keystone-inner-contact__submit,
    .elementor .keystone-inner-page__button,
    .elementor .keystone-inner-page__bottom-button {
        max-width: 100%;
        white-space: normal;
    }

    .elementor .keystone-recovery__panel,
    .elementor .keystone-network__card,
    .elementor .keystone-inner-contact__form-card,
    .elementor .keystone-inner-faq__cta,
    .elementor .keystone-inner-page__bottom-cta {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .elementor .keystone-after-accident__image,
    .elementor .keystone-network__image,
    .elementor .keystone-inner-page__hero-image,
    .elementor .keystone-inner-contact__team-image {
        width: 100%;
        min-height: 0;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .elementor .keystone-inner-faq__question {
        min-width: 0;
        padding-right: 16px;
        padding-left: 16px;
    }

    .elementor .keystone-whatsapp,
    .elementor .keystone-whatsapp-float {
        right: max(12px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
        max-width: calc(100vw - 24px);
    }
}

@media (max-width: 479px) {
    .elementor .keystone-mainbar__inner,
    .elementor .keystone-hero__inner,
    .elementor .keystone-feature__inner,
    .elementor .keystone-why__inner,
    .elementor .keystone-how__inner,
    .elementor .keystone-services__inner,
    .elementor .keystone-after-accident__inner,
    .elementor .keystone-recovery__inner,
    .elementor .keystone-callback__inner,
    .elementor .keystone-network__inner,
    .elementor .keystone-beyond__inner,
    .elementor .keystone-cta__inner,
    .elementor .keystone-inner-page__inner,
    .elementor .keystone-inner-faq__inner,
    .elementor .keystone-inner-contact__inner {
        padding-right: max(14px, env(safe-area-inset-right)) !important;
        padding-left: max(14px, env(safe-area-inset-left)) !important;
    }

    .elementor .keystone-hero__heading,
    .elementor .keystone-feature__heading,
    .elementor .keystone-why__heading,
    .elementor .keystone-how__heading,
    .elementor .keystone-services__heading,
    .elementor .keystone-after-accident__heading,
    .elementor .keystone-recovery__heading,
    .elementor .keystone-callback__heading,
    .elementor .keystone-network__heading,
    .elementor .keystone-beyond__heading,
    .elementor .keystone-cta__heading,
    .elementor .keystone-inner-page__title,
    .elementor .keystone-inner-faq__title,
    .elementor .keystone-inner-contact__title {
        font-size: clamp(27px, 9.5vw, 37px) !important;
    }

    .elementor .keystone-inner-contact__detail-card {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        gap: 13px;
        padding: 18px 15px;
    }

    .elementor .keystone-callback__heading-row {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
    }

    .elementor .keystone-inner-faq__question {
        grid-template-columns: minmax(0, 1fr) 28px;
        gap: 10px;
    }

    .elementor .keystone-inner-faq__qicon {
        display: none;
    }

    .elementor .keystone-inner-faq__answer {
        padding-right: 16px;
        padding-left: 16px;
    }

    .elementor .keystone-callback__captcha {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    .elementor .keystone-mobile-panel {
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .elementor .keystone-hero {
        min-height: auto !important;
    }
}

/* Mobile support highlights: centred, compact and consistently aligned. */
@media (max-width: 767px) {
    .elementor .keystone-why__highlights {
        display: grid;
        grid-template-columns: minmax(0, 292px);
        justify-content: center;
        width: 100%;
        max-width: 100%;
        margin: 24px auto 0;
        row-gap: 14px;
    }

    .elementor .keystone-why-highlight {
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr);
        align-items: center;
        width: 100%;
        min-width: 0;
        gap: 12px;
        padding: 0;
        border: 0;
    }

    .elementor .keystone-why-highlight__icon {
        width: 36px;
        height: 36px;
        margin: 0;
        font-size: 32px;
        justify-self: center;
    }

    .elementor .keystone-why-highlight__text {
        min-width: 0;
        margin: 0;
        font-size: 14px;
        line-height: 1.32;
        text-align: left;
    }
}

@media (max-width: 359px) {
    .elementor .keystone-why__highlights {
        grid-template-columns: minmax(0, 270px);
    }
}

/* Consistent website section spacing - v1.55.0.
   Header and footer are intentionally excluded. */
.keystone-hero,
.keystone-feature__inner,
.keystone-how__inner,
.keystone-why__inner,
.keystone-services__inner,
.keystone-recovery__inner,
.keystone-callback__inner,
.keystone-network__inner,
.keystone-after-accident__inner,
.keystone-beyond__inner,
.keystone-cta__inner,
.keystone-inner-page__inner,
.keystone-inner-faq__inner,
.keystone-inner-contact__inner {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* Call Me Back popup and confirmation - v1.57.0 */
body.keystone-callback-modal-open {
    overflow: hidden !important;
}

.keystone-callback-modal {
    position: fixed;
    z-index: 100001;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    font-family: inherit;
}

.keystone-callback-modal.is-open {
    display: flex;
}

.keystone-callback-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 15, 38, .76);
    backdrop-filter: blur(6px);
}

.keystone-callback-modal__dialog {
    position: relative;
    width: min(560px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 42px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(2, 19, 48, .34);
    color: #071a3b;
}

.keystone-callback-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #d7e2f2;
    border-radius: 50%;
    background: #fff;
    color: #071a3b;
    font: 400 28px/1 Arial, sans-serif;
    cursor: pointer;
}

.keystone-callback-modal__eyebrow {
    display: block;
    margin: 0 50px 9px 0;
    color: #0875f5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.keystone-callback-modal h2 {
    margin: 0 50px 10px 0;
    color: #071a3b;
    font-family: inherit;
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 800;
    line-height: 1.12;
}

.keystone-callback-modal__dialog > p {
    margin: 0 0 22px;
    color: #50627c;
    font-size: 14px;
    line-height: 1.6;
}

.keystone-callback-modal__form {
    display: grid;
    gap: 14px;
}

.keystone-callback-modal__form label {
    display: grid;
    gap: 7px;
    margin: 0;
}

.keystone-callback-modal__form label > span {
    color: #243957;
    font-size: 12px;
    font-weight: 750;
}

.keystone-callback-modal__form b {
    color: #d82f4d;
}

.keystone-callback-modal__form input,
.keystone-callback-modal__form textarea {
    width: 100%;
    min-height: 47px;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid #cdd9e8;
    border-radius: 9px;
    outline: 0;
    background: #f9fbfe;
    color: #071a3b;
    font: inherit;
    font-size: 14px;
    box-shadow: none;
}

.keystone-callback-modal__form textarea {
    min-height: 110px;
    resize: vertical;
}

.keystone-callback-modal__form input:focus,
.keystone-callback-modal__form textarea:focus {
    border-color: #0875f5;
    box-shadow: 0 0 0 3px rgba(8, 117, 245, .12);
}

.keystone-callback-modal__form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 50px;
    margin-top: 3px;
    padding: 13px 22px;
    border: 0;
    border-radius: 9px;
    background: #0875f5;
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.keystone-callback-toast {
    position: fixed;
    z-index: 100002;
    top: 22px;
    left: 50%;
    width: min(520px, calc(100% - 32px));
    padding: 14px 18px;
    transform: translateX(-50%);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(2, 19, 48, .22);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
    opacity: 1;
    transition: opacity .3s ease, transform .3s ease;
}

.keystone-callback-toast.is-hiding {
    opacity: 0;
    transform: translate(-50%, -12px);
    pointer-events: none;
}

.keystone-callback-toast button {
    display: grid;
    place-items: center;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, .08);
    color: currentColor;
    font: 700 19px/1 Arial, sans-serif;
    cursor: pointer;
}

body.admin-bar .keystone-callback-toast {
    top: 54px;
}

.keystone-callback-toast.is-success {
    background: #e8f8ef;
    color: #126334;
}

.keystone-callback-toast.is-error {
    background: #fff0f2;
    color: #9d2438;
}

@media (max-width: 560px) {
    .keystone-callback-modal {
        padding: 10px;
    }

    .keystone-callback-modal__dialog {
        max-height: calc(100vh - 20px);
        padding: 34px 18px 24px;
        border-radius: 17px;
    }

    .keystone-callback-modal__form button {
        width: 100%;
    }

    body.admin-bar .keystone-callback-toast {
        top: 62px;
    }
}

/* Mobile claim submit / floating WhatsApp clearance - v1.61.0 */
@media (max-width: 767px) {
    .keystone-claim-modal__dialog {
        scroll-padding-bottom: 150px;
    }

    .keystone-claim-modal__form-wrap {
        padding-bottom: max(120px, calc(100px + env(safe-area-inset-bottom))) !important;
    }

    .keystone-claim-modal__submit {
        position: sticky;
        z-index: 20;
        bottom: max(76px, calc(66px + env(safe-area-inset-bottom)));
        width: 100%;
        min-height: 54px;
        margin-top: 8px;
        border: 2px solid #fff;
        box-shadow: 0 10px 28px rgba(4, 34, 79, .28);
    }
}

/* Consistent section spacing - v1.62.0
 *
 * Every content section receives equal top and bottom spacing. Horizontal
 * padding remains controlled by its widget, preserving the existing layouts.
 * Header, footer and modal UI are intentionally excluded.
 */
:root {
    --keystone-section-space: 80px;
}

.keystone-hero__inner,
.keystone-feature__inner,
.keystone-why__inner,
.keystone-how__inner,
.keystone-services__inner,
.keystone-recovery__inner,
.keystone-callback__inner,
.keystone-network__inner,
.keystone-after-accident__inner,
.keystone-cta__inner,
.keystone-inner-page__inner,
.keystone-inner-faq__inner,
.keystone-inner-contact__inner,
.keystone-blog__inner,
.keystone-beyond__inner {
    padding-top: var(--keystone-section-space) !important;
    padding-bottom: var(--keystone-section-space) !important;
}

/* Blog posts widget - v1.64.0 */
.keystone-blog {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f5f8fc;
    color: #071a38;
}

.keystone-blog,
.keystone-blog * {
    box-sizing: border-box;
}

.keystone-blog__watermark {
    position: absolute;
    top: -40px;
    right: -50px;
    width: min(34vw, 500px);
    height: auto;
    opacity: .055;
    pointer-events: none;
    user-select: none;
}

.keystone-blog__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding-right: 30px;
    padding-left: 30px;
}

.keystone-blog__header {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.keystone-blog__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 18px;
    border-radius: 999px;
    background: #0877f9;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
}

.keystone-blog__heading {
    margin: 16px 0 0;
    color: #071a38;
    font-size: clamp(36px, 5vw, 54px);
    font-weight: 750;
    line-height: 1.08;
}

.keystone-blog__description {
    max-width: 690px;
    margin: 16px auto 0;
    color: #5a6679;
    font-size: 17px;
    line-height: 1.65;
}

.keystone-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.keystone-blog-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #dfe7f1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(7, 26, 56, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.keystone-blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 48px rgba(7, 26, 56, .14);
}

.keystone-blog-card__media {
    position: relative;
    display: block;
    height: 245px;
    overflow: hidden;
    background: linear-gradient(135deg, #dceaff, #eff5fc);
    line-height: 0;
}

.keystone-blog-card__image {
    display: block !important;
    width: 100%;
    max-width: none !important;
    height: 100% !important;
    min-height: 100%;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center;
    vertical-align: top;
    transition: transform .45s ease;
}

.keystone-blog-card:hover .keystone-blog-card__image {
    transform: scale(1.045);
}

.keystone-blog-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #0877f9;
    font-size: 44px;
    font-weight: 700;
}

.keystone-blog-card__category {
    position: absolute;
    right: 16px;
    bottom: 16px;
    max-width: calc(100% - 32px);
    padding: 7px 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #0877f9;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.keystone-blog-card__category--inline {
    position: static;
    align-self: flex-start;
    max-width: 100%;
    margin-bottom: 14px;
}

.keystone-blog-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 25px 27px;
}

.keystone-blog-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 15px;
    margin-bottom: 13px;
    color: #778397;
    font-size: 13px;
    line-height: 1.4;
}

.keystone-blog-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.keystone-blog-card__meta span + span::before {
    content: "";
    width: 4px;
    height: 4px;
    margin-right: 3px;
    border-radius: 50%;
    background: #0877f9;
}

.keystone-blog-card__title {
    margin: 0;
    color: #071a38;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.28;
}

.keystone-blog-card__title a {
    color: inherit;
    text-decoration: none;
}

.keystone-blog-card__title a:hover,
.keystone-blog-card__title a:focus-visible {
    color: #0877f9;
    outline: none;
}

.keystone-blog-card__excerpt {
    margin: 14px 0 0;
    color: #5a6679;
    font-size: 15px;
    line-height: 1.65;
}

.keystone-blog-card__link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    margin-top: auto;
    padding-top: 20px;
    color: #0877f9;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.keystone-blog-card__link span {
    transition: transform .2s ease;
}

.keystone-blog-card__link:hover span,
.keystone-blog-card__link:focus-visible span {
    transform: translateX(4px);
}

.keystone-blog__pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin-top: 42px;
}

.keystone-blog__pagination .page-numbers {
    display: grid;
    min-width: 43px;
    height: 43px;
    padding: 0 12px;
    place-items: center;
    border: 1px solid #d9e3f0;
    border-radius: 10px;
    background: #fff;
    color: #173052;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

.keystone-blog__pagination .page-numbers.current,
.keystone-blog__pagination .page-numbers:hover,
.keystone-blog__pagination .page-numbers:focus-visible {
    border-color: #0877f9;
    background: #0877f9;
    color: #fff;
    outline: none;
}

.keystone-blog__empty {
    padding: 45px 28px;
    border: 1px dashed #bdcada;
    border-radius: 18px;
    background: rgba(255, 255, 255, .75);
    color: #5a6679;
    font-size: 17px;
    text-align: center;
}

@media (max-width: 1024px) {
    .keystone-blog__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .keystone-blog__inner {
        padding-right: 18px;
        padding-left: 18px;
    }

    .keystone-blog__header {
        margin-bottom: 30px;
    }

    .keystone-blog__heading {
        font-size: clamp(31px, 9vw, 42px);
    }

    .keystone-blog__description {
        font-size: 15px;
    }

    .keystone-blog__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .keystone-blog-card__media {
        height: 220px;
    }

    .keystone-blog-card__content {
        padding: 22px 20px 24px;
    }

    .keystone-blog-card__title {
        font-size: 21px;
    }

    .keystone-blog__pagination {
        margin-top: 30px;
    }
}

@media (max-width: 1024px) {
    :root {
        --keystone-section-space: 60px;
    }
}

@media (max-width: 767px) {
    :root {
        --keystone-section-space: 44px;
    }
}

/* Claim enquiry thank-you popup - v1.63.0 */
body.keystone-thank-you-modal-open {
    overflow: hidden;
}

.keystone-thank-you-modal {
    position: fixed;
    z-index: 1000002;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
}

.keystone-thank-you-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.keystone-thank-you-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 22, 52, .76);
    backdrop-filter: blur(4px);
}

.keystone-thank-you-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 480px);
    padding: 42px 42px 38px;
    border: 1px solid rgba(12, 112, 246, .15);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(3, 27, 59, .28);
    color: #071a38;
    text-align: center;
    transform: translateY(14px) scale(.98);
    transition: transform .25s ease;
}

.keystone-thank-you-modal.is-open .keystone-thank-you-modal__dialog {
    transform: translateY(0) scale(1);
}

.keystone-thank-you-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #dbe5f1;
    border-radius: 50%;
    background: #fff;
    color: #0a2348;
    font: 500 25px/1 Arial, sans-serif;
    cursor: pointer;
}

.keystone-thank-you-modal__close:hover,
.keystone-thank-you-modal__close:focus-visible {
    border-color: #0877f9;
    color: #0877f9;
    outline: none;
}

.keystone-thank-you-modal__smiley {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: #eaf4ff;
    font-size: 40px;
    line-height: 1;
}

.keystone-thank-you-modal h2 {
    margin: 0;
    color: #071a38;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    line-height: 1.2;
}

.keystone-thank-you-modal p {
    max-width: 370px;
    margin: 14px auto 0;
    color: #52627a;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
}

.keystone-thank-you-modal__button {
    min-width: 150px;
    min-height: 48px;
    margin: 25px 0 0;
    padding: 12px 28px;
    border: 0;
    border-radius: 10px;
    background: #0877f9;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.keystone-thank-you-modal__button:hover,
.keystone-thank-you-modal__button:focus-visible {
    background: #0566db;
    outline: none;
    transform: translateY(-1px);
}

@media (max-width: 560px) {
    .keystone-thank-you-modal {
        padding: 14px;
    }

    .keystone-thank-you-modal__dialog {
        padding: 38px 22px 30px;
        border-radius: 20px;
    }

    .keystone-thank-you-modal__smiley {
        width: 66px;
        height: 66px;
        margin-bottom: 17px;
        font-size: 35px;
    }

    .keystone-thank-you-modal h2 {
        font-size: 29px;
    }

    .keystone-thank-you-modal p {
        font-size: 15px;
    }

    .keystone-thank-you-modal__button {
        width: 100%;
    }
}

/* Footer content alignment with the active header container - v1.66.0 */
.elementor .keystone-footer__container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Flexible Hero visual/content controls - v1.69.0
 * The legacy bundled hero image is no longer rendered by default. The visual
 * area can now contain a user image, an Elementor saved template, shortcode
 * content or just a styled background.
 */
.keystone-hero__visual {
    display: flex;
    align-items: center;
    justify-content: center;
}

.keystone-hero__visual > picture {
    flex: 1 1 100%;
    align-self: stretch;
    min-width: 0;
}

.keystone-hero__custom-content {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    max-width: 100%;
}

.keystone-hero__custom-content > .elementor,
.keystone-hero__custom-content > .elementor-section-wrap,
.keystone-hero__custom-content > .e-con,
.keystone-hero__custom-content .elementor-widget-wrap {
    width: 100%;
    max-width: 100%;
}

.keystone-hero--no-visual .keystone-hero__content {
    width: 100%;
    max-width: 100%;
    background-image: none;
}

.keystone-hero--no-visual .keystone-hero__main {
    display: block;
}

.keystone-hero--visual-template .keystone-hero__visual,
.keystone-hero--visual-shortcode .keystone-hero__visual,
.keystone-hero--visual-none .keystone-hero__visual {
    isolation: isolate;
}

.keystone-hero--visual-template .keystone-hero__visual::after,
.keystone-hero--visual-shortcode .keystone-hero__visual::after,
.keystone-hero--visual-none .keystone-hero__visual::after {
    z-index: 1;
}

.keystone-hero__buttons--one {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 767px) {
    .keystone-hero--no-visual .keystone-hero__content {
        order: 1;
        margin-top: 0;
        border-radius: 0;
        background-image: none;
    }

    .keystone-hero--visual-template .keystone-hero__visual,
    .keystone-hero--visual-shortcode .keystone-hero__visual,
    .keystone-hero--visual-none .keystone-hero__visual {
        aspect-ratio: auto;
        height: auto;
    }

    .keystone-hero__custom-content {
        min-height: inherit;
    }
}

/* Let the Hero section background controls show through the inner main area. */
.keystone-hero__main {
    background-color: transparent;
}


/* Hero legacy-background isolation - v1.69.1
 * Background image/gradient layers are opt-in. This prevents old saved Hero
 * media from showing around/behind a newly selected visual while preserving
 * full control when the user intentionally enables an advanced background.
 */
.keystone-hero:not(.keystone-hero--allow-section-media) {
    background-image: none !important;
}

.keystone-hero__main {
    background-image: none !important;
}

.keystone-hero:not(.keystone-hero--allow-visual-media) .keystone-hero__visual {
    background-image: none !important;
}

/* A custom image is a single visual layer by default. */
.keystone-hero--visual-image:not(.keystone-hero--allow-visual-media) .keystone-hero__visual {
    background-image: none !important;
}


/* CTA empty/hidden claim button cleanup - v1.69.3 */
.keystone-cta__actions-row--no-claim{
    grid-template-columns:minmax(315px,max-content) minmax(215px,260px);
    justify-content:start;
}
@media(max-width:1180px){
    .keystone-cta__actions-row--no-claim{
        grid-template-columns:minmax(280px,max-content) minmax(215px,260px);
    }
    .keystone-cta__actions-row--no-claim .keystone-cta__phone{
        grid-column:auto;
    }
}
@media(max-width:900px){
    .keystone-cta__actions-row--no-claim{
        grid-template-columns:1fr;
        max-width:560px;
    }
    .keystone-cta__actions-row--no-claim .keystone-cta__phone{
        grid-column:auto;
        justify-content:center;
    }
}

/* v1.69.5 - Recovery item icon/title alignment
 * Keep each circular icon aligned with the top/title of its text block instead
 * of vertically centering it against the combined title + description height.
 */
.elementor .keystone-recovery-item,
.keystone-recovery-item {
    align-items: start;
}
.elementor .keystone-recovery-item__icon-wrap,
.keystone-recovery-item__icon-wrap {
    align-self: start;
}

/* --------------------------------------------------------------------------
 * CFICON Page Banner (v1.69.8)
 * ----------------------------------------------------------------------- */
.keystone-page-banner {
    position: relative;
    width: 100%;
    min-height: 420px;
    overflow: hidden;
    isolation: isolate;
    display: flex;
}
.keystone-page-banner--full {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.keystone-page-banner__bg,
.keystone-page-banner__image-overlay,
.keystone-page-banner__panels {
    position: absolute;
    inset: 0;
}
.keystone-page-banner__bg {
    z-index: -4;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.keystone-page-banner__image-overlay {
    z-index: -3;
    pointer-events: none;
}
.keystone-page-banner__panels {
    z-index: -2;
    pointer-events: none;
}
.keystone-page-banner__panel {
    position: absolute;
    inset-block: 0;
    left: 0;
    display: block;
}
.keystone-page-banner__panel--accent {
    width: 56%;
    background: #0755B6;
    clip-path: polygon(0 0, 77% 0, 100% 50%, 77% 100%, 0 100%);
    opacity: .92;
}
.keystone-page-banner__panel--mid {
    width: 51%;
    background: #08387C;
    clip-path: polygon(0 0, 79% 0, 100% 50%, 79% 100%, 0 100%);
    opacity: .96;
}
.keystone-page-banner__panel--base {
    width: 48%;
    background: #061D48;
    clip-path: polygon(0 0, 74% 0, 100% 50%, 74% 100%, 0 100%);
}
.keystone-page-banner--no-panels .keystone-page-banner__panels {
    display: none;
}
.keystone-page-banner__inner {
    position: relative;
    z-index: 2;
    width: min(100%, 1300px);
    max-width: 1300px;
    margin-inline: auto;
    min-height: inherit;
    display: flex;
    align-items: center;
    padding: 40px 70px;
}
.keystone-page-banner__content {
    width: 100%;
    max-width: 560px;
    position: relative;
}
.keystone-page-banner__title {
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 4vw, 64px);
    line-height: 1.08;
    font-weight: 700;
}
.keystone-page-banner__underline {
    display: block;
    width: 120px;
    height: 4px;
    margin-top: 24px;
    background: #168CFF;
    border-radius: 2px;
}
@media (max-width: 1024px) {
    .keystone-page-banner {
        min-height: 340px;
    }
    .keystone-page-banner__inner {
        padding: 35px 40px;
    }
    .keystone-page-banner__panel--base { width: 58%; }
    .keystone-page-banner__panel--mid { width: 62%; }
    .keystone-page-banner__panel--accent { width: 68%; }
}
@media (max-width: 767px) {
    .keystone-page-banner {
        min-height: 260px;
    }
    .keystone-page-banner__inner {
        padding: 25px 24px;
    }
    .keystone-page-banner__panel--base { width: 78%; }
    .keystone-page-banner__panel--mid { width: 84%; }
    .keystone-page-banner__panel--accent { width: 90%; }
    .keystone-page-banner__panel--base,
    .keystone-page-banner__panel--mid,
    .keystone-page-banner__panel--accent {
        clip-path: polygon(0 0, 70% 0, 100% 50%, 70% 100%, 0 100%);
    }
}

/* =========================================================
 * CFICON Who We Are (v1.69.9)
 * ======================================================= */
.keystone-who-we-are {
    width: 100%;
    background: #fff;
    padding: 36px 28px;
    box-sizing: border-box;
    overflow: hidden;
}

.keystone-who-we-are *,
.keystone-who-we-are *::before,
.keystone-who-we-are *::after {
    box-sizing: border-box;
}

.keystone-who-we-are__inner {
    width: min(100%, 1300px);
    max-width: 1300px;
    margin: 0 auto;
}

.keystone-who-we-are__grid {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    width: 100%;
}

.keystone-who-we-are__grid.is-image-right {
    flex-direction: row-reverse;
}

.keystone-who-we-are__media {
    flex: 0 0 42%;
    max-width: 42%;
    min-width: 0;
    display: flex;
}

.keystone-who-we-are__image {
    display: block;
    width: 100%;
    height: 460px;
    object-fit: cover;
    object-position: center center;
    border-radius: 16px;
}

.keystone-who-we-are__card {
    flex: 1 1 0;
    min-width: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 42px 26px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.08);
}

.keystone-who-we-are__header {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.keystone-who-we-are__icon {
    width: 82px;
    height: 82px;
    flex: 0 0 82px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0b63e6;
    color: #fff;
    border-radius: 50%;
    line-height: 1;
}

.keystone-who-we-are__icon i {
    font-size: 38px;
    line-height: 1;
}

.keystone-who-we-are__icon svg {
    width: 38px;
    height: 38px;
    fill: currentColor;
}

.keystone-who-we-are__heading {
    margin: 0;
    padding: 0;
    color: #062a67;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 700;
    word-break: normal;
}

.keystone-who-we-are__description {
    color: #111827;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 500;
}

.keystone-who-we-are__description p {
    margin: 0 0 22px;
}

.keystone-who-we-are__description p:last-child {
    margin-bottom: 0 !important;
}

.keystone-who-we-are__description a {
    color: #0b63e6;
    transition: color .2s ease;
}

.keystone-who-we-are__description a:hover {
    color: #062a67;
}

@media (max-width: 1024px) {
    .keystone-who-we-are {
        padding: 28px 22px;
    }

    .keystone-who-we-are__grid.is-tablet-stacked {
        flex-direction: column;
    }

    .keystone-who-we-are__grid.is-tablet-stacked.is-mobile-image-bottom,
    .keystone-who-we-are__grid.is-tablet-stacked.is-image-right.is-mobile-image-bottom {
        flex-direction: column-reverse;
    }

    .keystone-who-we-are__grid.is-tablet-stacked .keystone-who-we-are__media {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100% !important;
    }

    .keystone-who-we-are__image {
        height: 420px;
    }

    .keystone-who-we-are__card {
        padding: 24px 30px 26px;
    }

    .keystone-who-we-are__icon {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }
}

@media (max-width: 767px) {
    .keystone-who-we-are {
        padding: 22px 16px;
    }

    .keystone-who-we-are__grid,
    .keystone-who-we-are__grid.is-image-right,
    .keystone-who-we-are__grid.is-tablet-stacked {
        flex-direction: column;
    }

    .keystone-who-we-are__grid.is-mobile-image-bottom,
    .keystone-who-we-are__grid.is-image-right.is-mobile-image-bottom,
    .keystone-who-we-are__grid.is-tablet-stacked.is-mobile-image-bottom {
        flex-direction: column-reverse;
    }

    .keystone-who-we-are__media,
    .keystone-who-we-are__grid.is-tablet-stacked .keystone-who-we-are__media {
        flex: 0 0 100% !important;
        width: 100%;
        max-width: 100% !important;
    }

    .keystone-who-we-are__image {
        height: 300px;
    }

    .keystone-who-we-are__card {
        width: 100%;
        padding: 24px 22px;
    }

    .keystone-who-we-are__header {
        gap: 14px;
    }

    .keystone-who-we-are__icon {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
    }

    .keystone-who-we-are__heading {
        font-size: 28px;
    }

    .keystone-who-we-are__description {
        font-size: 16px;
        line-height: 1.5;
    }
}

/* =========================================================
 * CFICON Mission & Philosophy (v1.69.10)
 * ======================================================= */
.keystone-mission-philosophy {
    width: 100%;
    background: #f4f8ff;
    padding: 32px 54px 36px;
    box-sizing: border-box;
    overflow: hidden;
}

.keystone-mission-philosophy *,
.keystone-mission-philosophy *::before,
.keystone-mission-philosophy *::after {
    box-sizing: border-box;
}

.keystone-mission-philosophy__inner {
    width: min(100%, 1300px);
    max-width: 1300px;
    margin: 0 auto;
}

.keystone-mission-philosophy__top {
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    text-align: center;
}

.keystone-mission-philosophy__heading-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0 0 10px;
    min-width: 0;
}

.keystone-mission-philosophy__heading-icon {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0b63e6;
    color: #fff;
    border-radius: 50%;
    line-height: 1;
}

.keystone-mission-philosophy__heading-icon i {
    font-size: 32px;
    line-height: 1;
}

.keystone-mission-philosophy__heading-icon svg {
    width: 32px;
    height: 32px;
    fill: currentColor;
}

.keystone-mission-philosophy__heading {
    margin: 0;
    padding: 0;
    color: #062a67;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 700;
    word-break: normal;
}

.keystone-mission-philosophy__mission,
.keystone-mission-philosophy__intro {
    color: #111827;
}

.keystone-mission-philosophy__mission {
    margin-bottom: 18px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 500;
}

.keystone-mission-philosophy__intro {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
}

.keystone-mission-philosophy__mission p,
.keystone-mission-philosophy__intro p {
    margin: 0;
}

.keystone-mission-philosophy__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin-top: 18px;
    align-items: stretch;
}

.keystone-mission-philosophy__card {
    min-width: 0;
    min-height: 285px;
    padding: 22px 30px 30px;
    background: #fff;
    border: 1px solid #e3e8f0;
    border-radius: 18px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
}

.keystone-mission-philosophy__card-icon-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

.keystone-mission-philosophy__card-icon {
    width: 92px;
    height: 92px;
    flex: 0 0 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0b63e6;
    color: #fff;
    border-radius: 50%;
    line-height: 1;
}

.keystone-mission-philosophy__card-icon i {
    font-size: 48px;
    line-height: 1;
}

.keystone-mission-philosophy__card-icon svg {
    width: 48px;
    height: 48px;
    fill: currentColor;
}

.keystone-mission-philosophy__card-copy {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}

.keystone-mission-philosophy__bullet {
    width: 4px;
    height: 4px;
    flex: 0 0 4px;
    margin-top: 0.72em;
    border-radius: 50%;
    background: #111827;
}

.keystone-mission-philosophy__card-line {
    min-width: 0;
    color: #111827;
    overflow-wrap: anywhere;
}

.keystone-mission-philosophy__card-title {
    color: #111827;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 700;
}

.keystone-mission-philosophy__card-description {
    color: #111827;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 500;
}

.keystone-mission-philosophy__top a {
    color: #0b63e6;
}

@media (max-width: 1024px) {
    .keystone-mission-philosophy {
        padding: 30px 28px 32px;
    }

    .keystone-mission-philosophy__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .keystone-mission-philosophy__heading-icon {
        width: 60px;
        height: 60px;
        flex-basis: 60px;
    }

    .keystone-mission-philosophy__card {
        min-height: 260px;
        padding: 22px 24px 26px;
    }

    .keystone-mission-philosophy__card-icon {
        width: 82px;
        height: 82px;
        flex-basis: 82px;
    }
}

@media (max-width: 767px) {
    .keystone-mission-philosophy {
        padding: 26px 16px 28px;
    }

    .keystone-mission-philosophy__heading-row {
        gap: 12px;
    }

    .keystone-mission-philosophy__heading-icon {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .keystone-mission-philosophy__heading {
        font-size: 28px;
    }

    .keystone-mission-philosophy__mission,
    .keystone-mission-philosophy__intro {
        font-size: 16px;
        line-height: 1.5;
    }

    .keystone-mission-philosophy__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .keystone-mission-philosophy__card {
        min-height: 0;
        padding: 20px 20px 24px;
    }

    .keystone-mission-philosophy__card-icon {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
    }

    .keystone-mission-philosophy__card-title,
    .keystone-mission-philosophy__card-description {
        font-size: 16px;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .keystone-mission-philosophy {
        padding-left: 14px;
        padding-right: 14px;
    }

    .keystone-mission-philosophy__heading-row {
        align-items: center;
    }

    .keystone-mission-philosophy__heading-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .keystone-mission-philosophy__heading-icon i {
        font-size: 25px;
    }

    .keystone-mission-philosophy__heading-icon svg {
        width: 25px;
        height: 25px;
    }

    .keystone-mission-philosophy__heading {
        font-size: 25px;
        line-height: 1.2;
    }

    .keystone-mission-philosophy__card-icon {
        width: 68px;
        height: 68px;
        flex-basis: 68px;
    }

    .keystone-mission-philosophy__card-icon i {
        font-size: 38px;
    }

    .keystone-mission-philosophy__card-icon svg {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 380px) {
    .keystone-mission-philosophy__heading-row {
        gap: 10px;
    }
    .keystone-mission-philosophy__heading {
        min-width: 0;
        font-size: 23px;
    }
    .keystone-mission-philosophy__heading-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }
    .keystone-mission-philosophy__card {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ========================================================================
 * CFICON What We Do + Industries We Serve (v1.69.11)
 * ====================================================================== */
.keystone-what-we-do {
    width: 100%;
    overflow: hidden;
    background: #fff;
    padding: 24px 36px 30px;
}

.keystone-what-we-do *,
.keystone-what-we-do *::before,
.keystone-what-we-do *::after {
    box-sizing: border-box;
}

.keystone-what-we-do__inner {
    width: min(100%, 1300px);
    max-width: 1300px;
    margin: 0 auto;
}

.keystone-what-we-do__heading-wrap {
    text-align: center;
    margin-bottom: 18px;
}

.keystone-what-we-do__section-title {
    margin: 0;
    color: #062a69;
    font-size: 36px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

.keystone-what-we-do__title-line {
    display: block;
    width: 62px;
    height: 3px;
    margin: 10px auto 0;
    background: #0877ff;
    border-radius: 999px;
}

.keystone-what-we-do__services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
}

.keystone-what-we-do__service-card {
    min-width: 0;
    min-height: 610px;
    padding: 18px 20px 22px;
    background: #fff;
    border: 1px solid #d9e5f5;
    border-radius: 20px;
    box-shadow: 0 3px 14px rgba(17, 55, 94, 0.06);
    position: relative;
}

.keystone-what-we-do__service-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
    min-width: 0;
}

.keystone-what-we-do__service-icon,
.keystone-what-we-do__industry-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    line-height: 1;
}

.keystone-what-we-do__service-icon {
    width: 68px;
    height: 68px;
    flex-basis: 68px;
    color: #fff;
    background: #0866d8;
}

.keystone-what-we-do__service-icon i {
    font-size: 34px;
    line-height: 1;
}

.keystone-what-we-do__service-icon svg {
    width: 34px;
    height: 34px;
    fill: currentColor;
}

.keystone-what-we-do__service-title-line {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
    padding-top: 7px;
    color: #073b84;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.keystone-what-we-do__service-number {
    flex: 0 0 auto;
    color: #073b84;
}

.keystone-what-we-do__service-title {
    min-width: 0;
    color: #073b84;
    overflow-wrap: anywhere;
}

.keystone-what-we-do__service-intro,
.keystone-what-we-do__service-details {
    color: #111827;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.keystone-what-we-do__service-intro {
    margin-bottom: 18px;
}

.keystone-what-we-do__service-intro > *:first-child,
.keystone-what-we-do__service-details > *:first-child,
.keystone-what-we-do__industry-description > *:first-child {
    margin-top: 0;
}

.keystone-what-we-do__service-intro > *:last-child,
.keystone-what-we-do__service-details > *:last-child,
.keystone-what-we-do__industry-description > *:last-child {
    margin-bottom: 0;
}

.keystone-what-we-do__service-intro p,
.keystone-what-we-do__service-details p {
    margin: 0 0 14px;
}

.keystone-what-we-do__service-details ul,
.keystone-what-we-do__service-details ol {
    margin: 0;
    padding-left: 1.15em;
}

.keystone-what-we-do__service-details ul {
    list-style: disc outside;
}

.keystone-what-we-do__service-details ol {
    list-style: decimal outside;
}

.keystone-what-we-do__service-details li {
    margin: 0;
    padding-left: 0.05em;
}

.keystone-what-we-do__service-details li + li {
    margin-top: 14px;
}

.keystone-what-we-do__service-details strong {
    color: #111827;
    font-weight: 700;
}

.keystone-what-we-do__industries-section {
    margin-top: 34px;
}

.keystone-what-we-do__industries-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
}

.keystone-what-we-do__industry-item {
    min-width: 0;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 4px 24px;
}

.keystone-what-we-do__industry-icon {
    width: 82px;
    height: 82px;
    flex-basis: 82px;
    color: #fff;
    background: #0756ac;
}

.keystone-what-we-do__industry-icon i {
    font-size: 42px;
    line-height: 1;
}

.keystone-what-we-do__industry-icon svg {
    width: 42px;
    height: 42px;
    fill: currentColor;
}

.keystone-what-we-do__industry-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.keystone-what-we-do__industry-title {
    color: #073b84;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.keystone-what-we-do__industry-description {
    margin-top: 3px;
    color: #111827;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.keystone-what-we-do__industry-description p {
    margin: 0;
}

.keystone-what-we-do--industry-dividers .keystone-what-we-do__industry-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 0;
    bottom: 6px;
    width: 1px;
    background: #d9e5f5;
}

@media (max-width: 1200px) {
    .keystone-what-we-do__service-card {
        padding-left: 18px;
        padding-right: 18px;
    }

    .keystone-what-we-do__service-title-line {
        font-size: 17px;
    }

    .keystone-what-we-do__service-intro,
    .keystone-what-we-do__service-details {
        font-size: 15px;
    }

    .keystone-what-we-do__industry-item {
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media (max-width: 1024px) {
    .keystone-what-we-do {
        padding: 28px 24px 30px;
    }

    .keystone-what-we-do__section-title {
        font-size: 32px;
    }

    .keystone-what-we-do__services-grid,
    .keystone-what-we-do__industries-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .keystone-what-we-do__service-card {
        min-height: 0;
        padding: 20px 20px 22px;
    }

    .keystone-what-we-do__service-icon {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .keystone-what-we-do__industry-icon {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
    }

    .keystone-what-we-do__industry-item {
        padding: 10px 16px;
    }

    .keystone-what-we-do--industry-dividers .keystone-what-we-do__industry-item::after {
        display: none;
    }
}

@media (max-width: 767px) {
    .keystone-what-we-do {
        padding: 24px 16px 26px;
    }

    .keystone-what-we-do__section-title {
        font-size: 28px;
        line-height: 1.2;
    }

    .keystone-what-we-do__services-grid,
    .keystone-what-we-do__industries-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .keystone-what-we-do__service-card {
        min-height: 0;
        padding: 18px 18px 20px;
    }

    .keystone-what-we-do__service-head {
        gap: 12px;
        margin-bottom: 16px;
    }

    .keystone-what-we-do__service-icon {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

    .keystone-what-we-do__service-icon i {
        font-size: 30px;
    }

    .keystone-what-we-do__service-icon svg {
        width: 30px;
        height: 30px;
    }

    .keystone-what-we-do__service-title-line {
        padding-top: 4px;
        font-size: 17px;
    }

    .keystone-what-we-do__service-intro,
    .keystone-what-we-do__service-details {
        font-size: 15px;
        line-height: 1.5;
    }

    .keystone-what-we-do__industries-section {
        margin-top: 26px;
    }

    .keystone-what-we-do__industry-item {
        padding: 10px 0;
        gap: 14px;
    }

    .keystone-what-we-do__industry-icon {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .keystone-what-we-do__industry-icon i {
        font-size: 34px;
    }

    .keystone-what-we-do__industry-icon svg {
        width: 34px;
        height: 34px;
    }
}

@media (max-width: 480px) {
    .keystone-what-we-do {
        padding-left: 14px;
        padding-right: 14px;
    }

    .keystone-what-we-do__section-title {
        font-size: 25px;
    }

    .keystone-what-we-do__service-head {
        align-items: center;
    }

    .keystone-what-we-do__service-title-line {
        font-size: 16px;
        line-height: 1.35;
        padding-top: 0;
    }

    .keystone-what-we-do__service-details ul,
    .keystone-what-we-do__service-details ol {
        padding-left: 1.05em;
    }

    .keystone-what-we-do__industry-title {
        font-size: 15.5px;
    }

    .keystone-what-we-do__industry-description {
        font-size: 14.5px;
    }
}

@media (max-width: 360px) {
    .keystone-what-we-do {
        padding-left: 12px;
        padding-right: 12px;
    }

    .keystone-what-we-do__service-card {
        padding-left: 15px;
        padding-right: 15px;
    }

    .keystone-what-we-do__service-head,
    .keystone-what-we-do__industry-item {
        gap: 10px;
    }

    .keystone-what-we-do__service-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .keystone-what-we-do__industry-icon {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

    .keystone-what-we-do__service-title-line {
        font-size: 15px;
    }
}

/* =========================================================
   CFICON Why Partner With Us widget (v1.69.12)
   ========================================================= */
.keystone-partner {
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    color: #fff;
}

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

.keystone-partner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #001e47;
    opacity: .9;
    pointer-events: none;
}

.keystone-partner__inner {
    position: relative;
    z-index: 1;
    width: min(100%, 1300px);
    max-width: 1300px;
    margin: 0 auto;
}

.keystone-partner__main {
    width: 100%;
}

.keystone-partner__heading-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0 0 18px;
}

.keystone-partner__title {
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.02em;
}

.keystone-partner__title-line {
    display: block;
    width: 72px;
    height: 3px;
    margin-top: 12px;
    background: #168bff;
    border-radius: 999px;
}

.keystone-partner__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
}

.keystone-partner__card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
    min-height: 154px;
    padding: 24px 20px;
    background: #fff;
    color: #111827;
    border: 1px solid rgba(5, 65, 143, .13);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0, 19, 55, .12);
}

.keystone-partner__card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    border-radius: 50%;
    background: #0758b4;
    color: #fff;
    line-height: 1;
}

.keystone-partner__card-icon i {
    font-size: 38px;
    line-height: 1;
}

.keystone-partner__card-icon svg {
    width: 38px;
    height: 38px;
    fill: currentColor;
}

.keystone-partner__card-copy {
    min-width: 0;
    padding-top: 3px;
}

.keystone-partner__card-title {
    margin: 0 0 4px;
    color: #073b84;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
}

.keystone-partner__card-title::before {
    content: "•";
    margin-right: 6px;
    color: currentColor;
}

.keystone-partner__card-description {
    margin: 0;
    color: #111827;
    font-size: 15px;
    line-height: 1.55;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.keystone-partner__cta {
    --keystone-partner-cta-start: rgba(14, 103, 235, .15);
    --keystone-partner-cta-end: rgba(16, 114, 255, .98);
    --keystone-partner-dots-color: #fff;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 165px;
    margin-top: 32px;
    padding: 28px 54px 26px 300px;
    overflow: hidden;
    background-color: #0c6bed;
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: left center;
    border: 1px solid rgba(255, 255, 255, .36);
    border-radius: 18px;
    box-shadow: 0 10px 34px rgba(0, 20, 65, .18);
}

.keystone-partner__cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, var(--keystone-partner-cta-start) 0%, var(--keystone-partner-cta-end) 47%, var(--keystone-partner-cta-end) 100%);
    pointer-events: none;
}

.keystone-partner__cta--dots::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 26px;
    width: 180px;
    height: 92px;
    opacity: .38;
    background-image: radial-gradient(circle, var(--keystone-partner-dots-color) 1.4px, transparent 1.8px);
    background-size: 13px 13px;
    transform: skewX(-10deg);
    pointer-events: none;
}

.keystone-partner__cta-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 70%;
}

.keystone-partner__cta-heading-wrap {
    margin: 0 0 12px;
}

.keystone-partner__cta-title {
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 26px;
    line-height: 1.22;
    font-weight: 700;
    letter-spacing: -.015em;
}

.keystone-partner__cta-line {
    display: block;
    width: 78px;
    height: 3px;
    margin-top: 10px;
    background: #fff;
    border-radius: 999px;
}

.keystone-partner__cta-description,
.keystone-partner__cta-description p {
    margin: 0;
    color: #fff;
}

.keystone-partner__cta-description {
    font-size: 16px;
    line-height: 1.45;
}

.keystone-partner__cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 18px;
    padding: 12px 22px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #0758b4;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.keystone-partner__cta-button:hover,
.keystone-partner__cta-button:focus {
    background: #053d83;
    color: #fff;
    transform: translateY(-1px);
    text-decoration: none;
}

.keystone-partner__cta-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.keystone-partner__cta-button-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

@media (max-width: 1024px) {
    .keystone-partner__title {
        font-size: 31px;
    }

    .keystone-partner__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .keystone-partner__card {
        min-height: 0;
    }

    .keystone-partner__card-icon {
        width: 66px;
        height: 66px;
        flex-basis: 66px;
    }

    .keystone-partner__cta {
        min-height: 180px;
        padding: 28px 34px 28px 230px;
    }

    .keystone-partner__cta-content {
        max-width: 75%;
    }
}

@media (max-width: 767px) {
    .keystone-partner__title {
        font-size: 28px;
    }

    .keystone-partner__cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .keystone-partner__card {
        min-height: 0;
        padding: 20px 18px;
    }

    .keystone-partner__card-icon {
        width: 60px;
        height: 60px;
        flex-basis: 60px;
    }

    .keystone-partner__card-icon i {
        font-size: 32px;
    }

    .keystone-partner__card-icon svg {
        width: 32px;
        height: 32px;
    }

    .keystone-partner__cta {
        min-height: 0;
        margin-top: 24px;
        padding: 30px 22px;
        background-size: cover;
        background-position: center center;
    }

    .keystone-partner__cta::before {
        background: linear-gradient(90deg, rgba(7, 75, 174, .86) 0%, var(--keystone-partner-cta-end) 100%);
    }

    .keystone-partner__cta-content {
        max-width: 100%;
    }

    .keystone-partner__cta-title {
        font-size: 23px;
    }

    .keystone-partner__cta-description {
        font-size: 15px;
    }

    .keystone-partner__cta--dots::after {
        right: -20px;
        width: 135px;
        height: 78px;
    }
}

@media (max-width: 480px) {
    .keystone-partner__title {
        font-size: 25px;
    }

    .keystone-partner__card {
        gap: 13px;
        padding: 18px 16px;
    }

    .keystone-partner__card-icon {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .keystone-partner__card-icon i {
        font-size: 28px;
    }

    .keystone-partner__card-icon svg {
        width: 28px;
        height: 28px;
    }

    .keystone-partner__card-title {
        font-size: 15.5px;
    }

    .keystone-partner__card-description {
        font-size: 14.5px;
        line-height: 1.5;
    }

    .keystone-partner__cta {
        padding: 26px 18px;
        border-radius: 14px;
    }

    .keystone-partner__cta-title {
        font-size: 21px;
    }
}

@media (max-width: 360px) {
    .keystone-partner__card {
        align-items: flex-start;
        gap: 11px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .keystone-partner__card-icon {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }

    .keystone-partner__card-title {
        font-size: 15px;
    }

    .keystone-partner__card-description {
        font-size: 14px;
    }

    .keystone-partner__cta {
        padding-left: 16px;
        padding-right: 16px;
    }

    .keystone-partner__cta-title {
        font-size: 20px;
    }
}


/* =========================================================
 * CFICON unified visible-content alignment (v1.69.14)
 * The desktop header has a 1300px outer container and 34px
 * horizontal padding on each side. Its usable/visible content
 * width is therefore 1232px. Keep section backgrounds full
 * width, but align these new About-page widgets to that same
 * logo/menu/button content line. Smaller Elementor max-width
 * values still work; larger saved values are capped by width.
 * ======================================================= */
.keystone-page-banner__inner,
.keystone-who-we-are__inner,
.keystone-mission-philosophy__inner,
.keystone-what-we-do__inner,
.keystone-partner__inner {
    width: min(100%, 1232px);
    max-width: 1232px;
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
 * CFICON Who We Are - mobile readability hardening (v1.69.15)
 * Keep the image and content card as two independent blocks on
 * phones. This neutralises any inherited/preview positioning that
 * can make the text sit on top of the image in Elementor mobile
 * preview, while normal per-widget style controls remain usable.
 * ======================================================= */
@media (max-width: 767px) {
    .keystone-who-we-are,
    .keystone-who-we-are__inner,
    .keystone-who-we-are__grid,
    .keystone-who-we-are__media,
    .keystone-who-we-are__card,
    .keystone-who-we-are__header,
    .keystone-who-we-are__description {
        position: relative;
        inset: auto;
        transform: none;
    }

    .keystone-who-we-are__inner {
        width: 100%;
        max-width: 100%;
    }

    .keystone-who-we-are__grid,
    .keystone-who-we-are__grid.is-image-right,
    .keystone-who-we-are__grid.is-tablet-stacked {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    .keystone-who-we-are__grid.is-mobile-image-bottom,
    .keystone-who-we-are__grid.is-image-right.is-mobile-image-bottom,
    .keystone-who-we-are__grid.is-tablet-stacked.is-mobile-image-bottom {
        flex-direction: column-reverse;
    }

    .keystone-who-we-are__media,
    .keystone-who-we-are__grid.is-tablet-stacked .keystone-who-we-are__media {
        display: block;
        flex: 0 0 auto !important;
        width: 100%;
        max-width: 100% !important;
        min-width: 0;
        height: auto;
        margin: 0;
        z-index: 1;
    }

    .keystone-who-we-are__image {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 260px;
        margin: 0;
    }

    .keystone-who-we-are__card {
        display: flex;
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 0;
        height: auto;
        margin: 0;
        padding: 20px 18px 22px;
        background-color: #fff;
        overflow: visible;
        z-index: 2;
        justify-content: flex-start;
    }

    .keystone-who-we-are__header {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        width: 100%;
        min-width: 0;
        margin: 0 0 14px;
    }

    .keystone-who-we-are__icon {
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
    }

    .keystone-who-we-are__icon i {
        font-size: 26px;
    }

    .keystone-who-we-are__icon svg {
        width: 26px;
        height: 26px;
    }

    .keystone-who-we-are__heading {
        min-width: 0;
        max-width: 100%;
        font-size: clamp(24px, 7vw, 30px);
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .keystone-who-we-are__description {
        display: block;
        width: 100%;
        max-width: 100%;
        font-size: 15px;
        line-height: 1.55;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .keystone-who-we-are__description p {
        margin-top: 0;
        margin-bottom: 16px;
    }
}

@media (max-width: 420px) {
    .keystone-who-we-are {
        padding-left: 14px;
        padding-right: 14px;
    }

    .keystone-who-we-are__image {
        height: 235px;
    }

    .keystone-who-we-are__card {
        padding: 18px 16px 20px;
    }

    .keystone-who-we-are__header {
        gap: 12px;
    }

    .keystone-who-we-are__icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }

    .keystone-who-we-are__heading {
        font-size: 24px;
    }

    .keystone-who-we-are__description {
        font-size: 14px;
        line-height: 1.55;
    }
}


/* =========================================================
 * CFICON Page Banner exact header-edge alignment (v1.69.16)
 * Older saved banner widgets can retain the original 70px
 * desktop left padding. Remove only that legacy value so the
 * title/underline start on the same visual line as the header.
 * New/custom Elementor padding values remain editable.
 * ======================================================= */
@media (min-width: 1025px) {
    .keystone-page-banner--legacy-left-pad .keystone-page-banner__inner {
        padding-left: 0 !important;
    }
}

/* =========================================================
 * CFICON Why Partner With Us - blue breathing room (v1.69.17)
 * Adds visible blue area above the section heading and below the
 * CTA for existing widgets immediately. The new Elementor controls
 * use wrapper-specific selectors and therefore remain able to
 * override these responsive defaults per widget/device.
 * ======================================================= */
.keystone-partner__inner {
    padding-top: 18px;
    padding-bottom: 24px;
}

@media (max-width: 1024px) {
    .keystone-partner__inner {
        padding-top: 14px;
        padding-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .keystone-partner__inner {
        padding-top: 12px;
        padding-bottom: 16px;
    }
}


/* =========================================================
 * CFICON Service CFIIND (v1.69.18)
 * Full-width industrial hero + editable responsive service cards.
 * The visible content aligns to the same 1232px line as the header.
 * ======================================================= */
.keystone-service-cfiind {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    box-sizing: border-box;
    background: #f7fafe;
}

.keystone-service-cfiind *,
.keystone-service-cfiind *::before,
.keystone-service-cfiind *::after {
    box-sizing: border-box;
}

.keystone-service-cfiind__hero {
    --kscfi-grad-left: #fff;
    --kscfi-grad-middle: rgba(255,255,255,.92);
    --kscfi-grad-end: rgba(255,255,255,0);
    --kscfi-grad-angle: 90deg;
    --kscfi-grad-mid-stop: 30%;
    --kscfi-grad-end-stop: 62%;
    position: relative;
    width: 100%;
    min-height: 505px;
    overflow: hidden;
    isolation: isolate;
    background: #fff;
}

.keystone-service-cfiind__hero-bg,
.keystone-service-cfiind__hero-gradient {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.keystone-service-cfiind__hero-bg {
    z-index: -2;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
}

.keystone-service-cfiind__hero-gradient {
    z-index: -1;
    background: linear-gradient(
        var(--kscfi-grad-angle),
        var(--kscfi-grad-left) 0%,
        var(--kscfi-grad-middle) var(--kscfi-grad-mid-stop),
        var(--kscfi-grad-end) var(--kscfi-grad-end-stop)
    );
}

.keystone-service-cfiind__inner,
.keystone-service-cfiind__cards-wrap {
    position: relative;
    width: min(100%, 1232px);
    max-width: 1232px;
    margin-left: auto;
    margin-right: auto;
}

.keystone-service-cfiind__inner {
    z-index: 2;
    min-height: inherit;
    display: flex;
    align-items: center;
    padding: 70px 0 120px;
}

.keystone-service-cfiind__hero-content {
    width: 100%;
    max-width: 520px;
}

.keystone-service-cfiind__title,
.keystone-service-cfiind__subtitle,
.keystone-service-cfiind__card-title {
    word-break: normal;
    overflow-wrap: anywhere;
}

.keystone-service-cfiind__title {
    margin: 0 0 10px;
    color: #062b62;
    font-size: clamp(42px, 5vw, 56px);
    line-height: 1.08;
    font-weight: 700;
}

.keystone-service-cfiind__subtitle {
    margin: 0 0 22px;
    color: #0b67d8;
    font-size: clamp(22px, 2.4vw, 28px);
    line-height: 1.2;
    font-weight: 700;
}

.keystone-service-cfiind__description {
    max-width: 100%;
    color: #132541;
    font-size: 18px;
    line-height: 1.45;
}

.keystone-service-cfiind__description > :first-child,
.keystone-service-cfiind__card-description > :first-child {
    margin-top: 0;
}

.keystone-service-cfiind__description > :last-child,
.keystone-service-cfiind__card-description > :last-child {
    margin-bottom: 0;
}

.keystone-service-cfiind__cards-wrap {
    z-index: 5;
    margin-top: -88px;
}

.keystone-service-cfiind__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
}

.keystone-service-cfiind__card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-width: 0;
    gap: 18px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(17, 71, 135, .10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(7, 39, 82, .08);
}

.keystone-service-cfiind__card-link {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    flex-direction: inherit;
    align-items: stretch;
    gap: inherit;
    color: inherit;
    text-decoration: none !important;
}

.keystone-service-cfiind__card-media {
    flex: 0 0 52%;
    max-width: 52%;
    min-width: 0;
    overflow: hidden;
}

.keystone-service-cfiind__card-image {
    display: block;
    width: 100%;
    height: 322px;
    border-radius: 12px;
    object-fit: cover;
    object-position: center center;
}

.keystone-service-cfiind__card-content {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 20px 14px 20px 0;
}

.keystone-service-cfiind__card-title {
    margin: 0 0 16px;
    color: #062b62;
    font-size: 24px;
    line-height: 1.18;
    font-weight: 700;
}

.keystone-service-cfiind__card-description {
    color: #172b4d;
    font-size: 17px;
    line-height: 1.58;
}

@media (max-width: 1024px) {
    .keystone-service-cfiind__hero {
        min-height: 470px;
    }

    .keystone-service-cfiind__inner {
        padding: 60px 24px 100px;
    }

    .keystone-service-cfiind__hero-content {
        max-width: 500px;
    }

    .keystone-service-cfiind__cards-wrap {
        margin-top: -65px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .keystone-service-cfiind__cards {
        grid-template-columns: 1fr;
    }

    .keystone-service-cfiind__card-media {
        flex-basis: 46%;
        max-width: 46%;
    }

    .keystone-service-cfiind__card-image {
        height: 300px;
    }
}

@media (max-width: 767px) {
    .keystone-service-cfiind__hero {
        --kscfi-grad-angle: 180deg;
        --kscfi-grad-mid-stop: 58%;
        --kscfi-grad-end-stop: 100%;
        min-height: 560px;
    }

    .keystone-service-cfiind__hero-bg {
        background-position: center bottom;
    }

    .keystone-service-cfiind__inner {
        align-items: flex-start;
        padding: 44px 20px 70px;
    }

    .keystone-service-cfiind__hero-content {
        max-width: 100%;
    }

    .keystone-service-cfiind__title {
        font-size: 38px;
    }

    .keystone-service-cfiind__subtitle {
        font-size: 23px;
    }

    .keystone-service-cfiind__description {
        font-size: 16px;
        line-height: 1.5;
    }

    .keystone-service-cfiind__cards-wrap {
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        padding: 0 16px;
    }

    .keystone-service-cfiind__cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .keystone-service-cfiind__card,
    .keystone-service-cfiind__card-link {
        flex-direction: column;
    }

    .keystone-service-cfiind__card {
        gap: 16px;
        padding: 12px 12px 16px;
    }

    .keystone-service-cfiind__card-media {
        flex-basis: 100%;
        max-width: 100%;
        width: 100%;
    }

    .keystone-service-cfiind__card-image {
        height: 245px;
    }

    .keystone-service-cfiind__card-content {
        padding: 4px 6px;
    }

    .keystone-service-cfiind__card-title {
        margin-bottom: 10px;
        font-size: 22px;
    }

    .keystone-service-cfiind__card-description {
        font-size: 15.5px;
        line-height: 1.55;
    }
}

@media (max-width: 420px) {
    .keystone-service-cfiind__hero {
        min-height: 590px;
    }

    .keystone-service-cfiind__inner {
        padding-left: 16px;
        padding-right: 16px;
    }

    .keystone-service-cfiind__title {
        font-size: 34px;
    }

    .keystone-service-cfiind__subtitle {
        font-size: 21px;
    }

    .keystone-service-cfiind__cards-wrap {
        padding-left: 12px;
        padding-right: 12px;
    }

    .keystone-service-cfiind__card-image {
        height: 220px;
    }

    .keystone-service-cfiind__card-title {
        font-size: 20px;
    }
}

/* ==========================================================================\n * CFICON Specialized Services (v1.69.19)\n * ========================================================================== */
.keystone-specialized-services {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f7fafd;
    isolation: isolate;
}

.keystone-specialized-services__watermark {
    position: absolute;
    z-index: 0;
    top: -34px;
    right: 2.5%;
    pointer-events: none;
    user-select: none;
    color: #0a6ef5;
    font-family: Arial, sans-serif;
    font-size: 130px;
    line-height: 1;
    font-weight: 900;
    opacity: .035;
}

.keystone-specialized-services__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1232px;
    margin: 0 auto;
}

.keystone-specialized-services__heading-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
}

.keystone-specialized-services__heading-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    width: 100%;
}

.keystone-specialized-services__heading-line {
    display: block;
    flex: 0 0 auto;
    width: 106px;
    height: 2px;
    border-radius: 99px;
    background: #c9ddf7;
}

.keystone-specialized-services__heading {
    margin: 0;
    color: #062b62;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;
    text-align: center;
}

.keystone-specialized-services__underline {
    display: block;
    width: 48px;
    height: 3px;
    margin-top: 10px;
    border-radius: 99px;
    background: #0a6ef5;
}

.keystone-specialized-services__list {
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 100%;
}

.keystone-specialized-services__card {
    min-width: 0;
    min-height: 360px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(20, 65, 118, .08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(12, 44, 83, .08);
}

.keystone-specialized-services__card-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none !important;
}

.keystone-specialized-services__card-inner {
    display: flex;
    align-items: stretch;
    gap: 26px;
    width: 100%;
    height: 100%;
    min-width: 0;
}

.keystone-specialized-services__card--image-right .keystone-specialized-services__card-inner {
    flex-direction: row-reverse;
}

.keystone-specialized-services__media {
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 0;
    overflow: hidden;
}

.keystone-specialized-services__image {
    display: block;
    width: 100%;
    height: 326px;
    border-radius: 9px;
    object-fit: cover;
    object-position: center center;
}

.keystone-specialized-services__content {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 22px 18px 22px 0;
    color: #172b4d;
    text-align: left;
}

.keystone-specialized-services__card--image-right .keystone-specialized-services__content {
    padding-right: 0;
    padding-left: 18px;
}

.keystone-specialized-services__title {
    margin: 0 0 12px;
    color: #062b62;
    font-size: 27px;
    line-height: 1.15;
    font-weight: 700;
}

.keystone-specialized-services__intro,
.keystone-specialized-services__details {
    color: #172b4d;
    font-size: 16px;
    line-height: 1.48;
}

.keystone-specialized-services__intro {
    margin-bottom: 15px;
}

.keystone-specialized-services__intro > :first-child,
.keystone-specialized-services__details > :first-child {
    margin-top: 0;
}

.keystone-specialized-services__intro > :last-child,
.keystone-specialized-services__details > :last-child {
    margin-bottom: 0;
}

.keystone-specialized-services__details ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.keystone-specialized-services__details li {
    position: relative;
    margin: 0;
    padding-left: 29px;
}

.keystone-specialized-services__details li + li {
    margin-top: 14px;
}

.keystone-specialized-services__details li::before {
    content: "✓";
    position: absolute;
    top: .18em;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border: 2px solid #0a6ef5;
    border-radius: 50%;
    color: #0a6ef5;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
}

.keystone-specialized-services__details strong {
    color: #0a68e8;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .keystone-specialized-services__heading-row {
        gap: 20px;
    }

    .keystone-specialized-services__heading-line {
        width: 80px;
    }

    .keystone-specialized-services__heading {
        font-size: 30px;
    }

    .keystone-specialized-services__card {
        min-height: 330px;
    }

    .keystone-specialized-services__card-inner {
        gap: 22px;
    }

    .keystone-specialized-services__media {
        flex-basis: 46%;
        max-width: 46%;
    }

    .keystone-specialized-services__image {
        height: 300px;
    }

    .keystone-specialized-services__title {
        font-size: 25px;
    }

    .keystone-specialized-services__intro,
    .keystone-specialized-services__details {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    .keystone-specialized-services__watermark {
        top: -10px;
        right: 8px;
        font-size: 82px;
    }

    .keystone-specialized-services__heading-row {
        gap: 12px;
    }

    .keystone-specialized-services__heading-line {
        width: 34px;
    }

    .keystone-specialized-services__heading {
        font-size: 27px;
    }

    .keystone-specialized-services__underline {
        width: 40px;
    }

    .keystone-specialized-services__list {
        gap: 16px;
    }

    .keystone-specialized-services__card {
        min-height: 0 !important;
        padding: 12px 12px 16px;
    }

    .keystone-specialized-services__card-inner,
    .keystone-specialized-services__card--image-right .keystone-specialized-services__card-inner {
        flex-direction: column;
        gap: 18px;
    }

    .keystone-specialized-services__media {
        flex-basis: 100% !important;
        max-width: 100% !important;
        width: 100%;
    }

    .keystone-specialized-services__image {
        height: 240px;
    }

    .keystone-specialized-services__content,
    .keystone-specialized-services__card--image-right .keystone-specialized-services__content {
        padding: 2px 6px 4px;
    }

    .keystone-specialized-services__title {
        font-size: 23px;
    }

    .keystone-specialized-services__intro,
    .keystone-specialized-services__details {
        font-size: 15px;
        line-height: 1.5;
    }

    .keystone-specialized-services__details li {
        padding-left: 27px;
    }
}

@media (max-width: 420px) {
    .keystone-specialized-services__heading-row {
        gap: 8px;
    }

    .keystone-specialized-services__heading-line {
        width: 22px;
    }

    .keystone-specialized-services__heading {
        font-size: 24px;
    }

    .keystone-specialized-services__image {
        height: 210px;
    }

    .keystone-specialized-services__title {
        font-size: 21px;
    }

    .keystone-specialized-services__intro,
    .keystone-specialized-services__details {
        font-size: 14.5px;
    }
}

/* =========================================================
   CFICON Supply Chain Detail Widget (v1.69.20)
   ========================================================= */
.keystone-supply-chain-detail {
    --ks-scd-hero-start: rgba(255,255,255,1);
    --ks-scd-hero-middle: rgba(255,255,255,.86);
    --ks-scd-hero-end: rgba(255,255,255,0);
    --ks-scd-bottom-left: rgba(2,42,91,.98);
    --ks-scd-bottom-middle: rgba(2,42,91,.82);
    --ks-scd-bottom-right: rgba(2,42,91,0);
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f6faff;
    color: #17365f;
}

.keystone-supply-chain-detail *,
.keystone-supply-chain-detail *::before,
.keystone-supply-chain-detail *::after {
    box-sizing: border-box;
}

.keystone-supply-chain-detail__inner {
    width: 100%;
    max-width: 1232px;
    margin: 0 auto;
}

.keystone-supply-chain-detail__hero {
    position: relative;
    display: flex;
    min-height: 535px;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    isolation: isolate;
}

.keystone-supply-chain-detail__hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
        var(--ks-scd-hero-start) 0%,
        var(--ks-scd-hero-middle) 37%,
        var(--ks-scd-hero-end) 66%);
}

.keystone-supply-chain-detail__hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-height: inherit;
    padding: 92px 20px 72px;
}

.keystone-supply-chain-detail__watermark {
    position: absolute;
    z-index: 0;
    top: 18px;
    left: -34px;
    font-size: 220px;
    line-height: .82;
    font-weight: 800;
    letter-spacing: -.08em;
    color: rgba(21,105,224,.055);
    user-select: none;
    pointer-events: none;
}

.keystone-supply-chain-detail__hero-content {
    position: relative;
    z-index: 1;
    width: 43%;
    max-width: 590px;
}

.keystone-supply-chain-detail__hero-title {
    margin: 0 0 22px;
    color: #062b62;
    font-size: clamp(42px, 4.15vw, 66px);
    line-height: 1.03;
    font-weight: 800;
    letter-spacing: -.025em;
}

.keystone-supply-chain-detail__hero-underline {
    display: block;
    width: 52px;
    height: 2px;
    margin: 0 0 22px;
    background: #1769e0;
}

.keystone-supply-chain-detail__hero-description {
    color: #17365f;
    font-size: 21px;
    line-height: 1.48;
    font-weight: 400;
}

.keystone-supply-chain-detail__hero-description > :first-child,
.keystone-supply-chain-detail__overview-description > :first-child,
.keystone-supply-chain-detail__bottom-description > :first-child {
    margin-top: 0;
}

.keystone-supply-chain-detail__hero-description > :last-child,
.keystone-supply-chain-detail__overview-description > :last-child,
.keystone-supply-chain-detail__bottom-description > :last-child {
    margin-bottom: 0;
}

.keystone-supply-chain-detail__body {
    position: relative;
    padding: 28px 20px 52px;
}

.keystone-supply-chain-detail__body-inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.keystone-supply-chain-detail__overview {
    width: 100%;
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(12, 44, 83, .09);
}

.keystone-supply-chain-detail__overview-inner {
    display: flex;
    align-items: stretch;
    gap: 36px;
    min-width: 0;
}

.keystone-supply-chain-detail__overview--image-right .keystone-supply-chain-detail__overview-inner {
    flex-direction: row-reverse;
}

.keystone-supply-chain-detail__overview-media {
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 0;
}

.keystone-supply-chain-detail__overview-image {
    display: block;
    width: 100%;
    height: 435px;
    object-fit: cover;
    object-position: center center;
    border-radius: 18px;
}

.keystone-supply-chain-detail__overview-content {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 44px 34px 44px 0;
}

.keystone-supply-chain-detail__overview--image-right .keystone-supply-chain-detail__overview-content {
    padding-right: 0;
    padding-left: 34px;
}

.keystone-supply-chain-detail__overview-title {
    margin: 0 0 28px;
    color: #062b62;
    font-size: 38px;
    line-height: 1.14;
    font-weight: 800;
    letter-spacing: -.02em;
}

.keystone-supply-chain-detail__overview-description {
    color: #17365f;
    font-size: 21px;
    line-height: 1.48;
}

.keystone-supply-chain-detail__features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
}

.keystone-supply-chain-detail__feature-card {
    display: flex;
    min-width: 0;
    min-height: 208px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 28px 26px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(12, 44, 83, .08);
    color: inherit;
    text-align: center;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

a.keystone-supply-chain-detail__feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(12, 44, 83, .12);
}

.keystone-supply-chain-detail__feature-icon {
    display: inline-flex;
    width: 92px;
    height: 92px;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
    border-radius: 18px;
    color: #0a66e8;
    font-size: 76px;
    line-height: 1;
}

.keystone-supply-chain-detail__feature-icon i {
    line-height: 1;
}

.keystone-supply-chain-detail__feature-icon svg {
    display: block;
    width: 76px;
    height: 76px;
    fill: currentColor;
}

.keystone-supply-chain-detail__feature-title {
    color: #062b62;
    font-size: 23px;
    line-height: 1.18;
    font-weight: 700;
}

.keystone-supply-chain-detail__feature-description {
    margin-top: 10px;
    color: #425a77;
    font-size: 15px;
    line-height: 1.45;
}

.keystone-supply-chain-detail__statement {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding: 2px 0;
    text-align: center;
}

.keystone-supply-chain-detail__statement-line {
    display: block;
    flex: 0 0 auto;
    width: 140px;
    height: 2px;
    background: #1769e0;
}

.keystone-supply-chain-detail__statement-text {
    color: #062b62;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
}

.keystone-supply-chain-detail__bottom-banner {
    position: relative;
    display: flex;
    min-height: 305px;
    align-items: center;
    overflow: hidden;
    border-radius: 20px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    isolation: isolate;
}

.keystone-supply-chain-detail__bottom-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
        var(--ks-scd-bottom-left) 0%,
        var(--ks-scd-bottom-middle) 33%,
        var(--ks-scd-bottom-right) 68%);
}

.keystone-supply-chain-detail__bottom-content {
    position: relative;
    z-index: 1;
    width: 34%;
    min-width: 0;
    padding: 42px 34px 42px 46px;
}

.keystone-supply-chain-detail__bottom-title {
    margin: 0 0 22px;
    color: #fff;
    font-size: 38px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.02em;
}

.keystone-supply-chain-detail__bottom-description {
    color: #fff;
    font-size: 17px;
    line-height: 1.48;
}

@media (max-width: 1024px) {
    .keystone-supply-chain-detail__hero {
        min-height: 500px;
    }

    .keystone-supply-chain-detail__hero-inner {
        padding: 72px 24px 64px;
    }

    .keystone-supply-chain-detail__hero-content {
        width: 52%;
    }

    .keystone-supply-chain-detail__hero-title {
        font-size: 48px;
    }

    .keystone-supply-chain-detail__hero-description {
        font-size: 18px;
    }

    .keystone-supply-chain-detail__body {
        padding: 24px 24px 42px;
    }

    .keystone-supply-chain-detail__body-inner {
        gap: 26px;
    }

    .keystone-supply-chain-detail__overview-inner {
        gap: 26px;
    }

    .keystone-supply-chain-detail__overview-media {
        flex-basis: 48%;
        max-width: 48%;
    }

    .keystone-supply-chain-detail__overview-image {
        height: 390px;
    }

    .keystone-supply-chain-detail__overview-content {
        padding: 30px 20px 30px 0;
    }

    .keystone-supply-chain-detail__overview--image-right .keystone-supply-chain-detail__overview-content {
        padding-right: 0;
        padding-left: 20px;
    }

    .keystone-supply-chain-detail__overview-title {
        font-size: 32px;
    }

    .keystone-supply-chain-detail__overview-description {
        font-size: 18px;
    }

    .keystone-supply-chain-detail__features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .keystone-supply-chain-detail__feature-card {
        min-height: 190px;
    }

    .keystone-supply-chain-detail__statement-line {
        width: 90px;
    }

    .keystone-supply-chain-detail__statement-text {
        font-size: 20px;
    }

    .keystone-supply-chain-detail__bottom-banner {
        min-height: 285px;
    }

    .keystone-supply-chain-detail__bottom-content {
        width: 44%;
        padding: 34px 28px 34px 34px;
    }

    .keystone-supply-chain-detail__bottom-title {
        font-size: 32px;
    }
}

@media (max-width: 767px) {
    .keystone-supply-chain-detail__hero {
        min-height: 520px;
        background-position: center center;
    }

    .keystone-supply-chain-detail__hero-overlay {
        background: linear-gradient(180deg,
            var(--ks-scd-hero-start) 0%,
            var(--ks-scd-hero-middle) 48%,
            var(--ks-scd-hero-end) 100%);
    }

    .keystone-supply-chain-detail__hero-inner {
        align-items: flex-start;
        padding: 58px 20px 48px;
    }

    .keystone-supply-chain-detail__watermark {
        top: 16px;
        left: -8px;
        font-size: 128px;
    }

    .keystone-supply-chain-detail__hero-content {
        width: 100%;
        max-width: 100%;
    }

    .keystone-supply-chain-detail__hero-title {
        max-width: 520px;
        font-size: 38px;
        line-height: 1.08;
    }

    .keystone-supply-chain-detail__hero-description {
        max-width: 520px;
        font-size: 17px;
        line-height: 1.5;
    }

    .keystone-supply-chain-detail__body {
        padding: 20px 16px 32px;
    }

    .keystone-supply-chain-detail__body-inner {
        gap: 22px;
    }

    .keystone-supply-chain-detail__overview {
        border-radius: 20px;
    }

    .keystone-supply-chain-detail__overview-inner,
    .keystone-supply-chain-detail__overview--image-right .keystone-supply-chain-detail__overview-inner {
        flex-direction: column;
        gap: 22px;
    }

    .keystone-supply-chain-detail__overview-media {
        flex-basis: 100% !important;
        max-width: 100% !important;
        width: 100%;
    }

    .keystone-supply-chain-detail__overview-image {
        height: 300px;
        border-radius: 14px;
    }

    .keystone-supply-chain-detail__overview-content,
    .keystone-supply-chain-detail__overview--image-right .keystone-supply-chain-detail__overview-content {
        padding: 8px 10px 8px;
    }

    .keystone-supply-chain-detail__overview-title {
        margin-bottom: 18px;
        font-size: 29px;
    }

    .keystone-supply-chain-detail__overview-description {
        font-size: 17px;
    }

    .keystone-supply-chain-detail__features {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .keystone-supply-chain-detail__feature-card {
        min-height: 0 !important;
        padding: 24px 20px 22px;
    }

    .keystone-supply-chain-detail__feature-icon {
        width: 78px;
        height: 78px;
        font-size: 60px;
    }

    .keystone-supply-chain-detail__feature-icon svg {
        width: 60px;
        height: 60px;
    }

    .keystone-supply-chain-detail__feature-title {
        font-size: 21px;
    }

    .keystone-supply-chain-detail__statement {
        gap: 12px;
    }

    .keystone-supply-chain-detail__statement-line {
        width: 40px;
    }

    .keystone-supply-chain-detail__statement-text {
        font-size: 18px;
    }

    .keystone-supply-chain-detail__bottom-banner {
        min-height: 330px;
        align-items: flex-end;
        border-radius: 16px;
        background-position: center center;
    }

    .keystone-supply-chain-detail__bottom-overlay {
        background: linear-gradient(180deg,
            var(--ks-scd-bottom-right) 0%,
            var(--ks-scd-bottom-middle) 46%,
            var(--ks-scd-bottom-left) 100%);
    }

    .keystone-supply-chain-detail__bottom-content {
        width: 100%;
        padding: 28px 22px;
    }

    .keystone-supply-chain-detail__bottom-title {
        margin-bottom: 16px;
        font-size: 30px;
    }

    .keystone-supply-chain-detail__bottom-description {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .keystone-supply-chain-detail__hero {
        min-height: 500px;
    }

    .keystone-supply-chain-detail__hero-inner {
        padding: 48px 16px 40px;
    }

    .keystone-supply-chain-detail__hero-title {
        font-size: 33px;
    }

    .keystone-supply-chain-detail__hero-description {
        font-size: 16px;
    }

    .keystone-supply-chain-detail__overview-image {
        height: 255px;
    }

    .keystone-supply-chain-detail__overview-title {
        font-size: 26px;
    }

    .keystone-supply-chain-detail__overview-description {
        font-size: 16px;
    }

    .keystone-supply-chain-detail__feature-title {
        font-size: 19px;
    }

    .keystone-supply-chain-detail__statement {
        gap: 9px;
    }

    .keystone-supply-chain-detail__statement-line {
        width: 26px;
    }

    .keystone-supply-chain-detail__statement-text {
        font-size: 16px;
    }

    .keystone-supply-chain-detail__bottom-title {
        font-size: 27px;
    }

    .keystone-supply-chain-detail__bottom-description {
        font-size: 15px;
    }
}

/* ==========================================================
   CFICON Heavy Industry Detail — v1.69.21
   ========================================================== */
.keystone-heavy-industry-detail,
.keystone-heavy-industry-detail *,
.keystone-heavy-industry-detail *::before,
.keystone-heavy-industry-detail *::after {
    box-sizing: border-box;
}

.keystone-heavy-industry-detail {
    width: 100%;
    overflow: hidden;
    color: #062b62;
}

.keystone-heavy-industry-detail__inner {
    width: 100%;
    max-width: 1232px;
    margin-left: auto;
    margin-right: auto;
}

.keystone-heavy-industry-detail__hero {
    position: relative;
    width: 100%;
    min-height: 485px;
    background-color: #f7faff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    overflow: hidden;
    isolation: isolate;
}

.keystone-heavy-industry-detail__hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,#f7faff 0%,#f7faff 33%,rgba(247,250,255,.92) 43%,rgba(247,250,255,.30) 58%,rgba(247,250,255,0) 74%);
}

.keystone-heavy-industry-detail__watermark {
    position: absolute;
    left: 1.5%;
    top: 3%;
    z-index: 1;
    font-size: 220px;
    line-height: 1;
    font-weight: 800;
    color: rgba(18,92,185,.045);
    pointer-events: none;
    user-select: none;
}

.keystone-heavy-industry-detail__hero-inner {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: flex;
    align-items: center;
    padding: 66px 18px;
}

.keystone-heavy-industry-detail__hero-content {
    width: 42%;
    max-width: 580px;
}

.keystone-heavy-industry-detail__hero-title,
.keystone-heavy-industry-detail__overview-title,
.keystone-heavy-industry-detail__bottom-title {
    margin: 0;
    white-space: normal;
}

.keystone-heavy-industry-detail__hero-title {
    color: #062b62;
    font-size: clamp(34px, 3.6vw, 54px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 26px;
}

.keystone-heavy-industry-detail__hero-underline {
    display: block;
    width: 52px;
    height: 3px;
    margin: -10px 0 22px;
    background: #1768e8;
}

.keystone-heavy-industry-detail__hero-description,
.keystone-heavy-industry-detail__overview-description,
.keystone-heavy-industry-detail__bottom-description {
    font-size: 22px;
    line-height: 1.42;
}

.keystone-heavy-industry-detail__hero-description {
    max-width: 470px;
    color: #173a67;
}

.keystone-heavy-industry-detail__hero-description > :first-child,
.keystone-heavy-industry-detail__overview-description > :first-child,
.keystone-heavy-industry-detail__bottom-description > :first-child {
    margin-top: 0;
}

.keystone-heavy-industry-detail__hero-description > :last-child,
.keystone-heavy-industry-detail__overview-description > :last-child,
.keystone-heavy-industry-detail__bottom-description > :last-child {
    margin-bottom: 0;
}

.keystone-heavy-industry-detail__body {
    width: 100%;
    padding: 34px 18px 42px;
    background: #f5f9ff;
}

.keystone-heavy-industry-detail__body-inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.keystone-heavy-industry-detail__overview {
    width: 100%;
    padding: 28px;
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 14px 34px rgba(17, 62, 116, 0.10);
    overflow: hidden;
}

.keystone-heavy-industry-detail__overview-inner {
    display: flex;
    align-items: stretch;
    gap: 48px;
}

.keystone-heavy-industry-detail__overview--image-right .keystone-heavy-industry-detail__overview-inner {
    flex-direction: row-reverse;
}

.keystone-heavy-industry-detail__overview-media {
    flex: 0 0 55%;
    max-width: 55%;
    min-width: 0;
}

.keystone-heavy-industry-detail__overview-image {
    display: block;
    width: 100%;
    height: 335px;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
}

.keystone-heavy-industry-detail__overview-content {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 10px 10px 0;
}

.keystone-heavy-industry-detail__overview--image-right .keystone-heavy-industry-detail__overview-content {
    padding-right: 0;
    padding-left: 10px;
}

.keystone-heavy-industry-detail__overview-title {
    color: #062b62;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 24px;
}

.keystone-heavy-industry-detail__overview-description {
    color: #173a67;
    font-size: 22px;
    line-height: 1.42;
}

.keystone-heavy-industry-detail__sectors {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
    width: 100%;
}

.keystone-heavy-industry-detail__sector-card {
    position: relative;
    display: block;
    height: 245px;
    overflow: hidden;
    border-radius: 16px;
    background: #dce7f4;
    box-shadow: 0 8px 22px rgba(15, 63, 118, 0.12);
    text-decoration: none;
    transform: translateZ(0);
}

.keystone-heavy-industry-detail__sector-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .35s ease;
}

a.keystone-heavy-industry-detail__sector-card:hover .keystone-heavy-industry-detail__sector-image {
    transform: scale(1.035);
}

.keystone-heavy-industry-detail__sector-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg,rgba(6,58,121,0) 42%,#063a79 100%);
    pointer-events: none;
}

.keystone-heavy-industry-detail__sector-title {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 16px 16px 18px;
    color: #fff;
    font-size: 22px;
    line-height: 1.12;
    font-weight: 800;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0,0,0,.22);
}

.keystone-heavy-industry-detail__bottom-banner {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 285px;
    overflow: hidden;
    border-radius: 18px;
    background-color: #062b62;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    isolation: isolate;
}

.keystone-heavy-industry-detail__bottom-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg,#062b62 0%,#062b62 38%,rgba(6,43,98,.82) 54%,rgba(6,43,98,.18) 74%,rgba(6,43,98,0) 100%);
    pointer-events: none;
}

.keystone-heavy-industry-detail__bottom-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 42%;
    max-width: 520px;
    padding: 36px 44px;
}

.keystone-heavy-industry-detail__bottom-title {
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 20px;
}

.keystone-heavy-industry-detail__bottom-description {
    color: #fff;
    font-size: 18px;
    line-height: 1.48;
}

@media (max-width: 1024px) {
    .keystone-heavy-industry-detail__hero-content {
        width: 48%;
    }
    .keystone-heavy-industry-detail__hero-title {
        font-size: 42px;
    }
    .keystone-heavy-industry-detail__hero-description,
    .keystone-heavy-industry-detail__overview-description {
        font-size: 19px;
    }
    .keystone-heavy-industry-detail__overview-inner {
        gap: 32px;
    }
    .keystone-heavy-industry-detail__overview-image {
        height: 300px;
    }
    .keystone-heavy-industry-detail__overview-title {
        font-size: 34px;
    }
    .keystone-heavy-industry-detail__sectors {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .keystone-heavy-industry-detail__sector-card {
        height: 230px;
    }
    .keystone-heavy-industry-detail__bottom-content {
        width: 50%;
    }
}

@media (max-width: 767px) {
    .keystone-heavy-industry-detail__hero {
        min-height: 500px;
        background-position: 64% center;
    }
    .keystone-heavy-industry-detail__hero-overlay {
        background: linear-gradient(180deg,rgba(247,250,255,.98) 0%,rgba(247,250,255,.94) 43%,rgba(247,250,255,.66) 67%,rgba(247,250,255,.10) 100%);
    }
    .keystone-heavy-industry-detail__watermark {
        font-size: 135px;
        top: 2%;
        left: -2%;
    }
    .keystone-heavy-industry-detail__hero-inner {
        min-height: inherit;
        align-items: flex-start;
        padding: 48px 18px;
    }
    .keystone-heavy-industry-detail__hero-content {
        width: 100% !important;
        max-width: 100%;
    }
    .keystone-heavy-industry-detail__hero-title {
        max-width: 94%;
        font-size: 36px;
        margin-bottom: 20px;
    }
    .keystone-heavy-industry-detail__hero-description {
        max-width: 92%;
        font-size: 17px;
        line-height: 1.45;
    }
    .keystone-heavy-industry-detail__body {
        padding: 22px 14px 28px;
    }
    .keystone-heavy-industry-detail__body-inner {
        gap: 20px;
    }
    .keystone-heavy-industry-detail__overview {
        padding: 18px 18px 22px;
        border-radius: 20px;
    }
    .keystone-heavy-industry-detail__overview-inner,
    .keystone-heavy-industry-detail__overview--image-right .keystone-heavy-industry-detail__overview-inner {
        flex-direction: column;
        gap: 22px;
    }
    .keystone-heavy-industry-detail__overview-media {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }
    .keystone-heavy-industry-detail__overview-image {
        height: 250px;
    }
    .keystone-heavy-industry-detail__overview-content,
    .keystone-heavy-industry-detail__overview--image-right .keystone-heavy-industry-detail__overview-content {
        width: 100%;
        padding: 0 3px 2px;
    }
    .keystone-heavy-industry-detail__overview-title {
        font-size: 30px;
        margin-bottom: 16px;
    }
    .keystone-heavy-industry-detail__overview-description {
        font-size: 17px;
        line-height: 1.45;
    }
    .keystone-heavy-industry-detail__sectors {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .keystone-heavy-industry-detail__sector-card {
        height: 220px;
    }
    .keystone-heavy-industry-detail__sector-title {
        font-size: 20px;
    }
    .keystone-heavy-industry-detail__bottom-banner {
        min-height: 340px;
        background-position: 62% center;
    }
    .keystone-heavy-industry-detail__bottom-overlay {
        background: linear-gradient(90deg,rgba(6,43,98,.98) 0%,rgba(6,43,98,.94) 55%,rgba(6,43,98,.55) 100%);
    }
    .keystone-heavy-industry-detail__bottom-content {
        width: 100% !important;
        max-width: 100%;
        justify-content: flex-end;
        padding: 28px 22px;
    }
    .keystone-heavy-industry-detail__bottom-title {
        max-width: 90%;
        font-size: 30px;
    }
    .keystone-heavy-industry-detail__bottom-description {
        max-width: 92%;
        font-size: 16px;
    }
}

@media (max-width: 420px) {
    .keystone-heavy-industry-detail__hero {
        min-height: 470px;
    }
    .keystone-heavy-industry-detail__hero-title {
        font-size: 31px;
    }
    .keystone-heavy-industry-detail__hero-description {
        font-size: 16px;
    }
    .keystone-heavy-industry-detail__overview-image {
        height: 220px;
    }
    .keystone-heavy-industry-detail__overview-title {
        font-size: 27px;
    }
    .keystone-heavy-industry-detail__sector-card {
        height: 205px;
    }
    .keystone-heavy-industry-detail__bottom-banner {
        min-height: 320px;
    }
}

/* ============================================================
   CFICON Operation Excellence Detail — v1.69.22
   ============================================================ */
.keystone-operation-excellence-detail,
.keystone-operation-excellence-detail *,
.keystone-operation-excellence-detail *::before,
.keystone-operation-excellence-detail *::after {
    box-sizing: border-box;
}

.keystone-operation-excellence-detail {
    --ke-op-hero-overlay-start: #f8fbff;
    --ke-op-hero-overlay-end: rgba(248,251,255,0);
    --ke-op-hero-overlay-stop: 61%;
    --ke-op-bottom-overlay-start: #062c63;
    --ke-op-bottom-overlay-end: rgba(6,44,99,.10);
    width: 100%;
    overflow: hidden;
    color: #0a2c5c;
}

.keystone-operation-excellence-detail__inner {
    width: 100%;
    max-width: 1232px;
    margin: 0 auto;
}

.keystone-operation-excellence-detail__hero {
    position: relative;
    width: 100%;
    min-height: 500px;
    display: flex;
    background-color: #eaf1f8;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    isolation: isolate;
}

.keystone-operation-excellence-detail__hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,var(--ke-op-hero-overlay-start) 0%,var(--ke-op-hero-overlay-start) 31%,var(--ke-op-hero-overlay-end) var(--ke-op-hero-overlay-stop),var(--ke-op-hero-overlay-end) 100%);
}

.keystone-operation-excellence-detail__watermark {
    position: absolute;
    z-index: 1;
    left: 2%;
    top: 2%;
    font-size: 230px;
    line-height: 1;
    font-weight: 900;
    color: rgba(15,91,180,.035);
    pointer-events: none;
    user-select: none;
}

.keystone-operation-excellence-detail__hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: inherit;
    padding: 62px 22px;
}

.keystone-operation-excellence-detail__hero-content {
    width: 47%;
    max-width: 600px;
}

.keystone-operation-excellence-detail__hero-title,
.keystone-operation-excellence-detail__overview-title,
.keystone-operation-excellence-detail__bottom-title {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.keystone-operation-excellence-detail__hero-title {
    color: #082d63;
    font-size: clamp(38px,4vw,56px);
    line-height: 1.08;
    margin-bottom: 24px;
}

.keystone-operation-excellence-detail__points {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.keystone-operation-excellence-detail__point {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
}

.keystone-operation-excellence-detail__point-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 20px;
    font-size: 20px;
    line-height: 1;
    color: #0869f7;
    margin-top: .18em;
}

.keystone-operation-excellence-detail__point-icon i,
.keystone-operation-excellence-detail__point-icon svg {
    display: block;
}

.keystone-operation-excellence-detail__point-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.keystone-operation-excellence-detail__point-copy {
    min-width: 0;
    color: #0a2c5c;
    font-size: 16px;
    line-height: 1.5;
}

.keystone-operation-excellence-detail__point-title {
    color: #0869f7;
    font-weight: 800;
}

.keystone-operation-excellence-detail__point-description {
    color: #0a2c5c;
    font-weight: 400;
}

.keystone-operation-excellence-detail__body {
    width: 100%;
    background: #f4f8fd;
    padding: 28px 20px 44px;
}

.keystone-operation-excellence-detail__body-inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.keystone-operation-excellence-detail__overview {
    width: 100%;
    background: #fff;
    border-radius: 22px;
    padding: 30px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(9,58,115,.08);
}

.keystone-operation-excellence-detail__overview-inner {
    display: flex;
    align-items: center;
    gap: 42px;
    min-width: 0;
}

.keystone-operation-excellence-detail__overview--image-right .keystone-operation-excellence-detail__overview-inner {
    flex-direction: row-reverse;
}

.keystone-operation-excellence-detail__overview-media {
    flex: 0 0 52%;
    max-width: 52%;
    min-width: 0;
}

.keystone-operation-excellence-detail__overview-image {
    display: block;
    width: 100%;
    height: 385px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
}

.keystone-operation-excellence-detail__overview-content {
    flex: 1 1 0;
    min-width: 0;
}

.keystone-operation-excellence-detail__overview-title {
    color: #082d63;
    font-size: clamp(31px,3vw,44px);
    line-height: 1.08;
    margin-bottom: 18px;
}

.keystone-operation-excellence-detail__overview .keystone-operation-excellence-detail__point-copy {
    font-size: 15px;
    line-height: 1.48;
}

.keystone-operation-excellence-detail__features {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    width: 100%;
}

.keystone-operation-excellence-detail__feature-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(9,58,115,.08);
    text-decoration: none;
    color: inherit;
    transition: transform .25s ease, box-shadow .25s ease;
}

a.keystone-operation-excellence-detail__feature-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(9,58,115,.13);
}

.keystone-operation-excellence-detail__feature-image {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
}

.keystone-operation-excellence-detail__feature-content {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 18px 18px 22px;
}

.keystone-operation-excellence-detail__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #0869f7;
    font-size: 20px;
    line-height: 1;
    margin-top: .18em;
}

.keystone-operation-excellence-detail__feature-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.keystone-operation-excellence-detail__feature-copy {
    min-width: 0;
}

.keystone-operation-excellence-detail__feature-title {
    display: inline;
    color: #0869f7;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.keystone-operation-excellence-detail__feature-description {
    display: inline;
    color: #0a2c5c;
    font-size: 16px;
    line-height: 1.52;
}

.keystone-operation-excellence-detail__feature-title + .keystone-operation-excellence-detail__feature-description::before {
    content: " — ";
    color: #0a2c5c;
}

.keystone-operation-excellence-detail__bottom {
    position: relative;
    width: 100%;
    min-height: 365px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-radius: 18px;
    background-color: #062c63;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    isolation: isolate;
}

.keystone-operation-excellence-detail__bottom-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,var(--ke-op-bottom-overlay-start) 0%,var(--ke-op-bottom-overlay-start) 38%,rgba(6,44,99,.88) 54%,var(--ke-op-bottom-overlay-end) 79%,var(--ke-op-bottom-overlay-end) 100%);
}

.keystone-operation-excellence-detail__bottom-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 48%;
    max-width: 650px;
    padding: 36px 44px;
}

.keystone-operation-excellence-detail__bottom-title {
    color: #fff;
    font-size: clamp(31px,3.2vw,44px);
    line-height: 1.08;
    margin-bottom: 20px;
}

.keystone-operation-excellence-detail__bottom .keystone-operation-excellence-detail__point-title,
.keystone-operation-excellence-detail__bottom .keystone-operation-excellence-detail__point-description {
    color: #fff;
}

.keystone-operation-excellence-detail__bottom .keystone-operation-excellence-detail__point-copy {
    font-size: 15px;
    line-height: 1.45;
}

.keystone-operation-excellence-detail__bottom .keystone-operation-excellence-detail__point-icon {
    color: #4ca0ff;
}

@media (max-width: 1024px) {
    .keystone-operation-excellence-detail__hero-content {
        width: 54%;
        max-width: 560px;
    }
    .keystone-operation-excellence-detail__hero-title {
        font-size: 42px;
    }
    .keystone-operation-excellence-detail__point-copy {
        font-size: 15px;
    }
    .keystone-operation-excellence-detail__overview-inner {
        gap: 28px;
    }
    .keystone-operation-excellence-detail__overview-media {
        flex-basis: 50%;
        max-width: 50%;
    }
    .keystone-operation-excellence-detail__overview-image {
        height: 330px;
    }
    .keystone-operation-excellence-detail__overview-title {
        font-size: 34px;
    }
    .keystone-operation-excellence-detail__features {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .keystone-operation-excellence-detail__bottom-content {
        width: 55%;
    }
}

@media (max-width: 767px) {
    .keystone-operation-excellence-detail__hero {
        min-height: 560px;
        background-position: 72% center;
    }
    .keystone-operation-excellence-detail__hero-overlay {
        background: linear-gradient(180deg,rgba(248,251,255,.99) 0%,rgba(248,251,255,.97) 48%,rgba(248,251,255,.76) 68%,rgba(248,251,255,.18) 100%);
    }
    .keystone-operation-excellence-detail__watermark {
        font-size: 135px;
        left: -2%;
        top: 1%;
    }
    .keystone-operation-excellence-detail__hero-inner {
        align-items: flex-start;
        padding: 38px 18px;
    }
    .keystone-operation-excellence-detail__hero-content {
        width: 100% !important;
        max-width: 100%;
    }
    .keystone-operation-excellence-detail__hero-title {
        font-size: 34px;
        margin-bottom: 22px;
    }
    .keystone-operation-excellence-detail__points {
        gap: 17px;
    }
    .keystone-operation-excellence-detail__point {
        gap: 10px;
    }
    .keystone-operation-excellence-detail__point-copy {
        font-size: 14.5px;
        line-height: 1.46;
    }
    .keystone-operation-excellence-detail__body {
        padding: 18px 14px 26px;
    }
    .keystone-operation-excellence-detail__body-inner {
        gap: 20px;
    }
    .keystone-operation-excellence-detail__overview {
        padding: 18px;
        border-radius: 18px;
    }
    .keystone-operation-excellence-detail__overview-inner,
    .keystone-operation-excellence-detail__overview--image-right .keystone-operation-excellence-detail__overview-inner {
        flex-direction: column;
        gap: 22px;
    }
    .keystone-operation-excellence-detail__overview-media {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }
    .keystone-operation-excellence-detail__overview-image {
        height: 250px;
    }
    .keystone-operation-excellence-detail__overview-content {
        width: 100%;
    }
    .keystone-operation-excellence-detail__overview-title {
        font-size: 30px;
        margin-bottom: 16px;
    }
    .keystone-operation-excellence-detail__overview .keystone-operation-excellence-detail__point-copy {
        font-size: 14.5px;
    }
    .keystone-operation-excellence-detail__features {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .keystone-operation-excellence-detail__feature-image {
        height: 230px;
    }
    .keystone-operation-excellence-detail__feature-content {
        padding: 16px 16px 20px;
    }
    .keystone-operation-excellence-detail__feature-title {
        font-size: 17px;
    }
    .keystone-operation-excellence-detail__feature-description {
        font-size: 15px;
    }
    .keystone-operation-excellence-detail__bottom {
        min-height: 510px;
        background-position: 68% center;
    }
    .keystone-operation-excellence-detail__bottom-overlay {
        background: linear-gradient(180deg,rgba(6,44,99,.98) 0%,rgba(6,44,99,.96) 58%,rgba(6,44,99,.62) 78%,rgba(6,44,99,.25) 100%);
    }
    .keystone-operation-excellence-detail__bottom-content {
        width: 100% !important;
        max-width: 100%;
        justify-content: flex-start;
        padding: 28px 22px;
    }
    .keystone-operation-excellence-detail__bottom-title {
        font-size: 30px;
        margin-bottom: 18px;
    }
    .keystone-operation-excellence-detail__bottom .keystone-operation-excellence-detail__point-copy {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .keystone-operation-excellence-detail__hero {
        min-height: 590px;
    }
    .keystone-operation-excellence-detail__hero-title {
        font-size: 30px;
    }
    .keystone-operation-excellence-detail__point-copy {
        font-size: 14px;
    }
    .keystone-operation-excellence-detail__overview-image {
        height: 220px;
    }
    .keystone-operation-excellence-detail__overview-title {
        font-size: 27px;
    }
    .keystone-operation-excellence-detail__feature-image {
        height: 210px;
    }
    .keystone-operation-excellence-detail__bottom {
        min-height: 540px;
    }
    .keystone-operation-excellence-detail__bottom-title {
        font-size: 27px;
    }
}


/* ============================================================
   CFICON CE Marking Detail — v1.69.23
   ============================================================ */
.keystone-ce-marking-detail,
.keystone-ce-marking-detail *,
.keystone-ce-marking-detail *::before,
.keystone-ce-marking-detail *::after {
    box-sizing: border-box;
}

.keystone-ce-marking-detail {
    --ke-ce-hero-overlay-start: #f8fbff;
    --ke-ce-hero-overlay-end: rgba(248,251,255,0);
    --ke-ce-hero-overlay-stop: 61%;
    --ke-ce-bottom-overlay-start: #062c63;
    --ke-ce-bottom-overlay-end: rgba(6,44,99,.10);
    width: 100%;
    overflow: hidden;
    color: #0a2c5c;
}

.keystone-ce-marking-detail__inner {
    width: 100%;
    max-width: 1232px;
    margin: 0 auto;
}

.keystone-ce-marking-detail__hero {
    position: relative;
    width: 100%;
    min-height: 430px;
    display: flex;
    background-color: #eaf1f8;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    isolation: isolate;
}

.keystone-ce-marking-detail__hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,var(--ke-ce-hero-overlay-start) 0%,var(--ke-ce-hero-overlay-start) 31%,var(--ke-ce-hero-overlay-end) var(--ke-ce-hero-overlay-stop),var(--ke-ce-hero-overlay-end) 100%);
}

.keystone-ce-marking-detail__watermark {
    position: absolute;
    z-index: 1;
    left: 2%;
    top: 2%;
    font-size: 230px;
    line-height: 1;
    font-weight: 900;
    color: rgba(15,91,180,.035);
    pointer-events: none;
    user-select: none;
}

.keystone-ce-marking-detail__hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: inherit;
    padding: 62px 22px;
}

.keystone-ce-marking-detail__hero-content {
    width: 46%;
    max-width: 600px;
}

.keystone-ce-marking-detail__hero-title,
.keystone-ce-marking-detail__overview-title,
.keystone-ce-marking-detail__bottom-title {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.keystone-ce-marking-detail__hero-title {
    color: #082d63;
    font-size: clamp(40px,4vw,54px);
    line-height: 1.08;
    margin-bottom: 24px;
}

.keystone-ce-marking-detail__hero-description {
    max-width: 92%;
    color: #0a2c5c;
    font-size: 20px;
    line-height: 1.52;
    font-weight: 400;
}

.keystone-ce-marking-detail__points {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.keystone-ce-marking-detail__point {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
}

.keystone-ce-marking-detail__point-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 20px;
    font-size: 20px;
    line-height: 1;
    color: #0869f7;
    margin-top: .18em;
}

.keystone-ce-marking-detail__point-icon i,
.keystone-ce-marking-detail__point-icon svg {
    display: block;
}

.keystone-ce-marking-detail__point-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.keystone-ce-marking-detail__point-copy {
    min-width: 0;
    color: #0a2c5c;
    font-size: 16px;
    line-height: 1.5;
}

.keystone-ce-marking-detail__point-title {
    color: #0869f7;
    font-weight: 800;
}

.keystone-ce-marking-detail__point-description {
    color: #0a2c5c;
    font-weight: 400;
}

.keystone-ce-marking-detail__body {
    width: 100%;
    background: #f4f8fd;
    padding: 28px 20px 44px;
}

.keystone-ce-marking-detail__body-inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.keystone-ce-marking-detail__overview {
    width: 100%;
    background: #fff;
    border-radius: 22px;
    padding: 30px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(9,58,115,.08);
}

.keystone-ce-marking-detail__overview-inner {
    display: flex;
    align-items: center;
    gap: 42px;
    min-width: 0;
}

.keystone-ce-marking-detail__overview--image-right .keystone-ce-marking-detail__overview-inner {
    flex-direction: row-reverse;
}

.keystone-ce-marking-detail__overview-media {
    flex: 0 0 52%;
    max-width: 52%;
    min-width: 0;
}

.keystone-ce-marking-detail__overview-image {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
}

.keystone-ce-marking-detail__overview-content {
    flex: 1 1 0;
    min-width: 0;
}

.keystone-ce-marking-detail__overview-title {
    color: #082d63;
    font-size: clamp(31px,3vw,44px);
    line-height: 1.08;
    margin-bottom: 18px;
}

.keystone-ce-marking-detail__overview-description {
    color: #0a2c5c;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 16px;
}

.keystone-ce-marking-detail__overview .keystone-ce-marking-detail__point-copy {
    font-size: 15px;
    line-height: 1.48;
}

.keystone-ce-marking-detail__features {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    width: 100%;
}

.keystone-ce-marking-detail__feature-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(9,58,115,.08);
    text-decoration: none;
    color: inherit;
    transition: transform .25s ease, box-shadow .25s ease;
}

a.keystone-ce-marking-detail__feature-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(9,58,115,.13);
}

.keystone-ce-marking-detail__feature-image {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    object-position: center;
}

.keystone-ce-marking-detail__feature-content {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 18px 18px 22px;
}

.keystone-ce-marking-detail__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #0869f7;
    font-size: 20px;
    line-height: 1;
    margin-top: .18em;
}

.keystone-ce-marking-detail__feature-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.keystone-ce-marking-detail__feature-copy {
    min-width: 0;
}

.keystone-ce-marking-detail__feature-title {
    display: inline;
    color: #0869f7;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.keystone-ce-marking-detail__feature-description {
    display: inline;
    color: #0a2c5c;
    font-size: 16px;
    line-height: 1.52;
}

.keystone-ce-marking-detail__feature-title + .keystone-ce-marking-detail__feature-description::before {
    content: " — ";
    color: #0a2c5c;
}

.keystone-ce-marking-detail__bottom {
    position: relative;
    width: 100%;
    min-height: 260px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-radius: 18px;
    background-color: #062c63;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    isolation: isolate;
}

.keystone-ce-marking-detail__bottom-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,var(--ke-ce-bottom-overlay-start) 0%,var(--ke-ce-bottom-overlay-start) 38%,rgba(6,44,99,.88) 54%,var(--ke-ce-bottom-overlay-end) 79%,var(--ke-ce-bottom-overlay-end) 100%);
}

.keystone-ce-marking-detail__bottom-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 48%;
    max-width: 650px;
    padding: 36px 44px;
}

.keystone-ce-marking-detail__bottom-title {
    color: #fff;
    font-size: clamp(31px,3.2vw,44px);
    line-height: 1.08;
    margin-bottom: 20px;
}

.keystone-ce-marking-detail__bottom-description {
    color: #fff;
    font-size: 18px;
    line-height: 1.55;
    max-width: 560px;
}

@media (max-width: 1024px) {
    .keystone-ce-marking-detail__hero-content {
        width: 54%;
        max-width: 560px;
    }
    .keystone-ce-marking-detail__hero-title {
        font-size: 42px;
    }
    .keystone-ce-marking-detail__point-copy {
        font-size: 15px;
    }
    .keystone-ce-marking-detail__overview-inner {
        gap: 28px;
    }
    .keystone-ce-marking-detail__overview-media {
        flex-basis: 50%;
        max-width: 50%;
    }
    .keystone-ce-marking-detail__overview-image {
        height: 330px;
    }
    .keystone-ce-marking-detail__overview-title {
        font-size: 34px;
    }
    .keystone-ce-marking-detail__features {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .keystone-ce-marking-detail__bottom-content {
        width: 55%;
    }
}

@media (max-width: 767px) {
    .keystone-ce-marking-detail__hero {
        min-height: 500px;
        background-position: 72% center;
    }
    .keystone-ce-marking-detail__hero-overlay {
        background: linear-gradient(180deg,rgba(248,251,255,.99) 0%,rgba(248,251,255,.97) 48%,rgba(248,251,255,.76) 68%,rgba(248,251,255,.18) 100%);
    }
    .keystone-ce-marking-detail__watermark {
        font-size: 135px;
        left: -2%;
        top: 1%;
    }
    .keystone-ce-marking-detail__hero-inner {
        align-items: flex-start;
        padding: 38px 18px;
    }
    .keystone-ce-marking-detail__hero-content {
        width: 100% !important;
        max-width: 100%;
    }
    .keystone-ce-marking-detail__hero-title {
        font-size: 34px;
        margin-bottom: 18px;
    }
    .keystone-ce-marking-detail__hero-description {
        max-width: 100%;
        font-size: 16px;
        line-height: 1.5;
    }
    .keystone-ce-marking-detail__points {
        gap: 17px;
    }
    .keystone-ce-marking-detail__point {
        gap: 10px;
    }
    .keystone-ce-marking-detail__point-copy {
        font-size: 14.5px;
        line-height: 1.46;
    }
    .keystone-ce-marking-detail__body {
        padding: 18px 14px 26px;
    }
    .keystone-ce-marking-detail__body-inner {
        gap: 20px;
    }
    .keystone-ce-marking-detail__overview {
        padding: 18px;
        border-radius: 18px;
    }
    .keystone-ce-marking-detail__overview-inner,
    .keystone-ce-marking-detail__overview--image-right .keystone-ce-marking-detail__overview-inner {
        flex-direction: column;
        gap: 22px;
    }
    .keystone-ce-marking-detail__overview-media {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }
    .keystone-ce-marking-detail__overview-image {
        height: 250px;
    }
    .keystone-ce-marking-detail__overview-content {
        width: 100%;
    }
    .keystone-ce-marking-detail__overview-title {
        font-size: 30px;
        margin-bottom: 12px;
    }
    .keystone-ce-marking-detail__overview-description {
        font-size: 15px;
        margin-bottom: 14px;
    }
    .keystone-ce-marking-detail__overview .keystone-ce-marking-detail__point-copy {
        font-size: 14.5px;
    }
    .keystone-ce-marking-detail__features {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .keystone-ce-marking-detail__feature-image {
        height: 230px;
    }
    .keystone-ce-marking-detail__feature-content {
        padding: 16px 16px 20px;
    }
    .keystone-ce-marking-detail__feature-title {
        font-size: 17px;
    }
    .keystone-ce-marking-detail__feature-description {
        font-size: 15px;
    }
    .keystone-ce-marking-detail__bottom {
        min-height: 380px;
        background-position: 68% center;
    }
    .keystone-ce-marking-detail__bottom-overlay {
        background: linear-gradient(180deg,rgba(6,44,99,.98) 0%,rgba(6,44,99,.96) 58%,rgba(6,44,99,.62) 78%,rgba(6,44,99,.25) 100%);
    }
    .keystone-ce-marking-detail__bottom-content {
        width: 100% !important;
        max-width: 100%;
        justify-content: flex-start;
        padding: 28px 22px;
    }
    .keystone-ce-marking-detail__bottom-title {
        font-size: 30px;
        margin-bottom: 14px;
    }
    .keystone-ce-marking-detail__bottom-description {
        font-size: 15px;
        line-height: 1.5;
    }
    .keystone-ce-marking-detail__bottom .keystone-ce-marking-detail__point-copy {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .keystone-ce-marking-detail__hero {
        min-height: 520px;
    }
    .keystone-ce-marking-detail__hero-title {
        font-size: 30px;
    }
    .keystone-ce-marking-detail__point-copy {
        font-size: 14px;
    }
    .keystone-ce-marking-detail__overview-image {
        height: 220px;
    }
    .keystone-ce-marking-detail__overview-title {
        font-size: 27px;
    }
    .keystone-ce-marking-detail__feature-image {
        height: 210px;
    }
    .keystone-ce-marking-detail__bottom {
        min-height: 400px;
    }
    .keystone-ce-marking-detail__bottom-title {
        font-size: 27px;
    }
}

/* ==========================================================
   CFICON Asset Integrity Detail widget (v1.69.24)
   Reuses the proven CE-detail structural system while keeping
   the asset-service cards visually faithful to the reference.
   ========================================================== */
.elementor-widget-keystone_asset_integrity_detail .keystone-ce-marking-detail__feature-content {
    justify-content: center;
    align-items: center;
}

.elementor-widget-keystone_asset_integrity_detail .keystone-ce-marking-detail__feature-copy {
    width: 100%;
    text-align: inherit;
}

.elementor-widget-keystone_asset_integrity_detail .keystone-ce-marking-detail__feature-title {
    display: block;
    color: #082d63;
    font-weight: 800;
}

.elementor-widget-keystone_asset_integrity_detail .keystone-ce-marking-detail__feature-description {
    display: block;
    margin-top: 7px;
}

.elementor-widget-keystone_asset_integrity_detail .keystone-ce-marking-detail__feature-card {
    border: 1px solid rgba(8,45,99,.08);
}

@media (max-width: 767px) {
    .elementor-widget-keystone_asset_integrity_detail .keystone-ce-marking-detail__feature-content {
        min-height: 64px;
    }
}


/* Footer service icon alignment correction - v1.69.26 */
.keystone-footer__service-links a{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:start;
    column-gap:12px;
    min-height:28px;
    line-height:1.45;
}
.keystone-footer__service-links .keystone-footer__icon{
    width:28px;
    height:28px;
    min-width:28px;
    align-self:start;
    justify-self:center;
    margin:0;
    padding:0;
    line-height:1;
}
.keystone-footer__service-links .keystone-footer-service-svg{
    display:block!important;
    width:22px!important;
    height:22px!important;
    max-width:22px!important;
    max-height:22px!important;
    margin:1px auto 0!important;
    flex:none;
    overflow:visible;
}
.keystone-footer__service-text{
    display:block;
    min-width:0;
    line-height:1.45;
}
@media(max-width:767px){
    .keystone-footer__service-links a{grid-template-columns:28px minmax(0,1fr);column-gap:12px;}
}


/* Footer OUR SERVICES icon parity with GET IN TOUCH - v1.69.27 */
.keystone-footer__service-links a{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:start;
    column-gap:14px;
    min-height:28px;
}
.keystone-footer__service-links .keystone-footer__icon{
    width:28px;
    height:28px;
    min-width:28px;
    align-self:start;
    justify-self:start;
    margin:0;
    padding:0;
    line-height:1;
}
.keystone-footer__service-links .keystone-footer-service-svg{
    display:block!important;
    width:26px!important;
    height:26px!important;
    max-width:26px!important;
    max-height:26px!important;
    margin:0!important;
    flex:none;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    overflow:visible;
}
.keystone-footer__service-text{
    display:block;
    min-width:0;
    line-height:1.45;
}
@media(max-width:767px){
    .keystone-footer__service-links a{grid-template-columns:34px minmax(0,1fr);column-gap:14px;}
}

/* --------------------------------------------------------------------------
 * CFICON Training Programs Banner (v1.69.31)
 * ----------------------------------------------------------------------- */
.keystone-training-banner{position:relative;width:100%;min-height:430px;overflow:hidden;isolation:isolate;background:#071c44;display:flex;box-sizing:border-box}
.keystone-training-banner--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.keystone-training-banner__image{position:absolute;z-index:-5;right:0;top:0;bottom:0;width:58%;background-repeat:no-repeat;background-size:cover;background-position:center center}
.keystone-training-banner__image:after{content:"";position:absolute;inset:0;background:rgba(3,23,55,.08)}
.keystone-training-banner__panels{position:absolute;z-index:-3;inset:0;pointer-events:none}
.keystone-training-banner__panel{position:absolute;left:0;top:0;bottom:0;display:block}
.keystone-training-banner__panel--accent{width:59%;background:#0871EA;clip-path:polygon(0 0,77% 0,100% 50%,77% 100%,0 100%)}
.keystone-training-banner__panel--mid{width:54%;background:#083E8C;clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%)}
.keystone-training-banner__panel--dark{width:50%;background:#061B45;clip-path:polygon(0 0,76% 0,100% 50%,76% 100%,0 100%);box-shadow:inset -90px 0 120px rgba(0,20,60,.18)}
.keystone-training-banner--no-panels .keystone-training-banner__panels{display:none}
.keystone-training-banner__inner{position:relative;z-index:2;width:100%;max-width:1232px;margin:0 auto;min-height:inherit;display:flex;align-items:flex-start;padding:64px 24px 46px 48px;box-sizing:border-box}
.keystone-training-banner__content{max-width:430px;position:relative;text-align:left}
.keystone-training-banner__badge{display:inline-flex;align-items:center;justify-content:center;background:#0A78FF;color:#fff;border-radius:20px;padding:8px 18px;font-size:14px;font-weight:600;line-height:1.2;box-shadow:0 2px 8px rgba(0,97,255,.35)}
.keystone-training-banner__title{margin:28px 0 0;color:#fff;font-size:60px;font-weight:700;line-height:1.04;letter-spacing:-1px}
.keystone-training-banner__underline{display:block;width:90px;height:4px;margin-top:20px;background:#168CFF;border-radius:4px}
.keystone-training-banner__description{margin-top:30px;color:#E4EBF7;font-size:18px;line-height:1.55;font-weight:400;max-width:430px}
@media(max-width:1024px){
 .keystone-training-banner{min-height:380px}
 .keystone-training-banner__inner{padding:48px 36px 42px}
 .keystone-training-banner__content{max-width:400px}
 .keystone-training-banner__title{font-size:50px}
 .keystone-training-banner__panel--dark{width:58%}.keystone-training-banner__panel--mid{width:63%}.keystone-training-banner__panel--accent{width:69%}
 .keystone-training-banner__image{width:60%}
}
@media(max-width:767px){
 .keystone-training-banner{min-height:500px;background:#061B45;display:block}
 .keystone-training-banner__image{position:absolute;top:auto;left:0;right:0;bottom:0;width:100%;height:48%;background-position:center center}
 .keystone-training-banner__image:after{background:linear-gradient(180deg,#061B45 0%,rgba(6,27,69,.72) 28%,rgba(6,27,69,.08) 100%)!important}
 .keystone-training-banner__panels{height:58%;bottom:auto}
 .keystone-training-banner__panel--dark,.keystone-training-banner__panel--mid,.keystone-training-banner__panel--accent{width:100%!important;clip-path:none}
 .keystone-training-banner__panel--accent,.keystone-training-banner__panel--mid{display:none}
 .keystone-training-banner__inner{padding:36px 24px;min-height:500px}
 .keystone-training-banner__content{max-width:100%;width:100%}
 .keystone-training-banner__badge{font-size:13px;padding:7px 14px}
 .keystone-training-banner__title{font-size:42px;line-height:1.05;margin-top:20px}
 .keystone-training-banner__description{font-size:16px;line-height:1.5;margin-top:22px;max-width:100%}
 .keystone-training-banner__underline{margin-top:16px}
}
@media(max-width:420px){.keystone-training-banner__inner{padding:30px 20px}.keystone-training-banner__title{font-size:38px}.keystone-training-banner__description{font-size:15px}}

/* CFICON Training Categories - v1.69.32 */
.keystone-training-categories{position:relative;width:100%;box-sizing:border-box;background:#F6F9FD;padding:44px 0 34px;overflow:hidden}
.keystone-training-categories--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.keystone-training-categories,.keystone-training-categories *{box-sizing:border-box}
.keystone-training-categories__inner{width:100%;max-width:1300px;margin:0 auto;padding-left:34px;padding-right:34px}
.keystone-training-categories__grid{width:100%;max-width:1132px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}
.keystone-training-category-card{display:flex;min-width:0;min-height:205px;padding:27px 18px 25px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #EEF3F9;border-radius:14px;box-shadow:0 8px 22px rgba(26,67,112,.10);text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
a.keystone-training-category-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(26,67,112,.13)}
.keystone-training-category-card__icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;margin:0 0 12px;color:#347CF1;line-height:1;flex:0 0 auto}
.keystone-training-category-card__icon svg{display:block;width:66px;height:66px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.keystone-training-category-card__icon i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.92em;color:inherit}
.keystone-training-category-card__title{display:block;color:#071A3C;font-size:20px;font-weight:700;line-height:1.28;letter-spacing:-.2px;text-align:center}

/* Training Programs: match the original CFICON header grid by default. */
.keystone-training-banner--match-header .keystone-training-banner__inner{max-width:1300px!important;padding-left:var(--keystone-training-header-gutter,34px)!important;padding-right:var(--keystone-training-header-gutter,34px)!important}

@media(max-width:1024px){
 .keystone-training-categories{padding-top:36px;padding-bottom:32px}
 .keystone-training-categories__inner{padding-left:28px;padding-right:28px}
 .keystone-training-categories__grid{max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .keystone-training-category-card{min-height:190px}
 .keystone-training-category-card__icon{width:62px;height:62px}
 .keystone-training-category-card__icon svg{width:62px;height:62px}
}
@media(max-width:767px){
 .keystone-training-categories{padding-top:28px;padding-bottom:28px}
 .keystone-training-categories__inner{padding-left:20px;padding-right:20px}
 .keystone-training-categories__grid{grid-template-columns:1fr;gap:18px}
 .keystone-training-category-card{min-height:180px}
 .keystone-training-category-card__icon{width:58px;height:58px}
 .keystone-training-category-card__icon svg{width:58px;height:58px}
 .keystone-training-category-card__title{font-size:19px}
}
@media(max-width:420px){
 .keystone-training-categories__inner{padding-left:16px;padding-right:16px}
 .keystone-training-category-card{min-height:166px;padding:24px 16px 22px}
 .keystone-training-category-card__title{font-size:18px}
}

/* CFICON Training Detail - v1.69.33 */
.keystone-training-detail{position:relative;width:100%;box-sizing:border-box;background:#F8FBFE;padding:22px 0;overflow:hidden}
.keystone-training-detail--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.keystone-training-detail,.keystone-training-detail *{box-sizing:border-box}
.keystone-training-detail__inner{width:100%;max-width:1300px;margin:0 auto;padding-left:34px;padding-right:34px}
.keystone-training-detail__card{width:100%;display:grid;grid-template-columns:minmax(0,39%) minmax(0,1fr);column-gap:38px;align-items:start;padding:18px 30px 18px 18px;background:#fff;border:1px solid #E9EFF7;border-radius:18px;box-shadow:0 8px 28px rgba(22,62,107,.09)}
.keystone-training-detail__image{width:100%;overflow:hidden;border-radius:14px;align-self:stretch}
.keystone-training-detail__image img{display:block;width:100%;height:680px;object-fit:cover;object-position:50% var(--keystone-training-image-y,50%);border-radius:14px}
.keystone-training-detail__content{min-width:0;padding:0 0 0 0}
.keystone-training-detail__heading{display:flex;align-items:baseline;gap:9px;margin:8px 0 0;color:#0877F9;font-size:36px;font-weight:700;line-height:1.12;letter-spacing:-.45px}
.keystone-training-detail__number{flex:0 0 auto}
.keystone-training-detail__underline{display:block;width:82px;height:4px;margin:18px 0 28px;background:#1688FF;border-radius:3px}
.keystone-training-detail__rows{display:flex;flex-direction:column;gap:24px}
.keystone-training-detail__row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:start;min-width:0}
.keystone-training-detail__icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;color:#347CF1;background:#fff;border:2px solid #83B7FF;border-radius:50%;line-height:1}
.keystone-training-detail__icon svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.keystone-training-detail__icon i{font-size:20px;color:inherit}
.keystone-training-detail__copy{min-width:0;padding-top:1px}
.keystone-training-detail__label{margin:0 0 4px;color:#071A3C;font-size:18px;font-weight:700;line-height:1.3}
.keystone-training-detail__text{margin:0;color:#1E2C43;font-size:17px;font-weight:400;line-height:1.55}
.keystone-training-detail__text p{margin:0}
.keystone-training-detail__text p+p{margin-top:8px}
.keystone-training-detail__text ul,.keystone-training-detail__text ol{margin:7px 0 0 20px;padding:0}
.keystone-training-detail__button-wrap{margin-top:24px}
.keystone-training-detail__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:150px;padding:15px 28px;background:#0877F9;color:#fff!important;border-radius:5px;text-decoration:none!important;font-size:17px;font-weight:600;line-height:1.1;box-shadow:0 6px 16px rgba(8,119,249,.18);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.keystone-training-detail__button:hover{background:#0564D4;color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 19px rgba(8,119,249,.24)}
.keystone-training-detail__arrow{font-size:18px;line-height:1}
@media(max-width:1024px){
 .keystone-training-detail__inner{padding-left:28px;padding-right:28px}
 .keystone-training-detail__card{grid-template-columns:minmax(0,42%) minmax(0,1fr);column-gap:28px;padding:18px 22px 18px 18px}
 .keystone-training-detail__image img{height:560px}
 .keystone-training-detail__heading{font-size:30px}
 .keystone-training-detail__underline{margin-bottom:23px}
 .keystone-training-detail__rows{gap:20px}
 .keystone-training-detail__label{font-size:17px}
 .keystone-training-detail__text{font-size:15.5px;line-height:1.48}
 .keystone-training-detail__icon{width:42px;height:42px;flex-basis:42px}
}
@media(max-width:767px){
 .keystone-training-detail{padding:16px 0}
 .keystone-training-detail__inner{padding-left:20px;padding-right:20px}
 .keystone-training-detail__card{display:flex;flex-direction:column;gap:0;padding:14px 14px 18px}
 .keystone-training-detail__image{width:100%}
 .keystone-training-detail__image img{height:350px}
 .keystone-training-detail__content{width:100%;padding:24px 6px 0}
 .keystone-training-detail__heading{font-size:28px;gap:7px;margin-top:0}
 .keystone-training-detail__underline{margin:14px 0 22px}
 .keystone-training-detail__rows{gap:18px}
 .keystone-training-detail__row{column-gap:14px}
 .keystone-training-detail__icon{width:40px;height:40px;flex-basis:40px}
 .keystone-training-detail__icon svg{width:21px;height:21px}
 .keystone-training-detail__label{font-size:17px}
 .keystone-training-detail__text{font-size:15.5px;line-height:1.5}
 .keystone-training-detail__button{width:100%;min-width:0}
}
@media(max-width:420px){
 .keystone-training-detail__inner{padding-left:14px;padding-right:14px}
 .keystone-training-detail__card{border-radius:14px;padding:10px 10px 16px}
 .keystone-training-detail__image img{height:300px}
 .keystone-training-detail__content{padding:20px 4px 0}
 .keystone-training-detail__heading{font-size:25px;line-height:1.14;flex-wrap:wrap}
 .keystone-training-detail__underline{margin-bottom:20px}
 .keystone-training-detail__row{grid-template-columns:36px minmax(0,1fr);column-gap:11px}
 .keystone-training-detail__icon{width:36px;height:36px;flex-basis:36px}
 .keystone-training-detail__icon svg{width:19px;height:19px}
 .keystone-training-detail__label{font-size:16px}
 .keystone-training-detail__text{font-size:14.5px}
}

/* CFICON NDT Training Detail - v1.69.34 */
.keystone-ndt-training-detail{position:relative;width:100%;box-sizing:border-box;background:#FFFFFF;padding:22px 0;overflow:hidden}
.keystone-ndt-training-detail--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.keystone-ndt-training-detail,.keystone-ndt-training-detail *{box-sizing:border-box}
.keystone-ndt-training-detail__inner{width:100%;max-width:1300px;margin:0 auto;padding-left:34px;padding-right:34px}
.keystone-ndt-training-detail__card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%);column-gap:38px;align-items:start;padding:18px 18px 18px 30px;background:#fff;border:1px solid #E9EFF7;border-radius:18px;box-shadow:0 8px 28px rgba(22,62,107,.09)}
.keystone-ndt-training-detail__image{width:100%;overflow:hidden;border-radius:14px;align-self:stretch}
.keystone-ndt-training-detail__image img{display:block;width:100%;height:660px;object-fit:cover;object-position:50% var(--keystone-training-image-y,50%);border-radius:14px}
.keystone-ndt-training-detail__content{min-width:0;padding:0 0 0 0}
.keystone-ndt-training-detail__heading{display:flex;align-items:baseline;gap:9px;margin:8px 0 0;color:#0877F9;font-size:36px;font-weight:700;line-height:1.12;letter-spacing:-.45px}
.keystone-ndt-training-detail__number{flex:0 0 auto}
.keystone-ndt-training-detail__underline{display:block;width:82px;height:4px;margin:18px 0 28px;background:#1688FF;border-radius:3px}
.keystone-ndt-training-detail__rows{display:flex;flex-direction:column;gap:24px}
.keystone-ndt-training-detail__row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:start;min-width:0}
.keystone-ndt-training-detail__icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;color:#347CF1;background:#fff;border:2px solid #83B7FF;border-radius:50%;line-height:1}
.keystone-ndt-training-detail__icon svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.keystone-ndt-training-detail__icon i{font-size:20px;color:inherit}
.keystone-ndt-training-detail__copy{min-width:0;padding-top:1px}
.keystone-ndt-training-detail__label{margin:0 0 4px;color:#071A3C;font-size:18px;font-weight:700;line-height:1.3}
.keystone-ndt-training-detail__text{margin:0;color:#1E2C43;font-size:17px;font-weight:400;line-height:1.55}
.keystone-ndt-training-detail__text p{margin:0}
.keystone-ndt-training-detail__text p+p{margin-top:8px}
.keystone-ndt-training-detail__text ul,.keystone-ndt-training-detail__text ol{margin:7px 0 0 20px;padding:0}
.keystone-ndt-training-detail__button-wrap{margin-top:24px}
.keystone-ndt-training-detail__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:150px;padding:15px 28px;background:#0877F9;color:#fff!important;border-radius:5px;text-decoration:none!important;font-size:17px;font-weight:600;line-height:1.1;box-shadow:0 6px 16px rgba(8,119,249,.18);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.keystone-ndt-training-detail__button:hover{background:#0564D4;color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 19px rgba(8,119,249,.24)}
.keystone-ndt-training-detail__arrow{font-size:18px;line-height:1}
@media(max-width:1024px){
 .keystone-ndt-training-detail__inner{padding-left:28px;padding-right:28px}
 .keystone-ndt-training-detail__card{grid-template-columns:minmax(0,1fr) minmax(0,44%);column-gap:28px;padding:18px 18px 18px 22px}
 .keystone-ndt-training-detail__image img{height:540px}
 .keystone-ndt-training-detail__heading{font-size:30px}
 .keystone-ndt-training-detail__underline{margin-bottom:23px}
 .keystone-ndt-training-detail__rows{gap:20px}
 .keystone-ndt-training-detail__label{font-size:17px}
 .keystone-ndt-training-detail__text{font-size:15.5px;line-height:1.48}
 .keystone-ndt-training-detail__icon{width:42px;height:42px;flex-basis:42px}
}
@media(max-width:767px){
 .keystone-ndt-training-detail{padding:16px 0}
 .keystone-ndt-training-detail__inner{padding-left:20px;padding-right:20px}
 .keystone-ndt-training-detail__card{display:flex;flex-direction:column;gap:0;padding:14px 14px 18px}
 .keystone-ndt-training-detail--mobile-image-first .keystone-ndt-training-detail__image{order:-1}
 .keystone-ndt-training-detail--mobile-image-last .keystone-ndt-training-detail__image{order:2}
 .keystone-ndt-training-detail__image{width:100%}
 .keystone-ndt-training-detail__image img{height:350px}
 .keystone-ndt-training-detail__content{width:100%;padding:24px 6px 0}
 .keystone-ndt-training-detail__heading{font-size:28px;gap:7px;margin-top:0}
 .keystone-ndt-training-detail__underline{margin:14px 0 22px}
 .keystone-ndt-training-detail__rows{gap:18px}
 .keystone-ndt-training-detail__row{column-gap:14px}
 .keystone-ndt-training-detail__icon{width:40px;height:40px;flex-basis:40px}
 .keystone-ndt-training-detail__icon svg{width:21px;height:21px}
 .keystone-ndt-training-detail__label{font-size:17px}
 .keystone-ndt-training-detail__text{font-size:15.5px;line-height:1.5}
 .keystone-ndt-training-detail__button{width:100%;min-width:0}
}
@media(max-width:420px){
 .keystone-ndt-training-detail__inner{padding-left:14px;padding-right:14px}
 .keystone-ndt-training-detail__card{border-radius:14px;padding:10px 10px 16px}
 .keystone-ndt-training-detail__image img{height:300px}
 .keystone-ndt-training-detail__content{padding:20px 4px 0}
 .keystone-ndt-training-detail__heading{font-size:25px;line-height:1.14;flex-wrap:wrap}
 .keystone-ndt-training-detail__underline{margin-bottom:20px}
 .keystone-ndt-training-detail__row{grid-template-columns:36px minmax(0,1fr);column-gap:11px}
 .keystone-ndt-training-detail__icon{width:36px;height:36px;flex-basis:36px}
 .keystone-ndt-training-detail__icon svg{width:19px;height:19px}
 .keystone-ndt-training-detail__label{font-size:16px}
 .keystone-ndt-training-detail__text{font-size:14.5px}
}


/* CFICON Project Management Training Detail - v1.69.35 */
.keystone-project-training-detail{position:relative;width:100%;box-sizing:border-box;background:#FFFFFF;padding:22px 0;overflow:hidden}
.keystone-project-training-detail--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.keystone-project-training-detail,.keystone-project-training-detail *{box-sizing:border-box}
.keystone-project-training-detail__inner{width:100%;max-width:1300px;margin:0 auto;padding-left:34px;padding-right:34px}
.keystone-project-training-detail__card{width:100%;display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);column-gap:38px;align-items:start;padding:18px 30px 18px 18px;background:#fff;border:1px solid #E9EFF7;border-radius:18px;box-shadow:0 8px 28px rgba(22,62,107,.09)}
.keystone-project-training-detail__image{width:100%;overflow:hidden;border-radius:14px;align-self:stretch}
.keystone-project-training-detail__image img{display:block;width:100%;height:510px;object-fit:cover;object-position:50% var(--keystone-training-image-y,50%);border-radius:14px}
.keystone-project-training-detail__content{min-width:0;padding:0}
.keystone-project-training-detail__heading{display:flex;align-items:flex-start;gap:9px;margin:20px 0 0;color:#0877F9;font-size:36px;font-weight:700;line-height:1.12;letter-spacing:-.45px;flex-wrap:nowrap}
.keystone-project-training-detail__number{flex:0 0 auto;white-space:nowrap}
.keystone-project-training-detail__title{flex:1 1 auto;min-width:0}
.keystone-project-training-detail__underline{display:block;width:82px;height:4px;margin:18px 0 34px;background:#1688FF;border-radius:3px}
.keystone-project-training-detail__rows{display:flex;flex-direction:column;gap:30px}
.keystone-project-training-detail__row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:start;min-width:0}
.keystone-project-training-detail__icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;color:#347CF1;background:#fff;border:2px solid #83B7FF;border-radius:50%;line-height:1}
.keystone-project-training-detail__icon svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.keystone-project-training-detail__icon i{font-size:20px;color:inherit}
.keystone-project-training-detail__copy{min-width:0;padding-top:1px}
.keystone-project-training-detail__label{margin:0 0 5px;color:#071A3C;font-size:18px;font-weight:700;line-height:1.3}
.keystone-project-training-detail__text{margin:0;color:#1E2C43;font-size:17px;font-weight:400;line-height:1.55}
.keystone-project-training-detail__text p{margin:0}
.keystone-project-training-detail__text p+p{margin-top:8px}
.keystone-project-training-detail__text ul,.keystone-project-training-detail__text ol{margin:7px 0 0 20px;padding:0}
.keystone-project-training-detail__button-wrap{margin-top:34px}
.keystone-project-training-detail__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:150px;padding:15px 28px;background:#0877F9;color:#fff!important;border-radius:5px;text-decoration:none!important;font-size:17px;font-weight:600;line-height:1.1;box-shadow:0 6px 16px rgba(8,119,249,.18);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.keystone-project-training-detail__button:hover{background:#0564D4;color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 19px rgba(8,119,249,.24)}
.keystone-project-training-detail__arrow{font-size:18px;line-height:1}
@media(max-width:1024px){
 .keystone-project-training-detail__inner{padding-left:28px;padding-right:28px}
 .keystone-project-training-detail__card{grid-template-columns:minmax(0,44%) minmax(0,1fr);column-gap:28px;padding:18px 22px 18px 18px}
 .keystone-project-training-detail__image img{height:480px}
 .keystone-project-training-detail__heading{font-size:30px;margin-top:12px}
 .keystone-project-training-detail__underline{margin-bottom:25px}
 .keystone-project-training-detail__rows{gap:24px}
 .keystone-project-training-detail__label{font-size:17px}
 .keystone-project-training-detail__text{font-size:15.5px;line-height:1.48}
 .keystone-project-training-detail__icon{width:42px;height:42px;flex-basis:42px}
 .keystone-project-training-detail__button-wrap{margin-top:28px}
}
@media(max-width:767px){
 .keystone-project-training-detail{padding:16px 0}
 .keystone-project-training-detail__inner{padding-left:20px;padding-right:20px}
 .keystone-project-training-detail__card{display:flex;flex-direction:column;gap:0;padding:14px 14px 18px}
 .keystone-project-training-detail__image{width:100%}
 .keystone-project-training-detail__image img{height:350px}
 .keystone-project-training-detail__content{width:100%;padding:24px 6px 0}
 .keystone-project-training-detail__heading{font-size:28px;gap:7px;margin-top:0}
 .keystone-project-training-detail__underline{margin:14px 0 22px}
 .keystone-project-training-detail__rows{gap:18px}
 .keystone-project-training-detail__row{column-gap:14px}
 .keystone-project-training-detail__icon{width:40px;height:40px;flex-basis:40px}
 .keystone-project-training-detail__icon svg{width:21px;height:21px}
 .keystone-project-training-detail__label{font-size:17px}
 .keystone-project-training-detail__text{font-size:15.5px;line-height:1.5}
 .keystone-project-training-detail__button{width:100%;min-width:0}
 .keystone-project-training-detail__button-wrap{margin-top:24px}
}
@media(max-width:420px){
 .keystone-project-training-detail__inner{padding-left:14px;padding-right:14px}
 .keystone-project-training-detail__card{border-radius:14px;padding:10px 10px 16px}
 .keystone-project-training-detail__image img{height:300px}
 .keystone-project-training-detail__content{padding:20px 4px 0}
 .keystone-project-training-detail__heading{font-size:25px;line-height:1.14;flex-wrap:nowrap}
 .keystone-project-training-detail__underline{margin-bottom:20px}
 .keystone-project-training-detail__row{grid-template-columns:36px minmax(0,1fr);column-gap:11px}
 .keystone-project-training-detail__icon{width:36px;height:36px;flex-basis:36px}
 .keystone-project-training-detail__icon svg{width:19px;height:19px}
 .keystone-project-training-detail__label{font-size:16px}
 .keystone-project-training-detail__text{font-size:14.5px}
}


/* CFICON QMS & Vendor Qualification Training Detail - v1.69.36 */
.keystone-qms-vendor-training-detail{position:relative;width:100%;box-sizing:border-box;background:#FFFFFF;padding:22px 0;overflow:hidden}
.keystone-qms-vendor-training-detail--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.keystone-qms-vendor-training-detail,.keystone-qms-vendor-training-detail *{box-sizing:border-box}
.keystone-qms-vendor-training-detail__inner{width:100%;max-width:1300px;margin:0 auto;padding-left:34px;padding-right:34px}
.keystone-qms-vendor-training-detail__card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,43%);column-gap:38px;align-items:start;padding:18px 18px 18px 30px;background:#fff;border:1px solid #E9EFF7;border-radius:18px;box-shadow:0 8px 28px rgba(22,62,107,.09)}
.keystone-qms-vendor-training-detail__image{width:100%;overflow:hidden;border-radius:14px;align-self:stretch}
.keystone-qms-vendor-training-detail__image img{display:block;width:100%;height:620px;object-fit:cover;object-position:50% var(--keystone-training-image-y,50%);border-radius:14px}
.keystone-qms-vendor-training-detail__content{min-width:0;padding:0 0 0 0}
.keystone-qms-vendor-training-detail__heading{display:flex;align-items:baseline;gap:9px;margin:8px 0 0;color:#0877F9;font-size:36px;font-weight:700;line-height:1.12;letter-spacing:-.45px}
.keystone-qms-vendor-training-detail__number{flex:0 0 auto}
.keystone-qms-vendor-training-detail__underline{display:block;width:82px;height:4px;margin:18px 0 28px;background:#1688FF;border-radius:3px}
.keystone-qms-vendor-training-detail__rows{display:flex;flex-direction:column;gap:24px}
.keystone-qms-vendor-training-detail__row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:start;min-width:0}
.keystone-qms-vendor-training-detail__icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;color:#347CF1;background:#fff;border:2px solid #83B7FF;border-radius:50%;line-height:1}
.keystone-qms-vendor-training-detail__icon svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.keystone-qms-vendor-training-detail__icon i{font-size:20px;color:inherit}
.keystone-qms-vendor-training-detail__copy{min-width:0;padding-top:1px}
.keystone-qms-vendor-training-detail__label{margin:0 0 4px;color:#071A3C;font-size:18px;font-weight:700;line-height:1.3}
.keystone-qms-vendor-training-detail__text{margin:0;color:#1E2C43;font-size:17px;font-weight:400;line-height:1.55}
.keystone-qms-vendor-training-detail__text p{margin:0}
.keystone-qms-vendor-training-detail__text p+p{margin-top:8px}
.keystone-qms-vendor-training-detail__text ul,.keystone-qms-vendor-training-detail__text ol{margin:7px 0 0 20px;padding:0}
.keystone-qms-vendor-training-detail__button-wrap{margin-top:24px}
.keystone-qms-vendor-training-detail__button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:150px;padding:15px 28px;background:#0877F9;color:#fff!important;border-radius:5px;text-decoration:none!important;font-size:17px;font-weight:600;line-height:1.1;box-shadow:0 6px 16px rgba(8,119,249,.18);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.keystone-qms-vendor-training-detail__button:hover{background:#0564D4;color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 19px rgba(8,119,249,.24)}
.keystone-qms-vendor-training-detail__arrow{font-size:18px;line-height:1}
@media(max-width:1024px){
 .keystone-qms-vendor-training-detail__inner{padding-left:28px;padding-right:28px}
 .keystone-qms-vendor-training-detail__card{grid-template-columns:minmax(0,1fr) minmax(0,44%);column-gap:28px;padding:18px 18px 18px 22px}
 .keystone-qms-vendor-training-detail__image img{height:540px}
 .keystone-qms-vendor-training-detail__heading{font-size:30px}
 .keystone-qms-vendor-training-detail__underline{margin-bottom:23px}
 .keystone-qms-vendor-training-detail__rows{gap:20px}
 .keystone-qms-vendor-training-detail__label{font-size:17px}
 .keystone-qms-vendor-training-detail__text{font-size:15.5px;line-height:1.48}
 .keystone-qms-vendor-training-detail__icon{width:42px;height:42px;flex-basis:42px}
}
@media(max-width:767px){
 .keystone-qms-vendor-training-detail{padding:16px 0}
 .keystone-qms-vendor-training-detail__inner{padding-left:20px;padding-right:20px}
 .keystone-qms-vendor-training-detail__card{display:flex;flex-direction:column;gap:0;padding:14px 14px 18px}
 .keystone-qms-vendor-training-detail--mobile-image-first .keystone-qms-vendor-training-detail__image{order:-1}
 .keystone-qms-vendor-training-detail--mobile-image-last .keystone-qms-vendor-training-detail__image{order:2}
 .keystone-qms-vendor-training-detail__image{width:100%}
 .keystone-qms-vendor-training-detail__image img{height:350px}
 .keystone-qms-vendor-training-detail__content{width:100%;padding:24px 6px 0}
 .keystone-qms-vendor-training-detail__heading{font-size:28px;gap:7px;margin-top:0}
 .keystone-qms-vendor-training-detail__underline{margin:14px 0 22px}
 .keystone-qms-vendor-training-detail__rows{gap:18px}
 .keystone-qms-vendor-training-detail__row{column-gap:14px}
 .keystone-qms-vendor-training-detail__icon{width:40px;height:40px;flex-basis:40px}
 .keystone-qms-vendor-training-detail__icon svg{width:21px;height:21px}
 .keystone-qms-vendor-training-detail__label{font-size:17px}
 .keystone-qms-vendor-training-detail__text{font-size:15.5px;line-height:1.5}
 .keystone-qms-vendor-training-detail__button{width:100%;min-width:0}
}
@media(max-width:420px){
 .keystone-qms-vendor-training-detail__inner{padding-left:14px;padding-right:14px}
 .keystone-qms-vendor-training-detail__card{border-radius:14px;padding:10px 10px 16px}
 .keystone-qms-vendor-training-detail__image img{height:300px}
 .keystone-qms-vendor-training-detail__content{padding:20px 4px 0}
 .keystone-qms-vendor-training-detail__heading{font-size:25px;line-height:1.14;flex-wrap:wrap}
 .keystone-qms-vendor-training-detail__underline{margin-bottom:20px}
 .keystone-qms-vendor-training-detail__row{grid-template-columns:36px minmax(0,1fr);column-gap:11px}
 .keystone-qms-vendor-training-detail__icon{width:36px;height:36px;flex-basis:36px}
 .keystone-qms-vendor-training-detail__icon svg{width:19px;height:19px}
 .keystone-qms-vendor-training-detail__label{font-size:16px}
 .keystone-qms-vendor-training-detail__text{font-size:14.5px}
}




/* ==========================================================
   CFICON Training Enquiry popup — v1.69.38
   Shared by Welding, NDT, Project Management and QMS training
   detail widgets.
   ========================================================== */
body.keystone-training-enquiry-modal-open{overflow:hidden}
.keystone-training-enquiry-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;font-family:inherit}
.keystone-training-enquiry-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.keystone-training-enquiry-modal__backdrop{position:absolute;inset:0;background:rgba(1,19,45,.68);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.keystone-training-enquiry-modal__dialog{position:relative;z-index:2;width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid #dce7f5;border-radius:22px;padding:34px 36px 36px;box-shadow:0 30px 90px rgba(0,25,65,.28);color:#071d46;outline:none;transform:translateY(14px) scale(.985);transition:transform .22s ease}
.keystone-training-enquiry-modal.is-open .keystone-training-enquiry-modal__dialog{transform:translateY(0) scale(1)}
.keystone-training-enquiry-modal__close{position:absolute;right:18px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#edf5ff;color:#006df0;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.keystone-training-enquiry-modal__close:hover{background:#006df0;color:#fff;transform:rotate(4deg)}
.keystone-training-enquiry-modal__eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border-radius:999px;background:#eef6ff;color:#0873f6;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin:0 48px 10px 0}
.keystone-training-enquiry-modal h2{margin:0 50px 8px 0;color:#071d46;font-size:32px;line-height:1.15;font-weight:800;letter-spacing:-.02em}
.keystone-training-enquiry-modal__training{display:inline-block;margin:4px 0 8px;padding:8px 12px;border-left:3px solid #0873f6;background:#f5f9ff;border-radius:0 8px 8px 0;color:#0067e8;font-size:15px;line-height:1.45;font-weight:800}
.keystone-training-enquiry-modal__intro{margin:6px 0 24px;color:#526177;font-size:14px;line-height:1.65;max-width:620px}
.keystone-training-enquiry-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.keystone-training-enquiry-form label{display:flex;flex-direction:column;gap:7px;color:#071d46;font-size:13px;font-weight:700}
.keystone-training-enquiry-form label span b{color:#ef3340}
.keystone-training-enquiry-form__full{grid-column:1/-1}
.keystone-training-enquiry-form input[type="text"],.keystone-training-enquiry-form input[type="email"],.keystone-training-enquiry-form input[type="tel"],.keystone-training-enquiry-form textarea{width:100%;min-height:48px;border:1px solid #cbd9ea;border-radius:9px;background:#fff;color:#071d46;padding:11px 13px;font:inherit;font-weight:400;box-shadow:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.keystone-training-enquiry-form textarea{min-height:112px;resize:vertical;line-height:1.5}
.keystone-training-enquiry-form input:focus,.keystone-training-enquiry-form textarea:focus{border-color:#0873f6;box-shadow:0 0 0 3px rgba(8,115,246,.12)}
.keystone-training-enquiry-form input::placeholder,.keystone-training-enquiry-form textarea::placeholder{color:#91a0b5}
.keystone-training-enquiry-form__consent{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px!important;margin:17px 0 4px!important;color:#526177!important;font-size:12px!important;font-weight:500!important;line-height:1.5}
.keystone-training-enquiry-form__consent input{width:18px;height:18px;margin:1px 0 0;accent-color:#0873f6}
.keystone-training-enquiry-form__error{margin-top:14px;padding:11px 13px;border-radius:8px;background:#fff0f1;border:1px solid #ffd1d5;color:#a71925;font-size:13px;line-height:1.5}
.keystone-training-enquiry-form__submit{margin-top:18px;min-height:50px;border:0;border-radius:8px;background:#0873f6;color:#fff;padding:12px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(8,115,246,.2);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.keystone-training-enquiry-form__submit:hover{background:#005fcf;transform:translateY(-1px);box-shadow:0 11px 24px rgba(8,115,246,.28)}
.keystone-training-enquiry-form__submit:disabled{cursor:wait;opacity:.72;transform:none}
.keystone-training-enquiry-form__submit.is-loading span:last-child{animation:keystoneTrainingArrowPulse .8s ease-in-out infinite alternate}
@keyframes keystoneTrainingArrowPulse{from{transform:translateX(0)}to{transform:translateX(4px)}}
.keystone-training-enquiry-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.keystone-training-enquiry-modal__success{text-align:center;padding:34px 18px 10px}
.keystone-training-enquiry-modal__success-icon{display:flex;width:76px;height:76px;margin:0 auto 18px;border-radius:50%;align-items:center;justify-content:center;background:#e9f8f0;color:#0b9b58;font-size:38px;font-weight:800;box-shadow:inset 0 0 0 1px #c9eedb}
.keystone-training-enquiry-modal__success .keystone-training-enquiry-modal__eyebrow{margin-right:0}
.keystone-training-enquiry-modal__success h2{margin:3px 0 10px;font-size:34px}
.keystone-training-enquiry-modal__success p{max-width:500px;margin:0 auto;color:#526177;font-size:15px;line-height:1.7}
.keystone-training-enquiry-modal__success-close{margin-top:24px;min-width:120px;min-height:48px;border:0;border-radius:8px;background:#0873f6;color:#fff;padding:11px 22px;font-size:14px;font-weight:800;cursor:pointer;transition:background .2s ease,transform .2s ease}
.keystone-training-enquiry-modal__success-close:hover{background:#005fcf;transform:translateY(-1px)}
@media(max-width:767px){.keystone-training-enquiry-modal{padding:14px}.keystone-training-enquiry-modal__dialog{max-height:calc(100vh - 28px);padding:26px 20px 24px;border-radius:16px}.keystone-training-enquiry-modal__close{right:12px;top:12px;width:36px;height:36px;font-size:25px}.keystone-training-enquiry-modal h2{font-size:26px;margin-right:42px}.keystone-training-enquiry-modal__eyebrow{margin-right:42px}.keystone-training-enquiry-form__grid{grid-template-columns:1fr;gap:13px}.keystone-training-enquiry-form__full{grid-column:auto}.keystone-training-enquiry-form__submit{width:100%}.keystone-training-enquiry-modal__success{padding:28px 4px 6px}.keystone-training-enquiry-modal__success h2{font-size:29px;margin-right:0}}
@media(max-width:420px){.keystone-training-enquiry-modal{padding:8px}.keystone-training-enquiry-modal__dialog{max-height:calc(100vh - 16px);padding:22px 16px 20px;border-radius:14px}.keystone-training-enquiry-modal h2{font-size:23px}.keystone-training-enquiry-modal__training{font-size:13px}.keystone-training-enquiry-modal__intro{font-size:13px;margin-bottom:18px}.keystone-training-enquiry-form input[type="text"],.keystone-training-enquiry-form input[type="email"],.keystone-training-enquiry-form input[type="tel"]{min-height:45px}.keystone-training-enquiry-modal__success-icon{width:66px;height:66px;font-size:32px}}
