body {
    font-family: "Poppins", sans-serif;
}

.poppins-thin {
    font-weight: 100;
}

.poppins-extralight {
    font-weight: 200;
}

.poppins-light {
    font-weight: 300;
}

.poppins-regular {
    font-weight: 400;
}

.poppins-medium {
    font-weight: 500;
}

.poppins-semibold {
    font-weight: 600;
}

.poppins-bold {
    font-weight: 700;
}

.poppins-extrabold {
    font-weight: 800;
}

.poppins-black {
    font-weight: 900;
}


/* cstm font */
.cstm-fs-14 {
    font-size: 14px !important;
}

.cstm-fs-18 {
    font-size: 18px !important;
}

/* cstm color */
.cstm-clr-1F2A33 {
    color: #1F2A33 !important;
}

.cstm-clr-1A9FD8 {
    color: #1A9FD8 !important;
}


.cstm-clr-46525C {
    color: #46525C !important;
}

.cstm-clr-F26B21 {
    color: #F26B21 !important;
}

.cstm-clr-CFD6DB {
    color: #CFD6DB !important;
}

.cstm-clr-929292 {
    color: #929292 !important;
}

.cstm-clr-6B5800 {
    color: #6B5800 !important;
}


/* cstm background */
.cstm-bg-FFF3A8 {
    background: #FFF3A8 !important;
}

.cstm-bg-D9D9D9 {
    background: #D9D9D9 !important;
}

.cstm-bg-1A9FD8 {
    background: #1A9FD8 !important;
}

.cstm-bg-E6F4FB {
    background: #E6F4FB !important;
}

.cstm-bg-3C3F42 {
    background: #3C3F42 !important;
}

.cstm-bg-878787 {
    background: #878787 !important;
}

.request-demo-btn {
    border: 1px solid #1A9FD8;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.request-demo-btn:hover,
.request-demo-btn:focus-visible {
    background-color: #1687B8 !important;
    border-color: #1687B8;
    box-shadow: 0 5px 14px rgba(26, 159, 216, .28);
    color: #fff;
    transform: translateY(-2px);
}

.request-demo-btn:focus-visible {
    outline: 3px solid rgba(242, 107, 33, .45);
    outline-offset: 3px;
}

.ehr-platform-card {
    border-color: #DCE5EA !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(31, 42, 51, .04);
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ehr-platform-card .material-symbols-outlined {
    transition: transform .2s ease;
}

.ehr-platform-card:hover,
.ehr-platform-card:focus-visible {
    background-color: #F3FAFE !important;
    border-color: #1A9FD8 !important;
    box-shadow: 0 10px 24px rgba(26, 159, 216, .14);
    transform: translateY(-4px);
}

.ehr-platform-card:hover .material-symbols-outlined,
.ehr-platform-card:focus-visible .material-symbols-outlined {
    transform: translateX(5px);
}

.ehr-platform-card:focus-visible {
    outline: 3px solid rgba(242, 107, 33, .45);
    outline-offset: 3px;
}


/* cstm border */

.cstm-bdrds-card1 {
    border-radius: 18px 18px 18px 4px;
}

.cstm-bdrds-card2 {
    border-radius: 18px 18px 4px 18px;
}

.cstm-bdr-lft-F26B21 {
    border-left: 4px solid #F26B21 !important;
}

.cstm-bdr-lft-D9D9D9 {
    border-left: 2px solid #D9D9D9 !important;
}

.cstm-bdr-lft-878787 {
    border-left: 2px solid #878787 !important;
}

.cstm-bdr-lft-515355 {
    border-left: 2px solid #515355 !important;
}

.cstm-bdr-top-F26B21 {
    border-top: 4px solid #F26B21 !important;
}

.cstm-bdr-rgt-5F6264 {
    border-right: 1px solid #5F6264 !important;
}

.cstm-bdr-F26B21 {
    border-width: 4px 1px 1px 1px;
    border-style: solid;
    border-color: #F26B21;
}

.cstm-bdr {
    border-left: 4px solid #1A9FD8 !important;
    border-top: 1px solid #CFE3EE !important;
    border-right: 1px solid #CFE3EE !important;
    border-bottom: 1px solid #CFE3EE !important;
}

.cstm-w-72 {
    width: 72px !important;
}

.cstm-circle {
    background: #E6F4FB !important;
    border: 2px dashed #CFE3EE;
    height: 200px;
    width: 200px;
    border-radius: 100px;
}

.workflows {
    background: #F7FBFD !important;
    border-top: 1px solid #CFE3EE !important;
    border-bottom: 1px solid #CFE3EE !important;
}


/* Trust statistics */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat-item {
    min-width: 0;
    text-align: center;
}

.stat-item:not(:last-child) {
    border-right: 1px solid #5F6264;
}

.stat-item__value {
    font-size: clamp(1.5rem, 2vw, 1.875rem);
    line-height: 1.15;
}


/* Workflow feature cards */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
}

.feature-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border-top: 2px dotted #CFE3EE;
    border-right: 2px dotted #CFE3EE;
}

.feature-card:last-child {
    border-right: 0;
}

.feature-card img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.feature-card__title {
    font-size: 1.125rem;
}


/* Patient-education workflow timeline */
.workflow-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.workflow-timeline::before {
    position: absolute;
    top: 14px;
    right: 0;
    left: 0;
    border-top: 2px dashed #F26B21;
    content: "";
}

.workflow-step {
    position: relative;
    padding-top: 2.75rem;
}

.workflow-step__number {
    position: absolute;
    top: -8px;
    left: -8px;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 50%;
    background: #1A9FD8;
    color: #fff;
    font-size: 1.12rem;
    font-weight: 700;
}

.workflow-step__eyebrow {
    color: #F26B21;
    font-size: .90rem;
    font-weight: 700;
}

.workflow-step__title {
    color: #1F2A33;
    font-size: 1.12rem;
    line-height: 1.2;
}


/* Next step contact cards */
.next-step-section {
    background: linear-gradient(180deg, #fff 0%, #F7FBFD 100%);
}

.next-step-section .container {
    max-width: 1120px;
}

.next-step-section h2 {
    color: #1F2A33;
    letter-spacing: -0.025em;
}

.next-step-section h2,
.next-step-section > .container > p {
    max-width: 760px;
}

.next-step-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem !important;
    border-color: #CFE3EE !important;
    border-radius: 12px !important;
}

.next-step-card > p:first-child {
    font-size: 1.125rem;
}

.next-step-card > p:nth-child(2) {
    margin-bottom: 1.5rem !important;
    line-height: 1.7 !important;
}

.next-step-card__action {
    margin-top: auto;
    border-radius: 6px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .next-step-card {
        padding: 1.5rem !important;
    }

    .next-step-card__action {
        max-width: 100%;
        padding: .75rem 1rem !important;
    }
}


.cstm-clr-46525C li::marker {
    color: #F26B21;
}


form .form-label {
    font-size: 0.875rem;
}


/* media */
@media (max-width: 991.98px) {
    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stat-item {
        padding: 1.25rem 1.5rem;
    }

    .stat-item:not(:last-child) {
        border-right: 0;
    }

    .stat-item:nth-child(odd) {
        border-right: 1px solid #5F6264;
    }

    .stat-item:nth-child(-n+2) {
        border-bottom: 1px solid #5F6264;
    }
}

@media (max-width: 575.98px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-item {
        padding: 1.25rem .5rem;
    }

    .stat-item:nth-child(odd) {
        border-right: 0;
    }

    .stat-item:nth-child(-n+3) {
        border-bottom: 1px solid #5F6264;
    }
}


@media (max-width: 1199.98px) {
    .feature-grid {
        /* Six tracks let the final two cards sit centred below three cards. */
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .feature-card {
        grid-column: span 2;
    }

    .feature-card:nth-child(3n) {
        border-right: 0;
    }

    .feature-card:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .feature-card:nth-child(5) {
        grid-column: 4 / span 2;
    }
}

@media (max-width: 767.98px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-card {
        grid-column: auto;
        padding: 1.25rem;
        border-right: 0;
    }

    .feature-card:nth-child(4),
    .feature-card:nth-child(5) {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {

    .feature-card,
    .feature-card:nth-child(odd),
    .feature-card:nth-child(odd):not(:last-child) {
        border-right: 0;
    }
}

@media (max-width: 575.98px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-card {
        padding: 1.25rem 1rem;
    }
}


@media (max-width: 767.98px) {
    .workflow-timeline {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .workflow-timeline::before {
        top: 0;
        bottom: 0;
        left: 14px;
        right: auto;
        border-top: 0;
        border-left: 2px dashed #F26B21;
    }

    .workflow-step {
        min-height: 9rem;
        padding: 0 0 2rem 3rem;
    }
}
