/* ============================================================
   E-BILLING
============================================================ */

.ebilling-page {
    overflow: hidden;
}


/* ============================================================
   HERO
============================================================ */

.ebilling-hero {
    position: relative;

    min-height: 920px;

    padding:
        180px 0 115px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #fcfdfe 0%,
            #f2f8fb 55%,
            #eef7ff 100%
        );
}


.ebilling-hero-grid {
    position: absolute;
    inset: 0;

    opacity: .45;

    background-image:
        linear-gradient(
            rgba(25,60,90,.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(25,60,90,.045) 1px,
            transparent 1px
        );

    background-size:
        80px 80px;
}


.ebilling-hero-glow {
    position: absolute;

    right: -180px;
    top: 120px;

    width: 650px;
    height: 650px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(31,144,217,.13),
            transparent 67%
        );

    filter:
        blur(20px);
}


.ebilling-hero-layout {
    position: relative;

    display: grid;

    grid-template-columns:
        .84fr 1.16fr;

    gap:
        clamp(60px, 8vw, 120px);

    align-items: center;
}


.ebilling-product-label {
    margin-bottom: 24px;

    color: #247cff;

    font-size: .8rem;

    font-weight: 750;
}


.ebilling-hero h1 {
    max-width: 760px;

    margin: 0;

    color: #101820;

    font-size:
        clamp(4.3rem, 7vw, 7.3rem);

    font-weight: 760;

    line-height: .88;

    letter-spacing: -.077em;
}


.ebilling-hero h1 em {
    display: block;

    color: #247cff;

    font-family:
        Georgia,
        serif;

    font-weight: 400;

    letter-spacing: -.055em;
}


.ebilling-hero-lead {
    max-width: 610px;

    margin:
        35px 0 0;

    color: #68747e;

    font-size:
        clamp(1rem, 1.3vw, 1.2rem);

    line-height: 1.75;
}


.ebilling-hero-actions {
    margin-top: 38px;

    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 28px;
}


.ebilling-hero-features {
    margin-top: 48px;

    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}


.ebilling-hero-features span {
    padding:
        9px 13px;

    display: inline-flex;
    align-items: center;

    gap: 7px;

    border:
        1px solid
        rgba(15,23,42,.08);

    border-radius: 999px;

    color: #66727c;

    background:
        rgba(255,255,255,.67);

    font-size: .67rem;
}


.ebilling-hero-features i {
    color: #247cff;
}


/* ============================================================
   APP WINDOW
============================================================ */

.ebilling-hero-visual {
    position: relative;
}


.ebilling-app-window {
    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.9);

    border-radius: 26px;

    background:
        rgba(255,255,255,.97);

    box-shadow:
        0 35px 100px
        rgba(25,55,80,.17);

    transform:
        perspective(1500px)
        rotateY(-4deg)
        rotateX(1deg);
}


.ebilling-window-bar {
    height: 47px;

    padding:
        0 17px;

    display: grid;

    grid-template-columns:
        1fr 1fr 1fr;

    align-items: center;

    border-bottom:
        1px solid
        rgba(15,23,42,.07);

    color: #75818a;

    background: #f7f9fa;

    font-size: .62rem;

    text-align: center;
}


.ebilling-window-dots {
    display: flex;

    gap: 6px;
}


.ebilling-window-dots span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #ccd5db;
}


.ebilling-live {
    justify-self: end;

    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #25845b;
}


.ebilling-live i {
    font-size: .42rem;
}


.ebilling-demo-header {
    padding:
        23px 25px;

    display: flex;
    justify-content: space-between;

    align-items: center;

    border-bottom:
        1px solid
        rgba(15,23,42,.07);
}


.ebilling-demo-header small {
    display: block;

    color: #8b959d;

    font-size: .58rem;
}


.ebilling-demo-header strong {
    display: block;

    margin-top: 3px;

    color: #101820;
}


.ebilling-demo-header > span {
    padding:
        7px 10px;

    border-radius: 7px;

    color: #fff;

    background: #17b7d3;

    font-size: .58rem;

    font-weight: 700;
}


.ebilling-demo-patient {
    padding:
        20px 25px;

    display: grid;

    grid-template-columns:
        45px 1fr 1fr;

    gap: 13px;

    align-items: center;
}


.ebilling-demo-avatar {
    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    color: #247cff;

    background:
        rgba(36,124,255,.08);

    font-size: 1.15rem;
}


.ebilling-demo-patient span {
    display: block;

    color: #89949d;

    font-size: .55rem;
}


.ebilling-demo-patient strong {
    color: #26343d;

    font-size: .67rem;
}


.ebilling-scanner {
    margin:
        0 25px;

    padding: 19px;

    border-radius: 15px;

    background: #f5f8fa;
}


.ebilling-scanner-label {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #5f6d77;

    font-size: .6rem;
}


.ebilling-scanner-label i {
    color: #ff6534;
}


.ebilling-barcode-field {
    position: relative;

    margin-top: 10px;

    height: 52px;

    padding:
        0 15px;

    display: flex;
    align-items: center;

    gap: 11px;

    overflow: hidden;

    border:
        1px solid
        rgba(36,124,255,.22);

    border-radius: 8px;

    color: #a0a8ae;

    background: #fff;

    font-size: .68rem;
}


.ebilling-barcode-field > i {
    color: #247cff;
}


.ebilling-scan-line {
    position: absolute;

    left: 0;
    top: 0;

    width: 3px;
    height: 100%;

    background:
        linear-gradient(
            transparent,
            #247cff,
            transparent
        );

    box-shadow:
        0 0 15px
        rgba(36,124,255,.7);

    animation:
        ebillingScan 2.8s
        ease-in-out infinite;
}


@keyframes ebillingScan {

    0% {
        left: 0;
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50% {
        left:
            calc(100% - 3px);
    }

    90% {
        opacity: 1;
    }

    100% {
        left: 0;
        opacity: 0;
    }

}


.ebilling-demo-item {
    margin:
        11px 25px 0;

    padding: 15px;

    display: grid;

    grid-template-columns:
        40px 1fr auto auto;

    gap: 11px;

    align-items: center;

    border:
        1px solid
        rgba(15,23,42,.07);

    border-radius: 12px;
}


.ebilling-demo-item-icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    color: #247cff;

    background:
        rgba(36,124,255,.07);
}


.ebilling-demo-item small,
.ebilling-demo-qty small {
    display: block;

    color: #939da5;

    font-size: .53rem;
}


.ebilling-demo-item strong {
    color: #27343e;

    font-size: .65rem;
}


.ebilling-demo-qty {
    text-align: center;
}


.ebilling-pending {
    padding:
        5px 8px;

    border-radius: 6px;

    color: #b37b00;

    background: #fff4cf;

    font-size: .53rem;
}


.ebilling-demo-footer {
    margin:
        20px 25px 25px;

    padding-top: 18px;

    display: flex;
    justify-content: space-between;

    border-top:
        1px solid
        rgba(15,23,42,.07);

    color: #7b8790;

    font-size: .58rem;
}


.ebilling-demo-footer i {
    color: #ff6534;
}


.ebilling-demo-footer strong {
    color: #43515b;
}


/* FLOATS */

.ebilling-float {
    position: absolute;

    z-index: 4;

    padding:
        14px 17px;

    display: flex;
    align-items: center;

    gap: 11px;

    border:
        1px solid
        rgba(255,255,255,.9);

    border-radius: 16px;

    background:
        rgba(255,255,255,.94);

    box-shadow:
        0 20px 45px
        rgba(20,40,60,.14);

    backdrop-filter:
        blur(15px);
}


.ebilling-float > i {
    color: #2eb579;

    font-size: 1.2rem;
}


.ebilling-float strong {
    display: block;

    color: #101820;

    font-size: .68rem;
}


.ebilling-float small {
    color: #7c8790;

    font-size: .58rem;
}


.ebilling-float-one {
    left: -45px;
    bottom: 65px;
}


.ebilling-float-two {
    right: -40px;
    top: 80px;
}


.ebilling-float-two > i {
    color: #247cff;
}


/* ============================================================
   INTRO
============================================================ */

.ebilling-intro-grid {
    display: grid;

    grid-template-columns:
        1.2fr .8fr;

    gap: 100px;

    align-items: end;
}


.ebilling-intro-copy p {
    margin: 0;

    color: #69747e;

    line-height: 1.8;
}


.ebilling-intro-copy
.ebilling-intro-lead {
    margin-bottom: 20px;

    color: #101820;

    font-size: 1.3rem;

    font-weight: 550;
}


/* ============================================================
   WORKFLOW
============================================================ */

.ebilling-workflow {
    padding:
        125px 0;

    color: #fff;

    background: #101820;
}


.ebilling-workflow-header {
    max-width: 830px;
}


.ebilling-workflow-header h2 {
    margin: 0;

    font-size:
        clamp(3.4rem, 6vw, 6.5rem);

    line-height: .92;

    letter-spacing: -.07em;
}


.ebilling-workflow-header p {
    max-width: 560px;

    margin-top: 27px;

    color:
        rgba(255,255,255,.5);

    line-height: 1.75;
}


.ebilling-flow {
    margin-top: 80px;

    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 9px;
}


.ebilling-flow-step {
    min-height: 310px;

    padding: 24px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 18px;

    background:
        rgba(255,255,255,.035);
}


.ebilling-flow-featured {
    border-color:
        rgba(36,184,207,.3);

    background:
        linear-gradient(
            145deg,
            rgba(36,124,255,.19),
            rgba(36,184,207,.09)
        );
}


.ebilling-flow-step > span {
    color:
        rgba(255,255,255,.31);

    font-size: .59rem;
}


.ebilling-flow-icon {
    width: 46px;
    height: 46px;

    margin-top: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #86e5ee;

    background:
        rgba(36,184,207,.09);

    font-size: 1.1rem;
}


.ebilling-flow-step h3 {
    margin:
        auto 0 12px;

    font-size: 1.32rem;

    line-height: 1.04;

    letter-spacing: -.04em;
}


.ebilling-flow-step p {
    margin: 0;

    color:
        rgba(255,255,255,.47);

    font-size: .7rem;

    line-height: 1.65;
}


/* ============================================================
   PRODUCT SCREEN
============================================================ */

.ebilling-product-section {
    background: #f5f8fa;
}


.ebilling-product-heading {
    display: grid;

    grid-template-columns:
        1fr 420px;

    gap: 70px;

    align-items: end;
}


.ebilling-product-heading > p {
    margin: 0;

    color: #69747e;

    line-height: 1.8;
}


.ebilling-screen-showcase {
    margin-top: 65px;
}


.ebilling-screen-window {
    overflow: hidden;

    border:
        1px solid
        rgba(15,23,42,.08);

    border-radius: 22px;

    background: #fff;

    box-shadow:
        0 35px 90px
        rgba(25,50,70,.11);
}


.ebilling-screen-window-bar {
    height: 45px;

    padding:
        0 16px;

    display: flex;
    align-items: center;

    gap: 6px;

    background: #f7f9fa;
}


.ebilling-screen-window-bar > span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #cbd4da;
}


.ebilling-screen-window-bar strong {
    margin-left: 12px;

    color: #6d7982;

    font-size: .61rem;
}


.ebilling-screen-window img {
    width: 100%;
    height: auto;

    display: block;
}


/* ============================================================
   PAPER VS DIGITAL
============================================================ */

.paper-vs-digital {
    padding:
        130px 0;

    color: #fff;

    background: #101820;
}


.paper-vs-heading {
    max-width: 850px;
}


.paper-vs-heading h2 {
    margin: 0;

    font-size:
        clamp(3.5rem, 6vw, 6.3rem);

    line-height: .92;

    letter-spacing: -.07em;
}


.paper-vs-grid {
    margin-top: 75px;

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 15px;
}


.paper-column,
.digital-column {
    padding: 34px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 24px;

    background:
        rgba(255,255,255,.035);
}


.digital-column {
    border-color:
        rgba(36,184,207,.23);

    background:
        linear-gradient(
            145deg,
            rgba(36,124,255,.14),
            rgba(36,184,207,.07)
        );
}


.paper-column-label,
.digital-column-label {
    margin-bottom: 25px;

    display: flex;
    align-items: center;

    gap: 9px;

    color:
        rgba(255,255,255,.55);

    font-size: .67rem;

    font-weight: 700;
}


.digital-column-label {
    color: #84e4ed;
}


.paper-column article,
.digital-column article {
    min-height: 115px;

    padding:
        18px 0;

    display: grid;

    grid-template-columns:
        42px 1fr;

    gap: 14px;

    border-top:
        1px solid
        rgba(255,255,255,.07);
}


.paper-column article > i,
.digital-column article > i {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    color: #b7bec3;

    background:
        rgba(255,255,255,.055);
}


.digital-column article > i {
    color: #85e4ed;

    background:
        rgba(36,184,207,.1);
}


.paper-column strong,
.digital-column strong {
    font-size: .75rem;
}


.paper-column p,
.digital-column p {
    margin:
        7px 0 0;

    color:
        rgba(255,255,255,.46);

    font-size: .68rem;

    line-height: 1.6;
}


/* ============================================================
   PATIENT
============================================================ */

.ebilling-patient-section {
    background: #fff;
}


.ebilling-patient-layout {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap: 90px;

    align-items: center;
}


.ebilling-patient-screen {
    overflow: hidden;

    border-radius: 22px;

    box-shadow:
        0 30px 80px
        rgba(25,50,70,.1);
}


.ebilling-patient-screen img {
    width: 100%;
    height: auto;

    display: block;
}


.ebilling-patient-features {
    margin-top: 30px;

    display: flex;
    flex-direction: column;

    gap: 10px;
}


.ebilling-patient-features span {
    display: flex;
    align-items: center;

    gap: 9px;

    color: #637079;

    font-size: .75rem;
}


.ebilling-patient-features i {
    color: #247cff;
}


/* ============================================================
   SCAN
============================================================ */

.scan-section {
    padding:
        130px 0;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #176ee6,
            #159eb7
        );
}


.scan-layout {
    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    gap: 100px;

    align-items: center;
}


.scan-terminal {
    padding: 30px;

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius: 25px;

    background:
        rgba(255,255,255,.11);

    backdrop-filter:
        blur(17px);
}


.scan-terminal-head {
    padding-bottom: 20px;

    display: flex;
    justify-content: space-between;

    border-bottom:
        1px solid
        rgba(255,255,255,.13);
}


.scan-terminal-head small,
.scan-terminal-input small,
.scan-item-found span {
    display: block;

    color:
        rgba(255,255,255,.48);

    font-size: .57rem;
}


.scan-terminal-head strong,
.scan-terminal-input strong {
    font-size: .75rem;
}


.scan-terminal-head > span {
    color:
        rgba(255,255,255,.57);

    font-size: .58rem;
}


.scan-terminal-input {
    margin-top: 20px;

    padding: 16px;

    display: grid;

    grid-template-columns:
        45px 1fr 42px;

    gap: 12px;

    align-items: center;

    border-radius: 13px;

    background:
        rgba(255,255,255,.1);
}


.scan-terminal-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background:
        rgba(255,255,255,.12);

    font-size: 1.15rem;
}


.scan-terminal-check {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    color: #176ee6;

    background: #fff;
}


.scan-item-found {
    margin-top: 9px;

    padding: 17px;

    display: grid;

    grid-template-columns:
        1fr auto;

    border-radius: 13px;

    background:
        rgba(255,255,255,.075);
}


.scan-item-found strong {
    display: block;

    margin-top: 3px;

    font-size: .7rem;
}


.scan-complete {
    margin-top: 9px;

    padding: 16px;

    display: flex;
    align-items: center;

    gap: 11px;

    border-radius: 13px;

    color: #144a34;

    background: #b8f1d2;
}


.scan-complete > i {
    color: #1a945e;

    font-size: 1.25rem;
}


.scan-complete strong {
    display: block;

    font-size: .68rem;
}


.scan-complete span {
    color: #52806a;

    font-size: .57rem;
}


.scan-copy h2 {
    margin: 0;

    font-size:
        clamp(3.5rem, 5.5vw, 5.9rem);

    line-height: .93;

    letter-spacing: -.07em;
}


.scan-copy > p {
    max-width: 540px;

    margin-top: 27px;

    color:
        rgba(255,255,255,.7);

    line-height: 1.8;
}


.scan-points {
    margin-top: 30px;

    display: flex;
    flex-direction: column;

    gap: 11px;
}


.scan-points span {
    display: flex;
    align-items: center;

    gap: 9px;

    color:
        rgba(255,255,255,.72);

    font-size: .73rem;
}


/* ============================================================
   BILLING STATES
============================================================ */

.billing-state-section {
    background: #f5f8fa;
}


.billing-state-header {
    max-width: 800px;
}


.billing-state-flow {
    margin-top: 70px;

    display: grid;

    grid-template-columns:
        1fr 180px
        1fr 180px
        1fr;

    align-items: center;
}


.billing-state-flow article {
    min-height: 230px;

    padding: 28px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        rgba(15,23,42,.08);

    border-radius: 20px;

    background: #fff;
}


.billing-state-flow article > span {
    color: #9aa4ab;

    font-size: .58rem;
}


.billing-state-icon {
    width: 48px;
    height: 48px;

    margin-top: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #247cff;

    background:
        rgba(36,124,255,.08);

    font-size: 1.2rem;
}


.billing-pending-icon {
    color: #d59b18;

    background:
        rgba(230,170,30,.1);
}


.billing-state-flow small {
    margin-top: auto;

    color: #9aa4ab;

    font-size: .55rem;

    letter-spacing: .1em;
}


.billing-state-flow strong {
    margin-top: 5px;

    color: #17212a;

    font-size: 1rem;
}


.billing-state-final {
    color: #fff;

    border: 0 !important;

    background:
        linear-gradient(
            145deg,
            #176ee6,
            #1ca2b9
        ) !important;
}


.billing-state-final
.billing-state-icon {
    color: #fff;

    background:
        rgba(255,255,255,.13);
}


.billing-state-final small,
.billing-state-final strong {
    color: #fff;
}


.billing-state-line {
    position: relative;

    height: 2px;

    overflow: visible;

    background:
        #d9e1e6;
}


.billing-state-line > span {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #247cff,
            #24b8cf
        );
}


.billing-state-line > i {
    position: absolute;

    top: 50%;
    left: 0;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #6fdbe7;

    box-shadow:
        0 0 0 5px
        rgba(36,184,207,.1),
        0 0 17px
        rgba(36,184,207,.65);

    transform:
        translateY(-50%);

    animation:
        ebillingStateDot
        2.4s ease-in-out infinite;
}


@keyframes ebillingStateDot {

    0% {
        left: 0;
    }

    50% {
        left:
            calc(100% - 9px);
    }

    100% {
        left: 0;
    }

}


/* ============================================================
   HISTORY
============================================================ */

.history-section {
    padding:
        130px 0;

    color: #fff;

    background: #101820;
}


.history-layout {
    display: grid;

    grid-template-columns:
        .78fr 1.22fr;

    gap: 90px;

    align-items: center;
}


.history-copy h2 {
    margin: 0;

    font-size:
        clamp(3.5rem, 5.5vw, 5.9rem);

    line-height: .93;

    letter-spacing: -.07em;
}


.history-copy > p {
    max-width: 540px;

    margin-top: 26px;

    color:
        rgba(255,255,255,.52);

    line-height: 1.8;
}


.history-points {
    margin-top: 30px;

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 10px;
}


.history-points span {
    padding:
        10px 12px;

    display: flex;
    align-items: center;

    gap: 8px;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius: 9px;

    color:
        rgba(255,255,255,.6);

    background:
        rgba(255,255,255,.035);

    font-size: .63rem;
}


.history-points i {
    color: #7ddfe9;
}


.history-screen {
    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius: 20px;

    box-shadow:
        0 30px 80px
        rgba(0,0,0,.22);
}


.history-screen img {
    width: 100%;

    display: block;
}


/* ============================================================
   BENEFITS
============================================================ */

.ebilling-benefits {
    background: #fff;
}


.ebilling-benefit-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.ebilling-benefit-grid article {
    min-height: 400px;

    padding: 29px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        rgba(15,23,42,.08);

    border-radius: 21px;

    background: #f5f8fa;
}


.ebilling-benefit-featured {
    color: #fff;

    border: 0 !important;

    background:
        linear-gradient(
            145deg,
            #176ee6,
            #1ca2b9
        ) !important;
}


.ebilling-benefit-grid article > div {
    width: 49px;
    height: 49px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #247cff;

    background: #fff;

    font-size: 1.2rem;
}


.ebilling-benefit-grid article > span {
    margin-top: auto;

    color: #247cff;

    font-size: .58rem;

    font-weight: 750;

    text-transform: uppercase;

    letter-spacing: .1em;
}


.ebilling-benefit-featured > span {
    color:
        rgba(255,255,255,.56) !important;
}


.ebilling-benefit-grid h3 {
    margin:
        9px 0 14px;

    font-size: 1.55rem;

    line-height: 1.04;

    letter-spacing: -.045em;
}


.ebilling-benefit-grid p {
    margin: 0;

    color: #6d7982;

    font-size: .72rem;

    line-height: 1.65;
}


.ebilling-benefit-featured p {
    color:
        rgba(255,255,255,.65);
}


/* ============================================================
   CONNECTED
============================================================ */

.ebilling-connected {
    padding:
        130px 0;

    color: #fff;

    background: #101820;
}


.ebilling-connected-header {
    max-width: 820px;
}


.ebilling-connected-header h2 {
    margin: 0;

    font-size:
        clamp(3.5rem, 6vw, 6.2rem);

    line-height: .92;

    letter-spacing: -.07em;
}


.ebilling-connected-header p {
    max-width: 560px;

    margin-top: 26px;

    color:
        rgba(255,255,255,.5);

    line-height: 1.75;
}


.ebilling-connected-flow {
    margin-top: 75px;

    display: grid;

    grid-template-columns:
        1fr 120px
        1fr 120px
        1fr 120px
        1fr;

    align-items: center;
}


.ebilling-connected-item {
    min-height: 155px;

    padding: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 18px;

    background:
        rgba(255,255,255,.035);

    text-align: center;
}


.ebilling-connected-item i {
    margin-bottom: 14px;

    color: #7de0ea;

    font-size: 1.4rem;
}


.ebilling-connected-item small {
    color:
        rgba(255,255,255,.34);

    font-size: .52rem;

    letter-spacing: .11em;
}


.ebilling-connected-item strong {
    margin-top: 5px;

    font-size: .74rem;
}


.ebilling-connected-main {
    border-color:
        rgba(36,184,207,.3);

    background:
        linear-gradient(
            145deg,
            rgba(36,124,255,.2),
            rgba(36,184,207,.1)
        );
}


.ebilling-connected-route {
    position: relative;

    height: 2px;

    overflow: visible;

    background:
        rgba(255,255,255,.1);
}


.ebilling-connected-route > span {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #247cff,
            #24b8cf
        );
}


.ebilling-moving-dot {
    position: absolute;

    top: 50%;
    left: 0;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #80e5ec;

    box-shadow:
        0 0 0 5px
        rgba(36,184,207,.1),
        0 0 17px
        rgba(36,184,207,.7);

    transform:
        translateY(-50%);

    animation:
        ebillingConnectedDot
        2.5s ease-in-out infinite;
}


.ebilling-connected-route:nth-of-type(4)
.ebilling-moving-dot {
    animation-delay: .35s;
}


.ebilling-connected-route:nth-of-type(6)
.ebilling-moving-dot {
    animation-delay: .7s;
}


@keyframes ebillingConnectedDot {

    0% {
        left: 0;
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    50% {
        left:
            calc(100% - 9px);
    }

    85% {
        opacity: 1;
    }

    100% {
        left:
            calc(100% - 9px);

        opacity: 0;
    }

}


/* ============================================================
   CTA
============================================================ */

.ebilling-cta {
    position: relative;

    padding:
        145px 0;

    overflow: hidden;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #176ee6,
            #19a0b8
        );
}


.ebilling-cta-grid {
    position: absolute;
    inset: 0;

    opacity: .08;

    background-image:
        linear-gradient(
            rgba(255,255,255,.25) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.25) 1px,
            transparent 1px
        );

    background-size:
        80px 80px;
}


.ebilling-cta-inner {
    position: relative;

    max-width: 950px;
}


.ebilling-cta-inner h2 {
    margin: 0;

    font-size:
        clamp(3.6rem, 6vw, 6.5rem);

    line-height: .91;

    letter-spacing: -.075em;
}


.ebilling-cta-inner p {
    max-width: 590px;

    margin:
        30px 0 38px;

    color:
        rgba(255,255,255,.72);

    line-height: 1.75;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 1100px) {

    .ebilling-hero-layout,
    .ebilling-intro-grid,
    .ebilling-patient-layout,
    .scan-layout,
    .history-layout {
        grid-template-columns: 1fr;
    }


    .ebilling-product-heading {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .ebilling-app-window {
        transform: none;
    }


    .ebilling-flow {
        grid-template-columns:
            repeat(3, 1fr);
    }


    .ebilling-benefit-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .ebilling-connected-flow {
        grid-template-columns:
            repeat(4, 1fr);

        gap: 10px;
    }


    .ebilling-connected-route {
        display: none;
    }

}


@media (max-width: 750px) {

    .ebilling-hero {
        min-height: 0;

        padding:
            145px 0 85px;
    }


    .ebilling-hero h1 {
        font-size:
            clamp(3.7rem, 17vw, 5.4rem);
    }


    .ebilling-float-two {
        display: none;
    }


    .ebilling-float-one {
        left: 10px;
        bottom: 10px;
    }


    .ebilling-flow,
    .paper-vs-grid,
    .ebilling-benefit-grid {
        grid-template-columns: 1fr;
    }


    .billing-state-flow {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .billing-state-line {
        width: 2px;
        height: 50px;

        margin-inline: auto;
    }


    .billing-state-line > i {
        display: none;
    }


    .history-points {
        grid-template-columns: 1fr;
    }


    .ebilling-connected-flow {
        grid-template-columns:
            repeat(2, 1fr);
    }

}