/* ============================================================
   HARDWARE
============================================================ */

.hardware-page {
    overflow: hidden;
}


/* ============================================================
   HERO
============================================================ */

.hardware-hero {
    position: relative;

    min-height: 940px;

    padding:
        180px 0 115px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #fcfdfe 0%,
            #f3f7fa 54%,
            #eef6f8 100%
        );
}


.hardware-hero-grid {
    position: absolute;
    inset: 0;

    opacity: .42;

    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;
}


.hardware-hero-glow {
    position: absolute;

    right: -180px;
    top: 100px;

    width: 680px;
    height: 680px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(36,124,255,.12),
            transparent 68%
        );

    filter: blur(20px);
}


.hardware-hero-layout {
    position: relative;

    display: grid;

    grid-template-columns:
        .84fr 1.16fr;

    gap:
        clamp(60px, 8vw, 120px);

    align-items: center;
}


.hardware-product-label {
    margin-bottom: 24px;

    color: #247cff;

    font-size: .8rem;

    font-weight: 750;
}


.hardware-hero h1 {
    max-width: 800px;

    margin: 0;

    color: #101820;

    font-size:
        clamp(4rem, 6.7vw, 7rem);

    font-weight: 760;

    line-height: .89;

    letter-spacing: -.075em;
}


.hardware-hero h1 em {
    display: block;

    color: #247cff;

    font-family:
        Georgia,
        serif;

    font-weight: 400;

    letter-spacing: -.055em;
}


.hardware-hero-lead {
    max-width: 620px;

    margin:
        35px 0 0;

    color: #68747e;

    font-size:
        clamp(1rem, 1.3vw, 1.2rem);

    line-height: 1.75;
}


.hardware-hero-actions {
    margin-top: 38px;

    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 28px;
}


.hardware-hero-features {
    margin-top: 48px;

    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}


.hardware-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,.7);

    font-size: .67rem;
}


.hardware-hero-features i {
    color: #247cff;
}


/* ============================================================
   HERO DEVICE STAGE
============================================================ */

.hardware-hero-visual {
    position: relative;
}


.hardware-device-stage {
    position: relative;

    min-height: 540px;
}


.hardware-monitor {
    position: absolute;

    left: 50%;
    top: 30px;

    z-index: 3;

    width: 72%;

    overflow: hidden;

    border:
        8px solid #202b34;

    border-radius: 22px;

    background: #fff;

    box-shadow:
        0 35px 90px
        rgba(20,40,60,.18);

    transform:
        translateX(-50%);
}


.hardware-monitor::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: -55px;

    width: 100px;
    height: 55px;

    border-radius:
        0 0 18px 18px;

    background: #202b34;

    transform:
        translateX(-50%);
}


.hardware-monitor-bar {
    height: 39px;

    padding:
        0 13px;

    display: flex;
    align-items: center;

    gap: 6px;

    background: #edf1f3;
}


.hardware-monitor-bar span {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #c1cbd1;
}


.hardware-monitor-bar strong {
    margin-left: 10px;

    color: #66727c;

    font-size: .52rem;
}


.hardware-monitor-screen {
    padding: 22px;

    background: #f7f9fa;
}


.hardware-patient-mini {
    padding: 13px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-radius: 10px;

    background: #fff;
}


.hardware-patient-mini small {
    display: block;

    color: #9aa3aa;

    font-size: .46rem;
}


.hardware-patient-mini strong {
    display: block;

    color: #17212a;

    font-size: .62rem;
}


.hardware-patient-mini > span {
    padding:
        5px 7px;

    border-radius: 6px;

    color: #247cff;

    background:
        rgba(36,124,255,.08);

    font-size: .48rem;
}


.hardware-label-preview {
    margin-top: 10px;

    padding: 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border:
        1px dashed
        #bfc9cf;

    border-radius: 10px;

    background: #fff;
}


.hardware-label-preview small {
    display: block;

    color: #9ca4aa;

    font-size: .44rem;
}


.hardware-label-preview strong {
    display: block;

    margin-top: 5px;

    color: #101820;

    font-size: .65rem;
}


.hardware-label-preview > div > span {
    color: #6e7982;

    font-size: .5rem;
}


.hardware-mini-barcode {
    width: 70px;
    height: 35px;

    display: flex;

    gap: 2px;
}


.hardware-mini-barcode span {
    flex: 1;

    background: #101820;
}


.hardware-mini-barcode span:nth-child(2n) {
    flex: .4;
}


.hardware-monitor-screen button {
    width: 100%;

    margin-top: 10px;

    padding: 11px;

    border: 0;

    border-radius: 8px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #247cff,
            #24a9c4
        );

    font-size: .57rem;
}


.hardware-label-printer {
    position: absolute;

    left: 4%;
    bottom: 35px;

    z-index: 5;

    width: 180px;
    height: 155px;
}


.printer-top {
    position: absolute;

    left: 20px;
    top: 0;

    width: 140px;
    height: 45px;

    border-radius:
        16px 16px 4px 4px;

    background:
        linear-gradient(
            #27343d,
            #17212a
        );
}


.printer-face {
    position: absolute;

    left: 0;
    top: 35px;

    width: 180px;
    height: 95px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    color: #87939c;

    background:
        linear-gradient(
            145deg,
            #34434e,
            #1c2730
        );

    box-shadow:
        0 20px 45px
        rgba(20,30,40,.25);
}


.printer-face span {
    position: absolute;

    bottom: 14px;

    width: 100px;
    height: 6px;

    border-radius: 99px;

    background: #101820;
}


.printer-label {
    position: absolute;

    left: 35px;
    top: 110px;

    z-index: -1;

    width: 110px;
    height: 78px;

    padding: 9px;

    color: #101820;

    background: #fff;

    box-shadow:
        0 14px 30px
        rgba(20,40,60,.12);

    animation:
        hardwarePrintLabel
        4s ease-in-out infinite;
}


.printer-label small,
.printer-label strong {
    display: block;
}


.printer-label small {
    font-size: .35rem;
}


.printer-label strong {
    margin-top: 3px;

    font-size: .45rem;
}


.printer-barcode {
    margin-top: 8px;

    font-size: .44rem;

    letter-spacing: -1px;
}


@keyframes hardwarePrintLabel {

    0%,
    15% {
        transform:
            translateY(-25px);

        opacity: .15;
    }

    40%,
    75% {
        transform:
            translateY(0);

        opacity: 1;
    }

    100% {
        transform:
            translateY(0);

        opacity: .2;
    }

}


.hardware-scanner {
    position: absolute;

    right: 3%;
    bottom: 80px;

    z-index: 5;

    width: 115px;
    height: 135px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 7px;

    border-radius:
        22px 22px 40px 40px;

    color: #fff;

    background:
        linear-gradient(
            145deg,
            #25333d,
            #111a21
        );

    box-shadow:
        0 20px 45px
        rgba(20,30,40,.22);
}


.hardware-scanner i {
    color: #68dce7;

    font-size: 1.8rem;
}


.hardware-scanner span {
    color:
        rgba(255,255,255,.5);

    font-size: .5rem;
}


/* CONNECTORS */

.hardware-connect {
    position: absolute;

    z-index: 1;

    height: 2px;

    background:
        rgba(36,124,255,.15);
}


.hardware-connect::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #247cff,
            #24b8cf
        );
}


.hardware-connect i {
    position: absolute;

    top: -3px;
    left: 0;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #6ddce6;

    box-shadow:
        0 0 0 5px
        rgba(36,184,207,.1),
        0 0 18px
        rgba(36,184,207,.7);

    animation:
        hardwareDataFlow
        2.5s ease-in-out infinite;
}


.hardware-connect-one {
    left: 25%;
    bottom: 140px;

    width: 22%;
}


.hardware-connect-two {
    right: 19%;
    bottom: 140px;

    width: 22%;
}


@keyframes hardwareDataFlow {

    0% {
        left: 0;
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        left:
            calc(100% - 9px);

        opacity: 0;
    }

}


/* FLOATS */

.hardware-float {
    position: absolute;

    z-index: 7;

    padding:
        14px 17px;

    display: flex;
    align-items: center;

    gap: 11px;

    border-radius: 16px;

    background:
        rgba(255,255,255,.95);

    box-shadow:
        0 20px 45px
        rgba(20,40,60,.13);

    backdrop-filter:
        blur(15px);
}


.hardware-float > i {
    color: #247cff;

    font-size: 1.2rem;
}


.hardware-float-one > i {
    color: #2eb579;
}


.hardware-float strong {
    display: block;

    color: #101820;

    font-size: .68rem;
}


.hardware-float small {
    color: #7c8790;

    font-size: .58rem;
}


.hardware-float-one {
    left: -20px;
    top: 55px;
}


.hardware-float-two {
    right: -30px;
    top: 185px;
}


/* ============================================================
   INTRO
============================================================ */

.hardware-intro-grid {
    display: grid;

    grid-template-columns:
        1.2fr .8fr;

    gap: 100px;

    align-items: end;
}


.hardware-intro-copy p {
    margin:
        0 0 18px;

    color: #69747e;

    line-height: 1.8;
}


.hardware-intro-copy
.hardware-intro-lead {
    color: #101820;

    font-size: 1.3rem;

    font-weight: 550;
}


/* ============================================================
   LABEL SECTION
============================================================ */

.hardware-label-section {
    padding:
        130px 0;

    color: #fff;

    background: #101820;
}


.hardware-label-layout {
    display: grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap: 100px;

    align-items: center;
}


.hardware-label-copy h2 {
    margin: 0;

    font-size:
        clamp(3.5rem, 5.5vw, 6rem);

    line-height: .93;

    letter-spacing: -.07em;
}


.hardware-label-copy > p {
    max-width: 560px;

    margin-top: 27px;

    color:
        rgba(255,255,255,.52);

    line-height: 1.8;
}


.hardware-label-points {
    margin-top: 30px;

    display: flex;
    flex-direction: column;

    gap: 11px;
}


.hardware-label-points span {
    display: flex;
    align-items: center;

    gap: 9px;

    color:
        rgba(255,255,255,.68);

    font-size: .73rem;
}


.hardware-label-points i {
    color: #7fe2eb;
}


.hardware-label-image,
.hardware-workstation-image {
    position: relative;

    overflow: hidden;

    border-radius: 24px;

    background: #202a32;

    box-shadow:
        0 30px 80px
        rgba(0,0,0,.22);
}


.hardware-label-image img,
.hardware-workstation-image img {
    width: 100%;
    height: 560px;

    display: block;

    object-fit: cover;
}


.hardware-image-tag {
    position: absolute;

    left: 20px;
    bottom: 20px;

    padding:
        11px 14px;

    display: flex;
    align-items: center;

    gap: 8px;

    border-radius: 11px;

    color: #fff;

    background:
        rgba(12,27,40,.78);

    backdrop-filter:
        blur(12px);

    font-size: .63rem;
}


/* ============================================================
   RANGE
============================================================ */

.hardware-range {
    background: #f5f8fa;
}


.hardware-range-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;
}


.hardware-card {
    min-height: 390px;

    padding: 29px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        rgba(15,23,42,.07);

    border-radius: 22px;

    background: #fff;
}


.hardware-card-large {
    grid-column:
        span 2;
}


.hardware-card-accent {
    color: #fff;

    border: 0;

    background:
        linear-gradient(
            145deg,
            #176ee6,
            #20a5bd
        );
}


.hardware-card-icon {
    width: 49px;
    height: 49px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #247cff;

    background:
        rgba(36,124,255,.07);

    font-size: 1.2rem;
}


.hardware-card-accent
.hardware-card-icon {
    color: #176ee6;

    background: #fff;
}


.hardware-card > span {
    margin-top: auto;

    color: #247cff;

    font-size: .57rem;

    font-weight: 750;

    text-transform: uppercase;

    letter-spacing: .1em;
}


.hardware-card-accent > span {
    color:
        rgba(255,255,255,.55);
}


.hardware-card h3 {
    margin:
        9px 0 13px;

    color: #101820;

    font-size:
        clamp(1.8rem, 3vw, 3rem);

    line-height: .97;

    letter-spacing: -.055em;
}


.hardware-card-accent h3 {
    color: #fff;
}


.hardware-card p {
    max-width: 540px;

    margin: 0;

    color: #6d7982;

    line-height: 1.7;
}


.hardware-card-accent p {
    color:
        rgba(255,255,255,.68);
}


.hardware-card-visual {
    margin-top: 25px;
}


.mini-printer {
    max-width: 360px;

    padding: 17px;

    display: flex;
    align-items: center;

    gap: 20px;

    border-radius: 15px;

    background: #f4f7f8;
}


.mini-printer > i {
    color: #247cff;

    font-size: 2.3rem;
}


.mini-printer strong,
.mini-printer span,
.mini-printer small {
    display: block;
}


.mini-printer strong {
    color: #101820;

    font-size: .6rem;
}


.mini-printer span {
    margin-top: 3px;

    color: #68747e;

    font-size: .53rem;
}


.mini-printer small {
    margin-top: 8px;

    color: #101820;

    font-size: .6rem;
}


/* ============================================================
   WORKSTATIONS
============================================================ */

.hardware-workstations {
    padding:
        130px 0;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #176ee6,
            #169db7
        );
}


.hardware-workstation-layout {
    display: grid;

    grid-template-columns:
        1.12fr .88fr;

    gap: 100px;

    align-items: center;
}


.hardware-workstation-copy h2 {
    margin: 0;

    font-size:
        clamp(3.5rem,5.5vw,5.9rem);

    line-height: .93;

    letter-spacing: -.07em;
}


.hardware-workstation-copy > p {
    max-width: 560px;

    margin-top: 27px;

    color:
        rgba(255,255,255,.72);

    line-height: 1.8;
}


.hardware-ready-flow {
    margin-top: 35px;

    display: flex;
    align-items: center;

    gap: 13px;
}


.hardware-ready-flow > div {
    min-width: 72px;

    padding: 12px;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 6px;

    border-radius: 11px;

    background:
        rgba(255,255,255,.1);

    font-size: .56rem;

    text-align: center;
}


.hardware-ready-flow > div i {
    font-size: 1rem;
}


.hardware-ready-flow > i {
    color:
        rgba(255,255,255,.4);
}


/* ============================================================
   INTEGRATION
============================================================ */

.hardware-integration {
    background: #fff;
}


.hardware-integration-header {
    max-width: 850px;
}


.hardware-integration-flow {
    margin-top: 75px;

    display: grid;

    grid-template-columns:
        1fr 100px
        1fr 100px
        1fr 100px
        1fr;

    align-items: center;
}


.hardware-flow-item {
    min-height: 155px;

    padding: 20px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(15,23,42,.08);

    border-radius: 18px;

    background: #f5f8fa;

    text-align: center;
}


.hardware-flow-main {
    color: #fff;

    border: 0;

    background:
        linear-gradient(
            145deg,
            #176ee6,
            #20a5bd
        );
}


.hardware-flow-item i {
    margin-bottom: 13px;

    color: #247cff;

    font-size: 1.35rem;
}


.hardware-flow-main i {
    color: #fff;
}


.hardware-flow-item small {
    color: #9aa3aa;

    font-size: .5rem;

    letter-spacing: .1em;
}


.hardware-flow-main small {
    color:
        rgba(255,255,255,.5);
}


.hardware-flow-item strong {
    margin-top: 5px;

    color: #101820;

    font-size: .72rem;
}


.hardware-flow-main strong {
    color: #fff;
}


.hardware-flow-route,
.hardware-complete-route {
    position: relative;

    height: 2px;

    background: #dce4e8;
}


.hardware-flow-route span,
.hardware-complete-route span {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #247cff,
            #24b8cf
        );
}


.hardware-flow-route i,
.hardware-complete-route i {
    position: absolute;

    top: -3px;
    left: 0;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #77e0e9;

    box-shadow:
        0 0 0 5px
        rgba(36,184,207,.1),
        0 0 17px
        rgba(36,184,207,.65);

    animation:
        hardwareFlowDot
        2.4s ease-in-out infinite;
}


@keyframes hardwareFlowDot {

    0% {
        left: 0;
        opacity: 0;
    }

    15% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }

    100% {
        left:
            calc(100% - 9px);

        opacity: 0;
    }

}


/* ============================================================
   SECURITY
============================================================ */

.hardware-security {
    padding:
        130px 0;

    color: #fff;

    background: #101820;
}


.hardware-security-layout {
    display: grid;

    grid-template-columns:
        .75fr 1.25fr;

    gap: 90px;

    align-items: center;
}


.hardware-security-copy h2 {
    margin: 0;

    font-size:
        clamp(3.5rem,5.5vw,5.9rem);

    line-height: .93;

    letter-spacing: -.07em;
}


.hardware-security-copy p {
    max-width: 540px;

    margin-top: 27px;

    color:
        rgba(255,255,255,.52);

    line-height: 1.8;
}


.hardware-security-cards {
    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 13px;
}


.hardware-security-cards article {
    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 21px;

    background:
        rgba(255,255,255,.035);
}


.security-card-image {
    height: 230px;

    overflow: hidden;
}


.security-card-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .55s ease;
}


.hardware-security-cards article:hover img {
    transform:
        scale(1.04);
}


.security-card-copy {
    padding: 24px;
}


.security-card-copy > i {
    color: #7ee1ea;

    font-size: 1.35rem;
}


.security-card-copy small {
    display: block;

    margin-top: 25px;

    color:
        rgba(255,255,255,.35);

    font-size: .5rem;

    letter-spacing: .1em;
}


.security-card-copy h3 {
    margin:
        7px 0 12px;

    font-size: 1.45rem;
}


.security-card-copy p {
    margin: 0;

    color:
        rgba(255,255,255,.48);

    font-size: .69rem;

    line-height: 1.65;
}


/* ============================================================
   MICROSOFT
============================================================ */

.hardware-microsoft {
    background: #f5f8fa;
}


.hardware-microsoft-card {
    padding:
        clamp(35px,6vw,70px);

    display: grid;

    grid-template-columns:
        120px 1fr 380px;

    gap: 50px;

    align-items: center;

    border:
        1px solid
        rgba(15,23,42,.07);

    border-radius: 28px;

    background: #fff;

    box-shadow:
        0 30px 80px
        rgba(25,50,70,.08);
}


.hardware-ms-icon {
    width: 105px;
    height: 105px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 24px;

    color: #247cff;

    background:
        rgba(36,124,255,.07);

    font-size: 2.6rem;
}


.hardware-ms-copy h2 {
    margin: 0;

    color: #101820;

    font-size:
        clamp(2.5rem,4vw,4.2rem);

    line-height: .95;

    letter-spacing: -.06em;
}


.hardware-ms-copy p {
    max-width: 600px;

    margin:
        22px 0 0;

    color: #69747e;

    line-height: 1.8;
}


.hardware-ms-products {
    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 8px;
}


.hardware-ms-products > div {
    min-height: 110px;

    padding: 15px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 8px;

    border-radius: 13px;

    color: #617079;

    background: #f5f8fa;

    font-size: .58rem;

    text-align: center;
}


.hardware-ms-products i {
    color: #247cff;

    font-size: 1.2rem;
}


/* ============================================================
   BENEFITS
============================================================ */

.hardware-benefits {
    padding:
        130px 0;

    color: #fff;

    background: #101820;
}


.hardware-benefits-header {
    max-width: 850px;
}


.hardware-benefits-header h2 {
    margin: 0;

    font-size:
        clamp(3.5rem,6vw,6.2rem);

    line-height: .92;

    letter-spacing: -.07em;
}


.hardware-benefit-grid {
    margin-top: 75px;

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 12px;
}


.hardware-benefit-grid article {
    min-height: 380px;

    padding: 28px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 20px;

    background:
        rgba(255,255,255,.035);
}


.hardware-benefit-featured {
    border-color:
        rgba(36,184,207,.28) !important;

    background:
        linear-gradient(
            145deg,
            rgba(36,124,255,.2),
            rgba(36,184,207,.08)
        ) !important;
}


.hardware-benefit-grid article > div {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    color: #80e2eb;

    background:
        rgba(36,184,207,.09);

    font-size: 1.15rem;
}


.hardware-benefit-grid article > span {
    margin-top: auto;

    color: #7fe1ea;

    font-size: .56rem;

    text-transform: uppercase;

    letter-spacing: .1em;
}


.hardware-benefit-grid h3 {
    margin:
        8px 0 13px;

    font-size: 1.5rem;

    line-height: 1.04;
}


.hardware-benefit-grid p {
    margin: 0;

    color:
        rgba(255,255,255,.48);

    font-size: .69rem;

    line-height: 1.65;
}


/* ============================================================
   COMPLETE SOLUTION
============================================================ */

.hardware-complete {
    padding:
        130px 0;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #176ee6,
            #169db7
        );
}


.hardware-complete-header {
    max-width: 900px;
}


.hardware-complete-header h2 {
    margin: 0;

    font-size:
        clamp(3.5rem,6vw,6.3rem);

    line-height: .92;

    letter-spacing: -.07em;
}


.hardware-complete-flow {
    margin-top: 75px;

    display: grid;

    grid-template-columns:
        1fr 100px
        1fr 100px
        1fr 100px
        1fr;

    align-items: center;
}


.hardware-complete-item {
    min-height: 155px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius: 18px;

    background:
        rgba(255,255,255,.09);

    text-align: center;
}


.hardware-complete-main {
    background:
        rgba(255,255,255,.17);
}


.hardware-complete-item i {
    margin-bottom: 13px;

    font-size: 1.35rem;
}


.hardware-complete-item small {
    color:
        rgba(255,255,255,.45);

    font-size: .5rem;

    letter-spacing: .1em;
}


.hardware-complete-item strong {
    margin-top: 5px;

    font-size: .73rem;
}


.hardware-complete-route {
    background:
        rgba(255,255,255,.17);
}


.hardware-complete-route span {
    background:
        rgba(255,255,255,.65);
}


.hardware-complete-route i {
    background: #fff;

    box-shadow:
        0 0 0 5px
        rgba(255,255,255,.1),
        0 0 17px
        rgba(255,255,255,.5);
}


/* ============================================================
   CTA
============================================================ */

.hardware-cta {
    position: relative;

    padding:
        145px 0;

    overflow: hidden;

    color: #fff;

    background: #101820;
}


.hardware-cta-grid {
    position: absolute;
    inset: 0;

    opacity: .07;

    background-image:
        linear-gradient(
            rgba(255,255,255,.22) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.22) 1px,
            transparent 1px
        );

    background-size: 80px 80px;
}


.hardware-cta-inner {
    position: relative;

    max-width: 980px;
}


.hardware-cta-inner h2 {
    margin: 0;

    font-size:
        clamp(3.7rem,6vw,6.5rem);

    line-height: .91;

    letter-spacing: -.075em;
}


.hardware-cta-inner p {
    max-width: 620px;

    margin:
        30px 0 38px;

    color:
        rgba(255,255,255,.6);

    line-height: 1.75;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 1100px) {

    .hardware-hero-layout,
    .hardware-intro-grid,
    .hardware-label-layout,
    .hardware-workstation-layout,
    .hardware-security-layout {
        grid-template-columns: 1fr;
    }


    .hardware-range-grid {
        grid-template-columns:
            repeat(2,1fr);
    }


    .hardware-card-large {
        grid-column:
            span 2;
    }


    .hardware-integration-flow,
    .hardware-complete-flow {
        grid-template-columns:
            repeat(4,1fr);

        gap: 10px;
    }


    .hardware-flow-route,
    .hardware-complete-route {
        display: none;
    }


    .hardware-benefit-grid {
        grid-template-columns:
            repeat(2,1fr);
    }


    .hardware-microsoft-card {
        grid-template-columns:
            100px 1fr;
    }


    .hardware-ms-products {
        grid-column:
            1 / -1;
    }

}


@media (max-width: 750px) {

    .hardware-hero {
        min-height: 0;

        padding:
            145px 0 85px;
    }


    .hardware-hero h1 {
        font-size:
            clamp(3.6rem,16vw,5.2rem);
    }


    .hardware-device-stage {
        min-height: 620px;
    }


    .hardware-monitor {
        width: 94%;
    }


    .hardware-label-printer {
        left: 4%;
    }


    .hardware-scanner {
        right: 4%;
    }


    .hardware-float-two {
        display: none;
    }


    .hardware-float-one {
        left: 10px;
        top: 10px;
    }


    .hardware-range-grid,
    .hardware-security-cards,
    .hardware-benefit-grid {
        grid-template-columns: 1fr;
    }


    .hardware-card-large {
        grid-column: auto;
    }


    .hardware-label-image img,
    .hardware-workstation-image img {
        height: 380px;
    }


    .hardware-ready-flow {
        display: grid;

        grid-template-columns:
            repeat(2,1fr);
    }


    .hardware-ready-flow > i {
        display: none;
    }


    .hardware-integration-flow,
    .hardware-complete-flow {
        grid-template-columns:
            repeat(2,1fr);
    }


    .hardware-microsoft-card {
        grid-template-columns: 1fr;
    }


    .hardware-ms-products {
        grid-template-columns: 1fr;
    }

}