.side-rail__title { letter-spacing: -0.03em; text-wrap: balance; }
.side-rail__micro { font-size: 0.75rem; line-height: 1rem; }
.side-rail__dot { width: 0.5rem; height: 0.5rem; }
.side-rail__wide { letter-spacing: 0.12em; }

.side-rail__viewport {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.side-rail__track {
    width: max-content;
    animation: side-rail-scroll 40s linear infinite;
}

@keyframes side-rail-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.side-rail__slot { margin: 0 0.75rem; }

.side-rail__phone {
    width: 12rem;
    height: 22rem;
    overflow: hidden;
    border-radius: 2.25rem !important;
}
.side-rail__phone > div { border-radius: 1.75rem !important; overflow: hidden; }
.side-rail__notch { width: 4rem; height: 0.9rem; }
.side-rail__tile { border-radius: 0.75rem !important; }

.side-rail__photo { width: 11rem; }
.side-rail__img { object-fit: cover; height: 16rem; }
.side-rail__img--h1 { height: 18rem; }
.side-rail__img--h2 { height: 14rem; }
.side-rail__img--h3 { height: 16rem; }

.side-rail__chart { width: 12rem; height: 16rem; }
.side-rail__bars { height: 5rem; }
.side-rail__bar { height: 45%; }
.side-rail__bar--b2 { height: 70%; }
.side-rail__bar--b3 { height: 100%; }
.side-rail__bar--b4 { height: 40%; }
.side-rail__bar--b5 { height: 60%; }

@media (prefers-reduced-motion: reduce) {
    .side-rail__track { animation: none; }
}

/* phone mock content must fit the narrow screen: amounts shrink, labels wrap instead of running past the frame */
.side-rail__phone > div > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.side-rail__phone > div > :nth-child(4) { font-size: 1.375rem !important; line-height: 1.15; }
.side-rail__tile { min-width: 0; overflow-wrap: anywhere; }
.side-rail__tile > * { font-size: .75rem !important; line-height: 1.2; }
@media (max-width: 767.98px) {
    .side-rail__phone > div > :nth-child(4) { font-size: 1.125rem !important; }
}

.steps-numbered-cards__card-col {
    max-width: 24rem;
}

.steps-numbered-cards__number-badge {
    width: 3.5rem;
    height: 3.5rem;
}

.triplet-plain-quote__track {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    row-gap: 1.5rem;
}

@media (min-width: 768px) {
    .triplet-plain-quote__track {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 1.5rem;
        row-gap: 1.75rem;
    }
}

.triplet-plain-quote__col {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

@media (min-width: 768px) {
    .triplet-plain-quote__col {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}


.halo-signup__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.halo-signup__inner {
    max-width: 64rem;
}

@keyframes halo-signup-spark-beat-track {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.halo-signup__spark--beat {
    animation: halo-signup-spark-beat-track 2s cubic-bezier(.4,0,.6,1) infinite;
}

.halo-signup__jump--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

