/* =========================================================
   PLOCAL — HOW THE EVALUATION WORKS
========================================================= */


/* =========================================================
   01. SECTION
========================================================= */

.plocal-evaluation-process,
.plocal-evaluation-process * {
    box-sizing: border-box;
}


.plocal-evaluation-process {
    position: relative;
    z-index: 1;
    isolation: isolate;

    overflow: hidden;

    padding:
        clamp(90px, 8vw, 128px)
        0
        clamp(105px, 9vw, 145px);

    background:
        radial-gradient(
            circle at 4% 7%,
            rgba(22, 91, 231, 0.68) 0%,
            rgba(20, 81, 198, 0.23) 18%,
            transparent 37%
        ),
        radial-gradient(
            circle at 97% 22%,
            rgba(36, 189, 199, 0.15) 0%,
            transparent 29%
        ),
        radial-gradient(
            circle at 50% 105%,
            rgba(12, 69, 167, 0.36) 0%,
            transparent 41%
        ),
        linear-gradient(
            135deg,
            #082f78 0%,
            var(--theme-color2) 26%,
            var(--color-dark) 61%,
            var(--footer-bg) 100%
        );

    color: var(--color-white);
}


.plocal-evaluation-process::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -2;

    height: 48%;

    content: "";

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.045),
            transparent
        );

    pointer-events: none;
}


.plocal-evaluation-process::after {
    position: absolute;
    right: 6%;
    bottom: 0;
    left: 6%;
    z-index: 5;

    height: 1px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(98, 211, 218, 0.14),
            rgba(98, 211, 218, 0.58),
            rgba(98, 211, 218, 0.14),
            transparent
        );

    pointer-events: none;
}


.plocal-evaluation-process__container {
    position: relative;
    z-index: 3;
}


/* =========================================================
   02. BACKGROUND
========================================================= */

.plocal-evaluation-process__background {
    position: absolute;
    inset: 0;
    z-index: -1;

    overflow: hidden;

    pointer-events: none;
}


/* Technical grid */
.plocal-evaluation-process__background::before {
    position: absolute;
    inset: -80px;

    content: "";

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.018) 1px,
            transparent 1px
        );

    background-size: 70px 70px;

    opacity: 0.6;

    -webkit-mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            rgba(0, 0, 0, 0.7) 45%,
            transparent 82%
        );

    mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            rgba(0, 0, 0, 0.7) 45%,
            transparent 82%
        );

    animation:
        plocalEvaluationGridMove
        48s
        linear
        infinite;
}


/* Slow light scan */
.plocal-evaluation-process__background::after {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -30%;

    width: 17%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.07),
            rgba(98, 211, 218, 0.065),
            transparent
        );

    filter: blur(6px);

    opacity: 0;

    transform: skewX(-18deg);

    animation:
        plocalEvaluationBackgroundScan
        19s
        linear
        infinite;
}


/* =========================================================
   03. AMBIENT GLOWS
========================================================= */

.plocal-evaluation-process__glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(35px);

    will-change:
        opacity,
        transform;
}


.plocal-evaluation-process__glow--one {
    top: -430px;
    left: -370px;

    width: 920px;
    height: 920px;

    background:
        radial-gradient(
            circle,
            rgba(30, 109, 255, 0.45),
            rgba(36, 189, 199, 0.11) 45%,
            transparent 72%
        );

    animation:
        plocalEvaluationGlowOne
        15s
        ease-in-out
        infinite
        alternate;
}


.plocal-evaluation-process__glow--two {
    right: -380px;
    bottom: -480px;

    width: 890px;
    height: 890px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.22),
            rgba(45, 128, 183, 0.08) 44%,
            transparent 73%
        );

    animation:
        plocalEvaluationGlowTwo
        19s
        ease-in-out
        infinite
        alternate;
}


/* =========================================================
   04. DOT PATTERNS
========================================================= */

.plocal-evaluation-process__dots {
    position: absolute;

    background-image:
        radial-gradient(
            circle,
            rgba(98, 211, 218, 0.64) 1.4px,
            transparent 1.9px
        );

    background-size: 13px 13px;
}


.plocal-evaluation-process__dots--left {
    bottom: -10px;
    left: -14px;

    width: 430px;
    height: 240px;

    opacity: 0.33;

    transform: rotate(-7deg);

    -webkit-mask-image:
        linear-gradient(
            35deg,
            #000 0%,
            rgba(0, 0, 0, 0.75) 44%,
            transparent 83%
        );

    mask-image:
        linear-gradient(
            35deg,
            #000 0%,
            rgba(0, 0, 0, 0.75) 44%,
            transparent 83%
        );

    animation:
        plocalEvaluationDotsLeft
        11s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__dots--right {
    right: -40px;
    bottom: 13px;

    width: 360px;
    height: 225px;

    opacity: 0.22;

    transform: rotate(6deg);

    -webkit-mask-image:
        linear-gradient(
            315deg,
            #000 0%,
            rgba(0, 0, 0, 0.68) 44%,
            transparent 83%
        );

    mask-image:
        linear-gradient(
            315deg,
            #000 0%,
            rgba(0, 0, 0, 0.68) 44%,
            transparent 83%
        );

    animation:
        plocalEvaluationDotsRight
        13s
        ease-in-out
        infinite;
}


/* =========================================================
   05. ORBIT LINES
========================================================= */

.plocal-evaluation-process__orbit {
    position: absolute;

    border:
        1px solid
        rgba(98, 211, 218, 0.2);

    border-radius: 50%;
}


.plocal-evaluation-process__orbit--one {
    top: -510px;
    left: -320px;

    width: 850px;
    height: 850px;

    animation:
        plocalEvaluationOrbitOne
        60s
        linear
        infinite;
}


.plocal-evaluation-process__orbit--two {
    top: -390px;
    left: -215px;

    width: 660px;
    height: 660px;

    border-style: dashed;

    opacity: 0.68;

    animation:
        plocalEvaluationOrbitTwo
        52s
        linear
        infinite;
}


.plocal-evaluation-process__orbit--three {
    top: -320px;
    right: -305px;

    width: 720px;
    height: 720px;

    opacity: 0.42;

    animation:
        plocalEvaluationOrbitThree
        65s
        linear
        infinite;
}


.plocal-evaluation-process__orbit::before {
    position: absolute;

    content: "";

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 0 5px rgba(98, 211, 218, 0.11),
        0 0 26px rgba(98, 211, 218, 0.7);
}


.plocal-evaluation-process__orbit--one::before {
    top: 159px;
    right: 76px;

    width: 10px;
    height: 10px;
}


.plocal-evaluation-process__orbit--two::before {
    right: 110px;
    bottom: 69px;

    width: 7px;
    height: 7px;
}


.plocal-evaluation-process__orbit--three::before {
    bottom: 135px;
    left: 66px;

    width: 8px;
    height: 8px;
}


/* =========================================================
   06. BOTTOM WAVES
========================================================= */

.plocal-evaluation-process__wave {
    position: absolute;

    width: 780px;
    height: 310px;

    border:
        1px solid
        rgba(98, 211, 218, 0.13);

    border-radius: 50%;

    transform: rotate(-10deg);
}


.plocal-evaluation-process__wave--one {
    right: -260px;
    bottom: -235px;

    box-shadow:
        0 0 0 28px rgba(98, 211, 218, 0.018),
        0 0 0 56px rgba(98, 211, 218, 0.014),
        0 0 0 84px rgba(98, 211, 218, 0.01);

    animation:
        plocalEvaluationWaveOne
        15s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__wave--two {
    bottom: -260px;
    left: -260px;

    border-style: dashed;

    opacity: 0.5;

    transform: rotate(9deg);

    animation:
        plocalEvaluationWaveTwo
        18s
        ease-in-out
        infinite;
}


/* =========================================================
   07. BACKGROUND NODES
========================================================= */

.plocal-evaluation-process__background-node {
    position: absolute;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 0 5px rgba(98, 211, 218, 0.11),
        0 0 25px rgba(98, 211, 218, 0.72);
}


.plocal-evaluation-process__background-node--one {
    top: 8%;
    left: 18%;

    width: 9px;
    height: 9px;

    animation:
        plocalEvaluationNodePulse
        4.5s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__background-node--two {
    top: 12%;
    right: 17%;

    width: 7px;
    height: 7px;

    animation:
        plocalEvaluationNodePulse
        5.2s
        ease-in-out
        -1.4s
        infinite;
}


.plocal-evaluation-process__background-node--three {
    right: 5%;
    bottom: 18%;

    width: 6px;
    height: 6px;

    animation:
        plocalEvaluationNodePulse
        5.8s
        ease-in-out
        -2.1s
        infinite;
}


/* =========================================================
   08. SECTION HEADING
========================================================= */

.plocal-evaluation-process__heading {
    position: relative;
    z-index: 3;

    max-width: 950px;

    margin:
        0
        auto
        clamp(55px, 6vw, 82px);

    text-align: center;

    opacity: 0;

    animation:
        plocalEvaluationHeadingReveal
        0.85s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.05s
        forwards;
}


.plocal-evaluation-process
.site-title-tagline {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 23px;
    padding:
        8px
        17px
        8px
        8px;

    overflow: hidden;

    border:
        1px solid
        rgba(98, 211, 218, 0.38);

    border-radius: 999px;

    background:
        rgba(4, 29, 76, 0.56);

    color: var(--color-skyblue);

    font-family: var(--body-font);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;

    box-shadow:
        0 13px 31px
        rgba(0, 0, 0, 0.2),

        inset 0 1px 0
        rgba(255, 255, 255, 0.07);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    animation:
        plocalEvaluationTaglineFloat
        4.8s
        ease-in-out
        infinite;
}


.plocal-evaluation-process
.site-title-tagline::after {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -42%;

    width: 27%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.48),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalEvaluationTaglineShine
        6.8s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__tagline-icon {
    display: grid;
    place-items: center;

    flex: 0 0 auto;

    width: 32px;
    height: 32px;

    border:
        1px solid
        rgba(255, 255, 255, 0.17);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    font-size: 13px;

    box-shadow:
        0 9px 21px
        rgba(36, 189, 199, 0.28);

    animation:
        plocalEvaluationTaglinePulse
        3.6s
        ease-in-out
        infinite;
}


.plocal-evaluation-process
.site-title {
    margin: 0;

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size:
        clamp(
            43px,
            5.4vw,
            72px
        );

    font-weight: 800;
    line-height: 1.04;
    letter-spacing: var(--heading-letter-spacing);

    text-shadow:
        0 18px 44px
        rgba(0, 0, 0, 0.25);
}


.plocal-evaluation-process
.site-title span {
    background:
        linear-gradient(
            135deg,
            var(--color-skyblue),
            var(--theme-color)
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;

    text-shadow: none;
}


.plocal-evaluation-process__heading-line {
    display: block;

    width: 96px;
    height: 4px;

    margin:
        22px
        auto
        0;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--color-skyblue),
            var(--theme-color),
            transparent
        );

    box-shadow:
        0 0 20px
        rgba(98, 211, 218, 0.56);

    animation:
        plocalEvaluationHeadingLine
        4s
        ease-in-out
        infinite;
}


/* =========================================================
   09. PROCESS GRID
========================================================= */

.plocal-evaluation-process__grid {
    --process-gap:
        clamp(
            34px,
            3.5vw,
            62px
        );

    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    align-items: stretch;

    gap: var(--process-gap);
}


/* =========================================================
   10. PROCESS CARD
========================================================= */

.plocal-evaluation-process__step {
    position: relative;
    isolation: isolate;

    display: flex;
    align-items: center;
    flex-direction: column;

    min-width: 0;
    min-height: 390px;

    padding:
        30px
        25px
        35px;

    overflow: visible;

    border:
        1px solid
        rgba(98, 211, 218, 0.42);

    border-radius: 29px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(36, 189, 199, 0.13),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            rgba(11, 58, 139, 0.7),
            rgba(4, 29, 76, 0.84)
        );

    box-shadow:
        0 25px 60px
        rgba(0, 0, 0, 0.28),

        inset 0 1px 0
        rgba(255, 255, 255, 0.1),

        0 0 0 1px
        rgba(98, 211, 218, 0.035);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    opacity: 0;

    transform:
        translateY(34px)
        scale(0.97);

    transition:
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}


.plocal-evaluation-process__step::before {
    position: absolute;
    inset: 1px;
    z-index: -1;

    content: "";

    border-radius: 27px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.035),
            transparent 34%,
            rgba(36, 189, 199, 0.025)
        );

    pointer-events: none;
}


.plocal-evaluation-process__step::after {
    position: absolute;
    right: 17%;
    bottom: -2px;
    left: 17%;

    height: 3px;

    content: "";

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--color-skyblue),
            transparent
        );

    box-shadow:
        0 0 19px
        rgba(98, 211, 218, 0.56);

    opacity: 0.66;

    animation:
        plocalEvaluationCardBottomGlow
        4.5s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__step--one {
    animation:
        plocalEvaluationCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.17s
        forwards;
}


.plocal-evaluation-process__step--two {
    animation:
        plocalEvaluationCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.29s
        forwards;
}


.plocal-evaluation-process__step--three {
    animation:
        plocalEvaluationCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.41s
        forwards;
}


.plocal-evaluation-process__step--four {
    animation:
        plocalEvaluationCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.53s
        forwards;
}


.plocal-evaluation-process__step:hover {
    border-color:
        rgba(98, 211, 218, 0.76);

    box-shadow:
        0 34px 76px
        rgba(0, 0, 0, 0.36),

        0 0 30px
        rgba(36, 189, 199, 0.11),

        inset 0 1px 0
        rgba(255, 255, 255, 0.14);

    transform:
        translateY(-10px)
        scale(1.012);
}


/* =========================================================
   11. CARD LIGHT SCAN
========================================================= */

.plocal-evaluation-process__card-light {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -42%;

    width: 23%;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.11),
            rgba(98, 211, 218, 0.07),
            transparent
        );

    filter: blur(4px);

    opacity: 0;

    transform: skewX(-17deg);

    animation:
        plocalEvaluationCardScan
        9s
        ease-in-out
        infinite;

    pointer-events: none;
}


.plocal-evaluation-process__step--two
.plocal-evaluation-process__card-light {
    animation-delay: -2.1s;
}


.plocal-evaluation-process__step--three
.plocal-evaluation-process__card-light {
    animation-delay: -4.2s;
}


.plocal-evaluation-process__step--four
.plocal-evaluation-process__card-light {
    animation-delay: -6.3s;
}


/* =========================================================
   12. ICON
========================================================= */

.plocal-evaluation-process__icon-wrap {
    position: relative;

    display: grid;
    place-items: center;

    width: 142px;
    height: 142px;

    margin:
        -4px
        auto
        22px;
}


.plocal-evaluation-process__icon-halo {
    position: absolute;
    inset: 13px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(98, 211, 218, 0.28),
            rgba(36, 189, 199, 0.08) 45%,
            transparent 72%
        );

    filter: blur(14px);

    animation:
        plocalEvaluationIconHalo
        4.8s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__icon-orbit {
    position: absolute;
    inset: 3px;

    border:
        1px dashed
        rgba(98, 211, 218, 0.38);

    border-radius: 50%;

    animation:
        plocalEvaluationIconOrbit
        18s
        linear
        infinite;
}


.plocal-evaluation-process__icon-orbit::before {
    position: absolute;
    top: 17px;
    right: 18px;

    width: 7px;
    height: 7px;

    content: "";

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 0 4px
        rgba(98, 211, 218, 0.1),

        0 0 17px
        rgba(98, 211, 218, 0.65);
}


.plocal-evaluation-process__icon {
    position: relative;
    z-index: 2;

    display: grid;
    place-items: center;

    width: 105px;
    height: 105px;

    border:
        1px solid
        rgba(255, 255, 255, 0.32);

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 34% 25%,
            rgba(255, 255, 255, 0.3),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            var(--color-skyblue),
            var(--theme-color) 57%,
            #0792a3
        );

    color: var(--color-white);

    font-size: 43px;

    box-shadow:
        0 18px 37px
        rgba(0, 0, 0, 0.3),

        0 0 0 7px
        rgba(36, 189, 199, 0.07),

        inset 0 1px 0
        rgba(255, 255, 255, 0.34),

        inset 0 -10px 19px
        rgba(5, 60, 90, 0.24);

    animation:
        plocalEvaluationIconFloat
        5.2s
        ease-in-out
        infinite;

    transition:
        box-shadow 0.35s ease,
        transform 0.35s ease;
}


.plocal-evaluation-process__step--two
.plocal-evaluation-process__icon {
    animation-delay: -1.2s;
}


.plocal-evaluation-process__step--three
.plocal-evaluation-process__icon {
    animation-delay: -2.4s;
}


.plocal-evaluation-process__step--four
.plocal-evaluation-process__icon {
    animation-delay: -3.6s;
}


.plocal-evaluation-process__step:hover
.plocal-evaluation-process__icon {
    box-shadow:
        0 23px 44px
        rgba(0, 0, 0, 0.34),

        0 0 0 9px
        rgba(36, 189, 199, 0.1),

        0 0 32px
        rgba(98, 211, 218, 0.28),

        inset 0 1px 0
        rgba(255, 255, 255, 0.35);

    transform:
        translateY(-3px)
        scale(1.07);
}


/* =========================================================
   13. CARD CONTENT
========================================================= */

.plocal-evaluation-process__content {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    flex: 1;
    flex-direction: column;

    width: 100%;

    text-align: center;
}


.plocal-evaluation-process__title {
    min-height: 59px;

    margin:
        0
        0
        12px;

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size:
        clamp(
            18px,
            1.55vw,
            24px
        );

    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;

    text-shadow:
        0 9px 24px
        rgba(0, 0, 0, 0.25);
}


.plocal-evaluation-process__divider {
    display: block;

    width: 43px;
    height: 3px;

    margin:
        0
        auto
        19px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    box-shadow:
        0 0 14px
        rgba(98, 211, 218, 0.5);

    transition:
        width 0.35s ease;
}


.plocal-evaluation-process__step:hover
.plocal-evaluation-process__divider {
    width: 68px;
}


.plocal-evaluation-process__content p {
    max-width: 265px;

    margin: 0;

    color:
        rgba(
            255,
            255,
            255,
            0.74
        );

    font-family: var(--body-font);
    font-size:
        clamp(
            13px,
            1.12vw,
            16px
        );

    line-height: 1.75;
}


/* =========================================================
   14. CONNECTION LINES
========================================================= */

.plocal-evaluation-process__connector {
    position: absolute;
    top: 44%;
    right:
        calc(
            var(--process-gap) * -1
        );
    z-index: -1;

    display: block;

    width: var(--process-gap);
    height: 2px;

    background:
        linear-gradient(
            90deg,
            rgba(98, 211, 218, 0.27),
            var(--color-skyblue),
            rgba(98, 211, 218, 0.27)
        );

    box-shadow:
        0 0 12px
        rgba(98, 211, 218, 0.45);

    transform: translateY(-50%);
}


.plocal-evaluation-process__connector::before {
    position: absolute;
    inset: -4px 0;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(98, 211, 218, 0.22),
            transparent
        );

    filter: blur(4px);

    animation:
        plocalEvaluationConnectorGlow
        3s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__connector-node {
    position: absolute;
    top: 50%;

    width: 12px;
    height: 12px;

    border:
        2px solid
        rgba(255, 255, 255, 0.21);

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 0 5px
        rgba(98, 211, 218, 0.08),

        0 0 19px
        rgba(98, 211, 218, 0.66);

    transform:
        translateY(-50%);

    animation:
        plocalEvaluationConnectorNode
        3.5s
        ease-in-out
        infinite;
}


.plocal-evaluation-process__connector-node--start {
    left: -2px;
}


.plocal-evaluation-process__connector-node--end {
    right: -2px;

    animation-delay: -1.7s;
}


/* =========================================================
   15. KEYFRAMES
========================================================= */

@keyframes plocalEvaluationGridMove {

    from {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    to {
        transform:
            translate3d(
                70px,
                70px,
                0
            );
    }

}


@keyframes plocalEvaluationBackgroundScan {

    0% {
        left: -30%;
        opacity: 0;
    }

    15% {
        opacity: 0.2;
    }

    50% {
        opacity: 0.4;
    }

    86% {
        opacity: 0.18;
    }

    100% {
        left: 125%;
        opacity: 0;
    }

}


@keyframes plocalEvaluationGlowOne {

    from {
        opacity: 0.55;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(0.97);
    }

    to {
        opacity: 0.9;

        transform:
            translate3d(
                35px,
                25px,
                0
            )
            scale(1.07);
    }

}


@keyframes plocalEvaluationGlowTwo {

    from {
        opacity: 0.42;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }

    to {
        opacity: 0.76;

        transform:
            translate3d(
                -32px,
                -25px,
                0
            )
            scale(1.08);
    }

}


@keyframes plocalEvaluationDotsLeft {

    0%,
    100% {
        opacity: 0.24;

        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(-7deg);
    }

    50% {
        opacity: 0.4;

        transform:
            translate3d(
                10px,
                -8px,
                0
            )
            rotate(-5deg);
    }

}


@keyframes plocalEvaluationDotsRight {

    0%,
    100% {
        opacity: 0.16;

        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(6deg);
    }

    50% {
        opacity: 0.3;

        transform:
            translate3d(
                -9px,
                -7px,
                0
            )
            rotate(4deg);
    }

}


@keyframes plocalEvaluationOrbitOne {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalEvaluationOrbitTwo {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


@keyframes plocalEvaluationOrbitThree {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }

}


@keyframes plocalEvaluationWaveOne {

    0%,
    100% {
        opacity: 0.55;

        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(-10deg);
    }

    50% {
        opacity: 0.85;

        transform:
            translate3d(
                -20px,
                -10px,
                0
            )
            rotate(-8deg);
    }

}


@keyframes plocalEvaluationWaveTwo {

    0%,
    100% {
        opacity: 0.3;

        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(9deg);
    }

    50% {
        opacity: 0.55;

        transform:
            translate3d(
                20px,
                -8px,
                0
            )
            rotate(7deg);
    }

}


@keyframes plocalEvaluationNodePulse {

    0%,
    100% {
        opacity: 0.35;

        transform: scale(0.72);
    }

    50% {
        opacity: 1;

        transform: scale(1.25);
    }

}


@keyframes plocalEvaluationHeadingReveal {

    from {
        opacity: 0;

        transform:
            translate3d(
                0,
                28px,
                0
            );
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }

}


@keyframes plocalEvaluationTaglineFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-4px);
    }

}


@keyframes plocalEvaluationTaglineShine {

    0%,
    65% {
        left: -42%;
    }

    86%,
    100% {
        left: 130%;
    }

}


@keyframes plocalEvaluationTaglinePulse {

    0%,
    100% {
        box-shadow:
            0 9px 21px
            rgba(36, 189, 199, 0.28),

            0 0 0 0
            rgba(98, 211, 218, 0);
    }

    50% {
        box-shadow:
            0 9px 21px
            rgba(36, 189, 199, 0.28),

            0 0 0 8px
            rgba(98, 211, 218, 0.1);
    }

}


@keyframes plocalEvaluationHeadingLine {

    0%,
    100% {
        opacity: 0.55;

        transform:
            scaleX(0.72);
    }

    50% {
        opacity: 1;

        transform:
            scaleX(1.12);
    }

}


@keyframes plocalEvaluationCardReveal {

    from {
        opacity: 0;

        transform:
            translate3d(
                0,
                34px,
                0
            )
            scale(0.97);
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }

}


@keyframes plocalEvaluationCardBottomGlow {

    0%,
    100% {
        opacity: 0.42;

        transform:
            scaleX(0.75);
    }

    50% {
        opacity: 0.95;

        transform:
            scaleX(1.08);
    }

}


@keyframes plocalEvaluationCardScan {

    0%,
    68% {
        left: -42%;
        opacity: 0;
    }

    75% {
        opacity: 0.28;
    }

    89% {
        opacity: 0.5;
    }

    100% {
        left: 128%;
        opacity: 0;
    }

}


@keyframes plocalEvaluationIconHalo {

    0%,
    100% {
        opacity: 0.52;

        transform:
            scale(0.93);
    }

    50% {
        opacity: 1;

        transform:
            scale(1.1);
    }

}


@keyframes plocalEvaluationIconOrbit {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalEvaluationIconFloat {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                0,
                -8px,
                0
            )
            rotate(-1deg);
    }

}


@keyframes plocalEvaluationConnectorGlow {

    0%,
    100% {
        opacity: 0.36;
    }

    50% {
        opacity: 1;
    }

}


@keyframes plocalEvaluationConnectorNode {

    0%,
    100% {
        opacity: 0.52;

        transform:
            translateY(-50%)
            scale(0.78);
    }

    50% {
        opacity: 1;

        transform:
            translateY(-50%)
            scale(1.18);
    }

}


/* =========================================================
   16. LARGE LAPTOP
========================================================= */

@media (max-width: 1399.98px) {

    .plocal-evaluation-process__grid {
        --process-gap:
            clamp(
                26px,
                2.5vw,
                42px
            );
    }


    .plocal-evaluation-process__step {
        min-height: 380px;

        padding:
            28px
            20px
            32px;
    }


    .plocal-evaluation-process__icon-wrap {
        width: 130px;
        height: 130px;
    }


    .plocal-evaluation-process__icon {
        width: 96px;
        height: 96px;

        font-size: 39px;
    }


    .plocal-evaluation-process__title {
        font-size:
            clamp(
                17px,
                1.45vw,
                21px
            );
    }

}


/* =========================================================
   17. TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .plocal-evaluation-process__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 30px;
    }


    .plocal-evaluation-process__step {
        min-height: 350px;
    }


    .plocal-evaluation-process__connector {
        display: none;
    }


    .plocal-evaluation-process__title {
        min-height: auto;
    }


    .plocal-evaluation-process__content p {
        max-width: 330px;
    }

}


/* =========================================================
   18. MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .plocal-evaluation-process {
        padding:
            clamp(76px, 12vw, 98px)
            0;

        background:
            radial-gradient(
                circle at 0% 4%,
                rgba(22, 91, 231, 0.46),
                transparent 35%
            ),
            radial-gradient(
                circle at 100% 94%,
                rgba(36, 189, 199, 0.13),
                transparent 36%
            ),
            linear-gradient(
                160deg,
                #082f78,
                var(--theme-color2) 31%,
                var(--color-dark) 68%,
                var(--footer-bg)
            );
    }


    .plocal-evaluation-process__heading {
        margin-bottom: 48px;
    }


    .plocal-evaluation-process
    .site-title {
        font-size:
            clamp(
                38px,
                10vw,
                51px
            );
    }


    .plocal-evaluation-process__grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 25px;
    }


    .plocal-evaluation-process__step {
        min-height: 330px;

        max-width: 540px;

        margin-inline: auto;

        padding:
            27px
            22px
            31px;
    }


    .plocal-evaluation-process__dots--left {
        width: 260px;
        height: 180px;
    }


    .plocal-evaluation-process__dots--right {
        width: 230px;
        height: 165px;
    }


    .plocal-evaluation-process__icon-wrap {
        width: 122px;
        height: 122px;

        margin-bottom: 18px;
    }


    .plocal-evaluation-process__icon {
        width: 90px;
        height: 90px;

        font-size: 36px;
    }


    .plocal-evaluation-process__title {
        font-size: 20px;
    }


    .plocal-evaluation-process__content p {
        font-size: 14px;
    }

}


/* =========================================================
   19. SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .plocal-evaluation-process
    .site-title-tagline {
        font-size: 10px;
        letter-spacing: 0.13em;
    }


    .plocal-evaluation-process__step {
        min-height: 315px;

        border-radius: 24px;
    }


    .plocal-evaluation-process__step::before {
        border-radius: 22px;
    }


    .plocal-evaluation-process__icon-wrap {
        width: 114px;
        height: 114px;
    }


    .plocal-evaluation-process__icon {
        width: 84px;
        height: 84px;

        font-size: 33px;
    }

}


/* =========================================================
   20. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-evaluation-process__heading,
    .plocal-evaluation-process__step {
        opacity: 1 !important;

        transform: none !important;
    }


    .plocal-evaluation-process__background::before,
    .plocal-evaluation-process__background::after,
    .plocal-evaluation-process__glow,
    .plocal-evaluation-process__dots,
    .plocal-evaluation-process__orbit,
    .plocal-evaluation-process__wave,
    .plocal-evaluation-process__background-node,
    .plocal-evaluation-process .site-title-tagline,
    .plocal-evaluation-process .site-title-tagline::after,
    .plocal-evaluation-process__tagline-icon,
    .plocal-evaluation-process__heading-line,
    .plocal-evaluation-process__step::after,
    .plocal-evaluation-process__card-light,
    .plocal-evaluation-process__icon-halo,
    .plocal-evaluation-process__icon-orbit,
    .plocal-evaluation-process__icon,
    .plocal-evaluation-process__connector::before,
    .plocal-evaluation-process__connector-node {
        animation: none !important;
    }


    .plocal-evaluation-process__step,
    .plocal-evaluation-process__icon,
    .plocal-evaluation-process__divider {
        transition: none;
    }

}

/* =========================================================
   PLOCAL — WHAT WE EVALUATE
========================================================= */


/* =========================================================
   01. SECTION
========================================================= */

.plocal-eval-criteria,
.plocal-eval-criteria * {
    box-sizing: border-box;
}


.plocal-eval-criteria {
    position: relative;
    z-index: 1;
    isolation: isolate;

    overflow: hidden;

    padding:
        clamp(20px, 8vw, 45px)
        0;

    background:
        radial-gradient(
            circle at 1% 34%,
            rgba(36, 189, 199, 0.11),
            transparent 23%
        ),
        radial-gradient(
            circle at 97% 7%,
            rgba(98, 211, 218, 0.085),
            transparent 27%
        ),
        radial-gradient(
            circle at 82% 100%,
            rgba(36, 189, 199, 0.08),
            transparent 25%
        ),
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fdfeff 48%,
            #f8fbff 100%
        );
}


.plocal-eval-criteria::after {
    position: absolute;
    right: 7%;
    bottom: 0;
    left: 7%;
    z-index: 5;

    height: 1px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(36, 189, 199, 0.3),
            transparent
        );

    pointer-events: none;
}


.plocal-eval-criteria__container {
    position: relative;
    z-index: 3;
}


/* =========================================================
   02. BACKGROUND
========================================================= */

.plocal-eval-criteria__background {
    position: absolute;
    inset: 0;
    z-index: -1;

    overflow: hidden;

    pointer-events: none;
}


/* Subtle technical grid */
.plocal-eval-criteria__background::before {
    position: absolute;
    inset: -80px;

    content: "";

    background-image:
        linear-gradient(
            rgba(12, 44, 122, 0.018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(12, 44, 122, 0.018) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    opacity: 0.55;

    -webkit-mask-image:
        radial-gradient(
            ellipse at 50% 48%,
            #000 0%,
            rgba(0, 0, 0, 0.6) 48%,
            transparent 83%
        );

    mask-image:
        radial-gradient(
            ellipse at 50% 48%,
            #000 0%,
            rgba(0, 0, 0, 0.6) 48%,
            transparent 83%
        );

    animation:
        plocalEvalCriteriaGridMove
        55s linear infinite;
}


/* Slow white light */
.plocal-eval-criteria__background::after {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -30%;

    width: 18%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.9),
            rgba(36, 189, 199, 0.045),
            transparent
        );

    filter: blur(6px);

    opacity: 0;

    transform: skewX(-17deg);

    animation:
        plocalEvalCriteriaBackgroundScan
        19s linear infinite;
}


/* =========================================================
   03. GLOWS
========================================================= */

.plocal-eval-criteria__glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(30px);

    will-change:
        opacity,
        transform;
}


.plocal-eval-criteria__glow--one {
    top: -330px;
    left: -290px;

    width: 720px;
    height: 720px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.16),
            rgba(98, 211, 218, 0.045) 44%,
            transparent 72%
        );

    animation:
        plocalEvalCriteriaGlowOne
        15s ease-in-out infinite alternate;
}


.plocal-eval-criteria__glow--two {
    top: -350px;
    right: -300px;

    width: 700px;
    height: 700px;

    background:
        radial-gradient(
            circle,
            rgba(12, 44, 122, 0.08),
            rgba(36, 189, 199, 0.04) 45%,
            transparent 72%
        );

    animation:
        plocalEvalCriteriaGlowTwo
        18s ease-in-out infinite alternate;
}


.plocal-eval-criteria__glow--three {
    right: 7%;
    bottom: -300px;

    width: 520px;
    height: 520px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.14),
            transparent 72%
        );

    animation:
        plocalEvalCriteriaGlowThree
        13s ease-in-out infinite alternate;
}


/* =========================================================
   04. DOT PATTERNS
========================================================= */

.plocal-eval-criteria__dots {
    position: absolute;

    background-image:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.58) 1.5px,
            transparent 1.9px
        );

    background-size: 14px 14px;
}


.plocal-eval-criteria__dots--top {
    top: 22px;
    left: 1%;

    width: 230px;
    height: 125px;

    opacity: 0.55;

    -webkit-mask-image:
        linear-gradient(
            135deg,
            #000,
            rgba(0, 0, 0, 0.73) 50%,
            transparent
        );

    mask-image:
        linear-gradient(
            135deg,
            #000,
            rgba(0, 0, 0, 0.73) 50%,
            transparent
        );

    animation:
        plocalEvalCriteriaDotsTop
        10s ease-in-out infinite;
}


.plocal-eval-criteria__dots--bottom {
    right: 1%;
    bottom: 15px;

    width: 215px;
    height: 175px;

    opacity: 0.3;

    -webkit-mask-image:
        linear-gradient(
            315deg,
            #000,
            rgba(0, 0, 0, 0.67) 45%,
            transparent
        );

    mask-image:
        linear-gradient(
            315deg,
            #000,
            rgba(0, 0, 0, 0.67) 45%,
            transparent
        );

    animation:
        plocalEvalCriteriaDotsBottom
        12s ease-in-out infinite;
}


/* =========================================================
   05. BACKGROUND ORBITS
========================================================= */

.plocal-eval-criteria__orbit {
    position: absolute;

    border:
        1px solid
        rgba(12, 44, 122, 0.09);

    border-radius: 50%;
}


.plocal-eval-criteria__orbit--one {
    top: 115px;
    left: -155px;

    width: 400px;
    height: 400px;

    border-color:
        rgba(36, 189, 199, 0.13);

    box-shadow:
        0 0 0 37px rgba(36, 189, 199, 0.018),
        0 0 0 74px rgba(36, 189, 199, 0.011);

    animation:
        plocalEvalCriteriaOrbitOne
        50s linear infinite;
}


.plocal-eval-criteria__orbit--two {
    top: -290px;
    right: -220px;

    width: 580px;
    height: 580px;

    border-style: dashed;

    animation:
        plocalEvalCriteriaOrbitTwo
        58s linear infinite;
}


.plocal-eval-criteria__orbit--three {
    bottom: -310px;
    left: -175px;

    width: 490px;
    height: 490px;

    border-color:
        rgba(36, 189, 199, 0.15);

    animation:
        plocalEvalCriteriaOrbitThree
        62s linear infinite;
}


.plocal-eval-criteria__orbit::before {
    position: absolute;

    content: "";

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 5px rgba(36, 189, 199, 0.09),
        0 0 22px rgba(36, 189, 199, 0.36);
}


.plocal-eval-criteria__orbit--one::before {
    top: 69px;
    right: 28px;

    width: 9px;
    height: 9px;
}


.plocal-eval-criteria__orbit--two::before {
    bottom: 74px;
    left: 77px;

    width: 8px;
    height: 8px;
}


.plocal-eval-criteria__orbit--three::before {
    top: 49px;
    right: 95px;

    width: 7px;
    height: 7px;
}


/* =========================================================
   06. BACKGROUND NODES
========================================================= */

.plocal-eval-criteria__node {
    position: absolute;

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 6px rgba(36, 189, 199, 0.09),
        0 0 24px rgba(36, 189, 199, 0.38);
}


.plocal-eval-criteria__node--one {
    top: 18%;
    left: 2%;

    width: 11px;
    height: 11px;

    animation:
        plocalEvalCriteriaNode
        4.5s ease-in-out infinite;
}


.plocal-eval-criteria__node--two {
    top: 15%;
    right: 13%;

    width: 8px;
    height: 8px;

    animation:
        plocalEvalCriteriaNode
        5.2s ease-in-out -1.4s infinite;
}


.plocal-eval-criteria__node--three {
    right: 8%;
    bottom: 7%;

    width: 10px;
    height: 10px;

    animation:
        plocalEvalCriteriaNode
        5.8s ease-in-out -2.3s infinite;
}


/* =========================================================
   07. HEADER
========================================================= */

.plocal-eval-criteria__header {
    max-width: 880px;

    margin:
        0
        auto
        clamp(50px, 6vw, 72px);

    text-align: center;

    opacity: 0;

    animation:
        plocalEvalCriteriaHeaderReveal
        0.85s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.05s
        forwards;
}


.plocal-eval-criteria__eyebrow {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 20px;
    padding:
        7px
        16px
        7px
        8px;

    overflow: hidden;

    border:
        1px solid
        rgba(36, 189, 199, 0.34);

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.98),
            rgba(217, 245, 247, 0.72)
        );

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.16em;
    text-transform: uppercase;

    box-shadow:
        0 10px 24px
        rgba(12, 44, 122, 0.06);

    animation:
        plocalEvalCriteriaEyebrowFloat
        4.7s ease-in-out infinite;
}


.plocal-eval-criteria__eyebrow::after {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -42%;

    width: 28%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.95),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalEvalCriteriaEyebrowShine
        6.8s ease-in-out infinite;
}


.plocal-eval-criteria__eyebrow-icon {
    display: grid;
    place-items: center;

    width: 30px;
    height: 30px;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    font-size: 12px;

    box-shadow:
        0 8px 18px
        rgba(36, 189, 199, 0.24);

    animation:
        plocalEvalCriteriaEyebrowPulse
        3.5s ease-in-out infinite;
}


.plocal-eval-criteria__heading {
    margin:
        0
        0
        17px;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size:
        clamp(
            45px,
            5.2vw,
            69px
        );

    font-weight: 800;
    line-height: 1.04;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-eval-criteria__heading span {
    background:
        linear-gradient(
            135deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
}


.plocal-eval-criteria__intro {
    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size:
        clamp(
            15px,
            1.3vw,
            18px
        );

    line-height: 1.7;
}


.plocal-eval-criteria__intro strong {
    color: var(--theme-color2);
}


/* =========================================================
   08. GRID
========================================================= */

.plocal-eval-criteria__grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        clamp(
            23px,
            2.3vw,
            35px
        );
}


/* =========================================================
   09. CRITERIA CARD
========================================================= */

.plocal-eval-criteria__card {
    position: relative;
    isolation: isolate;

    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(145px, 0.92fr);

    min-width: 0;
    min-height: 245px;

    padding:
        clamp(20px, 2.3vw, 15px);

    overflow: hidden;

    border:
        1px solid
        rgba(12, 44, 122, 0.1);

    border-radius: 22px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(36, 189, 199, 0.1),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.99),
            rgba(249, 252, 255, 0.96)
        );

    box-shadow:
        0 20px 48px
        rgba(12, 44, 122, 0.085),

        inset 0 1px 0
        rgba(255, 255, 255, 0.9);

    opacity: 0;

    transform:
        translateY(28px)
        scale(0.98);

    transition:
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}


.plocal-eval-criteria__card::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 5px;

    content: "";

    border-radius:
        22px
        0
        0
        22px;

    background:
        linear-gradient(
            180deg,
            var(--theme-color2),
            var(--theme-color)
        );

    opacity: 0.94;
}


.plocal-eval-criteria__card::after {
    position: absolute;
    right: 0;
    bottom: 0;

    width: 88px;
    height: 4px;

    content: "";

    border-radius:
        999px
        0
        22px
        0;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--theme-color)
        );

    box-shadow:
        0 0 16px
        rgba(36, 189, 199, 0.25);

    transition:
        width 0.35s ease;
}


.plocal-eval-criteria__card:hover {
    border-color:
        rgba(36, 189, 199, 0.34);

    box-shadow:
        0 29px 65px
        rgba(12, 44, 122, 0.13),

        0 0 0 1px
        rgba(36, 189, 199, 0.045);

    transform:
        translateY(-9px)
        scale(1.008);
}


.plocal-eval-criteria__card:hover::after {
    width: 145px;
}


.plocal-eval-criteria__card--one {
    animation:
        plocalEvalCriteriaCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.12s
        forwards;
}


.plocal-eval-criteria__card--two {
    animation:
        plocalEvalCriteriaCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.21s
        forwards;
}


.plocal-eval-criteria__card--three {
    animation:
        plocalEvalCriteriaCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.30s
        forwards;
}


.plocal-eval-criteria__card--four {
    animation:
        plocalEvalCriteriaCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.39s
        forwards;
}


.plocal-eval-criteria__card--five {
    animation:
        plocalEvalCriteriaCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.48s
        forwards;
}


.plocal-eval-criteria__card--six {
    animation:
        plocalEvalCriteriaCardReveal
        0.82s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.57s
        forwards;
}


/* Alternate visual accent */
.plocal-eval-criteria__card--two::before,
.plocal-eval-criteria__card--four::before,
.plocal-eval-criteria__card--six::before {
    background:
        linear-gradient(
            180deg,
            var(--theme-color),
            var(--color-skyblue)
        );
}


/* =========================================================
   10. CARD SHINE
========================================================= */

.plocal-eval-criteria__card-shine {
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -45%;
    z-index: 4;

    width: 21%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.92),
            rgba(36, 189, 199, 0.04),
            transparent
        );

    filter: blur(4px);

    opacity: 0;

    transform: skewX(-18deg);

    animation:
        plocalEvalCriteriaCardShine
        10s ease-in-out infinite;

    pointer-events: none;
}


.plocal-eval-criteria__card--two
.plocal-eval-criteria__card-shine {
    animation-delay: -1.6s;
}


.plocal-eval-criteria__card--three
.plocal-eval-criteria__card-shine {
    animation-delay: -3.2s;
}


.plocal-eval-criteria__card--four
.plocal-eval-criteria__card-shine {
    animation-delay: -4.8s;
}


.plocal-eval-criteria__card--five
.plocal-eval-criteria__card-shine {
    animation-delay: -6.4s;
}


.plocal-eval-criteria__card--six
.plocal-eval-criteria__card-shine {
    animation-delay: -8s;
}


/* =========================================================
   11. CARD CONTENT
========================================================= */

.plocal-eval-criteria__card-content {
    position: relative;
    z-index: 3;

    align-self: center;

    min-width: 0;
}


.plocal-eval-criteria__card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    margin-bottom: 15px;
}


.plocal-eval-criteria__number {
    display: grid;
    place-items: center;

    width: 53px;
    height: 53px;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--theme-color2),
            #174eac
        );

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 24px;
    font-weight: 700;

    box-shadow:
        0 11px 24px
        rgba(12, 44, 122, 0.19),

        inset 0 1px 0
        rgba(255, 255, 255, 0.2);

    transition:
        box-shadow 0.35s ease,
        transform 0.35s ease;
}


.plocal-eval-criteria__card--two
.plocal-eval-criteria__number,
.plocal-eval-criteria__card--four
.plocal-eval-criteria__number,
.plocal-eval-criteria__card--six
.plocal-eval-criteria__number {
    background:
        linear-gradient(
            145deg,
            var(--theme-color),
            var(--color-skyblue)
        );
}


.plocal-eval-criteria__card:hover
.plocal-eval-criteria__number {
    box-shadow:
        0 15px 31px
        rgba(12, 44, 122, 0.24),

        0 0 0 7px
        rgba(36, 189, 199, 0.07);

    transform:
        rotate(-6deg)
        scale(1.06);
}


.plocal-eval-criteria__mobile-icon {
    display: none;
}


.plocal-eval-criteria__title {
    margin:
        0
        0
        8px;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size:
        clamp(
            18px,
            1.5vw,
            23px
        );

    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -0.018em;
}


.plocal-eval-criteria__points {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 16px;

    color: var(--theme-color);

    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}


.plocal-eval-criteria__points > span {
    width: 22px;
    height: 2px;

    border-radius: 999px;

    background: var(--theme-color);

    box-shadow:
        0 0 10px
        rgba(36, 189, 199, 0.25);
}


.plocal-eval-criteria__divider {
    display: block;

    width: 58px;
    height: 2px;

    margin-bottom: 17px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            var(--theme-color),
            rgba(36, 189, 199, 0.1)
        );

    transition:
        width 0.35s ease;
}


.plocal-eval-criteria__card:hover
.plocal-eval-criteria__divider {
    width: 88px;
}


.plocal-eval-criteria__card-content p {
    max-width: 240px;

    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 14px;
    line-height: 1.68;
}


/* =========================================================
   12. CARD VISUAL
========================================================= */

.plocal-eval-criteria__visual {
    position: relative;
    z-index: 2;

    align-self: stretch;

    min-width: 0;
    min-height: 185px;

    margin: 0;

    overflow: visible;
}


.plocal-eval-criteria__visual::before {
    position: absolute;
    inset: 5% -14% -18% -3%;
    z-index: -3;

    content: "";

    background:
        radial-gradient(
            circle at 65% 50%,
            rgba(36, 189, 199, 0.1),
            transparent 69%
        );

    opacity: 0.8;
}


.plocal-eval-criteria__visual-glow {
    position: absolute;
    top: 50%;
    left: 52%;
    z-index: -2;

    width: 190px;
    height: 170px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.17),
            transparent 70%
        );

    filter: blur(18px);

    transform:
        translate(
            -50%,
            -50%
        );

    animation:
        plocalEvalCriteriaVisualGlow
        5.5s ease-in-out infinite;
}


.plocal-eval-criteria__visual img {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 118%;
    max-width: 255px;
    height: 100%;

    object-fit: contain;
    object-position: center;

    filter:
        drop-shadow(
            0 18px 22px
            rgba(12, 44, 122, 0.12)
        );

    transform:
        translate(
            -46%,
            -50%
        );

    animation:
        plocalEvalCriteriaImageFloat
        5.7s ease-in-out infinite;

    transition:
        filter 0.35s ease,
        transform 0.35s ease;
}


.plocal-eval-criteria__card--two
.plocal-eval-criteria__visual img {
    animation-delay: -1s;
}


.plocal-eval-criteria__card--three
.plocal-eval-criteria__visual img {
    animation-delay: -2s;
}


.plocal-eval-criteria__card--four
.plocal-eval-criteria__visual img {
    animation-delay: -3s;
}


.plocal-eval-criteria__card--five
.plocal-eval-criteria__visual img {
    animation-delay: -4s;
}


.plocal-eval-criteria__card--six
.plocal-eval-criteria__visual img {
    animation-delay: -5s;
}


.plocal-eval-criteria__card:hover
.plocal-eval-criteria__visual img {
    filter:
        drop-shadow(
            0 23px 29px
            rgba(12, 44, 122, 0.17)
        )
        drop-shadow(
            0 0 18px
            rgba(36, 189, 199, 0.08)
        );

    transform:
        translate(
            -46%,
            -53%
        )
        scale(1.035);
}


/* =========================================================
   13. FLOATING VISUAL BADGES
========================================================= */

.plocal-eval-criteria__visual-badge {
    position: absolute;
    right: -4px;
    bottom: 8px;
    z-index: 5;

    display: grid;
    place-items: center;

    width: 45px;
    height: 45px;

    border:
        4px solid
        var(--color-white);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    font-size: 16px;

    box-shadow:
        0 10px 25px
        rgba(12, 44, 122, 0.16);

    animation:
        plocalEvalCriteriaBadgeFloat
        4.8s ease-in-out infinite;
}


.plocal-eval-criteria__visual-badge--display {
    animation-delay: -1.2s;
}


.plocal-eval-criteria__visual-badge--star {
    animation-delay: -2.4s;
}


.plocal-eval-criteria__visual-badge--message {
    animation-delay: -3.2s;
}


.plocal-eval-criteria__visual-badge--verified {
    animation-delay: -4s;
}


/* =========================================================
   14. LOCAL PRESENCE RINGS
========================================================= */

.plocal-eval-criteria__visual-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;

    border:
        1px dashed
        rgba(36, 189, 199, 0.43);

    border-radius: 50%;

    transform:
        translate(
            -50%,
            -50%
        );
}


.plocal-eval-criteria__visual-ring--one {
    width: 102px;
    height: 102px;

    animation:
        plocalEvalCriteriaVisualRingOne
        17s linear infinite;
}


.plocal-eval-criteria__visual-ring--two {
    width: 142px;
    height: 142px;

    border-color:
        rgba(12, 44, 122, 0.14);

    animation:
        plocalEvalCriteriaVisualRingTwo
        22s linear infinite;
}


/* =========================================================
   15. ACTION
========================================================= */

.plocal-eval-criteria__action {
    display: flex;
    justify-content: center;

    margin-top:
        clamp(
            42px,
            5vw,
            62px
        );

    opacity: 0;

    animation:
        plocalEvalCriteriaActionReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.68s
        forwards;
}


.plocal-eval-criteria__link {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    min-height: 58px;

    padding:
        8px
        22px
        8px
        9px;

    overflow: hidden;

    border:
        1px solid
        rgba(12, 44, 122, 0.09);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.92);

    color: var(--theme-color2);

    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;

    box-shadow:
        0 13px 31px
        rgba(12, 44, 122, 0.085);

    transition:
        border-color 0.3s ease,
        color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-eval-criteria__link::before {
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -40%;

    width: 25%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.95),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalEvalCriteriaLinkShine
        5.5s ease-in-out infinite;
}


.plocal-eval-criteria__link:hover {
    border-color:
        rgba(36, 189, 199, 0.3);

    color: var(--theme-color);

    box-shadow:
        0 19px 42px
        rgba(12, 44, 122, 0.12);

    transform: translateY(-4px);
}


.plocal-eval-criteria__link-icon {
    display: grid;
    place-items: center;

    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-size: 14px;

    box-shadow:
        0 8px 18px
        rgba(36, 189, 199, 0.11);

    transition:
        color 0.3s ease,
        background 0.3s ease,
        transform 0.3s ease;
}


.plocal-eval-criteria__link:hover
.plocal-eval-criteria__link-icon {
    background: var(--theme-color);

    color: var(--color-white);

    transform:
        rotate(7deg)
        scale(1.06);
}


.plocal-eval-criteria__link-arrow {
    color: var(--theme-color);

    transition:
        transform 0.3s ease;
}


.plocal-eval-criteria__link:hover
.plocal-eval-criteria__link-arrow {
    transform: translateX(6px);
}


/* =========================================================
   16. ANIMATIONS
========================================================= */

@keyframes plocalEvalCriteriaGridMove {

    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(72px, 72px, 0);
    }

}


@keyframes plocalEvalCriteriaBackgroundScan {

    0% {
        left: -30%;
        opacity: 0;
    }

    15% {
        opacity: 0.28;
    }

    50% {
        opacity: 0.5;
    }

    86% {
        opacity: 0.22;
    }

    100% {
        left: 125%;
        opacity: 0;
    }

}


@keyframes plocalEvalCriteriaGlowOne {

    from {
        opacity: 0.45;

        transform:
            translate3d(0, 0, 0)
            scale(0.97);
    }

    to {
        opacity: 0.82;

        transform:
            translate3d(30px, 22px, 0)
            scale(1.07);
    }

}


@keyframes plocalEvalCriteriaGlowTwo {

    from {
        opacity: 0.35;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    to {
        opacity: 0.7;

        transform:
            translate3d(-27px, 25px, 0)
            scale(1.07);
    }

}


@keyframes plocalEvalCriteriaGlowThree {

    from {
        opacity: 0.38;

        transform:
            translate3d(0, 0, 0)
            scale(0.96);
    }

    to {
        opacity: 0.8;

        transform:
            translate3d(-18px, -24px, 0)
            scale(1.08);
    }

}


@keyframes plocalEvalCriteriaDotsTop {

    0%,
    100% {
        opacity: 0.43;

        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.66;

        transform: translate3d(8px, -7px, 0);
    }

}


@keyframes plocalEvalCriteriaDotsBottom {

    0%,
    100% {
        opacity: 0.2;

        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.37;

        transform: translate3d(-8px, -6px, 0);
    }

}


@keyframes plocalEvalCriteriaOrbitOne {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalEvalCriteriaOrbitTwo {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


@keyframes plocalEvalCriteriaOrbitThree {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }

}


@keyframes plocalEvalCriteriaNode {

    0%,
    100% {
        opacity: 0.4;

        transform: scale(0.75);
    }

    50% {
        opacity: 1;

        transform: scale(1.25);
    }

}


@keyframes plocalEvalCriteriaHeaderReveal {

    from {
        opacity: 0;

        transform: translate3d(0, 27px, 0);
    }

    to {
        opacity: 1;

        transform: translate3d(0, 0, 0);
    }

}


@keyframes plocalEvalCriteriaEyebrowFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }

}


@keyframes plocalEvalCriteriaEyebrowShine {

    0%,
    65% {
        left: -42%;
    }

    86%,
    100% {
        left: 130%;
    }

}


@keyframes plocalEvalCriteriaEyebrowPulse {

    0%,
    100% {
        box-shadow:
            0 8px 18px
            rgba(36, 189, 199, 0.24),

            0 0 0 0
            rgba(36, 189, 199, 0);
    }

    50% {
        box-shadow:
            0 8px 18px
            rgba(36, 189, 199, 0.24),

            0 0 0 7px
            rgba(36, 189, 199, 0.09);
    }

}


@keyframes plocalEvalCriteriaCardReveal {

    from {
        opacity: 0;

        transform:
            translate3d(0, 28px, 0)
            scale(0.98);
    }

    to {
        opacity: 1;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

}


@keyframes plocalEvalCriteriaCardShine {

    0%,
    68% {
        left: -45%;
        opacity: 0;
    }

    76% {
        opacity: 0.45;
    }

    90% {
        opacity: 0.7;
    }

    100% {
        left: 130%;
        opacity: 0;
    }

}


@keyframes plocalEvalCriteriaVisualGlow {

    0%,
    100% {
        opacity: 0.46;

        transform:
            translate(-50%, -50%)
            scale(0.93);
    }

    50% {
        opacity: 0.95;

        transform:
            translate(-50%, -50%)
            scale(1.08);
    }

}


@keyframes plocalEvalCriteriaImageFloat {

    0%,
    100% {
        transform:
            translate(-46%, -50%)
            translateY(0)
            rotate(0deg);
    }

    50% {
        transform:
            translate(-46%, -50%)
            translateY(-8px)
            rotate(-1deg);
    }

}


@keyframes plocalEvalCriteriaBadgeFloat {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(0, -7px, 0)
            rotate(-5deg);
    }

}


@keyframes plocalEvalCriteriaVisualRingOne {

    from {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(360deg);
    }

}


@keyframes plocalEvalCriteriaVisualRingTwo {

    from {
        transform:
            translate(-50%, -50%)
            rotate(360deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(0deg);
    }

}


@keyframes plocalEvalCriteriaActionReveal {

    from {
        opacity: 0;

        transform: translate3d(0, 22px, 0);
    }

    to {
        opacity: 1;

        transform: translate3d(0, 0, 0);
    }

}


@keyframes plocalEvalCriteriaLinkShine {

    0%,
    58% {
        left: -40%;
    }

    80%,
    100% {
        left: 130%;
    }

}


/* =========================================================
   17. LARGE LAPTOP
========================================================= */

@media (max-width: 1399.98px) {

    .plocal-eval-criteria__card {
        grid-template-columns:
            minmax(0, 1.12fr)
            minmax(125px, 0.88fr);

        min-height: 235px;

        padding:
            26px
            24px;
    }


    .plocal-eval-criteria__visual img {
        width: 124%;
    }


    .plocal-eval-criteria__title {
        font-size: 18px;
    }

}


/* =========================================================
   18. TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .plocal-eval-criteria__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .plocal-eval-criteria__card {
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(155px, 0.95fr);

        min-height: 245px;
    }


    .plocal-eval-criteria__title {
        font-size:
            clamp(
                18px,
                2vw,
                22px
            );
    }

}


/* =========================================================
   19. MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .plocal-eval-criteria {
        padding:
            clamp(76px, 11vw, 98px)
            0;
    }


    .plocal-eval-criteria__heading {
        font-size:
            clamp(
                38px,
                10vw,
                51px
            );
    }


    .plocal-eval-criteria__header {
        margin-bottom: 45px;
    }


    .plocal-eval-criteria__grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 23px;
    }


    .plocal-eval-criteria__card {
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(140px, 0.95fr);

        width: 100%;
        max-width: 600px;
        min-height: 230px;

        margin-inline: auto;

        padding:
            25px
            22px;
    }


    .plocal-eval-criteria__dots--top {
        width: 145px;
        height: 95px;
    }


    .plocal-eval-criteria__dots--bottom {
        width: 145px;
        height: 120px;
    }


    .plocal-eval-criteria__orbit--one {
        left: -265px;
    }


    .plocal-eval-criteria__visual img {
        max-width: 225px;
    }

}


/* =========================================================
   20. SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .plocal-eval-criteria__eyebrow {
        font-size: 10px;
    }


    .plocal-eval-criteria__card {
        display: block;

        min-height: auto;

        padding:
            24px
            20px
            0;
    }


    .plocal-eval-criteria__card::after {
        width: 70px;
    }


    .plocal-eval-criteria__card-top {
        margin-bottom: 13px;
    }


    .plocal-eval-criteria__number {
        width: 48px;
        height: 48px;

        font-size: 21px;
    }


    .plocal-eval-criteria__mobile-icon {
        display: grid;
        place-items: center;

        width: 42px;
        height: 42px;

        border-radius: 13px;

        background: var(--theme-color-light);

        color: var(--theme-color);

        font-size: 15px;
    }


    .plocal-eval-criteria__card-content p {
        max-width: 100%;
    }


    .plocal-eval-criteria__visual {
        min-height: 190px;

        margin-top: 10px;
    }


    .plocal-eval-criteria__visual img {
        width: 80%;
        max-width: 260px;

        transform:
            translate(-50%, -50%);
    }


    .plocal-eval-criteria__card:hover
    .plocal-eval-criteria__visual img {
        transform:
            translate(-50%, -53%)
            scale(1.025);
    }


    .plocal-eval-criteria__visual-badge {
        right: 13%;
    }


    .plocal-eval-criteria__link {
        gap: 10px;

        width: 100%;

        padding:
            8px
            15px
            8px
            8px;

        font-size: 13px;
    }


    .plocal-eval-criteria__link-icon {
        width: 39px;
        height: 39px;
    }

}


/* =========================================================
   21. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-eval-criteria__header,
    .plocal-eval-criteria__card,
    .plocal-eval-criteria__action {
        opacity: 1 !important;

        transform: none !important;
    }


    .plocal-eval-criteria__background::before,
    .plocal-eval-criteria__background::after,
    .plocal-eval-criteria__glow,
    .plocal-eval-criteria__dots,
    .plocal-eval-criteria__orbit,
    .plocal-eval-criteria__node,
    .plocal-eval-criteria__eyebrow,
    .plocal-eval-criteria__eyebrow::after,
    .plocal-eval-criteria__eyebrow-icon,
    .plocal-eval-criteria__card-shine,
    .plocal-eval-criteria__visual-glow,
    .plocal-eval-criteria__visual img,
    .plocal-eval-criteria__visual-badge,
    .plocal-eval-criteria__visual-ring,
    .plocal-eval-criteria__link::before {
        animation: none !important;
    }


    .plocal-eval-criteria__card,
    .plocal-eval-criteria__number,
    .plocal-eval-criteria__divider,
    .plocal-eval-criteria__visual img,
    .plocal-eval-criteria__link,
    .plocal-eval-criteria__link-icon,
    .plocal-eval-criteria__link-arrow {
        transition: none;
    }

}

/* =========================================================
   CTA — FULL WIDTH
========================================================= */

.plocal-evaluation-cta .container {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1480px;

    padding-right: clamp(20px, 4vw, 60px);
    padding-left: clamp(20px, 4vw, 60px);

    margin-right: auto;
    margin-left: auto;
}


.plocal-evaluation-cta__card {
    width: 100%;
    max-width: none;

    margin-right: 0;
    margin-left: 0;
}


.plocal-evaluation-cta__layout {
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(320px, 0.75fr);

    width: 100%;
    min-height: 430px;

    padding:
        clamp(42px, 5vw, 72px)
        clamp(35px, 6vw, 85px);

    gap:
        clamp(35px, 5vw, 80px);
}


.plocal-evaluation-cta__content {
    width: 100%;
    max-width: 720px;
}


.plocal-evaluation-cta__visual {
    width: 100%;
    min-height: 330px;
}


.plocal-evaluation-cta__image {
    width: min(115%, 470px);
    max-height: 360px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .plocal-evaluation-cta .container {
        max-width: 820px;

        padding-right: 24px;
        padding-left: 24px;
    }


    .plocal-evaluation-cta__card {
        width: 100%;
        max-width: none;
    }


    .plocal-evaluation-cta__layout {
        grid-template-columns: minmax(0, 1fr);

        gap: 25px;

        min-height: auto;

        padding:
            clamp(38px, 6vw, 56px);
    }


    .plocal-evaluation-cta__content {
        max-width: 680px;
    }


    .plocal-evaluation-cta__visual {
        min-height: 280px;
    }


    .plocal-evaluation-cta__image {
        width: min(76%, 410px);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .plocal-evaluation-cta .container {
        padding-right: 16px;
        padding-left: 16px;
    }


    .plocal-evaluation-cta__layout {
        padding:
            36px
            26px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .plocal-evaluation-cta .container {
        padding-right: 12px;
        padding-left: 12px;
    }


    .plocal-evaluation-cta__layout {
        padding:
            31px
            20px;
    }

}

/* =========================================================
   PLOCAL — REQUEST YOUR EVALUATION CTA
========================================================= */


/* =========================================================
   01. SECTION
========================================================= */

.plocal-evaluation-cta,
.plocal-evaluation-cta * {
    box-sizing: border-box;
}


.plocal-evaluation-cta {
    position: relative;
    z-index: 1;
    isolation: isolate;

    overflow: hidden;

    padding:
        clamp(80px, 8vw, 120px)
        0;

    background:
        linear-gradient(
            145deg,
            var(--color-white) 0%,
            #fcfdff 52%,
            #f8fbff 100%
        );
}


.plocal-evaluation-cta .container {
    position: relative;
    z-index: 3;
}


/* =========================================================
   02. WHITE SECTION DECORATION
========================================================= */

.plocal-evaluation-cta__section-bg {
    position: absolute;
    inset: 0;
    z-index: -1;

    overflow: hidden;

    pointer-events: none;
}


.plocal-evaluation-cta__section-bg::before {
    position: absolute;
    inset: -80px;

    content: "";

    background-image:
        linear-gradient(
            rgba(12, 44, 122, 0.016) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(12, 44, 122, 0.016) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    opacity: 0.52;

    -webkit-mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            rgba(0, 0, 0, 0.48) 45%,
            transparent 82%
        );

    mask-image:
        radial-gradient(
            ellipse at center,
            #000 0%,
            rgba(0, 0, 0, 0.48) 45%,
            transparent 82%
        );

    animation:
        plocalEvaluationCtaSectionGrid
        48s linear infinite;
}


.plocal-evaluation-cta__section-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(32px);
}


.plocal-evaluation-cta__section-glow--one {
    top: -270px;
    left: -220px;

    width: 600px;
    height: 600px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.11),
            transparent 72%
        );

    animation:
        plocalEvaluationCtaSectionGlowOne
        14s ease-in-out infinite alternate;
}


.plocal-evaluation-cta__section-glow--two {
    right: -220px;
    bottom: -280px;

    width: 620px;
    height: 620px;

    background:
        radial-gradient(
            circle,
            rgba(12, 44, 122, 0.07),
            transparent 72%
        );

    animation:
        plocalEvaluationCtaSectionGlowTwo
        17s ease-in-out infinite alternate;
}


.plocal-evaluation-cta__section-dots {
    position: absolute;

    background-image:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.48) 1.4px,
            transparent 1.9px
        );

    background-size: 14px 14px;
}


.plocal-evaluation-cta__section-dots--one {
    top: 24px;
    right: 4%;

    width: 160px;
    height: 120px;

    opacity: 0.3;

    -webkit-mask-image:
        linear-gradient(
            135deg,
            #000,
            transparent
        );

    mask-image:
        linear-gradient(
            135deg,
            #000,
            transparent
        );

    animation:
        plocalEvaluationCtaSectionDots
        9s ease-in-out infinite;
}


.plocal-evaluation-cta__section-orbit {
    position: absolute;

    border:
        1px solid
        rgba(36, 189, 199, 0.11);

    border-radius: 50%;
}


.plocal-evaluation-cta__section-orbit--one {
    right: -260px;
    bottom: -330px;

    width: 560px;
    height: 560px;

    border-style: dashed;

    animation:
        plocalEvaluationCtaSectionOrbit
        55s linear infinite;
}


/* =========================================================
   03. MAIN CTA CARD
========================================================= */

.plocal-evaluation-cta__card {
    position: relative;
    isolation: isolate;

    margin-inline: auto;

    overflow: hidden;

    border:
        1px solid
        rgba(66, 133, 181, 0.9);

    border-radius:
        clamp(23px, 3vw, 31px);

    background:
        radial-gradient(
            circle at 96% 7%,
            rgba(36, 189, 199, 0.16),
            transparent 30%
        ),
        radial-gradient(
            circle at 5% 96%,
            rgba(45, 128, 183, 0.2),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #0a347d 0%,
            var(--theme-color2) 30%,
            var(--color-dark) 67%,
            var(--footer-bg) 100%
        );

    box-shadow:
        0 30px 75px
        rgba(12, 44, 122, 0.22),

        0 0 0 5px
        rgba(45, 128, 183, 0.04),

        inset 0 1px 0
        rgba(255, 255, 255, 0.12);

    opacity: 0;

    animation:
        plocalEvaluationCtaCardReveal
        0.9s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    transition:
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}


.plocal-evaluation-cta__card:hover {
    border-color:
        rgba(98, 211, 218, 0.72);

    box-shadow:
        0 38px 90px
        rgba(12, 44, 122, 0.28),

        0 0 0 6px
        rgba(36, 189, 199, 0.045),

        0 0 38px
        rgba(36, 189, 199, 0.09),

        inset 0 1px 0
        rgba(255, 255, 255, 0.14);

    transform: translateY(-6px);
}


/* Top light border */
.plocal-evaluation-cta__card::before {
    position: absolute;
    top: 0;
    right: 8%;
    left: 8%;
    z-index: 6;

    height: 2px;

    content: "";

    border-radius:
        0
        0
        999px
        999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--color-skyblue),
            var(--theme-color),
            transparent
        );

    box-shadow:
        0 0 18px
        rgba(98, 211, 218, 0.48);

    animation:
        plocalEvaluationCtaTopLine
        4.5s ease-in-out infinite;
}


/* =========================================================
   04. CARD LAYOUT
========================================================= */

.plocal-evaluation-cta__layout {
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(280px, 0.82fr);

    align-items: center;

    min-height: 390px;

    gap:
        clamp(20px, 3vw, 46px);

    padding:
        clamp(38px, 5vw, 62px);
}


/* =========================================================
   05. CARD BACKGROUND DECORATION
========================================================= */

.plocal-evaluation-cta__card-bg {
    position: absolute;
    inset: 0;
    z-index: -1;

    overflow: hidden;

    pointer-events: none;
}


.plocal-evaluation-cta__card-bg::before {
    position: absolute;
    inset: -60px;

    content: "";

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.022) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.022) 1px,
            transparent 1px
        );

    background-size: 58px 58px;

    opacity: 0.54;

    -webkit-mask-image:
        radial-gradient(
            ellipse at 74% 50%,
            #000,
            rgba(0, 0, 0, 0.68) 46%,
            transparent 82%
        );

    mask-image:
        radial-gradient(
            ellipse at 74% 50%,
            #000,
            rgba(0, 0, 0, 0.68) 46%,
            transparent 82%
        );

    animation:
        plocalEvaluationCtaCardGrid
        40s linear infinite;
}


.plocal-evaluation-cta__card-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(27px);
}


.plocal-evaluation-cta__card-glow--one {
    top: -240px;
    right: -210px;

    width: 550px;
    height: 550px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.24),
            transparent 70%
        );

    animation:
        plocalEvaluationCtaCardGlowOne
        11s ease-in-out infinite alternate;
}


.plocal-evaluation-cta__card-glow--two {
    bottom: -290px;
    left: -220px;

    width: 590px;
    height: 590px;

    background:
        radial-gradient(
            circle,
            rgba(45, 128, 183, 0.2),
            transparent 72%
        );

    animation:
        plocalEvaluationCtaCardGlowTwo
        14s ease-in-out infinite alternate;
}


.plocal-evaluation-cta__card-dots {
    position: absolute;

    background-image:
        radial-gradient(
            circle,
            rgba(98, 211, 218, 0.65) 1.3px,
            transparent 1.8px
        );

    background-size: 13px 13px;
}


.plocal-evaluation-cta__card-dots--one {
    top: 62px;
    right: 6%;

    width: 170px;
    height: 130px;

    opacity: 0.23;

    -webkit-mask-image:
        linear-gradient(
            135deg,
            #000,
            transparent
        );

    mask-image:
        linear-gradient(
            135deg,
            #000,
            transparent
        );

    animation:
        plocalEvaluationCtaCardDots
        9s ease-in-out infinite;
}


.plocal-evaluation-cta__card-orbit {
    position: absolute;

    border:
        1px solid
        rgba(98, 211, 218, 0.14);

    border-radius: 50%;
}


.plocal-evaluation-cta__card-orbit--one {
    top: -260px;
    left: -210px;

    width: 500px;
    height: 500px;

    animation:
        plocalEvaluationCtaCardOrbitOne
        52s linear infinite;
}


.plocal-evaluation-cta__card-orbit--two {
    right: -310px;
    bottom: -370px;

    width: 620px;
    height: 620px;

    border-style: dashed;

    opacity: 0.55;

    animation:
        plocalEvaluationCtaCardOrbitTwo
        60s linear infinite;
}


.plocal-evaluation-cta__card-node {
    position: absolute;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 0 5px
        rgba(98, 211, 218, 0.1),

        0 0 21px
        rgba(98, 211, 218, 0.58);
}


.plocal-evaluation-cta__card-node--one {
    top: 18%;
    right: 31%;

    width: 8px;
    height: 8px;

    animation:
        plocalEvaluationCtaNodePulse
        4.2s ease-in-out infinite;
}


.plocal-evaluation-cta__card-node--two {
    right: 8%;
    bottom: 16%;

    width: 6px;
    height: 6px;

    animation:
        plocalEvaluationCtaNodePulse
        5s ease-in-out -1.8s infinite;
}


.plocal-evaluation-cta__card-scan {
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -35%;

    width: 16%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.08),
            rgba(98, 211, 218, 0.065),
            transparent
        );

    filter: blur(5px);

    opacity: 0;

    transform: skewX(-17deg);

    animation:
        plocalEvaluationCtaCardScan
        13s ease-in-out infinite;
}


/* =========================================================
   06. CONTENT
========================================================= */

.plocal-evaluation-cta__content {
    position: relative;
    z-index: 3;

    min-width: 0;

    opacity: 0;

    animation:
        plocalEvaluationCtaContentReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.15s
        forwards;
}


.plocal-evaluation-cta__eyebrow {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 24px;
    padding:
        10px
        18px;

    overflow: hidden;

    border:
        1px solid
        rgba(98, 211, 218, 0.48);

    border-radius: 999px;

    background:
        rgba(5, 31, 79, 0.46);

    color:
        rgba(
            255,
            255,
            255,
            0.9
        );

    font-family: var(--body-font);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    box-shadow:
        0 12px 26px
        rgba(0, 0, 0, 0.16),

        inset 0 1px 0
        rgba(255, 255, 255, 0.08);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    animation:
        plocalEvaluationCtaEyebrowFloat
        4.6s ease-in-out infinite;
}


.plocal-evaluation-cta__eyebrow::after {
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -40%;

    width: 25%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.45),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalEvaluationCtaEyebrowShine
        6.8s ease-in-out infinite;
}


.plocal-evaluation-cta__eyebrow-dot {
    flex: 0 0 auto;

    width: 13px;
    height: 13px;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--color-skyblue),
            var(--theme-color)
        );

    box-shadow:
        0 0 0 5px
        rgba(98, 211, 218, 0.09),

        0 0 17px
        rgba(98, 211, 218, 0.58);

    animation:
        plocalEvaluationCtaEyebrowDot
        3.4s ease-in-out infinite;
}


.plocal-evaluation-cta__title {
    max-width: 600px;

    margin:
        0
        0
        22px;

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size:
        clamp(
            38px,
            3.5vw,
            47px
        );

    font-weight: 800;
    line-height: 1.06;
    letter-spacing: var(--heading-letter-spacing);

    text-shadow:
        0 15px 35px
        rgba(0, 0, 0, 0.22);
}


.plocal-evaluation-cta__title span {
    background:
        linear-gradient(
            135deg,
            var(--color-skyblue),
            var(--theme-color)
        );

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;

    text-shadow: none;
}


.plocal-evaluation-cta__description {
    max-width: 775px;

    margin:
        0
        0
        31px;

    color:
        rgba(
            255,
            255,
            255,
            0.76
        );

    font-family: var(--body-font);
    font-size:
        clamp(
            14px,
            1.4vw,
            19px
        );

    line-height: 1.7;
}


.plocal-evaluation-cta__description strong {
    color: var(--color-white);
}


/* =========================================================
   07. BUTTONS
========================================================= */

.plocal-evaluation-cta__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 16px;
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 58px;

    margin: 0;
    padding:
        9px
        23px
        9px
        10px;

    overflow: hidden;

    border-radius: 13px;

    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;

    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button::before {
    position: absolute;
    top: -55%;
    bottom: -55%;
    left: -45%;

    width: 24%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.85),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalEvaluationCtaButtonShine
        5s ease-in-out infinite;

    pointer-events: none;
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button--primary {
    border:
        1px solid
        rgba(98, 211, 218, 0.6);

    background:
        linear-gradient(
            135deg,
            var(--color-skyblue),
            var(--theme-color)
        );

    color: var(--theme-color2);

    box-shadow:
        0 16px 34px
        rgba(36, 189, 199, 0.28),

        inset 0 1px 0
        rgba(255, 255, 255, 0.3);
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button--primary:hover {
    color: var(--theme-color2);

    box-shadow:
        0 22px 43px
        rgba(36, 189, 199, 0.38),

        0 0 25px
        rgba(98, 211, 218, 0.18);

    transform:
        translateY(-4px)
        scale(1.012);
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button--secondary {
    border:
        1px solid
        rgba(255, 255, 255, 0.88);

    background:
        rgba(255, 255, 255, 0.98);

    color: var(--theme-color2);

    box-shadow:
        0 15px 32px
        rgba(0, 0, 0, 0.17);
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button--secondary::before {
    animation-delay: -2.5s;
}


.plocal-evaluation-cta
.plocal-evaluation-cta__button--secondary:hover {
    border-color: var(--color-skyblue);

    background: var(--color-white);

    color: var(--theme-color);

    box-shadow:
        0 21px 42px
        rgba(0, 0, 0, 0.22),

        0 0 23px
        rgba(98, 211, 218, 0.1);

    transform:
        translateY(-4px)
        scale(1.012);
}


.plocal-evaluation-cta__button-icon {
    position: relative;
    z-index: 2;

    display: grid;
    place-items: center;

    flex: 0 0 auto;

    width: 37px;
    height: 37px;

    border-radius: 50%;

    font-size: 13px;

    transition:
        color 0.3s ease,
        background 0.3s ease,
        transform 0.3s ease;
}


.plocal-evaluation-cta__button--primary
.plocal-evaluation-cta__button-icon {
    background:
        rgba(12, 44, 122, 0.92);

    color: var(--color-skyblue);
}


.plocal-evaluation-cta__button--secondary
.plocal-evaluation-cta__button-icon {
    background: var(--theme-color-light);

    color: var(--theme-color2);
}


.plocal-evaluation-cta__button:hover
.plocal-evaluation-cta__button-icon {
    transform:
        rotate(-5deg)
        scale(1.08);
}


/* =========================================================
   08. RIGHT VISUAL
========================================================= */

.plocal-evaluation-cta__visual {
    position: relative;
    isolation: isolate;

    width: 100%;
    min-height: 285px;

    opacity: 0;

    animation:
        plocalEvaluationCtaVisualReveal
        0.9s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.24s
        forwards;
}


.plocal-evaluation-cta__visual-halo {
    position: absolute;
    top: 53%;
    left: 50%;
    z-index: -3;

    width: 290px;
    height: 190px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(36, 189, 199, 0.31),
            rgba(98, 211, 218, 0.08) 45%,
            transparent 72%
        );

    filter: blur(20px);

    transform:
        translate(
            -50%,
            -50%
        );

    animation:
        plocalEvaluationCtaVisualHalo
        5.5s ease-in-out infinite;
}


.plocal-evaluation-cta__visual-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -2;

    border:
        1px solid
        rgba(98, 211, 218, 0.24);

    border-radius: 50%;
}


.plocal-evaluation-cta__visual-orbit--one {
    width: 285px;
    height: 112px;

    transform:
        translate(-50%, -50%)
        rotate(4deg);

    animation:
        plocalEvaluationCtaVisualOrbitOne
        18s linear infinite;
}


.plocal-evaluation-cta__visual-orbit--two {
    width: 250px;
    height: 145px;

    border-color:
        rgba(255, 255, 255, 0.12);

    border-style: dashed;

    transform:
        translate(-50%, -50%)
        rotate(-8deg);

    animation:
        plocalEvaluationCtaVisualOrbitTwo
        22s linear infinite;
}


.plocal-evaluation-cta__image {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;

    display: block;

    width:
        min(
            112%,
            390px
        );

    max-height: 310px;
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 28px 35px
            rgba(0, 0, 0, 0.34)
        )
        drop-shadow(
            0 0 25px
            rgba(98, 211, 218, 0.15)
        );

    transform:
        translate(
            -50%,
            -50%
        );

    animation:
        plocalEvaluationCtaImageFloat
        5.5s ease-in-out infinite;

    transition:
        filter 0.35s ease,
        transform 0.35s ease;
}


.plocal-evaluation-cta__card:hover
.plocal-evaluation-cta__image {
    filter:
        drop-shadow(
            0 32px 42px
            rgba(0, 0, 0, 0.4)
        )
        drop-shadow(
            0 0 31px
            rgba(98, 211, 218, 0.22)
        );
}


.plocal-evaluation-cta__visual::after {
    position: absolute;
    right: 20%;
    bottom: 17px;
    left: 20%;
    z-index: -1;

    height: 24px;

    content: "";

    border-radius: 50%;

    background:
        rgba(0, 0, 0, 0.3);

    filter: blur(15px);

    animation:
        plocalEvaluationCtaVisualShadow
        5.5s ease-in-out infinite;
}


.plocal-evaluation-cta__visual-point {
    position: absolute;
    z-index: 3;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 0 5px
        rgba(98, 211, 218, 0.1),

        0 0 20px
        rgba(98, 211, 218, 0.58);
}


.plocal-evaluation-cta__visual-point--one {
    top: 23%;
    left: 11%;

    width: 9px;
    height: 9px;

    animation:
        plocalEvaluationCtaVisualPoint
        4s ease-in-out infinite;
}


.plocal-evaluation-cta__visual-point--two {
    right: 7%;
    bottom: 22%;

    width: 7px;
    height: 7px;

    animation:
        plocalEvaluationCtaVisualPoint
        4.8s ease-in-out -1.6s infinite;
}


/* =========================================================
   09. ANIMATIONS
========================================================= */

@keyframes plocalEvaluationCtaSectionGrid {

    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(72px, 72px, 0);
    }

}


@keyframes plocalEvaluationCtaSectionGlowOne {

    from {
        opacity: 0.45;

        transform:
            translate3d(0, 0, 0)
            scale(0.96);
    }

    to {
        opacity: 0.82;

        transform:
            translate3d(28px, 20px, 0)
            scale(1.08);
    }

}


@keyframes plocalEvaluationCtaSectionGlowTwo {

    from {
        opacity: 0.35;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    to {
        opacity: 0.7;

        transform:
            translate3d(-27px, -20px, 0)
            scale(1.07);
    }

}


@keyframes plocalEvaluationCtaSectionDots {

    0%,
    100% {
        opacity: 0.2;

        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.38;

        transform: translate3d(-7px, 7px, 0);
    }

}


@keyframes plocalEvaluationCtaSectionOrbit {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalEvaluationCtaCardReveal {

    from {
        opacity: 0;

        transform:
            translate3d(0, 30px, 0)
            scale(0.975);
    }

    to {
        opacity: 1;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

}


@keyframes plocalEvaluationCtaCardGrid {

    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(58px, 58px, 0);
    }

}


@keyframes plocalEvaluationCtaCardGlowOne {

    from {
        opacity: 0.42;

        transform:
            translate3d(0, 0, 0)
            scale(0.95);
    }

    to {
        opacity: 0.9;

        transform:
            translate3d(-22px, 20px, 0)
            scale(1.08);
    }

}


@keyframes plocalEvaluationCtaCardGlowTwo {

    from {
        opacity: 0.38;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    to {
        opacity: 0.76;

        transform:
            translate3d(24px, -18px, 0)
            scale(1.08);
    }

}


@keyframes plocalEvaluationCtaCardDots {

    0%,
    100% {
        opacity: 0.16;

        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.31;

        transform: translate3d(-7px, 6px, 0);
    }

}


@keyframes plocalEvaluationCtaCardOrbitOne {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalEvaluationCtaCardOrbitTwo {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


@keyframes plocalEvaluationCtaNodePulse {

    0%,
    100% {
        opacity: 0.4;

        transform: scale(0.75);
    }

    50% {
        opacity: 1;

        transform: scale(1.22);
    }

}


@keyframes plocalEvaluationCtaCardScan {

    0%,
    68% {
        left: -35%;
        opacity: 0;
    }

    75% {
        opacity: 0.25;
    }

    90% {
        opacity: 0.48;
    }

    100% {
        left: 125%;
        opacity: 0;
    }

}


@keyframes plocalEvaluationCtaTopLine {

    0%,
    100% {
        opacity: 0.46;

        transform: scaleX(0.72);
    }

    50% {
        opacity: 1;

        transform: scaleX(1.08);
    }

}


@keyframes plocalEvaluationCtaContentReveal {

    from {
        opacity: 0;

        transform: translate3d(-28px, 20px, 0);
    }

    to {
        opacity: 1;

        transform: translate3d(0, 0, 0);
    }

}


@keyframes plocalEvaluationCtaVisualReveal {

    from {
        opacity: 0;

        transform:
            translate3d(28px, 18px, 0)
            scale(0.95);
    }

    to {
        opacity: 1;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

}


@keyframes plocalEvaluationCtaEyebrowFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }

}


@keyframes plocalEvaluationCtaEyebrowShine {

    0%,
    65% {
        left: -40%;
    }

    86%,
    100% {
        left: 130%;
    }

}


@keyframes plocalEvaluationCtaEyebrowDot {

    0%,
    100% {
        opacity: 0.7;

        transform: scale(0.9);
    }

    50% {
        opacity: 1;

        transform: scale(1.15);
    }

}


@keyframes plocalEvaluationCtaButtonShine {

    0%,
    58% {
        left: -45%;
    }

    80%,
    100% {
        left: 130%;
    }

}


@keyframes plocalEvaluationCtaVisualHalo {

    0%,
    100% {
        opacity: 0.52;

        transform:
            translate(-50%, -50%)
            scale(0.93);
    }

    50% {
        opacity: 1;

        transform:
            translate(-50%, -50%)
            scale(1.08);
    }

}


@keyframes plocalEvaluationCtaVisualOrbitOne {

    from {
        transform:
            translate(-50%, -50%)
            rotate(4deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(364deg);
    }

}


@keyframes plocalEvaluationCtaVisualOrbitTwo {

    from {
        transform:
            translate(-50%, -50%)
            rotate(352deg);
    }

    to {
        transform:
            translate(-50%, -50%)
            rotate(-8deg);
    }

}


@keyframes plocalEvaluationCtaImageFloat {

    0%,
    100% {
        transform:
            translate(-50%, -50%)
            translateY(0)
            rotate(0deg);
    }

    50% {
        transform:
            translate(-50%, -50%)
            translateY(-10px)
            rotate(-1deg);
    }

}


@keyframes plocalEvaluationCtaVisualShadow {

    0%,
    100% {
        opacity: 0.68;

        transform: scaleX(1);
    }

    50% {
        opacity: 0.38;

        transform: scaleX(0.82);
    }

}


@keyframes plocalEvaluationCtaVisualPoint {

    0%,
    100% {
        opacity: 0.45;

        transform: scale(0.75);
    }

    50% {
        opacity: 1;

        transform: scale(1.22);
    }

}


/* =========================================================
   10. TABLET
========================================================= */

@media (max-width: 991.98px) {

    .plocal-evaluation-cta__card {
        width: min(100%, 820px);
    }


    .plocal-evaluation-cta__layout {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 20px;

        padding:
            clamp(37px, 6vw, 55px);
    }


    .plocal-evaluation-cta__content {
        max-width: 680px;
    }


    .plocal-evaluation-cta__visual {
        min-height: 270px;
    }


    .plocal-evaluation-cta__image {
        width:
            min(
                75%,
                390px
            );
    }

}


/* =========================================================
   11. MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .plocal-evaluation-cta {
        padding:
            clamp(70px, 11vw, 92px)
            0;
    }


    .plocal-evaluation-cta__layout {
        padding:
            36px
            27px;
    }


    .plocal-evaluation-cta__title {
        font-size:
            clamp(
                36px,
                9vw,
                48px
            );
    }


    .plocal-evaluation-cta__actions {
        align-items: stretch;
        flex-direction: column;

        width: 100%;
    }


    .plocal-evaluation-cta
    .plocal-evaluation-cta__button {
        width: 100%;
    }


    .plocal-evaluation-cta__visual {
        min-height: 245px;
    }


    .plocal-evaluation-cta__card-dots--one {
        right: -35px;

        opacity: 0.16;
    }

}


/* =========================================================
   12. SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .plocal-evaluation-cta__card {
        border-radius: 22px;
    }


    .plocal-evaluation-cta__layout {
        padding:
            30px
            20px;
    }


    .plocal-evaluation-cta__eyebrow {
        padding:
            9px
            13px;

        font-size: 10px;
    }


    .plocal-evaluation-cta__description {
        font-size: 14px;
    }


    .plocal-evaluation-cta
    .plocal-evaluation-cta__button {
        padding-right: 17px;

        font-size: 13px;
    }


    .plocal-evaluation-cta__visual {
        min-height: 215px;
    }


    .plocal-evaluation-cta__image {
        width:
            min(
                92%,
                340px
            );
    }

}


/* =========================================================
   13. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-evaluation-cta__card,
    .plocal-evaluation-cta__content,
    .plocal-evaluation-cta__visual {
        opacity: 1 !important;

        transform: none !important;
    }


    .plocal-evaluation-cta__section-bg::before,
    .plocal-evaluation-cta__section-glow,
    .plocal-evaluation-cta__section-dots,
    .plocal-evaluation-cta__section-orbit,
    .plocal-evaluation-cta__card::before,
    .plocal-evaluation-cta__card-bg::before,
    .plocal-evaluation-cta__card-glow,
    .plocal-evaluation-cta__card-dots,
    .plocal-evaluation-cta__card-orbit,
    .plocal-evaluation-cta__card-node,
    .plocal-evaluation-cta__card-scan,
    .plocal-evaluation-cta__eyebrow,
    .plocal-evaluation-cta__eyebrow::after,
    .plocal-evaluation-cta__eyebrow-dot,
    .plocal-evaluation-cta__button::before,
    .plocal-evaluation-cta__visual-halo,
    .plocal-evaluation-cta__visual-orbit,
    .plocal-evaluation-cta__image,
    .plocal-evaluation-cta__visual::after,
    .plocal-evaluation-cta__visual-point {
        animation: none !important;
    }


    .plocal-evaluation-cta__card,
    .plocal-evaluation-cta__button,
    .plocal-evaluation-cta__button-icon,
    .plocal-evaluation-cta__image {
        transition: none;
    }

}