/* =========================================
   LEVORYX — HOME
   Clean production version
========================================= */



@property --lv-snake-a {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@property --lv-snake-b {
    syntax: "<angle>";
    inherits: false;
    initial-value: 180deg;
}


/* -----------------------------------------
   PAGE
----------------------------------------- */

.lv-home {
    min-height: 100vh;
    background: #03040a;
    color: #f7f8ff;
}


/* -----------------------------------------
   HEADER
----------------------------------------- */

.lv-header {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 50;
    padding: 20px 0;

    background:
        linear-gradient(
            to bottom,
            rgba(3, 4, 10, .78),
            rgba(3, 4, 10, .22),
            transparent
        );
}

.lv-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.lv-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.lv-logo img {
    display: block;
    width: min(300px, 17vw);
    min-width: 180px;
    height: auto;
    filter: drop-shadow(0 0 16px rgba(101, 75, 255, .16));
}

.lv-nav {
    display: flex;
    align-items: center;
    gap: 30px;
}

.lv-nav a {
    color: #9fa5ba;
    font-size: 14px;
    transition: color .2s ease;
}

.lv-nav a:hover,
.lv-nav a:focus-visible {
    color: #fff;
}

.lv-header__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 22px;

    border: 1px solid rgba(130, 92, 255, .55);
    border-radius: 999px;

    color: #fff;
    font-size: 13px;

    background: rgba(8, 10, 25, .22);

    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.lv-header__cta:hover,
.lv-header__cta:focus-visible {
    color: #fff;
    transform: translateY(-1px);
    border-color: rgba(153, 118, 255, .78);
    background: rgba(124, 66, 255, .10);
    box-shadow: 0 0 28px rgba(124, 66, 255, .14);
}


/* -----------------------------------------
   HERO — STRUCTURE
----------------------------------------- */

.lv-hero--v2 {
    --lv-mouse-x: 0;
    --lv-mouse-y: 0;
    --lv-scroll: 0;

    /* Fluid desktop sizing */
    --lv-brands-height: clamp(104px, 12svh, 140px);
    --lv-curve-height: clamp(28px, 4.6svh, 48px);
    --lv-hero-top: clamp(88px, 12svh, 118px);

    position: relative;
    display: block;

    height: 100svh;
    min-height: 680px;

    overflow: hidden;
    background: #03040a;
}

.lv-hero__bg {
    position: absolute;
    inset: -2%;
    overflow: hidden;

    transform:
        scale(1.025)
        translate3d(
            calc(var(--lv-mouse-x) * -4px),
            calc((var(--lv-mouse-y) * -3px) + (var(--lv-scroll) * -6px)),
            0
        );

    transform-origin: center;
    will-change: transform;
}

.lv-hero__bg img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
}

.lv-hero__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        /* Local darkening over the man's back / portal centre */
        radial-gradient(
            ellipse 24% 42% at 61% 54%,
            rgba(3, 4, 10, .38) 0%,
            rgba(3, 4, 10, .30) 34%,
            rgba(3, 4, 10, .14) 62%,
            transparent 100%
        ),

        /* Keep headline readable on the left */
        linear-gradient(
            90deg,
            rgba(3, 4, 10, .94) 0%,
            rgba(3, 4, 10, .82) 27%,
            rgba(3, 4, 10, .44) 49%,
            rgba(3, 4, 10, .10) 72%,
            rgba(3, 4, 10, .04) 100%
        ),

        linear-gradient(
            to bottom,
            rgba(3, 4, 10, .02),
            rgba(3, 4, 10, .12)
        );
}





.lv-hero--v2 .lv-hero__inner {
    position: relative;
    z-index: 3;

    display: grid;
    grid-template-columns:
        minmax(0, 1.03fr)
        minmax(0, .97fr);

    gap: clamp(14px, 1.4vw, 24px);
    align-items: center;

    height: calc(100svh - var(--lv-brands-height));
    min-height: calc(680px - var(--lv-brands-height));

    padding-top: var(--lv-hero-top);
    padding-bottom: clamp(8px, 1.6svh, 18px);
}


/* -----------------------------------------
   HERO — CONTENT
----------------------------------------- */

.lv-hero__content {
    max-width: 760px;

    transform: translate3d(
        0,
        calc(var(--lv-scroll) * -16px),
        0
    );

    opacity: calc(1 - (var(--lv-scroll) * .55));
    will-change: transform, opacity;
}

.lv-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 20px;

    color: #c6c9da;
    font-size: 11px;
    letter-spacing: .16em;
}

.lv-eyebrow::before {
    content: "";

    width: 8px;
    height: 8px;

    flex: 0 0 auto;

    border-radius: 50%;

    background: #8a53ff;
    box-shadow: 0 0 14px rgba(138, 83, 255, .62);
}

.lv-hero__title {
    max-width: 760px;
    margin: 0;

    color: #fff;

    font-size: clamp(48px, 4.05vw, 70px);
    line-height: .96;
    letter-spacing: -.05em;
    font-weight: 800;
}

.lv-hero__title span {
    display: inline;

    background:
        linear-gradient(
            90deg,
            #dcd4ff 0%,
            #a579ff 48%,
            #5278ff 100%
        );

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}


.lv-hero__description {
    max-width: 610px;

    margin: 20px 0 22px;

    color: #d3d7e5;

    font-size: 16px;
    line-height: 1.65;
}


/* -----------------------------------------
   HERO — ACTIONS
----------------------------------------- */

.lv-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 18px;
    margin-bottom: 24px;
}

.lv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 56px;
    padding: 0 28px;

    border-radius: 999px;

    color: #fff;

    font-size: 14px;
    font-weight: 700;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.lv-btn:hover,
.lv-btn:focus-visible {
    color: #fff;
    transform: translateY(-2px);
}

.lv-btn--primary {
    background:
        linear-gradient(
            90deg,
            #7a3cff 0%,
            #3f6fff 100%
        );

    box-shadow:
        0 12px 34px rgba(76, 74, 255, .22);
}

.lv-btn--primary:hover,
.lv-btn--primary:focus-visible {
    box-shadow:
        0 15px 42px rgba(76, 74, 255, .32);
}

.lv-btn-play {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    color: #fff;
}

.lv-btn-play:hover,
.lv-btn-play:focus-visible {
    color: #fff;
}

.lv-btn-play__icon {
    width: 56px;
    height: 56px;

    display: grid;
    place-items: center;

    flex: 0 0 auto;

    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;

    background: rgba(7, 10, 23, .48);

    font-size: 18px;
}

.lv-btn-play__text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lv-btn-play__text strong {
    color: #fff;
    font-size: 15px;
}

.lv-btn-play__text small {
    color: #aeb4c9;
    font-size: 13px;
}


/* -----------------------------------------
   HERO — STATS
----------------------------------------- */

.lv-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 0;
    max-width: 760px;
    margin: 0;
}

.lv-stat {
    min-width: 0;
    padding: 0 20px;

    border-right: 1px solid rgba(255, 255, 255, .10);
}

.lv-stat:first-child {
    padding-left: 0;
}

.lv-stat:last-child {
    padding-right: 0;
    border-right: 0;
}

.lv-stat strong {
    display: block;

    margin-bottom: 8px;

    color: #fff;

    font-size: 27px;
    line-height: 1;
}

.lv-stat span {
    display: block;

    color: #c0c6d8;

    font-size: 12px;
    line-height: 1.45;
}


/* -----------------------------------------
   HERO — RIGHT VISUAL + HOLOGRAMS
----------------------------------------- */

.lv-hero__visual {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 0;

    transform: translate3d(
        0,
        calc(var(--lv-scroll) * -10px),
        0
    );

    will-change: transform;
}

.lv-card-floating {
    position: absolute;
    z-index: 8;

    min-width: 188px;
    max-width: 208px;

    padding: 16px 18px;

    border: 1px solid rgba(121, 111, 255, .38);
    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(18, 21, 54, .92),
            rgba(8, 10, 26, .90)
        );

    box-shadow:
        0 14px 42px rgba(0, 0, 0, .34),
        0 0 22px rgba(96, 74, 255, .08);

    will-change: transform;

    transition:
        transform .16s ease-out,
        border-color .2s ease,
        box-shadow .2s ease;
}

.lv-card-floating:hover {
    border-color: rgba(154, 113, 255, .72);

    box-shadow:
        0 16px 48px rgba(0, 0, 0, .38),
        0 0 28px rgba(108, 76, 255, .16);
}

.lv-card-floating small {
    display: block;

    margin-bottom: 7px;

    color: #b4bbd1;

    font-size: 12px;
}

.lv-card-floating strong {
    display: block;

    margin-bottom: 7px;

    color: #fff;

    font-size: 24px;
}

.lv-card-floating span {
    color: #aeb7d2;
    font-size: 12px;
}

/* Revenue — upper-left of portal */
.lv-card-floating--1 {
    top: clamp(24px, 6svh, 48px);
    left: calc(-1 * clamp(110px, 8.5vw, 155px));

    transform:
        translate3d(
            calc(var(--lv-mouse-x) * 11px),
            calc((var(--lv-mouse-y) * 8px) + (var(--lv-scroll) * -10px)),
            0
        );

    animation: lvFloatOne 6.2s ease-in-out infinite;
}

/* Leads — right/middle */
.lv-card-floating--2 {
    top: 36%;
    right: clamp(0px, .7vw, 10px);

    transform:
        translate3d(
            calc(var(--lv-mouse-x) * 15px),
            calc((var(--lv-mouse-y) * 10px) + (var(--lv-scroll) * -16px)),
            0
        );

    animation: lvFloatTwo 7.2s ease-in-out infinite;
}

/* Brand — right/lower */
.lv-card-floating--3 {
    right: clamp(10px, 1.5vw, 24px);
    bottom: clamp(38px, 7svh, 62px);

    transform:
        translate3d(
            calc(var(--lv-mouse-x) * 10px),
            calc((var(--lv-mouse-y) * 13px) + (var(--lv-scroll) * -22px)),
            0
        );

    animation: lvFloatThree 6.8s ease-in-out infinite;
}

@keyframes lvFloatOne {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -6px;
    }
}

@keyframes lvFloatTwo {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 6px;
    }
}

@keyframes lvFloatThree {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -5px;
    }
}


.lv-hero__brands {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 20;

    height: var(--lv-brands-height);

    padding:
        clamp(16px, 2.4svh, 28px)
        0
        clamp(10px, 1.8svh, 18px);

    background:
        linear-gradient(
            180deg,
            #071022 0%,
            #050914 100%
        );
}

.lv-hero__brands-curve {
    position: absolute;

    left: 0;
    top: calc(-1 * var(--lv-curve-height) + 1px);

    width: 100%;
    height: var(--lv-curve-height);

    line-height: 0;
    pointer-events: none;
}

.lv-hero__brands-curve svg {
    display: block;

    width: 100%;
    height: var(--lv-curve-height);
}

.lv-hero__brands .lv-container {
    padding-top: 0;
    border-top: 0;
}

.lv-hero__brands-title {
    margin: 0 0 18px;

    text-align: center;

    color: rgba(225, 229, 246, .78);

    font-size: 10px;
    letter-spacing: .28em;
}

.lv-hero__brands-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));

    gap: 12px;
    align-items: center;
}

.lv-hero__brands-row span {
    min-height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: rgba(255, 255, 255, .84);

    font-size: 13px;
    font-weight: 600;
    text-align: center;
}



/* -----------------------------------------
   SERVICES — FINAL COMMERCIAL HIERARCHY
----------------------------------------- */

.lv-services {
    position: relative;
    z-index: 2;

    padding:
        clamp(72px, 6vw, 92px)
        0
        clamp(44px, 4vw, 58px);

    overflow: hidden;

    background:
        radial-gradient(
            ellipse at 46% -10%,
            rgba(96, 71, 255, .10),
            transparent 44%
        ),
        linear-gradient(
            180deg,
            #050814 0%,
            #03050d 100%
        );
}

/* Curved transition, inspired by the reference mockup */
.lv-services::before {
    content: "";
    position: absolute;

    left: -6%;
    top: -112px;

    width: 112%;
    height: 180px;

    border-top:
        1px solid rgba(123, 104, 255, .68);

    border-radius: 50% 50% 0 0 / 100% 100% 0 0;

    box-shadow:
        0 -1px 18px rgba(96, 79, 255, .16);

    pointer-events: none;
}

.lv-services::after {
    content: "";
    position: absolute;

    left: -8%;
    bottom: -170px;

    width: 116%;
    height: 190px;

    border-top:
        1px solid rgba(112, 96, 255, .34);

    border-radius: 50% 50% 0 0 / 100% 100% 0 0;

    transform: rotate(-1deg);

    pointer-events: none;
}

.lv-services__layout {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(190px, .78fr)
        minmax(0, 4.22fr);

    gap: clamp(28px, 3.2vw, 54px);

    align-items: end;
}


/* Intro */

.lv-services__intro {
    align-self: center;
    padding-bottom: 18px;
}

.lv-services__intro h2 {
    margin: 0;

    color: #f6f7ff;

    font-size:
        clamp(28px, 2.45vw, 42px);

    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 800;
}

.lv-services__intro h2 span {
    background:
        linear-gradient(
            90deg,
            #d7ceff 0%,
            #a46fff 50%,
            #5f7dff 100%
        );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}

.lv-services__intro p {
    margin: 26px 0 0;

    color: rgba(206, 212, 235, .62);

    font-size: 10px;
    font-weight: 600;
    letter-spacing: .17em;
}


.lv-services__orbit-note {
    display: none;
}

 /* Cards */

.lv-services__cards {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: clamp(10px, 1vw, 16px);

    align-items: stretch;

    perspective: 1200px;
}

.lv-service-card {
    --lv-card-rx: 0deg;
    --lv-card-ry: 0deg;
    --lv-card-gx: 50%;
    --lv-card-gy: 36%;
    --lv-card-lift: 0px;

    /* Purple cards receive golden snakes */
    --lv-snake-bright: rgba(255, 247, 220, .98);
    --lv-snake-main: rgba(246, 215, 139, .98);
    --lv-snake-mid: rgba(232, 185, 90, .88);
    --lv-snake-soft: rgba(201, 138, 50, .34);

    position: relative;

    min-width: 0;
    min-height:
        clamp(330px, 26vw, 410px);

    padding:
        clamp(18px, 1.45vw, 24px);

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border:
        1px solid rgba(157, 164, 196, .22);

    border-radius: 17px;

    background:
        radial-gradient(
            circle at var(--lv-card-gx) var(--lv-card-gy),
            rgba(122, 92, 255, .12),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            rgba(13, 18, 36, .94) 0%,
            rgba(6, 9, 20, .98) 100%
        );

    box-shadow:
        0 18px 44px rgba(0, 0, 0, .22);

    transform:
        translateY(var(--lv-card-lift))
        rotateX(var(--lv-card-rx))
        rotateY(var(--lv-card-ry));

    transform-style: preserve-3d;
    transform-origin: center;
    will-change: transform;

    transition:
        transform .18s ease-out,
        border-color .26s ease,
        box-shadow .26s ease,
        background .26s ease;
}

.lv-service-card::before {
    content: "";
    position: absolute;

    inset: 0;

    border-radius: inherit;

    background:
        radial-gradient(
            circle at var(--lv-card-gx) var(--lv-card-gy),
            rgba(198, 180, 255, .18) 0%,
            rgba(115, 85, 255, .10) 18%,
            transparent 43%
        );

    opacity: .46;

    pointer-events: none;

    transition: opacity .24s ease;
}

.lv-service-card::after {
    content: "";
    position: absolute;

    inset: -1px;
    padding: 1.25px;

    border-radius: inherit;

    /*
       Two luminous arcs on the same border.
       A rotates clockwise, B counter-clockwise.
       They cross twice per cycle.
    */
    background:
        conic-gradient(
            from var(--lv-snake-a),
            transparent 0deg 318deg,
            rgba(255, 255, 255, 0) 318deg,
            var(--lv-snake-bright) 327deg,
            var(--lv-snake-main) 337deg,
            var(--lv-snake-mid) 346deg,
            transparent 354deg 360deg
        ),
        conic-gradient(
            from var(--lv-snake-b),
            transparent 0deg 319deg,
            rgba(255, 255, 255, 0) 319deg,
            var(--lv-snake-bright) 328deg,
            var(--lv-snake-main) 338deg,
            var(--lv-snake-soft) 347deg,
            transparent 355deg 360deg
        );

    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);

    -webkit-mask-composite: xor;
    mask-composite: exclude;

    opacity: .88;

    filter:
        drop-shadow(0 0 2px var(--lv-snake-bright))
        drop-shadow(0 0 6px var(--lv-snake-main));

    pointer-events: none;

    animation:
        lvTwinSnakes 7.8s linear infinite;
}


.lv-service-card:nth-child(1)::after {
    animation-delay: 0s;
}

.lv-service-card:nth-child(2)::after {
    animation-delay: -.7s;
}

.lv-service-card:nth-child(3)::after {
    animation-delay: -1.4s;
}

.lv-service-card:nth-child(4)::after {
    animation-delay: -2.1s;
}

.lv-service-card:nth-child(5)::after {
    animation-delay: -2.8s;
}


@media (hover: hover) and (pointer: fine) {
    .lv-service-card:hover {
        --lv-card-lift: -7px;

        border-color:
            rgba(127, 106, 255, .58);

        box-shadow:
            0 26px 68px rgba(0, 0, 0, .31),
            0 0 30px rgba(94, 74, 255, .11);
    }

    .lv-service-card:hover::before {
        opacity: .82;
    }
}


/* Alternating premium gold system: cards 1 / 3 / 5 */

.lv-service-card--gold {
    /* Gold cards receive purple snakes */
    --lv-snake-bright: rgba(231, 220, 255, .98);
    --lv-snake-main: rgba(178, 136, 255, .98);
    --lv-snake-mid: rgba(116, 91, 255, .92);
    --lv-snake-soft: rgba(72, 112, 255, .34);

    border-color:
        rgba(232, 185, 90, .24);

    background:
        radial-gradient(
            circle at var(--lv-card-gx) var(--lv-card-gy),
            rgba(246, 215, 139, .085),
            transparent 31%
        ),
        linear-gradient(
            180deg,
            rgba(13, 17, 31, .97) 0%,
            rgba(6, 9, 20, .99) 100%
        );

    box-shadow:
        0 20px 54px rgba(0, 0, 0, .28),
        0 0 16px rgba(232, 185, 90, .09),
        inset 0 0 20px rgba(246, 215, 139, .025);
}

.lv-service-card--gold::before {
    background:
        radial-gradient(
            circle at var(--lv-card-gx) var(--lv-card-gy),
            rgba(246, 215, 139, .19) 0%,
            rgba(232, 185, 90, .075) 18%,
            transparent 42%
        );

    opacity: .54;
}




/* Primary commercial focus — Automação & IA */

.lv-service-card--featured {
    --lv-card-lift: -7px;

    border-color:
        rgba(246, 215, 139, .52);

    background:
        radial-gradient(
            circle at 50% 27%,
            rgba(246, 215, 139, .12),
            transparent 38%
        ),
        radial-gradient(
            circle at 72% 18%,
            rgba(117, 91, 255, .08),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            rgba(14, 18, 34, .98) 0%,
            rgba(6, 8, 19, .995) 100%
        );

    box-shadow:
        0 26px 70px rgba(0, 0, 0, .34),
        0 0 22px rgba(246, 215, 139, .18),
        0 0 48px rgba(232, 185, 90, .07),
        inset 0 0 26px rgba(246, 215, 139, .04);
}

.lv-service-card--featured::before {
    opacity: .78;

    animation:
        lvServiceGoldGlow 4.4s ease-in-out infinite;
}


/* Secondary commercial focus — Tráfego & Performance */

.lv-service-card--priority {
    border-color:
        rgba(105, 110, 255, .46);

    box-shadow:
        0 19px 50px rgba(0, 0, 0, .25),
        0 0 18px rgba(69, 94, 255, .12);
}


/* 3D visual zone */

.lv-service-card__visual {
    position: relative;

    height:
        clamp(112px, 9.5vw, 150px);

    display: grid;
    place-items: center;

    margin-bottom:
        clamp(24px, 2vw, 34px);

    isolation: isolate;

    transform:
        translateZ(28px);

    transform-style: preserve-3d;
}

.lv-service-card__visual::before,
.lv-service-card__visual::after,
.lv-service-card__visual span {
    content: "";
    position: absolute;
    display: block;

    will-change: transform;
}

.lv-service-card__visual span {
    animation:
        lvServiceObjectFloat 4.8s ease-in-out infinite;
}


/* 01 — Websites: champagne orbital ring */
.lv-service-card__visual--website::before {
    width: 74px;
    height: 74px;

    border:
        6px solid rgba(246, 215, 139, .74);

    border-radius: 50%;

    box-shadow:
        inset 0 0 20px rgba(232, 185, 90, .12),
        0 0 24px rgba(232, 185, 90, .20);

    transform:
        rotateX(62deg)
        rotateZ(-18deg);

    animation:
        lvServiceRingSpin 9s linear infinite;
}

.lv-service-card__visual--website::after {
    width: 50px;
    height: 50px;

    border:
        1px solid rgba(246, 225, 179, .66);

    border-radius: 50%;

    box-shadow:
        0 0 12px rgba(232, 185, 90, .10);

    transform:
        rotateX(60deg)
        rotateZ(30deg);

    animation:
        lvServiceRingSpinReverse 7s linear infinite;
}


/* 03 — AI: premium golden crystalline orbit */
.lv-service-card__visual--ai span {
    width: 66px;
    height: 66px;

    border:
        1px solid rgba(246, 225, 179, .82);

    background:
        linear-gradient(
            135deg,
            rgba(246, 215, 139, .78),
            rgba(232, 185, 90, .42) 48%,
            rgba(117, 91, 255, .20) 100%
        );

    clip-path:
        polygon(
            50% 0%,
            100% 25%,
            100% 75%,
            50% 100%,
            0% 75%,
            0% 25%
        );

    box-shadow:
        0 0 24px rgba(246, 215, 139, .38),
        0 0 44px rgba(232, 185, 90, .18),
        0 0 62px rgba(116, 91, 255, .08),
        inset 0 0 18px rgba(255, 244, 214, .18);

    animation:
        lvAiGoldOrbit 6.4s linear infinite;
}

.lv-service-card__visual--ai::after {
    width: 78px;
    height: 78px;

    border:
        1px solid rgba(232, 185, 90, .34);

    transform:
        rotateX(64deg)
        rotateZ(-20deg);

    animation:
        lvAiGoldOrbitReverse 8.2s linear infinite;
}


/* 03 — Performance:/* 03 — Performance:/* 03 — Performance: stacked planes */
.lv-service-card__visual--performance span {
    width: 76px;
    height: 18px;

    border:
        1px solid rgba(183, 168, 255, .56);

    border-radius: 5px;

    background:
        linear-gradient(
            90deg,
            rgba(97, 126, 255, .46),
            rgba(168, 94, 255, .52)
        );

    transform:
        translateY(-3px)
        skewX(-28deg);

    box-shadow:
        0 16px 0 rgba(116, 86, 255, .31),
        0 -16px 0 rgba(86, 117, 255, .23);
}


/* 05 — SEO: golden visibility radar */
.lv-service-card__visual--seo {
    position: relative;
}

.lv-service-card__visual--seo span {
    width: 16px;
    height: 16px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 246, 220, 1) 0%,
            rgba(246, 215, 139, .96) 38%,
            rgba(232, 185, 90, .70) 66%,
            transparent 70%
        );

    box-shadow:
        0 0 16px rgba(246, 215, 139, .48),
        0 0 30px rgba(232, 185, 90, .16);

    animation:
        lvSeoPulse 3.8s ease-in-out infinite;
}

.lv-service-card__visual--seo::before {
    width: 78px;
    height: 78px;

    border:
        1px solid rgba(246, 215, 139, .50);

    border-radius: 50%;

    box-shadow:
        inset 0 0 18px rgba(232, 185, 90, .08),
        0 0 18px rgba(232, 185, 90, .08);

    background:
        radial-gradient(
            circle,
            transparent 0 31%,
            rgba(246, 215, 139, .18) 32% 33%,
            transparent 34% 59%,
            rgba(232, 185, 90, .14) 60% 61%,
            transparent 62%
        );
}

.lv-service-card__visual--seo::after {
    width: 38px;
    height: 3px;

    left: 50%;
    top: 50%;

    transform-origin: 0 50%;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            rgba(255, 244, 214, .95),
            rgba(232, 185, 90, .48),
            transparent
        );

    box-shadow:
        0 0 12px rgba(246, 215, 139, .34);

    animation:
        lvSeoSweep 4.6s linear infinite;
}


/* 04 — Strategy: directional core *//* 04 — Strategy: directional core *//* 04 — Strategy: directional core */
.lv-service-card__visual--strategy span {
    width: 24px;
    height: 24px;

    border:
        1px solid rgba(190, 174, 255, .72);

    border-radius: 6px;

    background:
        linear-gradient(
            135deg,
            rgba(120, 92, 255, .82),
            rgba(63, 111, 255, .32)
        );

    box-shadow:
        0 0 22px rgba(101, 83, 255, .22);

    transform:
        rotate(45deg);

    animation:
        lvStrategyCore 4.4s ease-in-out infinite;
}

.lv-service-card__visual--strategy::before,
.lv-service-card__visual--strategy::after {
    width: 76px;
    height: 2px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(157, 138, 255, .72),
            transparent
        );

    box-shadow:
        0 0 15px rgba(96, 85, 255, .16);
}

.lv-service-card__visual--strategy::before {
    transform:
        rotate(35deg);

    animation:
        lvStrategySweep 5.6s ease-in-out infinite;
}

.lv-service-card__visual--strategy::after {
    transform:
        rotate(-35deg);

    animation:
        lvStrategySweep 5.6s ease-in-out infinite reverse;
}


/* Card copy *//* Card copy */

.lv-service-card h3 {
    position: relative;
    z-index: 2;

    margin:
        0
        0
        12px;

    color: #f7f8ff;

    font-size:
        clamp(15px, 1.12vw, 19px);

    line-height: 1.08;
    letter-spacing: -.025em;

    transform: translateZ(18px);
}

.lv-service-card p {
    position: relative;
    z-index: 2;

    max-width: 180px;

    margin: 0 0 30px;

    color: rgba(193, 200, 223, .72);

    font-size:
        clamp(11px, .82vw, 13px);

    line-height: 1.55;

    transform: translateZ(12px);
}

.lv-service-card__footer {
    position: relative;
    z-index: 2;

    margin-top: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: rgba(213, 218, 238, .70);

    font-size: 11px;

    transform: translateZ(14px);
}

.lv-service-card__footer span:last-child {
    width: 29px;
    height: 29px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(166, 174, 205, .28);

    border-radius: 50%;

    color: #d9ddf2;

    transition:
        transform .22s ease,
        border-color .22s ease,
        color .22s ease;
}

@media (hover: hover) and (pointer: fine) {
    .lv-service-card:hover
    .lv-service-card__footer span:last-child {
        transform:
            translate(2px, -2px);

        border-color:
            rgba(130, 105, 255, .60);

        color: #bda7ff;
    }
}


/* Service animations */

@keyframes lvServiceObjectFloat {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -7px;
    }
}

@keyframes lvServiceGlow {
    0%,
    100% {
        opacity: .58;
    }

    50% {
        opacity: .92;
    }
}

@keyframes lvServiceRingSpin {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@keyframes lvServiceRingSpinReverse {
    from {
        rotate: 360deg;
    }

    to {
        rotate: 0deg;
    }
}

@keyframes lvServiceOrbitA {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: 7px -5px;
    }
}

@keyframes lvServiceOrbitB {
    0%,
    100% {
        translate: 0 0;
    }

    50% {
        translate: -7px 5px;
    }
}

@keyframes lvServiceSpheres {
    0%,
    100% {
        translate: 0 0;
        scale: 1;
    }

    50% {
        translate: 0 -6px;
        scale: 1.04;
    }
}




@keyframes lvTwinSnakes {
    0% {
        --lv-snake-a: 0deg;
        --lv-snake-b: 180deg;
    }

    100% {
        --lv-snake-a: 360deg;
        --lv-snake-b: -180deg;
    }
}

@keyframes lvServiceGoldGlow {
    0%,
    100% {
        opacity: .56;
    }

    50% {
        opacity: .90;
    }
}

@keyframes lvAiGoldOrbit {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@keyframes lvAiGoldOrbitReverse {
    from {
        rotate: 360deg;
    }

    to {
        rotate: 0deg;
    }
}

@keyframes lvStrategyCore {
    0%,
    100% {
        scale: 1;
        opacity: .82;
    }

    50% {
        scale: 1.10;
        opacity: 1;
    }
}

@keyframes lvStrategySweep {
    0%,
    100% {
        opacity: .48;
        scale: .92;
    }

    50% {
        opacity: .92;
        scale: 1.08;
    }
}

@keyframes lvSeoSweep {
    from {
        rotate: 0deg;
    }

    to {
        rotate: 360deg;
    }
}

@keyframes lvSeoPulse {
    0%,
    100% {
        scale: .90;
        opacity: .72;
    }

    50% {
        scale: 1.10;
        opacity: 1;
    }
}




/* -----------------------------------------
   RESULTS — LIGHTWEIGHT PERFORMANCE SECTION
   No JS / no images / no blur / no counters.
----------------------------------------- */

.lv-results {
    position: relative;
    z-index: 2;

    padding:
        clamp(44px, 4.2vw, 62px)
        0
        clamp(48px, 4.5vw, 66px);

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #03050d 0%,
            #050814 52%,
            #03050d 100%
        );
}

.lv-results::before {
    content: "";

    position: absolute;

    top: 0;
    left: 7%;
    right: 7%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(117, 91, 255, .42),
            rgba(232, 185, 90, .28),
            transparent
        );
}

.lv-results__inner {
    display: grid;

    grid-template-columns:
        minmax(240px, .92fr)
        minmax(0, 2.7fr);

    gap:
        clamp(54px, 7vw, 110px);

    align-items: end;
}


/* Intro */

.lv-results__intro {
    max-width: 390px;
}

.lv-results__eyebrow {
    display: block;

    margin-bottom: 18px;

    color:
        rgba(194, 201, 226, .58);

    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
}

.lv-results__intro h2 {
    margin: 0;

    color: #f8f9ff;

    font-size:
        clamp(34px, 3.2vw, 52px);

    line-height: .96;
    letter-spacing: -.045em;
    font-weight: 800;
}

.lv-results__intro h2 span {
    color: #9f7cff;
}

.lv-results__intro > p {
    max-width: 31em;

    margin:
        clamp(20px, 2vw, 28px)
        0
        0;

    color:
        rgba(190, 199, 224, .66);

    font-size:
        clamp(12px, 1vw, 14px);

    line-height: 1.65;
}


/* Metrics */

.lv-results__grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    border-top:
        1px solid rgba(126, 135, 171, .14);

    border-bottom:
        1px solid rgba(126, 135, 171, .11);
}

.lv-result {
    min-width: 0;

    padding:
        clamp(30px, 3vw, 46px)
        clamp(20px, 2.25vw, 34px);

    border-right:
        1px solid rgba(126, 135, 171, .12);
}

.lv-result:last-child {
    border-right: 0;
}

.lv-result__index {
    display: block;

    margin-bottom:
        clamp(32px, 4vw, 62px);

    color:
        rgba(183, 190, 215, .42);

    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
}

.lv-result strong {
    display: block;

    color: #f8f9ff;

    font-size:
        clamp(22px, 2.15vw, 34px);

    line-height: 1;
    letter-spacing: -.035em;
    white-space: nowrap;
}

.lv-result strong span {
    color: #f0ca78;
}

.lv-result:nth-child(even) strong span {
    color: #a886ff;
}

.lv-result p {
    margin:
        12px
        0
        0;

    color:
        rgba(190, 199, 224, .62);

    font-size:
        clamp(10.5px, .9vw, 12.5px);

    line-height: 1.52;
}


/* Tablet */

@media (max-width: 1180px) {

    .lv-results__inner {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .lv-results__intro {
        max-width: 560px;
    }

    .lv-results__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .lv-result:nth-child(2) {
        border-right: 0;
    }

    .lv-result:nth-child(-n + 2) {
        border-bottom:
            1px solid rgba(126, 135, 171, .11);
    }

}


/* Mobile */

@media (max-width: 700px) {

    .lv-results {
        padding:
            44px
            0
            50px;
    }

    .lv-results__inner {
        gap: 34px;
    }

    .lv-results__eyebrow {
        margin-bottom: 14px;

        font-size: 9px;
    }

    .lv-results__intro h2 {
        max-width: 10.5em;

        font-size:
            clamp(31px, 9.2vw, 42px);
    }

    .lv-results__intro > p {
        max-width: 34em;

        margin-top: 18px;

        font-size:
            clamp(12px, 3.25vw, 13.5px);
    }

    .lv-results__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .lv-result {
        padding:
            24px
            clamp(12px, 3.4vw, 17px);
    }

    .lv-result__index {
        margin-bottom: 26px;

        font-size: 8px;
    }

    .lv-result strong {
        font-size:
            clamp(18px, 5vw, 23px);

        white-space: normal;
    }

    .lv-result p {
        font-size:
            clamp(10.5px, 2.8vw, 12px);
    }

}


/* Small phones */

@media (max-width: 360px) {

    .lv-results {
        padding-top: 42px;
    }

    .lv-results__intro h2 {
        font-size:
            clamp(29px, 9vw, 33px);
    }

    .lv-result {
        padding:
            22px
            11px;
    }

    .lv-result strong {
        font-size: 18px;
    }

    .lv-result p {
        font-size: 10.5px;
    }

}



/* -----------------------------------------
   PHONE LANDSCAPE — KEEP MOBILE ORBIT
   Prevents the desktop 5-card row from overflowing
   on phones rotated horizontally.
----------------------------------------- */

@media (orientation: landscape) and (max-width: 950px) and (max-height: 520px) {

    /* Services — 2 top + 1 centre + 2 bottom rotating circuit */
    .lv-services {
        padding:
            clamp(54px, 12vw, 66px)
            0
            clamp(40px, 9vw, 54px);

        overflow: hidden;
    }

    .lv-services::before {
        top: -118px;
        height: 168px;
    }

    .lv-services::after {
        bottom: -146px;
        height: 194px;
    }

    .lv-services__layout {
        width: 100%;
        max-width: none;

        margin: 0;
        padding:
            0
            clamp(14px, 4vw, 20px);

        display: block;
    }

    .lv-services__intro {
        width: 100%;
        max-width: none;
    }

    .lv-services__intro h2 {
        max-width: 10.4em;

        font-size:
            clamp(31px, 9.25vw, 42px);

        line-height: .96;
    }

    .lv-services__intro p {
        margin-top: 18px;

        font-size: 9px;
        letter-spacing: .15em;
    }

    /*
       Five mobile positions:

       [ 0 ]            [ 1 ]

                 [ 2 ]

       [ 4 ]            [ 3 ]

       Route:
       0 → 1 → 3 → 4 → 2 → 0

       This keeps the visual motion mostly around a rectangle,
       while every card also passes through the centre.
    */
    .lv-services__cards {
        --lv-mobile-card-w:
            clamp(148px, 42.5vw, 178px);

        --lv-mobile-card-h:
            clamp(242px, 64vw, 270px);

        --lv-mobile-gap:
            clamp(28px, 8vw, 38px);

        position: relative;

        width: 100%;

        height:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap) +
                var(--lv-mobile-gap)
            );

        margin-top:
            clamp(32px, 8vw, 42px);

        perspective: none;
        overflow: visible;
    }

    /* Subtle orbit/rectangle guide behind the cards */
    .lv-services__cards::before {
        content: "";

        position: absolute;

        left: 7%;
        right: 7%;

        top:
            calc(var(--lv-mobile-card-h) / 2);

        bottom:
            calc(var(--lv-mobile-card-h) / 2);

        border:
            1px solid rgba(117, 91, 255, .12);

        border-radius: 28px;

        background:
            linear-gradient(
                90deg,
                rgba(232, 185, 90, .05),
                transparent 28% 72%,
                rgba(117, 91, 255, .05)
            );

        pointer-events: none;
    }

    .lv-service-card {
        position: absolute;

        left: 50%;
        top: 0;

        width: var(--lv-mobile-card-w);
        min-width: 0;

        height: var(--lv-mobile-card-h);
        min-height: var(--lv-mobile-card-h);

        padding:
            clamp(14px, 3.7vw, 17px);

        border-radius: 17px;

        transform:
            translate3d(
                calc(-50% + var(--lv-mobile-x, 0px)),
                var(--lv-mobile-y, 0px),
                0
            )
            scale(var(--lv-mobile-scale, 1));

        transform-style: flat;

        opacity:
            var(--lv-mobile-opacity, 1);

        z-index:
            var(--lv-mobile-z, 2);

        transition:
            transform 1.5s cubic-bezier(.22, .74, .18, 1),
            opacity .85s ease,
            box-shadow .55s ease,
            border-color .55s ease;

        will-change:
            transform,
            opacity;

        touch-action: pan-y;
    }

    /* TOP LEFT */
    .lv-service-card[data-lv-slot="0"] {
        --lv-mobile-x: -23vw;
        --lv-mobile-y: 0px;
        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /* TOP RIGHT */
    .lv-service-card[data-lv-slot="1"] {
        --lv-mobile-x: 23vw;
        --lv-mobile-y: 0px;
        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /* CENTRE — focal reading position */
    .lv-service-card[data-lv-slot="2"] {
        --lv-mobile-x: 0px;

        --lv-mobile-y:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap)
            );

        --lv-mobile-scale: 1.035;
        --lv-mobile-opacity: 1;
        --lv-mobile-z: 6;

        box-shadow:
            0 24px 64px rgba(0, 0, 0, .34),
            0 0 24px rgba(117, 91, 255, .10);
    }

    /* BOTTOM RIGHT */
    .lv-service-card[data-lv-slot="3"] {
        --lv-mobile-x: 23vw;

        --lv-mobile-y:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap) +
                var(--lv-mobile-gap)
            );

        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /* BOTTOM LEFT */
    .lv-service-card[data-lv-slot="4"] {
        --lv-mobile-x: -23vw;

        --lv-mobile-y:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap) +
                var(--lv-mobile-gap)
            );

        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /*
       During the centre→top wrap, the card travels behind the others.
       This removes the visual "teleport".
    */
    .lv-service-card.is-lv-orbit-wrap {
        z-index: 1;

        opacity: .28;

        filter: saturate(.72);
    }

    .lv-service-card--featured {
        --lv-card-lift: 0px;
    }

    .lv-service-card::before {
        opacity: .40;
    }

    .lv-service-card--gold::before {
        opacity: .46;
    }

    .lv-service-card::after {
        padding: 1px;

        opacity: .68;

        filter:
            drop-shadow(0 0 2px var(--lv-snake-bright))
            drop-shadow(0 0 4px var(--lv-snake-main));

        animation-duration: 9.8s;
    }

    .lv-service-card__visual {
        height:
            clamp(68px, 18.5vw, 80px);

        margin-bottom:
            clamp(11px, 3vw, 14px);

        transform: none;
    }

    .lv-service-card h3 {
        font-size:
            clamp(16px, 4.35vw, 18px);

        line-height: 1.08;
        letter-spacing: -.015em;
    }

    .lv-service-card p {
        max-width: 24em;

        margin-top: 9px;

        font-size:
            clamp(12.5px, 3.35vw, 13.5px);

        line-height: 1.52;
    }

    .lv-service-card__footer {
        margin-top: auto;
        padding-top: 9px;
    }

    .lv-service-card__footer > span:first-child {
        font-size: 10px;
    }

    .lv-service-card__footer > span:last-child {
        width: 30px;
        height: 30px;
    }

    .lv-services__orbit-note {
        display: none;
    }

    /* More room is available horizontally in landscape */
    .lv-services__layout {
        padding-left: 24px;
        padding-right: 24px;
    }

    .lv-services__cards {
        --lv-mobile-card-w:
            clamp(210px, 28vw, 250px);

        --lv-mobile-card-h:
            clamp(232px, 29vw, 258px);

        --lv-mobile-gap:
            clamp(28px, 4vw, 36px);
    }

    .lv-service-card[data-lv-slot="0"],
    .lv-service-card[data-lv-slot="4"] {
        --lv-mobile-x: -27vw;
    }

    .lv-service-card[data-lv-slot="1"],
    .lv-service-card[data-lv-slot="3"] {
        --lv-mobile-x: 27vw;
    }

    .lv-service-card h3 {
        font-size:
            clamp(16px, 2.1vw, 18px);
    }

    .lv-service-card p {
        font-size:
            clamp(12px, 1.55vw, 13px);
    }

}



/* -----------------------------------------
   CASES — REAL PROJECTS / COMPACT
----------------------------------------- */

.lv-cases {
    position: relative;
    z-index: 2;

    padding:
        clamp(38px, 3.8vw, 56px)
        0
        clamp(68px, 5.5vw, 88px);

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #03050d 0%,
            #050814 55%,
            #03050d 100%
        );
}

.lv-cases::before {
    content: "";

    position: absolute;

    top: 0;
    left: 7%;
    right: 7%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(117, 91, 255, .34),
            rgba(232, 185, 90, .18),
            transparent
        );
}

.lv-cases__header {
    display: grid;

    grid-template-columns:
        minmax(260px, 1.1fr)
        minmax(260px, .9fr);

    gap:
        clamp(34px, 5vw, 80px);

    align-items: end;

    margin-bottom:
        clamp(24px, 2.8vw, 38px);
}

.lv-cases__eyebrow {
    display: block;

    margin-bottom: 16px;

    color:
        rgba(194, 201, 226, .58);

    font-size: 10px;
    font-weight: 600;
    letter-spacing: .16em;
}

.lv-cases__header h2 {
    margin: 0;

    color: #f8f9ff;

    font-size:
        clamp(34px, 3.7vw, 58px);

    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 800;
}

.lv-cases__header h2 span {
    color: #9f7cff;
}

.lv-cases__lead {
    max-width: 36em;

    margin: 0;

    color:
        rgba(190, 199, 224, .66);

    font-size:
        clamp(12px, 1vw, 14px);

    line-height: 1.62;
}


/* Cards */

.lv-cases__grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        clamp(14px, 1.5vw, 22px);
}

.lv-case {
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border:
        1px solid rgba(126, 135, 171, .16);

    border-radius: 20px;

    background:
        linear-gradient(
            180deg,
            rgba(10, 14, 29, .98),
            rgba(6, 9, 20, .995)
        );
}

.lv-case--112 {
    border-color:
        rgba(232, 185, 90, .22);
}

.lv-case--multitec {
    border-color:
        rgba(117, 91, 255, .23);
}

.lv-case--thegriz {
    border-color:
        rgba(217, 217, 230, .17);
}


.lv-case--standout {
    border-color:
        rgba(117, 91, 255, .20);
}

.lv-case__wordmark--standout {
    color: #f7f8ff;

    font-weight: 800;
    letter-spacing: -.02em;
}

.lv-case__wordmark--standout::first-letter {
    color: #a886ff;
}


/* Media */

.lv-case__media {
    padding:
        14px
        14px
        0;
}

.lv-case__brandbar {
    min-height: 40px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    margin-bottom: 11px;
}

.lv-case__brandbar > span {
    color:
        rgba(190, 199, 224, .48);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.lv-case__brand-logo {
    display: block;

    width: auto;
    height: auto;
}

.lv-case__brand-logo--112 {
    max-width: 132px;
}

.lv-case__wordmark {
    color: #f6f7ff;

    font-size:
        clamp(14px, 1.1vw, 17px);

    line-height: 1;
    letter-spacing: -.02em;
}

.lv-case__wordmark span {
    color: #a98aff;
}

.lv-case__wordmark--thegriz {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight: 500;
    letter-spacing: .06em;
}


/* 112 video */

.lv-case__video-wrap,
.lv-case__image-wrap,
.lv-case__seo-preview {
    position: relative;

    height:
        clamp(200px, 18vw, 260px);

    overflow: hidden;

    border:
        1px solid rgba(126, 135, 171, .14);

    border-radius: 13px;

    background: #080b16;
}

.lv-case__video {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;
}


/* TheGriz image */

.lv-case__image-wrap img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;
}


/* Multitec lightweight SEO visual */

.lv-case__seo-preview {
    padding:
        clamp(16px, 1.5vw, 20px);

    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(117, 91, 255, .12),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #0a0e1d,
            #060916
        );
}

.lv-case__searchbar {
    display: flex;
    align-items: center;
    gap: 10px;

    min-height: 38px;

    padding:
        7px
        11px;

    border:
        1px solid rgba(139, 148, 184, .16);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, .035);
}

.lv-case__searchbar > span {
    display: grid;
    place-items: center;

    width: 22px;
    height: 22px;

    border-radius: 50%;

    color: #f0ca78;

    font-size: 12px;
    font-weight: 800;
}

.lv-case__searchbar p {
    margin: 0;

    overflow: hidden;

    color:
        rgba(218, 224, 242, .68);

    font-size:
        clamp(9px, .72vw, 11px);

    white-space: nowrap;
    text-overflow: ellipsis;
}

.lv-case__serp-card {
    margin-top: 16px;

    padding:
        14px;

    border-left:
        2px solid rgba(117, 91, 255, .54);

    background:
        rgba(255, 255, 255, .025);
}

.lv-case__serp-card small,
.lv-case__serp-card span {
    display: block;

    color:
        rgba(188, 198, 225, .48);

    font-size: 8px;
    line-height: 1.35;
}

.lv-case__serp-card strong {
    display: block;

    margin:
        6px
        0;

    color: #f5f7ff;

    font-size:
        clamp(12px, 1vw, 15px);

    line-height: 1.2;
}

.lv-case__contact-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    margin-top: 14px;
}

.lv-case__contact-strip span {
    padding:
        5px
        7px;

    border:
        1px solid rgba(232, 185, 90, .16);

    border-radius: 999px;

    color:
        rgba(240, 214, 148, .72);

    font-size: 7px;
    font-weight: 700;
    letter-spacing: .05em;
}


/* Content */

.lv-case__content {
    flex: 1;

    display: flex;
    flex-direction: column;

    padding:
        clamp(20px, 2vw, 28px);
}

.lv-case__meta {
    display: flex;
    justify-content: space-between;
    gap: 16px;

    margin-bottom:
        clamp(22px, 2vw, 30px);

    color:
        rgba(180, 189, 215, .42);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .12em;
}

.lv-case h3 {
    margin: 0;

    color: #f8f9ff;

    font-size:
        clamp(22px, 1.9vw, 30px);

    line-height: 1;
    letter-spacing: -.035em;
}

.lv-case__content > p {
    margin:
        12px
        0
        0;

    color:
        rgba(190, 199, 224, .64);

    font-size:
        clamp(11.5px, .9vw, 13px);

    line-height: 1.55;
}

.lv-case__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    margin-top:
        20px;
}

.lv-case__tags span {
    min-height: 28px;

    display: inline-flex;
    align-items: center;

    padding:
        5px
        9px;

    border:
        1px solid rgba(126, 135, 171, .18);

    border-radius: 999px;

    color:
        rgba(212, 218, 239, .67);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .04em;
}

.lv-case__link,
.lv-case__archived {
    margin-top: auto;
    padding-top: 22px;
}

.lv-case__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    width: fit-content;

    color: #f0ca78;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
}

.lv-case__link span {
    color: #aa87ff;
}

.lv-case__archived {
    display: block;

    color:
        rgba(190, 199, 224, .40);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .09em;
}


/* Tablet */

@media (max-width: 1180px) {

    .lv-cases__header {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .lv-cases__lead {
        max-width: 44em;
    }

    .lv-cases__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .lv-case--thegriz {
        grid-column: 1 / -1;
    }

    .lv-case--thegriz {
        display: grid;

        grid-template-columns:
            minmax(0, .9fr)
            minmax(0, 1.1fr);
    }

}


/* Mobile */

@media (max-width: 700px) {

    .lv-cases {
        padding:
            36px
            0
            62px;
    }

    .lv-cases__header {
        margin-bottom: 28px;
    }

    .lv-cases__header h2 {
        max-width: 9em;

        font-size:
            clamp(31px, 9vw, 41px);
    }

    .lv-cases__lead {
        font-size:
            clamp(12px, 3.2vw, 13.5px);
    }

    .lv-cases__grid {
        grid-template-columns: 1fr;
    }

    .lv-case__video-wrap,
    .lv-case__image-wrap,
    .lv-case__seo-preview {
        height:
            clamp(190px, 52vw, 230px);
    }

    .lv-case__content {
        padding:
            20px;
    }

    .lv-case h3 {
        font-size:
            clamp(24px, 6.4vw, 29px);
    }

    .lv-case__content > p {
        font-size:
            clamp(12px, 3.2vw, 13.5px);
    }

}


/* Small phones */

@media (max-width: 360px) {

    .lv-cases {
        padding-top: 38px;
    }

    .lv-case__brand-logo--112 {
        max-width: 118px;
    }

    .lv-case__video-wrap,
    .lv-case__image-wrap,
    .lv-case__seo-preview {
        height: 186px;
    }

}


/* -----------------------------------------
   ACCESSIBILITY / REDUCED MOTION
----------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .lv-service-card {
        transition: none !important;
    }


    .lv-hero__bg,
    .lv-hero__content,
    .lv-hero__visual,
    .lv-card-floating,
    .lv-service-card,
    .lv-service-card::before,
    .lv-service-card::after,
    .lv-service-card__visual::before,
    .lv-service-card__visual::after,
    .lv-service-card__visual span {
        transform: none !important;
        translate: none !important;
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
    }
}


/* -----------------------------------------
   COMPACT DESKTOP
   Only reduce typography/card size.
   Layout heights remain fluid via clamp().
----------------------------------------- */

@media (min-width: 1181px) and (max-height: 820px) {
    .lv-logo img {
        width: min(270px, 16vw);
    }

    .lv-eyebrow {
        margin-bottom: 14px;
    }

    .lv-hero__title {
        font-size: clamp(45px, 3.65vw, 61px);
    }

    .lv-hero__description {
        margin: 14px 0 16px;
        font-size: 15px;
    }

    .lv-hero__actions {
        margin-bottom: 18px;
    }

    .lv-btn,
    .lv-btn-play__icon {
        min-height: 50px;
        height: 50px;
    }

    .lv-stat strong {
        font-size: 24px;
    }

    .lv-card-floating {
        min-width: 176px;
        max-width: 194px;
        padding: 13px 15px;
    }
}


/* -----------------------------------------
   TABLET
----------------------------------------- */

@media (max-width: 1180px) {

    .lv-services {
        padding:
            82px
            0
            104px;
    }

    .lv-services__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .lv-services__intro {
        max-width: 520px;
        padding-bottom: 0;
    }

    .lv-services__cards {
        display: flex;
        gap: 14px;

        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;

        padding:
            6px
            2px
            18px;

        scrollbar-width: none;
    }

    .lv-services__cards::-webkit-scrollbar {
        display: none;
    }

    .lv-service-card {
        flex: 0 0 224px;
        min-height: 360px;

        scroll-snap-align: start;
    }

    .lv-service-card--featured {
        --lv-card-lift: 0px;
    }

    .lv-nav {
        display: none;
    }

    .lv-logo img {
        width: min(240px, 28vw);
        min-width: 160px;
    }

    .lv-hero--v2 {
        height: auto;
        min-height: 100svh;
        overflow: hidden;
    }

    .lv-hero--v2 .lv-hero__inner {
        height: auto;
        min-height: 100svh;

        grid-template-columns: 1fr;
        gap: 18px;

        padding-top: 132px;
        padding-bottom: 170px;
    }

    .lv-hero__visual {
        min-height: 430px;
    }

    .lv-hero__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 0;
    }

    .lv-stat:nth-child(2) {
        border-right: 0;
    }

    .lv-stat:nth-child(3) {
        padding-left: 0;
    }

    .lv-card-floating--1 {
        top: 18px;
        left: 0;
    }

    .lv-card-floating--2 {
        top: 145px;
        right: 0;
    }

    .lv-card-floating--3 {
        right: 10px;
        bottom: 6px;
    }

    .lv-hero__brands {
        height: auto;
        min-height: 118px;
    }

    .lv-hero__brands-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* -----------------------------------------
   MOBILE — FLUID RESPONSIVE SYSTEM
   320px → 700px
----------------------------------------- */

@media (max-width: 700px) {

    /* Header */
    .admin-bar .lv-header {
        top: 46px;
    }

    .lv-header {
        padding: 10px 0;
    }

    .lv-header__inner {
        gap: 12px;
    }

    .lv-header__cta,
    .lv-nav {
        display: none;
    }

    .lv-logo img {
        width: clamp(146px, 39vw, 176px);
        min-width: 0;
    }


    /* Hero structure */
    .lv-hero--v2 {
        height: auto;
        min-height: 0;
        overflow: hidden;
    }

    .lv-hero--v2 .lv-hero__inner {
        display: block;

        width: 100%;
        height: auto;
        min-height: 0;

        margin: 0 auto;

        padding:
            clamp(88px, 23vw, 106px)
            clamp(18px, 5vw, 24px)
            14px;
    }

    .admin-bar .lv-hero--v2 .lv-hero__inner {
        padding-top: clamp(126px, 32vw, 146px);
    }

    .lv-hero__content {
        max-width: 100%;
        transform: none;
        opacity: 1;
    }


    /* Mobile image:
       intentionally shorter than the full Hero so it never needs
       an extreme portrait crop. It fades into the dark lower area. */
    .lv-hero__bg {
        inset: 0 0 auto;
        height: clamp(300px, 82vw, 360px);

        transform:
            translate3d(
                0,
                calc(var(--lv-scroll) * -5px),
                0
            );

        -webkit-mask-image:
            linear-gradient(
                to bottom,
                #000 0%,
                #000 72%,
                rgba(0, 0, 0, .72) 84%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                to bottom,
                #000 0%,
                #000 72%,
                rgba(0, 0, 0, .72) 84%,
                transparent 100%
            );
    }

    .lv-hero__bg img {
        object-position: 66% center;
    }

    .lv-hero__overlay {
        background:
            radial-gradient(
                ellipse 30% 34% at 66% 52%,
                rgba(3, 4, 10, .18) 0%,
                rgba(3, 4, 10, .08) 58%,
                transparent 100%
            ),
            linear-gradient(
                90deg,
                rgba(3, 4, 10, .91) 0%,
                rgba(3, 4, 10, .66) 32%,
                rgba(3, 4, 10, .18) 62%,
                rgba(3, 4, 10, .03) 100%
            ),
            linear-gradient(
                to bottom,
                rgba(3, 4, 10, 0) 0%,
                rgba(3, 4, 10, .05) 46%,
                #03040a 71%,
                #03040a 100%
            );
    }


    /* Copy */
    .lv-eyebrow {
        margin-bottom: clamp(12px, 3vw, 15px);

        font-size: clamp(8px, 2.25vw, 10px);
        letter-spacing: .12em;
    }

    .lv-hero__title {
        max-width: 100%;
        margin: 0;

        font-size: clamp(30px, 9.7vw, 40px);
        line-height: .96;
        letter-spacing: -.045em;
    }

    .lv-hero__description {
        max-width: 34em;

        margin:
            clamp(14px, 3.8vw, 18px)
            0
            clamp(16px, 4vw, 20px);

        font-size: clamp(12px, 3.25vw, 14px);
        line-height: 1.52;
    }


    /* CTA area */
    .lv-hero__actions {
        display: flex;
        align-items: center;
        flex-wrap: wrap;

        gap: 10px 12px;
        margin-bottom: clamp(18px, 5vw, 24px);
    }

    .lv-btn {
        min-height: 46px;
        padding: 0 clamp(16px, 4.2vw, 20px);

        font-size: clamp(10px, 2.8vw, 12px);
    }

    .lv-btn-play {
        gap: 10px;
    }

    .lv-btn-play__icon {
        width: 44px;
        height: 44px;
    }

    .lv-btn-play__text strong {
        font-size: 13px;
    }

    .lv-btn-play__text small {
        font-size: 11px;
    }


    /* Stats */
    .lv-hero__stats {
        width: 100%;
        max-width: none;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: clamp(16px, 4vw, 20px) 0;
    }

    .lv-stat {
        padding: 0 clamp(10px, 3.2vw, 14px);
    }

    .lv-stat:nth-child(2) {
        border-right: 0;
    }

    .lv-stat:nth-child(3) {
        padding-left: 0;
    }

    .lv-stat strong {
        margin-bottom: 5px;

        font-size: clamp(20px, 5.8vw, 24px);
    }

    .lv-stat span {
        font-size: clamp(9px, 2.4vw, 10px);
        line-height: 1.35;
    }


    /* Holograms:
       hidden on phone widths so the client strip stays high.
       They remain on tablet / desktop. */
    .lv-hero__visual {
        display: none;
    }


    /* Clients / brands:
       normal document flow — never absolute on phones. */
    .lv-hero__brands {
        position: relative;
        inset: auto;

        width: 100%;
        height: auto;
        min-height: 0;

        margin-top: 0;
        padding:
            clamp(14px, 3.8vw, 18px)
            0
            clamp(16px, 4vw, 20px);

        background:
            linear-gradient(
                180deg,
                #071022 0%,
                #050914 100%
            );
    }

    .lv-hero__brands-curve {
        top: -13px;
        height: 14px;
    }

    .lv-hero__brands-curve svg {
        height: 14px;
    }

    .lv-hero__brands .lv-container {
        width: 100%;
        max-width: none;

        margin: 0;
        padding:
            0
            clamp(16px, 4.5vw, 22px);
    }

    .lv-hero__brands-title {
        max-width: 100%;

        margin:
            0
            0
            clamp(13px, 3.5vw, 17px);

        font-size: clamp(7px, 2vw, 9px);
        line-height: 1.4;
        letter-spacing: .12em;
        text-align: center;
    }

    .lv-hero__brands-row {
        width: 100%;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap:
            clamp(10px, 3vw, 14px)
            clamp(6px, 2vw, 10px);
    }

    .lv-hero__brands-row span {
        min-width: 0;
        min-height: 22px;

        padding: 0 2px;

        font-size: clamp(8px, 2.35vw, 10px);
        line-height: 1.25;

        overflow-wrap: anywhere;
    }



    .lv-service-card--gold {
        box-shadow:
            0 18px 42px rgba(0, 0, 0, .26),
            0 0 12px rgba(232, 185, 90, .07);
    }

    .lv-service-card--gold::after {
        padding: 1.15px;

        filter:
            drop-shadow(0 0 3px rgba(255, 248, 224, .74))
            drop-shadow(0 0 7px rgba(246, 215, 139, .42));
    }

    .lv-service-card--featured {
        --lv-card-lift: 0px;
    }



    .lv-service-card::after {
        padding: 1px;

        opacity: .72;

        filter:
            drop-shadow(0 0 2px var(--lv-snake-bright))
            drop-shadow(0 0 4px var(--lv-snake-main));

        animation-duration: 9.2s;
    }


    /* Services — 2 top + 1 centre + 2 bottom rotating circuit */
    .lv-services {
        padding:
            clamp(54px, 12vw, 66px)
            0
            clamp(40px, 9vw, 54px);

        overflow: hidden;
    }

    .lv-services::before {
        top: -118px;
        height: 168px;
    }

    .lv-services::after {
        bottom: -146px;
        height: 194px;
    }

    .lv-services__layout {
        width: 100%;
        max-width: none;

        margin: 0;
        padding:
            0
            clamp(14px, 4vw, 20px);

        display: block;
    }

    .lv-services__intro {
        width: 100%;
        max-width: none;
    }

    .lv-services__intro h2 {
        max-width: 10.4em;

        font-size:
            clamp(31px, 9.25vw, 42px);

        line-height: .96;
    }

    .lv-services__intro p {
        margin-top: 18px;

        font-size: 9px;
        letter-spacing: .15em;
    }

    /*
       Five mobile positions:

       [ 0 ]            [ 1 ]

                 [ 2 ]

       [ 4 ]            [ 3 ]

       Route:
       0 → 1 → 3 → 4 → 2 → 0

       This keeps the visual motion mostly around a rectangle,
       while every card also passes through the centre.
    */
    .lv-services__cards {
        --lv-mobile-card-w:
            clamp(148px, 42.5vw, 178px);

        --lv-mobile-card-h:
            clamp(242px, 64vw, 270px);

        --lv-mobile-gap:
            clamp(28px, 8vw, 38px);

        position: relative;

        width: 100%;

        height:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap) +
                var(--lv-mobile-gap)
            );

        margin-top:
            clamp(32px, 8vw, 42px);

        perspective: none;
        overflow: visible;
    }

    /* Subtle orbit/rectangle guide behind the cards */
    .lv-services__cards::before {
        content: "";

        position: absolute;

        left: 7%;
        right: 7%;

        top:
            calc(var(--lv-mobile-card-h) / 2);

        bottom:
            calc(var(--lv-mobile-card-h) / 2);

        border:
            1px solid rgba(117, 91, 255, .12);

        border-radius: 28px;

        background:
            linear-gradient(
                90deg,
                rgba(232, 185, 90, .05),
                transparent 28% 72%,
                rgba(117, 91, 255, .05)
            );

        pointer-events: none;
    }

    .lv-service-card {
        position: absolute;

        left: 50%;
        top: 0;

        width: var(--lv-mobile-card-w);
        min-width: 0;

        height: var(--lv-mobile-card-h);
        min-height: var(--lv-mobile-card-h);

        padding:
            clamp(14px, 3.7vw, 17px);

        border-radius: 17px;

        transform:
            translate3d(
                calc(-50% + var(--lv-mobile-x, 0px)),
                var(--lv-mobile-y, 0px),
                0
            )
            scale(var(--lv-mobile-scale, 1));

        transform-style: flat;

        opacity:
            var(--lv-mobile-opacity, 1);

        z-index:
            var(--lv-mobile-z, 2);

        transition:
            transform 1.5s cubic-bezier(.22, .74, .18, 1),
            opacity .85s ease,
            box-shadow .55s ease,
            border-color .55s ease;

        will-change:
            transform,
            opacity;

        touch-action: pan-y;
    }

    /* TOP LEFT */
    .lv-service-card[data-lv-slot="0"] {
        --lv-mobile-x: -23vw;
        --lv-mobile-y: 0px;
        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /* TOP RIGHT */
    .lv-service-card[data-lv-slot="1"] {
        --lv-mobile-x: 23vw;
        --lv-mobile-y: 0px;
        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /* CENTRE — focal reading position */
    .lv-service-card[data-lv-slot="2"] {
        --lv-mobile-x: 0px;

        --lv-mobile-y:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap)
            );

        --lv-mobile-scale: 1.035;
        --lv-mobile-opacity: 1;
        --lv-mobile-z: 6;

        box-shadow:
            0 24px 64px rgba(0, 0, 0, .34),
            0 0 24px rgba(117, 91, 255, .10);
    }

    /* BOTTOM RIGHT */
    .lv-service-card[data-lv-slot="3"] {
        --lv-mobile-x: 23vw;

        --lv-mobile-y:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap) +
                var(--lv-mobile-gap)
            );

        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /* BOTTOM LEFT */
    .lv-service-card[data-lv-slot="4"] {
        --lv-mobile-x: -23vw;

        --lv-mobile-y:
            calc(
                var(--lv-mobile-card-h) +
                var(--lv-mobile-card-h) +
                var(--lv-mobile-gap) +
                var(--lv-mobile-gap)
            );

        --lv-mobile-scale: .96;
        --lv-mobile-opacity: .96;
        --lv-mobile-z: 3;
    }

    /*
       During the centre→top wrap, the card travels behind the others.
       This removes the visual "teleport".
    */
    .lv-service-card.is-lv-orbit-wrap {
        z-index: 1;

        opacity: .28;

        filter: saturate(.72);
    }

    .lv-service-card--featured {
        --lv-card-lift: 0px;
    }

    .lv-service-card::before {
        opacity: .40;
    }

    .lv-service-card--gold::before {
        opacity: .46;
    }

    .lv-service-card::after {
        padding: 1px;

        opacity: .68;

        filter:
            drop-shadow(0 0 2px var(--lv-snake-bright))
            drop-shadow(0 0 4px var(--lv-snake-main));

        animation-duration: 9.8s;
    }

    .lv-service-card__visual {
        height:
            clamp(68px, 18.5vw, 80px);

        margin-bottom:
            clamp(11px, 3vw, 14px);

        transform: none;
    }

    .lv-service-card h3 {
        font-size:
            clamp(16px, 4.35vw, 18px);

        line-height: 1.08;
        letter-spacing: -.015em;
    }

    .lv-service-card p {
        max-width: 24em;

        margin-top: 9px;

        font-size:
            clamp(12.5px, 3.35vw, 13.5px);

        line-height: 1.52;
    }

    .lv-service-card__footer {
        margin-top: auto;
        padding-top: 9px;
    }

    .lv-service-card__footer > span:first-child {
        font-size: 10px;
    }

    .lv-service-card__footer > span:last-child {
        width: 30px;
        height: 30px;
    }

    .lv-services__orbit-note {
        display: none;
    }
}


/* -----------------------------------------
   LARGE PHONES / SMALL TABLETS
   431px → 700px
----------------------------------------- */

@media (min-width: 431px) and (max-width: 700px) {

    .lv-services__cards {
        --lv-mobile-card-w:
            clamp(138px, 42.5vw, 154px);

        --lv-mobile-card-h:
            clamp(246px, 72vw, 264px);

        --lv-mobile-gap: 28px;

        margin-top: 28px;
    }

    .lv-service-card[data-lv-slot="0"],
    .lv-service-card[data-lv-slot="4"] {
        --lv-mobile-x: -22vw;
    }

    .lv-service-card[data-lv-slot="1"],
    .lv-service-card[data-lv-slot="3"] {
        --lv-mobile-x: 22vw;
    }

    .lv-service-card__visual {
        height: 62px;
        margin-bottom: 9px;
    }

    .lv-service-card h3 {
        font-size: 15.5px;
        line-height: 1.08;
    }

    .lv-service-card p {
        font-size: 12px;
        line-height: 1.5;
    }



    .lv-logo img {
        width: 142px;
    }

    .lv-hero--v2 .lv-hero__inner {
        padding-left: 16px;
        padding-right: 16px;
        padding-top: 84px;
    }

    .admin-bar .lv-hero--v2 .lv-hero__inner {
        padding-top: 126px;
    }

    .lv-hero__bg {
        height: clamp(288px, 86vw, 310px);
    }

    .lv-hero__bg img {
        object-position: 68% center;
    }

    .lv-hero__title {
        font-size: clamp(29px, 9.6vw, 34px);
    }

    .lv-hero__description {
        font-size: 12px;
    }

    .lv-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .lv-btn {
        width: 100%;
    }

    .lv-btn-play {
        justify-self: start;
    }

    .lv-hero__brands-row {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .lv-hero__brands-row span {
        font-size: 9px;
    }
}


/* =========================================
   CASES V41 — CTA RESTORED + MULTITEC VIDEO
========================================= */
.lv-cases {
    padding: clamp(34px, 3.2vw, 48px) 0 clamp(54px, 4.7vw, 72px);
}

.lv-cases__header {
    gap: clamp(26px, 3vw, 44px);
    margin-bottom: clamp(18px, 2.2vw, 28px);
}

.lv-cases__topside {
    display: grid;
    gap: 18px;
}

.lv-cases__cta {
    padding: 18px 20px;
    border: 1px solid rgba(232, 185, 90, .16);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(232, 185, 90, .08), transparent 38%),
        linear-gradient(145deg, rgba(14, 18, 35, .96), rgba(8, 11, 22, .98));
    box-shadow:
        0 10px 26px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255,255,255,.02);
}

.lv-cases__cta small {
    display: block;
    margin-bottom: 10px;
    color: rgba(232, 185, 90, .78);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
}

.lv-cases__cta h3 {
    margin: 0;
    color: #f8f9ff;
    font-size: clamp(22px, 2.1vw, 30px);
    line-height: 1.02;
    letter-spacing: -.03em;
}

.lv-cases__cta p {
    margin: 12px 0 0;
    color: rgba(190, 199, 224, .66);
    font-size: clamp(11px, .9vw, 13px);
    line-height: 1.58;
}

.lv-cases__cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #f0ca78;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
}

.lv-cases__cta a span {
    color: #aa87ff;
}

.lv-cases__grid {
    gap: clamp(12px, 1.25vw, 18px);
}

.lv-case {
    border-radius: 18px;
}

.lv-case__media {
    padding: 12px 12px 0;
}

.lv-case__brandbar {
    min-height: 36px;
    margin-bottom: 9px;
}

.lv-case__brand-logo--112 {
    max-width: 126px;
}

.lv-case__brand-logo--multitec {
    max-width: 156px;
    max-height: 36px;
}

.lv-case__video-wrap,
.lv-case__image-wrap,
.lv-case__seo-preview {
    height: clamp(172px, 15.2vw, 214px);
}

.lv-case__video-wrap::after,
.lv-case__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4,6,12,0) 0%, rgba(4,6,12,.03) 58%, rgba(4,6,12,.08) 100%);
    pointer-events: none;
}

.lv-case__content {
    padding: clamp(17px, 1.65vw, 22px);
}

.lv-case__meta {
    margin-bottom: clamp(16px, 1.5vw, 22px);
}

.lv-case h3 {
    font-size: clamp(19px, 1.6vw, 25px);
}

.lv-case__content > p {
    font-size: clamp(11px, .84vw, 12.5px);
}

.lv-case__tags {
    margin-top: 16px;
}

.lv-case__link,
.lv-case__archived {
    padding-top: 16px;
}

@media (max-width: 1180px) {
    .lv-cases__header {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lv-cases__topside {
        gap: 16px;
    }

    .lv-cases__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .lv-cases {
        padding: 32px 0 54px;
    }

    .lv-cases__header {
        margin-bottom: 24px;
    }

    .lv-cases__cta {
        padding: 16px 16px 17px;
        border-radius: 16px;
    }

    .lv-cases__cta h3 {
        font-size: clamp(20px, 5.8vw, 25px);
    }

    .lv-cases__cta p {
        font-size: clamp(12px, 3.2vw, 13.5px);
    }

    .lv-case__brandbar {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .lv-case__brand-logo--multitec {
        max-width: 144px;
    }

    .lv-case__video-wrap,
    .lv-case__image-wrap,
    .lv-case__seo-preview {
        height: clamp(180px, 48vw, 212px);
    }

    .lv-case__content {
        padding: 18px;
    }

    .lv-case h3 {
        font-size: clamp(22px, 6vw, 27px);
    }

    .lv-case__content > p {
        font-size: clamp(12px, 3.2vw, 13.5px);
    }
}

@media (max-width: 360px) {
    .lv-cases {
        padding-top: 34px;
    }

    .lv-case__brand-logo--112 {
        max-width: 112px;
    }

    .lv-case__brand-logo--multitec {
        max-width: 132px;
    }

    .lv-case__video-wrap,
    .lv-case__image-wrap,
    .lv-case__seo-preview {
        height: 176px;
    }
}


/* =========================================
   CASES V43 — MOBILE MEDIA OPTIMISATION
========================================= */

@media (max-width: 700px) {

    .lv-case__video-wrap,
    .lv-case__image-wrap {
        height: clamp(300px, 94vw, 390px);
    }

    .lv-case__video {
        object-fit: cover;
        object-position: center top;
    }

    .lv-case__image-wrap picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .lv-case__image-wrap picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
    }

}

@media (max-width: 360px) {

    .lv-case__video-wrap,
    .lv-case__image-wrap {
        height: 300px;
    }

}


/* =========================================
   CASES V44 — MOBILE HORIZONTAL SLIDER
   Native scroll-snap: lightweight, no library.
========================================= */

.lv-cases__mobile-nav {
    display: none;
}

@media (max-width: 700px) {

    .lv-cases {
        overflow: hidden;
    }

    .lv-cases__mobile-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;

        margin-bottom: 14px;
    }

    .lv-cases__mobile-nav > span {
        color: rgba(190, 199, 224, .48);

        font-size: 8px;
        font-weight: 700;
        letter-spacing: .13em;
    }

    .lv-cases__mobile-arrows {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .lv-cases__arrow {
        width: 34px;
        height: 34px;

        display: grid;
        place-items: center;

        padding: 0;

        border:
            1px solid rgba(126, 135, 171, .22);

        border-radius: 50%;

        color: #f7f8ff;

        font: inherit;
        font-size: 15px;

        background:
            rgba(10, 14, 29, .92);

        cursor: pointer;
    }

    .lv-cases__arrow:active {
        transform: scale(.94);
    }

    .lv-cases__grid {
        display: flex;
        grid-template-columns: none;

        gap: 14px;

        width: auto;
        max-width: none;

        margin-left:
            calc(
                (100vw - min(100vw, var(--lv-container, 1200px)))
                / -2
            );

        margin-right:
            calc(
                (100vw - min(100vw, var(--lv-container, 1200px)))
                / -2
            );

        padding:
            0
            20px
            8px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-padding-inline: 20px;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;
    }

    .lv-cases__grid::-webkit-scrollbar {
        display: none;
    }

    .lv-case {
        flex:
            0
            0
            min(86vw, 360px);

        width:
            min(86vw, 360px);

        max-width:
            min(86vw, 360px);

        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    /*
       Slider cards should feel like compact mobile cards,
       not full-page sections.
    */
    .lv-case__video-wrap,
    .lv-case__image-wrap {
        height:
            clamp(270px, 72vw, 320px);
    }

    .lv-case__content {
        padding:
            17px;
    }

    .lv-case h3 {
        font-size:
            clamp(21px, 5.8vw, 26px);
    }

    .lv-case__content > p {
        font-size:
            clamp(11.5px, 3vw, 13px);

        line-height: 1.48;
    }

    .lv-case__tags {
        margin-top: 14px;
    }

}

@media (max-width: 360px) {

    .lv-cases__grid {
        padding-left: 14px;
        padding-right: 14px;
        scroll-padding-inline: 14px;
    }

    .lv-case {
        flex-basis: 88vw;
        width: 88vw;
        max-width: 88vw;
    }

    .lv-case__video-wrap,
    .lv-case__image-wrap {
        height: 260px;
    }

}


/* =========================================
   V45 — MORE DEPTH / MORE LIFE
   Lightweight visual enrichment, no heavy libraries.
========================================= */

/* subtle ambient rails and glows across key sections */
.lv-services,
.lv-results,
.lv-cases {
    isolation: isolate;
}

.lv-services::after,
.lv-results::after,
.lv-cases::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 18%, rgba(117,91,255,.07), transparent 24%),
        radial-gradient(circle at 88% 72%, rgba(77,113,255,.055), transparent 24%),
        linear-gradient(120deg, transparent 0 38%, rgba(117,91,255,.035) 38.2% 38.4%, transparent 38.6% 100%);
}

.lv-results__grid,
.lv-cases__grid {
    position: relative;
}

.lv-results__grid::before,
.lv-cases__grid::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(117,91,255,.22), rgba(232,185,90,.12), transparent);
}


/* PROCESS */
.lv-process {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: clamp(74px, 7vw, 110px) 0;
    background:
        radial-gradient(circle at 78% 50%, rgba(67, 77, 255, .09), transparent 24%),
        linear-gradient(180deg, #03050d 0%, #050815 58%, #03050d 100%);
}

.lv-process::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(118, 92, 255, .34), transparent);
}

.lv-process__ambient {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.lv-process__orbit {
    position: absolute;
    border: 1px solid rgba(119, 94, 255, .13);
    border-radius: 50%;
}

.lv-process__orbit--one {
    width: 640px;
    height: 640px;
    right: -230px;
    top: 8%;
}

.lv-process__orbit--two {
    width: 420px;
    height: 420px;
    right: -60px;
    top: 24%;
    border-color: rgba(232, 185, 90, .08);
}

.lv-process__planet {
    position: absolute;
    right: 4%;
    top: 27%;
    width: clamp(130px, 15vw, 210px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle at 38% 34%, rgba(154,131,255,.38), rgba(34,42,107,.22) 35%, rgba(6,9,20,.2) 64%, transparent 70%);
    box-shadow: 0 0 70px rgba(86,72,255,.11);
}

.lv-process__layout {
    display: grid;
    grid-template-columns: minmax(260px, .9fr) minmax(0, 2fr);
    gap: clamp(50px, 6vw, 96px);
    align-items: center;
}

.lv-process__intro {
    position: relative;
    z-index: 2;
    max-width: 410px;
}

.lv-process__eyebrow,
.lv-final-cta__eyebrow {
    display: block;
    margin-bottom: 16px;
    color: rgba(195,203,229,.58);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.lv-process__intro h2 {
    margin: 0;
    color: #f7f8ff;
    font-size: clamp(36px, 4vw, 60px);
    line-height: .94;
    letter-spacing: -.05em;
    font-weight: 800;
}

.lv-process__intro h2 span {
    color: #9f7cff;
}

.lv-process__intro > p {
    margin: 22px 0 0;
    color: rgba(190,199,224,.66);
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.65;
}

.lv-process__button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding: 13px 16px;
    border: 1px solid rgba(127,101,255,.36);
    border-radius: 12px;
    color: #f7f8ff;
    background: rgba(89,65,210,.08);
    box-shadow: 0 0 20px rgba(102,78,255,.07);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-decoration: none;
}

.lv-process__flow {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.lv-process__flow::before {
    content: "";
    position: absolute;
    left: 5%;
    right: 5%;
    top: 50%;
    height: 2px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, transparent, #725cff 18%, #9f7cff 48%, #4a7dff 82%, transparent);
    box-shadow: 0 0 16px rgba(114,92,255,.44);
    opacity: .75;
}

.lv-process-step {
    position: relative;
    z-index: 2;
    min-height: 240px;
    padding: 22px 18px;
    border: 1px solid rgba(126,135,171,.14);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(10,14,29,.93), rgba(5,8,18,.96));
}

.lv-process-step:nth-child(2),
.lv-process-step:nth-child(4) {
    transform: translateY(34px);
}

.lv-process-step__number {
    display: block;
    margin-bottom: 28px;
    color: rgba(204,212,236,.46);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.04em;
}

.lv-process-step__icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid rgba(134,108,255,.28);
    border-radius: 12px;
    color: #a98bff;
    background: rgba(115,89,255,.07);
    box-shadow: 0 0 20px rgba(115,89,255,.08);
    font-size: 20px;
}

.lv-process-step h3 {
    margin: 0;
    color: #f7f8ff;
    font-size: clamp(18px, 1.6vw, 24px);
    line-height: 1.05;
    letter-spacing: -.03em;
}

.lv-process-step p {
    margin: 10px 0 0;
    color: rgba(190,199,224,.61);
    font-size: clamp(10.5px, .86vw, 12.5px);
    line-height: 1.5;
}


/* FINAL CTA */
.lv-final-cta {
    position: relative;
    min-height: clamp(460px, 52vw, 680px);
    display: grid;
    align-items: center;
    overflow: hidden;
    background: #040610;
}

.lv-final-cta__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
}

.lv-final-cta__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3,5,13,.86) 0%, rgba(3,5,13,.56) 48%, rgba(3,5,13,.40) 100%),
        linear-gradient(180deg, rgba(3,5,13,.26) 0%, rgba(3,5,13,.04) 48%, rgba(3,5,13,.76) 100%);
}

.lv-final-cta__inner {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.lv-final-cta h2 {
    margin: 0;
    color: #f8f9ff;
    font-size: clamp(42px, 5.6vw, 80px);
    line-height: .92;
    letter-spacing: -.055em;
    font-weight: 800;
}

.lv-final-cta h2 span {
    color: #aa8aff;
}

.lv-final-cta p {
    max-width: 38em;
    margin: 22px 0 0;
    color: rgba(232,236,249,.74);
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.6;
}

.lv-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
}

.lv-final-cta__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    color: #f7f8ff;
    background: rgba(3,5,13,.25);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-decoration: none;
}


@media (max-width: 980px) {
    .lv-process__layout {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .lv-process__intro {
        max-width: 560px;
    }

    .lv-process__flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lv-process__flow::before {
        top: 48%;
    }

    .lv-process-step:nth-child(2),
    .lv-process-step:nth-child(4) {
        transform: none;
    }
}

@media (max-width: 700px) {
    .lv-process {
        padding: 58px 0 70px;
    }

    .lv-process__intro h2 {
        max-width: 9em;
        font-size: clamp(33px, 9.4vw, 44px);
    }

    .lv-process__flow {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 4px 2px 10px;
    }

    .lv-process__flow::-webkit-scrollbar {
        display: none;
    }

    .lv-process__flow::before {
        display: none;
    }

    .lv-process-step {
        flex: 0 0 78vw;
        min-height: 220px;
        scroll-snap-align: start;
    }

    .lv-process__planet {
        width: 150px;
        right: -36px;
        top: 17%;
        opacity: .7;
    }

    .lv-final-cta {
        min-height: 560px;
    }

    .lv-final-cta__image {
        object-position: 63% center;
    }

    .lv-final-cta__overlay {
        background:
            linear-gradient(180deg, rgba(3,5,13,.44) 0%, rgba(3,5,13,.55) 48%, rgba(3,5,13,.88) 100%);
    }

    .lv-final-cta__inner {
        align-self: end;
        padding-bottom: 54px;
    }

    .lv-final-cta h2 {
        font-size: clamp(37px, 10vw, 50px);
    }

    .lv-final-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .lv-final-cta__secondary,
    .lv-final-cta .lv-btn {
        width: 100%;
    }
}


/* =========================================
   V46 — CONTINUOUS VISUAL UNIVERSE
   Backgrounds interligados + processo em escada
========================================= */

/* One continuous visual field for the entire homepage */
.lv-home {
    position: relative;
    isolation: isolate;

    background:
        radial-gradient(circle at 18% 10%, rgba(98, 72, 255, .08), transparent 22%),
        radial-gradient(circle at 82% 34%, rgba(70, 108, 255, .06), transparent 26%),
        radial-gradient(circle at 32% 68%, rgba(116, 78, 255, .05), transparent 24%),
        linear-gradient(
            180deg,
            #03050d 0%,
            #040713 22%,
            #050817 48%,
            #040713 72%,
            #03050d 100%
        );
}

.lv-home::before,
.lv-home::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -4;
    pointer-events: none;
}

.lv-home::before {
    background:
        linear-gradient(118deg, transparent 0 22%, rgba(115, 91, 255, .028) 22.2% 22.35%, transparent 22.55% 100%),
        linear-gradient(64deg, transparent 0 66%, rgba(70, 106, 255, .025) 66.2% 66.4%, transparent 66.6% 100%);
}

.lv-home::after {
    opacity: .42;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.14) 0 1px, transparent 1.2px);
    background-size: 72px 72px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}


/* Remove the feeling of isolated flat sections */
.lv-services,
.lv-results,
.lv-cases,
.lv-process,
.lv-final-cta {
    background-color: transparent !important;
}

.lv-services,
.lv-results,
.lv-cases,
.lv-process {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Shared atmospheric layer */
.lv-services::before,
.lv-results::before,
.lv-cases::before,
.lv-process::before {
    content: "";
    position: absolute;
    inset: -14% -8%;
    z-index: -3;
    pointer-events: none;
    opacity: .95;
}

.lv-services::before {
    background:
        radial-gradient(circle at 20% 35%, rgba(107, 78, 255, .14), transparent 25%),
        radial-gradient(circle at 82% 62%, rgba(38, 93, 255, .10), transparent 24%);
}

.lv-results::before {
    background:
        radial-gradient(circle at 78% 25%, rgba(115, 88, 255, .10), transparent 24%),
        radial-gradient(circle at 18% 76%, rgba(43, 107, 255, .06), transparent 28%);
}

.lv-cases::before {
    background:
        radial-gradient(circle at 24% 22%, rgba(93, 71, 255, .10), transparent 24%),
        radial-gradient(circle at 84% 64%, rgba(234, 184, 85, .045), transparent 22%);
}

.lv-process::before {
    background:
        radial-gradient(circle at 76% 40%, rgba(91, 78, 255, .15), transparent 26%),
        radial-gradient(circle at 22% 75%, rgba(37, 91, 255, .055), transparent 30%);
}

/* Continuous light rails crossing sections */
.lv-services::after,
.lv-results::after,
.lv-cases::after,
.lv-process::after {
    content: "";
    position: absolute;
    left: -10%;
    width: 120%;
    height: 180px;
    z-index: -2;
    pointer-events: none;
    opacity: .9;
}

.lv-services::after {
    bottom: -86px;
    border-top: 1px solid rgba(111, 86, 255, .22);
    border-radius: 50%;
    box-shadow: 0 -12px 40px rgba(98, 74, 255, .04);
}

.lv-results::after {
    top: -82px;
    border-bottom: 1px solid rgba(79, 92, 255, .16);
    border-radius: 50%;
}

.lv-cases::after {
    bottom: -94px;
    border-top: 1px solid rgba(120, 92, 255, .19);
    border-radius: 50%;
}

.lv-process::after {
    top: -88px;
    border-bottom: 1px solid rgba(119, 91, 255, .18);
    border-radius: 50%;
}


/* Subtle cosmic texture inside sections */
.lv-services .lv-container,
.lv-results .lv-container,
.lv-cases .lv-container,
.lv-process .lv-container {
    position: relative;
    z-index: 2;
}


/* -----------------------------------------
   PROCESS — STAIRCASE / NO CARDS
----------------------------------------- */

.lv-process {
    padding:
        clamp(82px, 7.5vw, 118px)
        0
        clamp(88px, 8vw, 126px);
}

.lv-process__scene {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.lv-process__beam {
    position: absolute;
    height: 1px;
    transform-origin: left center;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(92, 71, 255, .85),
            rgba(150, 124, 255, .52),
            transparent
        );
    box-shadow:
        0 0 10px rgba(105, 84, 255, .46),
        0 0 28px rgba(105, 84, 255, .24);
}

.lv-process__beam--a {
    width: 68%;
    left: 31%;
    top: 53%;
    transform: rotate(-8deg);
}

.lv-process__beam--b {
    width: 52%;
    left: 42%;
    top: 63%;
    transform: rotate(5deg);
    opacity: .52;
}

.lv-process__planet {
    position: absolute;
    right: -4%;
    top: 18%;

    width:
        clamp(180px, 24vw, 360px);

    aspect-ratio: 1;

    border-radius: 50%;

    background:
        radial-gradient(circle at 36% 32%, rgba(171, 147, 255, .26), rgba(57, 68, 145, .16) 30%, rgba(11, 16, 39, .36) 58%, transparent 70%);

    box-shadow:
        0 0 90px rgba(77, 73, 255, .12);

    opacity: .82;
}

.lv-process__planet::before,
.lv-process__planet::after {
    content: "";
    position: absolute;
    inset: 14% -18%;
    border: 1px solid rgba(114, 93, 255, .18);
    border-radius: 50%;
    transform: rotate(-18deg);
}

.lv-process__planet::after {
    inset: 25% -9%;
    transform: rotate(14deg);
    opacity: .58;
}

.lv-process__dust {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(171, 148, 255, .82);
    box-shadow:
        0 0 8px rgba(154, 129, 255, .8),
        0 0 18px rgba(154, 129, 255, .35);
}

.lv-process__dust--1 {
    right: 42%;
    top: 30%;
}

.lv-process__dust--2 {
    right: 22%;
    top: 68%;
    width: 3px;
    height: 3px;
}

.lv-process__dust--3 {
    right: 8%;
    top: 44%;
    width: 4px;
    height: 4px;
}

.lv-process__layout {
    display: grid;
    grid-template-columns:
        minmax(270px, .85fr)
        minmax(0, 2.15fr);

    gap:
        clamp(48px, 6vw, 92px);

    align-items: center;
}

.lv-process__intro {
    max-width: 420px;
}

.lv-process__intro h2 {
    margin: 0;
    color: #f8f9ff;
    font-size:
        clamp(38px, 4.2vw, 64px);
    line-height: .93;
    letter-spacing: -.05em;
    font-weight: 800;
}

.lv-process__intro h2 span {
    color: #9f7cff;
}

.lv-process__intro > p {
    margin: 22px 0 0;
    color: rgba(190, 199, 224, .66);
    font-size:
        clamp(12px, 1vw, 14px);
    line-height: 1.64;
}

.lv-process__button {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 26px;
    padding: 13px 16px;

    border:
        1px solid rgba(130, 104, 255, .34);

    border-radius: 12px;

    color: #f7f8ff;

    background:
        rgba(88, 68, 202, .07);

    box-shadow:
        0 0 20px rgba(104, 83, 255, .06);

    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-decoration: none;
}


/* Staircase canvas */
.lv-process__staircase {
    position: relative;
    min-height:
        clamp(390px, 34vw, 520px);
}

.lv-process__line {
    position: absolute;
    left: 5%;
    right: 1%;
    top: 46%;
    height: 3px;

    transform:
        rotate(-7deg);

    transform-origin:
        left center;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            rgba(87, 70, 255, .02),
            rgba(90, 71, 255, .72) 16%,
            rgba(136, 112, 255, .96) 52%,
            rgba(64, 117, 255, .76) 78%,
            rgba(64, 117, 255, .02)
        );

    box-shadow:
        0 0 9px rgba(111, 89, 255, .75),
        0 0 24px rgba(111, 89, 255, .38),
        0 0 54px rgba(73, 91, 255, .16);
}

.lv-process-step {
    position: absolute;

    width:
        min(220px, 23%);

    min-height: 0;

    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;

    box-shadow: none;
}

.lv-process-step--1 {
    left: 2%;
    top: 8%;
}

.lv-process-step--2 {
    left: 28%;
    top: 26%;
}

.lv-process-step--3 {
    left: 54%;
    top: 46%;
}

.lv-process-step--4 {
    right: 0;
    top: 66%;
}

.lv-process-step__number {
    display: block;

    margin-bottom: 12px;

    color: rgba(190, 199, 224, .26);

    font-size:
        clamp(28px, 3vw, 46px);

    font-weight: 700;
    line-height: 1;

    letter-spacing: -.06em;

    text-shadow:
        0 0 18px rgba(122, 98, 255, .14);
}

.lv-process-step__icon {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    margin-bottom: 15px;

    border:
        1px solid rgba(126, 102, 255, .34);

    border-radius: 11px;

    color: #b093ff;

    background:
        radial-gradient(circle, rgba(111, 84, 255, .16), rgba(111, 84, 255, .03));

    box-shadow:
        0 0 18px rgba(110, 88, 255, .18);

    font-size: 18px;
}

.lv-process-step h3 {
    margin: 0;

    color: #f8f9ff;

    font-size:
        clamp(19px, 1.7vw, 27px);

    line-height: 1.02;

    letter-spacing: -.035em;
}

.lv-process-step p {
    max-width: 17em;

    margin: 9px 0 0;

    color:
        rgba(190, 199, 224, .62);

    font-size:
        clamp(10.5px, .85vw, 12.5px);

    line-height: 1.52;
}


/* -----------------------------------------
   SERVICES / RESULTS / CASES — MORE LIFE
----------------------------------------- */

.lv-services__cards,
.lv-results__grid,
.lv-cases__grid {
    filter:
        drop-shadow(0 20px 34px rgba(0,0,0,.16));
}

.lv-results__grid::after {
    content: "";
    position: absolute;
    inset: 16% 6% auto 6%;
    height: 1px;
    background:
        linear-gradient(90deg, transparent, rgba(116, 91, 255, .18), rgba(232, 185, 90, .10), transparent);
    pointer-events: none;
}

.lv-cases__header::after {
    content: "";
    position: absolute;
    right: -2%;
    top: 12%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(117, 91, 255, .08), transparent 68%);
    pointer-events: none;
}


/* -----------------------------------------
   MOBILE
----------------------------------------- */

@media (max-width: 980px) {

    .lv-process__layout {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .lv-process__intro {
        max-width: 560px;
    }

    .lv-process__staircase {
        min-height: 500px;
    }

}

@media (max-width: 700px) {

    .lv-home::after {
        opacity: .26;
        background-size: 96px 96px;
    }

    .lv-process {
        padding: 56px 0 68px;
    }

    .lv-process__intro h2 {
        max-width: 9em;

        font-size:
            clamp(33px, 9.4vw, 44px);
    }

    .lv-process__staircase {
        min-height: 470px;
        margin-top: 4px;
    }

    .lv-process__line {
        left: 7%;
        right: 7%;
        top: 48%;
        transform: rotate(17deg);
        opacity: .72;
    }

    .lv-process-step {
        width: 46%;
    }

    .lv-process-step--1 {
        left: 2%;
        top: 2%;
    }

    .lv-process-step--2 {
        right: 0;
        left: auto;
        top: 24%;
    }

    .lv-process-step--3 {
        left: 2%;
        top: 50%;
    }

    .lv-process-step--4 {
        right: 0;
        top: 72%;
    }

    .lv-process-step__number {
        font-size:
            clamp(24px, 8vw, 34px);
    }

    .lv-process-step h3 {
        font-size:
            clamp(18px, 5vw, 23px);
    }

    .lv-process-step p {
        font-size:
            clamp(10.5px, 2.8vw, 12px);
    }

    .lv-process__planet {
        width: 150px;
        right: -58px;
        top: 30%;
        opacity: .58;
    }

    .lv-process__beam--a {
        width: 90%;
        left: 12%;
        top: 56%;
    }

    .lv-process__beam--b {
        width: 74%;
        left: 24%;
        top: 68%;
    }

}


/* =========================================================
   V48 — PROCESSO CINEMATOGRÁFICO
   Escada real + background vivo + rota luminosa
========================================================= */

.lv-process-v48 {
    position: relative;
    isolation: isolate;
    min-height: 610px;
    padding: 72px 0 68px;
    overflow: hidden;
    background: #03050d;
}

.lv-process-v48__bg {
    position: absolute;
    inset: 0;
    z-index: -5;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: 58% center;

    opacity: .68;
}

.lv-process-v48__veil {
    position: absolute;
    inset: 0;
    z-index: -4;

    background:
        linear-gradient(
            90deg,
            rgba(3, 5, 13, .98) 0%,
            rgba(3, 5, 13, .92) 25%,
            rgba(3, 5, 13, .58) 52%,
            rgba(3, 5, 13, .30) 77%,
            rgba(3, 5, 13, .56) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 5, 13, .72) 0%,
            rgba(3, 5, 13, .06) 32%,
            rgba(3, 5, 13, .12) 68%,
            rgba(3, 5, 13, .88) 100%
        );
}

.lv-process-v48__ambient {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
}

.lv-process-v48__orb {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(125, 101, 255, .16);
}

.lv-process-v48__orb--1 {
    width: 280px;
    height: 280px;
    right: 5%;
    top: 11%;

    box-shadow:
        0 0 46px rgba(97, 83, 255, .08),
        inset 0 0 36px rgba(97, 83, 255, .05);
}

.lv-process-v48__orb--2 {
    width: 190px;
    height: 190px;
    right: 8%;
    top: 18%;

    border-color: rgba(226, 187, 92, .10);

    transform: rotate(18deg);
}

.lv-process-v48__spark {
    position: absolute;
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #b59eff;

    box-shadow:
        0 0 8px rgba(180, 157, 255, .9),
        0 0 18px rgba(105, 87, 255, .42);
}

.lv-process-v48__spark--1 {
    left: 44%;
    top: 28%;
}

.lv-process-v48__spark--2 {
    left: 67%;
    top: 63%;
    width: 3px;
    height: 3px;
}

.lv-process-v48__spark--3 {
    right: 10%;
    top: 47%;
}

.lv-process-v48__layout {
    display: grid;

    grid-template-columns:
        minmax(270px, .78fr)
        minmax(0, 2.22fr);

    gap:
        clamp(38px, 5vw, 76px);

    align-items: center;
}

.lv-process-v48__intro {
    position: relative;
    z-index: 3;

    max-width: 340px;
}

.lv-process-v48__eyebrow {
    display: inline-block;

    margin-bottom: 16px;

    color:
        rgba(198, 204, 235, .64);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}

.lv-process-v48__intro h2 {
    margin: 0;

    color: #f8f9ff;

    font-size:
        clamp(34px, 3.7vw, 56px);

    line-height: .94;
    letter-spacing: -.048em;

    font-weight: 800;
}

.lv-process-v48__intro h2 span {
    color: #a487ff;
}

.lv-process-v48__intro p {
    max-width: 29em;

    margin: 20px 0 0;

    color:
        rgba(201, 208, 234, .68);

    font-size:
        clamp(12px, .95vw, 14px);

    line-height: 1.62;
}

.lv-process-v48__button {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 24px;

    padding:
        12px
        16px;

    border:
        1px solid rgba(123, 99, 255, .42);

    border-radius: 11px;

    color: #f8f9ff;

    background:
        linear-gradient(
            90deg,
            rgba(81, 58, 211, .16),
            rgba(60, 82, 225, .11)
        );

    box-shadow:
        0 0 18px rgba(107, 84, 255, .13),
        inset 0 0 14px rgba(107, 84, 255, .05);

    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;

    text-decoration: none;
}


/* Journey / staircase */

.lv-process-v48__journey {
    position: relative;

    min-height:
        clamp(430px, 35vw, 510px);
}

.lv-process-v48__journey-label {
    position: absolute;

    right: 7%;
    top: 3%;

    color:
        rgba(194, 201, 228, .45);

    font-size: 9px;
    font-weight: 700;
    line-height: 1.45;

    letter-spacing: .14em;
}

.lv-process-v48__route {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    overflow: visible;
}

.lv-process-v48__route-halo,
.lv-process-v48__route-core,
.lv-process-v48__route-pulse {
    fill: none;
    stroke-linecap: round;
}

.lv-process-v48__route-halo {
    stroke: rgba(116, 89, 255, .50);
    stroke-width: 14;

    filter: url(#lv-v48-glow);

    opacity: .74;
}

.lv-process-v48__route-core {
    stroke:
        url(#lv-v48-route-gradient);

    stroke-width: 2.6;

    filter: url(#lv-v48-glow);

    opacity: .98;
}

.lv-process-v48__route-pulse {
    stroke: rgba(230, 223, 255, .96);
    stroke-width: 3;

    stroke-dasharray:
        12
        92;

    animation:
        lv-process-route-pulse
        5.8s
        linear
        infinite;

    filter: url(#lv-v48-glow);
}

@keyframes lv-process-route-pulse {
    to {
        stroke-dashoffset: -208;
    }
}


/* Steps — NO cards */

.lv-process-v48__step {
    position: absolute;

    width:
        min(205px, 23%);

    padding: 0;

    color: #f8f9ff;

    text-shadow:
        0 2px 20px rgba(0,0,0,.54);
}

.lv-process-v48__step::after {
    content: "";

    position: absolute;

    left: 17px;
    top: 45px;

    width: 1px;
    height: 24px;

    background:
        linear-gradient(
            180deg,
            rgba(161, 138, 255, .66),
            transparent
        );

    box-shadow:
        0 0 8px rgba(118, 94, 255, .34);
}

.lv-process-v48__step--1 {
    left: 2%;
    top: 5%;
}

.lv-process-v48__step--2 {
    left: 28%;
    top: 20%;
}

.lv-process-v48__step--3 {
    left: 54%;
    top: 42%;
}

.lv-process-v48__step--4 {
    right: 0;
    top: 61%;
}

.lv-process-v48__number {
    display: block;

    margin-bottom: 12px;

    color:
        rgba(215, 218, 255, .86);

    font-size:
        clamp(26px, 2.8vw, 40px);

    font-weight: 700;
    line-height: 1;

    letter-spacing: -.05em;

    text-shadow:
        0 0 16px rgba(111, 91, 255, .24);
}

.lv-process-v48__icon {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    margin-bottom: 14px;

    border:
        1px solid rgba(135, 111, 255, .34);

    border-radius: 10px;

    color: #b59dff;

    background:
        rgba(14, 17, 40, .54);

    box-shadow:
        0 0 18px rgba(111, 91, 255, .16),
        inset 0 0 14px rgba(111, 91, 255, .06);

    font-size: 17px;
}

.lv-process-v48__step h3 {
    margin: 0;

    color: #ffffff;

    font-size:
        clamp(18px, 1.55vw, 24px);

    line-height: 1.04;

    letter-spacing: -.03em;
}

.lv-process-v48__step p {
    max-width: 17em;

    margin: 8px 0 0;

    color:
        rgba(207, 213, 237, .69);

    font-size:
        clamp(10.5px, .80vw, 12px);

    line-height: 1.48;
}


/* Bottom atmospheric bridge into next section */

.lv-process-v48::after {
    content: "";

    position: absolute;

    left: -6%;
    right: -6%;
    bottom: -112px;

    height: 170px;

    border-top:
        1px solid rgba(114, 91, 255, .28);

    border-radius:
        50%
        50%
        0
        0;

    box-shadow:
        0 -12px 40px rgba(104, 80, 255, .07);

    pointer-events: none;
}


/* Tablet */

@media (max-width: 1000px) {

    .lv-process-v48 {
        padding:
            64px
            0
            70px;
    }

    .lv-process-v48__layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .lv-process-v48__intro {
        max-width: 560px;
    }

    .lv-process-v48__journey {
        min-height: 470px;
    }

}


/* Mobile — keep the staircase, don't turn it into cards */

@media (max-width: 700px) {

    .lv-process-v48 {
        min-height: 0;

        padding:
            54px
            0
            68px;
    }

    .lv-process-v48__bg {
        object-position: 67% center;
        opacity: .48;
    }

    .lv-process-v48__veil {
        background:
            linear-gradient(
                180deg,
                rgba(3, 5, 13, .92) 0%,
                rgba(3, 5, 13, .63) 27%,
                rgba(3, 5, 13, .48) 62%,
                rgba(3, 5, 13, .90) 100%
            );
    }

    .lv-process-v48__intro h2 {
        max-width: 8.5em;

        font-size:
            clamp(32px, 9vw, 42px);
    }

    .lv-process-v48__journey {
        min-height: 610px;
        margin-top: 8px;
    }

    .lv-process-v48__journey-label {
        top: 0;
        right: 0;

        font-size: 7px;
    }

    .lv-process-v48__step {
        width: 45%;
    }

    .lv-process-v48__step--1 {
        left: 1%;
        top: 6%;
    }

    .lv-process-v48__step--2 {
        left: 50%;
        top: 24%;
    }

    .lv-process-v48__step--3 {
        left: 4%;
        top: 49%;
    }

    .lv-process-v48__step--4 {
        right: 0;
        top: 70%;
    }

    .lv-process-v48__route {
        transform:
            rotate(17deg)
            scale(.98);

        transform-origin:
            center;
    }

    .lv-process-v48__route-halo {
        stroke-width: 10;
    }

    .lv-process-v48__step h3 {
        font-size:
            clamp(17px, 4.8vw, 22px);
    }

    .lv-process-v48__step p {
        font-size:
            clamp(10px, 2.7vw, 11.5px);
    }

    .lv-process-v48__number {
        font-size:
            clamp(24px, 7vw, 32px);
    }

    .lv-process-v48__orb--1 {
        width: 170px;
        height: 170px;
        right: -54px;
        top: 27%;
    }

    .lv-process-v48__orb--2 {
        display: none;
    }

}


@media (prefers-reduced-motion: reduce) {

    .lv-process-v48__route-pulse {
        animation: none;
    }

}


/* =========================================================
   V49 — PROCESSO MOBILE DEDICADO
   Timeline espacial vertical, sem cards e sem esmagar desktop
========================================================= */

@media (max-width: 700px) {

    .lv-process-v48 {
        min-height: 0;

        padding:
            52px
            0
            66px;

        overflow: hidden;
    }

    /* Keep the artwork alive on mobile */
    .lv-process-v48__bg {
        opacity: .56;

        object-position:
            70%
            center;

        transform:
            scale(1.08);
    }

    .lv-process-v48__veil {
        background:
            linear-gradient(
                180deg,
                rgba(3, 5, 13, .94) 0%,
                rgba(3, 5, 13, .72) 23%,
                rgba(3, 5, 13, .45) 49%,
                rgba(3, 5, 13, .52) 72%,
                rgba(3, 5, 13, .91) 100%
            ),
            linear-gradient(
                90deg,
                rgba(3, 5, 13, .78) 0%,
                rgba(3, 5, 13, .30) 54%,
                rgba(3, 5, 13, .48) 100%
            );
    }

    .lv-process-v48__layout {
        display: block;
    }

    .lv-process-v48__intro {
        max-width: none;

        padding-right: 8%;
    }

    .lv-process-v48__eyebrow {
        margin-bottom: 13px;

        font-size: 9px;
        letter-spacing: .16em;
    }

    .lv-process-v48__intro h2 {
        max-width: 8.2em;

        font-size:
            clamp(34px, 9.7vw, 43px);

        line-height: .93;
    }

    .lv-process-v48__intro p {
        max-width: 30em;

        margin-top: 17px;

        font-size:
            clamp(12px, 3.15vw, 13.5px);

        line-height: 1.58;
    }

    .lv-process-v48__button {
        margin-top: 20px;
    }


    /* -----------------------------------------------------
       MOBILE JOURNEY
       One continuous illuminated vertical staircase.
    ----------------------------------------------------- */

    .lv-process-v48__journey {
        position: relative;

        min-height: 690px;

        margin-top: 34px;

        overflow: visible;
    }

    .lv-process-v48__journey-label {
        top: -7px;
        right: 1%;

        max-width: 15em;

        color:
            rgba(203, 209, 235, .43);

        font-size: 7px;
        line-height: 1.45;
        text-align: right;
        letter-spacing: .12em;
    }

    /*
       The original desktop SVG remains the light source,
       but on mobile it becomes a tall diagonal route.
    */
    .lv-process-v48__route {
        position: absolute;

        left: 50%;
        top: 18px;

        width: 340px;
        height: 650px;

        transform:
            translateX(-50%)
            rotate(79deg)
            scaleX(1.68)
            scaleY(.78);

        transform-origin:
            center center;

        opacity: .82;
    }

    .lv-process-v48__route-halo {
        stroke-width: 14;

        opacity: .66;
    }

    .lv-process-v48__route-core {
        stroke-width: 2.4;
    }

    .lv-process-v48__route-pulse {
        stroke-width: 2.8;

        stroke-dasharray:
            10
            72;

        animation-duration: 6.4s;
    }


    /* -----------------------------------------------------
       STEPS
       Zig-zag left/right with enough reading space.
    ----------------------------------------------------- */

    .lv-process-v48__step {
        position: absolute;

        width: 44%;
        max-width: none;

        padding: 0;

        text-shadow:
            0 3px 22px rgba(0,0,0,.66);
    }

    .lv-process-v48__step::before {
        content: "";

        position: absolute;

        top: 18px;

        width: 34px;
        height: 1px;

        background:
            linear-gradient(
                90deg,
                rgba(167, 143, 255, .72),
                transparent
            );

        box-shadow:
            0 0 8px rgba(117, 93, 255, .42);
    }

    .lv-process-v48__step::after {
        top: 34px;

        height: 20px;
    }


    /* Left */
    .lv-process-v48__step--1 {
        left: 2%;
        top: 56px;

        text-align: left;
    }

    .lv-process-v48__step--1::before {
        left: calc(100% + 4px);
    }


    /* Right */
    .lv-process-v48__step--2 {
        left: auto;
        right: 0;
        top: 212px;

        text-align: left;
    }

    .lv-process-v48__step--2::before {
        right: calc(100% + 4px);

        transform:
            scaleX(-1);
    }


    /* Left */
    .lv-process-v48__step--3 {
        left: 3%;
        top: 390px;

        text-align: left;
    }

    .lv-process-v48__step--3::before {
        left: calc(100% + 4px);
    }


    /* Right */
    .lv-process-v48__step--4 {
        right: 0;
        top: 548px;

        text-align: left;
    }

    .lv-process-v48__step--4::before {
        right: calc(100% + 4px);

        transform:
            scaleX(-1);
    }


    .lv-process-v48__number {
        margin-bottom: 9px;

        font-size:
            clamp(27px, 7.5vw, 34px);
    }

    .lv-process-v48__icon {
        width: 34px;
        height: 34px;

        margin-bottom: 10px;

        border-radius: 10px;

        font-size: 16px;
    }

    .lv-process-v48__step h3 {
        font-size:
            clamp(20px, 5.35vw, 24px);

        line-height: 1.02;
    }

    .lv-process-v48__step p {
        max-width: 15.5em;

        margin-top: 7px;

        font-size:
            clamp(11px, 2.85vw, 12.5px);

        line-height: 1.46;
    }


    /* -----------------------------------------------------
       PLANET + AMBIENCE
    ----------------------------------------------------- */

    .lv-process-v48__orb--1 {
        display: block;

        width: 170px;
        height: 170px;

        right: -58px;
        top: 44%;

        opacity: .62;

        box-shadow:
            0 0 50px rgba(96, 82, 255, .15),
            inset 0 0 38px rgba(96, 82, 255, .08);
    }

    .lv-process-v48__orb--2 {
        display: block;

        width: 114px;
        height: 114px;

        right: -16px;
        top: 48%;

        opacity: .38;
    }

    .lv-process-v48__spark--1 {
        left: 16%;
        top: 39%;
    }

    .lv-process-v48__spark--2 {
        left: auto;
        right: 18%;
        top: 67%;
    }

    .lv-process-v48__spark--3 {
        right: 9%;
        top: 31%;
    }

    /*
       Extra light rail behind the route.
       CSS only, no image request and almost zero cost.
    */
    .lv-process-v48__journey::before {
        content: "";

        position: absolute;

        left: 50%;
        top: 42px;

        width: 1px;
        height: 570px;

        transform:
            translateX(-50%)
            rotate(-8deg);

        background:
            linear-gradient(
                180deg,
                transparent 0%,
                rgba(117, 92, 255, .20) 15%,
                rgba(156, 132, 255, .58) 50%,
                rgba(74, 119, 255, .24) 84%,
                transparent 100%
            );

        box-shadow:
            0 0 14px rgba(113, 90, 255, .30),
            0 0 34px rgba(76, 96, 255, .13);

        pointer-events: none;
    }

    .lv-process-v48::after {
        bottom: -122px;

        opacity: .72;
    }

}


/* Very small phones */
@media (max-width: 360px) {

    .lv-process-v48 {
        padding-top: 48px;
    }

    .lv-process-v48__intro {
        padding-right: 0;
    }

    .lv-process-v48__intro h2 {
        font-size:
            clamp(31px, 9.5vw, 35px);
    }

    .lv-process-v48__journey {
        min-height: 650px;
    }

    .lv-process-v48__route {
        width: 310px;
        height: 615px;

        transform:
            translateX(-50%)
            rotate(79deg)
            scaleX(1.55)
            scaleY(.76);
    }

    .lv-process-v48__step {
        width: 45%;
    }

    .lv-process-v48__step--1 {
        top: 52px;
    }

    .lv-process-v48__step--2 {
        top: 197px;
    }

    .lv-process-v48__step--3 {
        top: 363px;
    }

    .lv-process-v48__step--4 {
        top: 520px;
    }

    .lv-process-v48__step h3 {
        font-size: 19px;
    }

    .lv-process-v48__step p {
        font-size: 10.7px;
    }

}


/* Landscape phones: keep it compact instead of stretching vertically */
@media (orientation: landscape) and (max-width: 950px) and (max-height: 520px) {

    .lv-process-v48 {
        padding:
            44px
            0
            54px;
    }

    .lv-process-v48__layout {
        display: grid;

        grid-template-columns:
            minmax(250px, .78fr)
            minmax(0, 1.7fr);

        gap: 26px;
    }

    .lv-process-v48__intro h2 {
        font-size:
            clamp(31px, 5vw, 40px);
    }

    .lv-process-v48__intro p {
        font-size: 11.5px;
    }

    .lv-process-v48__journey {
        min-height: 360px;

        margin-top: 0;
    }

    .lv-process-v48__journey-label {
        font-size: 6.5px;
    }

    .lv-process-v48__route {
        left: 50%;
        top: -28px;

        width: 700px;
        height: 430px;

        transform:
            translateX(-50%)
            rotate(4deg)
            scale(1);

        opacity: .72;
    }

    .lv-process-v48__journey::before {
        display: none;
    }

    .lv-process-v48__step {
        width: 22%;
    }

    .lv-process-v48__step--1 {
        left: 1%;
        top: 36px;
    }

    .lv-process-v48__step--2 {
        left: 26%;
        right: auto;
        top: 96px;
    }

    .lv-process-v48__step--3 {
        left: 52%;
        top: 164px;
    }

    .lv-process-v48__step--4 {
        right: 0;
        top: 224px;
    }

    .lv-process-v48__step::before {
        display: none;
    }

    .lv-process-v48__step h3 {
        font-size:
            clamp(16px, 2.3vw, 20px);
    }

    .lv-process-v48__step p {
        font-size:
            clamp(9px, 1.25vw, 10.5px);
    }

}


/* =========================================================
   V50 — PROCESSO + CTA COMO UMA CENA CONTÍNUA
   Reproduz a linguagem do mockup aprovado.
========================================================= */

.lv-journey {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    min-height: 1380px;

    background: #02040c;
}

.lv-journey__bg {
    position: absolute;
    inset: 0;
    z-index: -5;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center top;

    opacity: .84;
}

.lv-journey__veil {
    position: absolute;
    inset: 0;
    z-index: -4;

    background:
        linear-gradient(
            90deg,
            rgba(2,4,12,.96) 0%,
            rgba(2,4,12,.82) 26%,
            rgba(2,4,12,.34) 54%,
            rgba(2,4,12,.16) 78%,
            rgba(2,4,12,.38) 100%
        ),
        linear-gradient(
            180deg,
            rgba(2,4,12,.72) 0%,
            rgba(2,4,12,.06) 25%,
            rgba(2,4,12,.10) 64%,
            rgba(2,4,12,.72) 100%
        );
}


/* ---------------------------
   PROCESS HEADER
--------------------------- */

.lv-journey__process {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(280px, .74fr)
        minmax(0, 2.26fr);

    gap:
        clamp(38px, 5vw, 74px);

    padding-top:
        clamp(72px, 7vw, 108px);
}

.lv-journey__intro {
    max-width: 350px;

    padding-top: 12px;
}

.lv-journey__eyebrow {
    display: inline-block;

    margin-bottom: 18px;

    color:
        rgba(204,211,240,.62);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
}

.lv-journey__intro h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(40px, 4.5vw, 68px);

    line-height: .93;
    letter-spacing: -.052em;

    font-weight: 800;
}

.lv-journey__intro h2 span {
    color: #a88cff;
}

.lv-journey__intro > p {
    max-width: 28em;

    margin:
        22px
        0
        0;

    color:
        rgba(215,221,243,.72);

    font-size:
        clamp(12px, 1vw, 14px);

    line-height: 1.64;
}

.lv-journey__method {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 25px;

    padding:
        12px
        16px;

    border:
        1px solid rgba(130,105,255,.44);

    border-radius: 11px;

    color: #fff;

    background:
        rgba(64,48,171,.12);

    box-shadow:
        0 0 22px rgba(103,81,255,.13);

    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;

    text-decoration: none;
}


/* ---------------------------
   ROADMAP
--------------------------- */

.lv-journey__roadmap {
    position: relative;

    min-height:
        clamp(620px, 50vw, 760px);
}

.lv-journey__microcopy {
    position: absolute;

    top: 0;
    right: 4%;

    color:
        rgba(204,211,240,.46);

    font-size: 9px;
    font-weight: 700;
    line-height: 1.45;

    letter-spacing: .13em;
}

.lv-journey__path {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    overflow: visible;
}

.lv-journey__path-halo,
.lv-journey__path-core,
.lv-journey__path-runner {
    fill: none;
    stroke-linecap: round;
}

.lv-journey__path-halo {
    stroke:
        rgba(105,80,255,.50);

    stroke-width: 19;

    filter:
        url(#lv50Glow);

    opacity: .82;
}

.lv-journey__path-core {
    stroke:
        url(#lv50Gradient);

    stroke-width: 3.5;

    filter:
        url(#lv50Glow);
}

.lv-journey__path-runner {
    stroke:
        rgba(235,229,255,.98);

    stroke-width: 3;

    stroke-dasharray:
        9
        76;

    filter:
        url(#lv50Glow);

    animation:
        lv50-road-runner
        6s
        linear
        infinite;
}

@keyframes lv50-road-runner {
    to {
        stroke-dashoffset: -170;
    }
}


/* ---------------------------
   STEPS — NOT CARDS
--------------------------- */

.lv-journey-step {
    position: absolute;

    width:
        min(220px, 24%);

    color: #fff;

    text-shadow:
        0 3px 24px rgba(0,0,0,.68);
}

.lv-journey-step--1 {
    left: 1%;
    top: 8%;
}

.lv-journey-step--2 {
    left: 31%;
    top: 28%;
}

.lv-journey-step--3 {
    left: 57%;
    top: 51%;
}

.lv-journey-step--4 {
    right: 0;
    top: 72%;
}

.lv-journey-step__number {
    display: inline-block;

    margin-bottom: 13px;

    color: #aa92ff;

    font-size:
        clamp(27px, 2.8vw, 42px);

    font-weight: 700;
    line-height: 1;

    letter-spacing: -.05em;

    text-shadow:
        0 0 18px rgba(117,92,255,.34);
}

.lv-journey-step__node {
    width: 42px;
    height: 42px;

    display: inline-grid;
    place-items: center;

    margin:
        0
        10px
        13px
        0;

    vertical-align: middle;

    border:
        1px solid rgba(139,115,255,.42);

    border-radius: 12px;

    color: #b79fff;

    background:
        rgba(10,13,34,.66);

    box-shadow:
        0 0 22px rgba(111,87,255,.20),
        inset 0 0 14px rgba(111,87,255,.06);

    font-size: 18px;
}

.lv-journey-step h3 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(20px, 1.7vw, 27px);

    line-height: 1.03;
    letter-spacing: -.035em;
}

.lv-journey-step p {
    max-width: 16.5em;

    margin:
        9px
        0
        0;

    color:
        rgba(215,221,242,.72);

    font-size:
        clamp(10.5px, .84vw, 12.5px);

    line-height: 1.52;
}


/* ---------------------------
   CTA — SAME SCENE, NO BREAK
--------------------------- */

.lv-journey__cta {
    position: absolute;

    left: 50%;
    bottom:
        clamp(82px, 7vw, 110px);

    transform:
        translateX(-50%);

    z-index: 3;

    width: 100%;

    max-width:
        var(--lv-container, 1200px);

    padding-right: 38%;
}

.lv-journey__cta::before {
    content: "";

    position: absolute;

    left: 0;
    top: -52px;

    width: 68%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(111,88,255,.62),
            rgba(111,88,255,.10),
            transparent
        );

    box-shadow:
        0 0 18px rgba(105,83,255,.19);
}

.lv-journey__cta-eyebrow {
    display: inline-block;

    margin-bottom: 16px;

    color:
        rgba(208,214,239,.62);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.lv-journey__cta h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(42px, 5vw, 74px);

    line-height: .93;
    letter-spacing: -.052em;

    font-weight: 800;
}

.lv-journey__cta h2 span {
    color: #aa8cff;
}

.lv-journey__cta > p {
    max-width: 38em;

    margin:
        20px
        0
        0;

    color:
        rgba(226,231,247,.76);

    font-size:
        clamp(13px, 1.05vw, 15px);

    line-height: 1.6;
}

.lv-journey__cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 26px;
}

.lv-journey__cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding:
        0
        18px;

    border:
        1px solid rgba(255,255,255,.18);

    border-radius: 11px;

    color: #fff;

    background:
        rgba(5,8,20,.30);

    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;

    text-decoration: none;
}


/* =========================================================
   MOBILE — reproduce the approved mockup vertically
========================================================= */

@media (max-width: 700px) {

    .lv-journey {
        min-height:
            1480px;
    }

    .lv-journey__bg {
        object-position:
            66%
            top;

        opacity: .86;
    }

    .lv-journey__veil {
        background:
            linear-gradient(
                180deg,
                rgba(2,4,12,.88) 0%,
                rgba(2,4,12,.50) 16%,
                rgba(2,4,12,.30) 48%,
                rgba(2,4,12,.42) 71%,
                rgba(2,4,12,.84) 100%
            );
    }

    .lv-journey__process {
        display: block;

        padding-top:
            52px;
    }

    .lv-journey__intro {
        max-width:
            330px;
    }

    .lv-journey__intro h2 {
        font-size:
            clamp(38px, 10vw, 48px);
    }

    .lv-journey__intro > p {
        font-size:
            clamp(12px, 3.2vw, 14px);

        line-height: 1.58;
    }


    /* roadmap begins immediately — no huge dead space */
    .lv-journey__roadmap {
        min-height:
            820px;

        margin-top:
            32px;
    }

    .lv-journey__microcopy {
        right: 0;
        top: 5px;

        font-size: 7px;
    }

    .lv-journey__path {
        left: 50%;
        top: 44px;

        width: 440px;
        height: 740px;

        transform:
            translateX(-50%);

        overflow: visible;
    }

    .lv-journey__path-halo {
        stroke-width: 17;
    }

    .lv-journey__path-core {
        stroke-width: 3;
    }

    .lv-journey-step {
        width:
            43%;

        max-width: none;
    }

    .lv-journey-step--1 {
        left: 0;
        top: 52px;
    }

    .lv-journey-step--2 {
        left: auto;
        right: 0;
        top: 236px;
    }

    .lv-journey-step--3 {
        left: 0;
        top: 455px;
    }

    .lv-journey-step--4 {
        right: 0;
        top: 650px;
    }

    .lv-journey-step__number {
        font-size:
            clamp(28px, 8vw, 36px);
    }

    .lv-journey-step__node {
        width: 38px;
        height: 38px;

        margin-right: 7px;

        font-size: 16px;
    }

    .lv-journey-step h3 {
        font-size:
            clamp(21px, 5.7vw, 26px);
    }

    .lv-journey-step p {
        font-size:
            clamp(11px, 2.9vw, 12.5px);

        line-height: 1.46;
    }


    /* CTA is the continuation of the same visual scene */
    .lv-journey__cta {
        left: 20px;
        right: 20px;
        bottom: 46px;

        transform: none;

        width: auto;

        padding-right: 0;
    }

    .lv-journey__cta::before {
        top: -34px;
        width: 100%;
    }

    .lv-journey__cta-eyebrow {
        font-size: 8px;
    }

    .lv-journey__cta h2 {
        font-size:
            clamp(38px, 10vw, 49px);
    }

    .lv-journey__cta > p {
        max-width: 29em;

        font-size:
            clamp(12px, 3.1vw, 14px);
    }

    .lv-journey__cta-actions {
        display: grid;

        grid-template-columns: 1fr;

        gap: 10px;
    }

    .lv-journey__cta .lv-btn,
    .lv-journey__cta-secondary {
        width: 100%;
    }

}


/* small phones */
@media (max-width: 360px) {

    .lv-journey {
        min-height:
            1420px;
    }

    .lv-journey__intro h2 {
        font-size:
            clamp(34px, 9.5vw, 39px);
    }

    .lv-journey__roadmap {
        min-height:
            785px;
    }

    .lv-journey__path {
        width: 400px;
        height: 705px;
    }

    .lv-journey-step--1 {
        top: 48px;
    }

    .lv-journey-step--2 {
        top: 222px;
    }

    .lv-journey-step--3 {
        top: 426px;
    }

    .lv-journey-step--4 {
        top: 608px;
    }

    .lv-journey-step h3 {
        font-size: 20px;
    }

    .lv-journey-step p {
        font-size: 10.5px;
    }

}


/* reduced motion */
@media (prefers-reduced-motion: reduce) {

    .lv-journey__path-runner {
        animation: none;
    }

}


/* =========================================================
   V52 — MOCKUP AS SPEC
   Cada secção tem cenário próprio; mesma estética, sem repetição.
========================================================= */

/* Shared background image behavior */
.lv-section-bg {
    position: absolute;
    inset: 0;
    z-index: -4;

    width: 100%;
    height: 100%;

    object-fit: cover;

    pointer-events: none;
}

/* keep section content above image */
.lv-services,
.lv-results,
.lv-cases {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

/* SERVICES — futuristic showroom, unique scene */
.lv-section-bg--services {
    object-position: 54% center;
    opacity: .34;

    -webkit-mask-image:
        linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
    mask-image:
        linear-gradient(180deg, transparent 0%, #000 10%, #000 88%, transparent 100%);
}

.lv-services::before {
    background:
        linear-gradient(90deg, rgba(3,5,13,.93) 0%, rgba(3,5,13,.62) 32%, rgba(3,5,13,.32) 70%, rgba(3,5,13,.62) 100%),
        radial-gradient(circle at 70% 42%, rgba(102,82,255,.14), transparent 30%) !important;
}

/* RESULTS — holographic data/monolith, separate scene */
.lv-section-bg--results {
    object-position: 58% center;
    opacity: .30;

    -webkit-mask-image:
        linear-gradient(180deg, transparent 0%, #000 12%, #000 90%, transparent 100%);
    mask-image:
        linear-gradient(180deg, transparent 0%, #000 12%, #000 90%, transparent 100%);
}

.lv-results::before {
    background:
        linear-gradient(90deg, rgba(3,5,13,.96) 0%, rgba(3,5,13,.75) 34%, rgba(3,5,13,.38) 72%, rgba(3,5,13,.68) 100%),
        radial-gradient(circle at 73% 40%, rgba(95,84,255,.12), transparent 27%) !important;
}

/* CASES — portal/city scene, not same as others */
.lv-section-bg--cases {
    object-position: 48% center;
    opacity: .29;

    -webkit-mask-image:
        linear-gradient(180deg, transparent 0%, #000 11%, #000 91%, transparent 100%);
    mask-image:
        linear-gradient(180deg, transparent 0%, #000 11%, #000 91%, transparent 100%);
}

.lv-cases::before {
    background:
        linear-gradient(90deg, rgba(3,5,13,.95) 0%, rgba(3,5,13,.72) 32%, rgba(3,5,13,.40) 68%, rgba(3,5,13,.72) 100%),
        radial-gradient(circle at 80% 50%, rgba(113,89,255,.10), transparent 30%) !important;
}

/* soft visual bridges instead of repeating the same picture */
.lv-services::after,
.lv-results::after,
.lv-cases::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -90px;
    height: 180px;
    z-index: -2;

    border-top: 1px solid rgba(115,91,255,.18);
    border-radius: 50%;

    background:
        radial-gradient(ellipse at center, rgba(92,70,255,.06), transparent 66%);

    pointer-events: none;
}


/* =========================================================
   PROCESS + CTA — TWO DIFFERENT SCENES
========================================================= */

.lv-journey {
    min-height: 1460px;
}

.lv-journey__bg {
    position: absolute;
    left: 0;
    width: 100%;

    object-fit: cover;

    pointer-events: none;
}

/* Process = neon valley / route */
.lv-journey__bg--process {
    top: 0;
    height: 58%;

    object-position: 55% center;

    opacity: .80;

    -webkit-mask-image:
        linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.72) 90%, transparent 100%);
    mask-image:
        linear-gradient(180deg, #000 0%, #000 78%, rgba(0,0,0,.72) 90%, transparent 100%);
}

/* CTA = giant-city panorama, completely different composition */
.lv-journey__bg--cta {
    top: 48%;
    height: 52%;

    object-position: 58% center;

    opacity: .78;

    -webkit-mask-image:
        linear-gradient(180deg, transparent 0%, rgba(0,0,0,.70) 13%, #000 28%, #000 100%);
    mask-image:
        linear-gradient(180deg, transparent 0%, rgba(0,0,0,.70) 13%, #000 28%, #000 100%);
}

/* shared tint only — this is what connects them visually */
.lv-journey__veil {
    background:
        linear-gradient(
            90deg,
            rgba(2,4,12,.94) 0%,
            rgba(2,4,12,.77) 24%,
            rgba(2,4,12,.32) 56%,
            rgba(2,4,12,.18) 78%,
            rgba(2,4,12,.42) 100%
        ),
        linear-gradient(
            180deg,
            rgba(2,4,12,.58) 0%,
            rgba(2,4,12,.10) 32%,
            rgba(2,4,12,.24) 56%,
            rgba(2,4,12,.36) 70%,
            rgba(2,4,12,.70) 100%
        ) !important;
}

/* visual seam/bridge */
.lv-journey::before {
    content: "";
    position: absolute;
    z-index: -2;

    left: -8%;
    right: -8%;
    top: 54%;

    height: 180px;

    transform: translateY(-50%);

    border-top: 1px solid rgba(117,92,255,.27);
    border-radius: 50%;

    background:
        radial-gradient(ellipse at center, rgba(103,81,255,.11), transparent 68%);

    box-shadow:
        0 -16px 42px rgba(103,81,255,.07),
        0 16px 42px rgba(66,92,255,.05);

    pointer-events: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .lv-section-bg--services,
    .lv-section-bg--results,
    .lv-section-bg--cases {
        opacity: .23;
    }

    .lv-section-bg--services {
        object-position: 66% center;
    }

    .lv-section-bg--results {
        object-position: 65% center;
    }

    .lv-section-bg--cases {
        object-position: 58% center;
    }

    .lv-journey {
        min-height: 1530px;
    }

    .lv-journey__bg--process {
        top: 0;
        height: 62%;

        object-position: 62% center;

        opacity: .80;
    }

    .lv-journey__bg--cta {
        top: 58%;
        height: 42%;

        object-position: 61% center;

        opacity: .74;
    }

    .lv-journey::before {
        top: 60%;
        height: 140px;
    }

}


/* =========================================================
   V53 — LEGIBILIDADE SOBRE BACKGROUNDS
   Mantém os fundos vivos sem sacrificar leitura.
========================================================= */

/* 1) Texto secundário: mais claro, ligeiramente maior */
.lv-service-card p,
.lv-results__intro > p,
.lv-result p,
.lv-cases__lead,
.lv-case__content > p,
.lv-journey__intro > p,
.lv-journey-step p,
.lv-journey__cta > p {
    color: rgba(224, 229, 246, .80);

    text-shadow:
        0 2px 10px rgba(0, 0, 0, .72);

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


/* Serviços */
.lv-service-card p {
    font-size:
        clamp(12px, .88vw, 13.5px);

    line-height: 1.58;
}


/* Resultados */
.lv-results__intro > p {
    font-size:
        clamp(13px, 1.02vw, 14.5px);

    line-height: 1.62;
}

.lv-result p {
    color:
        rgba(222, 228, 246, .78);

    font-size:
        clamp(12.5px, .92vw, 13.5px);

    line-height: 1.55;
}

/*
   Escurecimento LOCAL só atrás dos números/textos.
   Não tapa o monólito nem mata o cenário.
*/
.lv-results__grid {
    background:
        linear-gradient(
            90deg,
            rgba(3, 5, 13, .48) 0%,
            rgba(3, 5, 13, .30) 52%,
            rgba(3, 5, 13, .46) 100%
        );

    box-shadow:
        inset 0 28px 55px rgba(3, 5, 13, .12),
        inset 0 -28px 55px rgba(3, 5, 13, .14);
}

/* a imagem continua visível, apenas ligeiramente menos competitiva */
.lv-section-bg--results {
    opacity: .26;
}


/* Cases */
.lv-cases__lead {
    color:
        rgba(225, 230, 247, .82);

    font-size:
        clamp(13px, 1.02vw, 14.5px);

    line-height: 1.62;
}

.lv-case__content > p {
    color:
        rgba(218, 225, 244, .78);

    font-size:
        clamp(12px, .88vw, 13px);

    line-height: 1.55;
}

/*
   Dá ao texto introdutório dos cases um "poço de contraste"
   praticamente invisível em vez de uma caixa.
*/
.lv-cases__header {
    position: relative;
}

.lv-cases__header::before {
    content: "";

    position: absolute;

    right: -4%;
    top: -26px;

    width: 54%;
    height: calc(100% + 52px);

    z-index: -1;

    background:
        radial-gradient(
            ellipse at 52% 50%,
            rgba(3, 5, 13, .72) 0%,
            rgba(3, 5, 13, .45) 46%,
            transparent 78%
        );

    pointer-events: none;
}


/* Processo / CTA */
.lv-journey__intro > p,
.lv-journey__cta > p {
    color:
        rgba(230, 234, 249, .82);
}

.lv-journey-step p {
    color:
        rgba(224, 229, 246, .80);

    font-size:
        clamp(11.5px, .87vw, 13px);
}


/* 2) Microcopy: não pode desaparecer */
.lv-results__eyebrow,
.lv-cases__eyebrow,
.lv-journey__eyebrow,
.lv-journey__microcopy,
.lv-journey__cta-eyebrow,
.lv-result__index,
.lv-case__meta,
.lv-case__brandbar > span {
    color:
        rgba(205, 213, 238, .64);

    text-shadow:
        0 2px 8px rgba(0, 0, 0, .76);
}


/* 3) Títulos sobre fotografia ganham separação mínima */
.lv-results__intro h2,
.lv-cases__header h2,
.lv-journey__intro h2,
.lv-journey__cta h2,
.lv-journey-step h3 {
    text-shadow:
        0 4px 20px rgba(0, 0, 0, .58);
}


/* =========================================================
   MOBILE — letras pequenas não podem virar microtexto
========================================================= */

@media (max-width: 700px) {

    .lv-service-card p,
    .lv-results__intro > p,
    .lv-result p,
    .lv-cases__lead,
    .lv-case__content > p,
    .lv-journey__intro > p,
    .lv-journey-step p,
    .lv-journey__cta > p {
        color:
            rgba(229, 234, 249, .84);

        text-shadow:
            0 2px 10px rgba(0, 0, 0, .78);
    }

    .lv-service-card p {
        font-size:
            clamp(12.5px, 3.25vw, 14px);
    }

    .lv-results__intro > p,
    .lv-cases__lead,
    .lv-journey__intro > p,
    .lv-journey__cta > p {
        font-size:
            clamp(13px, 3.35vw, 14.5px);

        line-height: 1.58;
    }

    .lv-result p,
    .lv-case__content > p,
    .lv-journey-step p {
        font-size:
            clamp(12px, 3.05vw, 13.5px);

        line-height: 1.5;
    }

    .lv-results__grid {
        background:
            linear-gradient(
                180deg,
                rgba(3, 5, 13, .40),
                rgba(3, 5, 13, .28)
            );
    }

    .lv-cases__header::before {
        left: -16px;
        right: -16px;
        top: auto;
        bottom: -20px;

        width: auto;
        height: 68%;

        background:
            linear-gradient(
                180deg,
                transparent,
                rgba(3, 5, 13, .54)
            );
    }

    .lv-section-bg--results {
        opacity: .21;
    }

}


/* very small phones */
@media (max-width: 360px) {

    .lv-service-card p,
    .lv-result p,
    .lv-case__content > p,
    .lv-journey-step p {
        font-size: 12px;
    }

    .lv-results__intro > p,
    .lv-cases__lead,
    .lv-journey__intro > p,
    .lv-journey__cta > p {
        font-size: 12.5px;
    }

}


/* =========================================================
   V62 — SERVIÇOS SEO-FIRST / FUNDO LIMPO + CONTEÚDO REAL
   Uma imagem decorativa; todo o resto em HTML/CSS.
========================================================= */

@property --lv62-snake-a {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}
@property --lv62-snake-b {
    syntax: "<angle>";
    inherits: false;
    initial-value: 180deg;
}

.lv-services-v54 {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    min-height: 0;

    padding:
        48px
        0
        26px;

    background: #03050d !important;
}

/* ONLY decorative image in the section.
   Final approved background already contains the full floor and neon route. */
.lv-services-v54 > .lv-section-bg--services {
    position: absolute;
    inset: 0;
    z-index: -6;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;

    opacity: .94;

    filter:
        saturate(1.02)
        contrast(1.03)
        brightness(.90);
}

.lv-services-v54__veil {
    position: absolute;
    inset: 0;
    z-index: -5;

    /* Local contrast only:
       dark left for copy, preserve man/monitors on the right,
       slightly darken lower cards area for readability. */
    background:
        linear-gradient(
            90deg,
            rgba(2,4,12,.94) 0%,
            rgba(2,4,12,.84) 17%,
            rgba(2,4,12,.52) 29%,
            rgba(2,4,12,.14) 47%,
            rgba(2,4,12,.06) 73%,
            rgba(2,4,12,.10) 100%
        ),
        linear-gradient(
            180deg,
            rgba(2,4,12,.02) 0%,
            rgba(2,4,12,.02) 34%,
            rgba(2,4,12,.18) 52%,
            rgba(2,4,12,.46) 100%
        );

    pointer-events: none;
}

/* The final background already contains the neon route.
   Hide CSS rails to avoid a duplicated line. */
.lv-services-v54__rail--one,
.lv-services-v54__rail--two {
    display: none;
}

/* layout */
.lv-services-v54 .lv-services-v54__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(260px,.78fr) minmax(0,3.22fr);
    gap: clamp(30px,3vw,48px);
    align-items: end;
    padding-top: clamp(132px,8.6vw,158px);
}

/* left copy */
.lv-services-v54__intro {
    max-width: 350px;
    padding-bottom: 22px;
}
.lv-services-v54__eyebrow {
    display:inline-block;
    margin-bottom:14px;
    color:rgba(214,220,242,.68);
    font-size:9px;
    font-weight:700;
    letter-spacing:.16em;
}
.lv-services-v54 .lv-services-v54__intro h2 {
    margin:0;
    max-width:7.5em;
    color:#fff;
    font-size:clamp(34px,3.15vw,50px);
    line-height:.96;
    letter-spacing:-.045em;
}
.lv-services-v54 .lv-services-v54__intro h2 span {
    background:linear-gradient(90deg,#c5b4ff,#9f7bff 48%,#7182ff);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
.lv-services-v54__lead {
    max-width:26em;
    margin:20px 0 0 !important;
    color:rgba(229,233,247,.80) !important;
    font-size:clamp(12px,.9vw,13.5px) !important;
    line-height:1.55 !important;
}
.lv-services-v54__cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:44px;
    margin-top:22px;
    padding:0 18px;
    border:1px solid rgba(139,108,255,.58);
    border-radius:12px;
    color:#fff;
    background:rgba(46,34,121,.12);
    text-decoration:none;
    font-size:8px;
    font-weight:700;
    letter-spacing:.07em;
}

/* cards */
.lv-services-v54 .lv-services-v54__cards {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:clamp(9px,.8vw,12px);
    align-items:end;
    perspective:1200px;
}
.lv-services-v54 .lv-service-card-v54 {
    --lv-card-rx:0deg;
    --lv-card-ry:0deg;
    --lv-card-gx:50%;
    --lv-card-gy:35%;
    --lv-card-lift:0px;

    position:relative;
    min-width:0;
    min-height:clamp(410px,29vw,458px);
    padding:14px 14px 15px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(128,107,255,.24);
    border-radius:14px;
    background:
        radial-gradient(circle at var(--lv-card-gx) var(--lv-card-gy),rgba(116,88,255,.10),transparent 34%),
        linear-gradient(180deg,rgba(9,13,31,.69),rgba(5,8,20,.91));
    backdrop-filter:blur(3px);
    box-shadow:0 15px 32px rgba(0,0,0,.20);
    transform:
        translateY(var(--lv-card-lift))
        rotateX(var(--lv-card-rx))
        rotateY(var(--lv-card-ry));
    transform-style:preserve-3d;
}
.lv-services-v54 .lv-service-card-v54 > * {
    position:relative;
    z-index:2;
}

/* snake border */
.lv-services-v54 .lv-service-card-v54::after {
    content:"";
    position:absolute;
    inset:-1px;
    z-index:6;
    padding:1.1px;
    border-radius:inherit;
    background:
        conic-gradient(from var(--lv62-snake-a),
            transparent 0deg 320deg,
            rgba(232,221,255,.98) 329deg,
            rgba(171,131,255,.98) 339deg,
            rgba(105,82,255,.40) 348deg,
            transparent 357deg 360deg),
        conic-gradient(from var(--lv62-snake-b),
            transparent 0deg 321deg,
            rgba(232,221,255,.98) 330deg,
            rgba(171,131,255,.98) 340deg,
            rgba(105,82,255,.40) 349deg,
            transparent 358deg 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    filter:drop-shadow(0 0 2px rgba(210,195,255,.80)) drop-shadow(0 0 5px rgba(120,92,255,.58));
    opacity:.82;
    animation:lv62Snakes 8.5s linear infinite;
    pointer-events:none;
}
.lv-services-v54 .lv-service-card-v54--ai {
    border-color:rgba(238,190,83,.66);
    background:
        radial-gradient(circle at 50% 17%,rgba(240,191,84,.14),transparent 34%),
        linear-gradient(180deg,rgba(21,19,24,.90),rgba(8,9,17,.96));
    box-shadow:0 20px 42px rgba(0,0,0,.25),0 0 18px rgba(238,190,83,.12);
}

/* visual zone — approved mockup visuals */
.lv-service-card-v54__visual {
    position: relative;

    height:
        clamp(158px, 11.2vw, 178px);

    display: grid;
    place-items: center;

    margin-bottom: 12px;

    isolation: isolate;
}


/* These are the actual visuals extracted from the approved mockup.
   They stay decorative: card text remains real HTML. */
.lv-service-card-v64__asset {
    display: block;

    width:
        min(100%, 188px);

    height: auto;

    max-height:
        154px;

    object-fit: contain;

    filter:
        drop-shadow(0 0 12px rgba(105, 82, 255, .26))
        drop-shadow(0 0 25px rgba(76, 86, 232, .08));

    transform:
        translateZ(18px);

    user-select: none;
    pointer-events: none;
}


.lv-service-card-v64__asset--ai {
    width:
        min(100%, 198px);

    max-height:
        162px;

    filter:
        drop-shadow(0 0 13px rgba(239, 194, 84, .27))
        drop-shadow(0 0 28px rgba(116, 89, 255, .10));
}


/* AI wrapper so the eye animation can sit exactly over the robot artwork. */
.lv-service-card-v64__ai-wrap {
    position: relative;

    width:
        min(100%, 198px);

    display: grid;
    place-items: center;
}


/* AI eyes — preserve the original robot artwork.
   No coloured replacement eyes are added.
   Two dark eyelids briefly cover the existing purple eyes. */

.lv-service-card-v65__blink {
    position: absolute;

    top: 39.2%;

    width: 16px;
    height: 8px;

    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            rgba(7, 8, 16, .98),
            rgba(10, 11, 20, .99)
        );

    box-shadow:
        0 0 4px rgba(8, 9, 18, .78);

    opacity: 0;

    transform:
        scaleY(.12);

    transform-origin:
        center center;

    pointer-events: none;

    animation:
        lv65RobotBlink
        4.6s
        infinite;
}


/* Positions aligned to the original purple eyes in services-ai-visual.webp */
.lv-service-card-v65__blink--left {
    left: 42.4%;
}

.lv-service-card-v65__blink--right {
    right: 42.0%;
}


/* One fast natural blink, with an occasional second micro-blink */
@keyframes lv65RobotBlink {

    0%,
    46%,
    50%,
    77%,
    81%,
    100% {
        opacity: 0;
        transform: scaleY(.12);
    }

    47%,
    49%,
    78%,
    80% {
        opacity: 1;
        transform: scaleY(1);
    }

}


/* Remove any legacy V64 eye rendering if cached CSS remains */
.lv-service-card-v64__eye {
    display: none !important;
}

/* preserve performance/accessibility */



/* mobile */



/* card copy */
.lv-service-card-v54__number {
    display:flex;align-items:center;gap:7px;margin-bottom:10px;color:#a98cff;
    font-size:clamp(16px,1.2vw,20px);font-weight:700;
}
.lv-service-card-v54__number i { width:16px;height:1px;background:currentColor;opacity:.66; }
.lv-services-v54 .lv-service-card-v54--ai .lv-service-card-v54__number { color:#efc45f; }
.lv-services-v54 .lv-service-card-v54 h3 {
    margin:0;color:#fff;font-size:clamp(16.5px,1.18vw,20px);line-height:1.04;letter-spacing:-.03em;
}
.lv-services-v54 .lv-service-card-v54 p {
    margin:10px 0 0;color:rgba(220,226,245,.76);font-size:clamp(10.8px,.73vw,11.9px);line-height:1.48;
}
.lv-services-v54 .lv-service-card-v54__footer {
    margin-top:auto;padding-top:13px;display:flex;justify-content:flex-start;
}
.lv-services-v54 .lv-service-card-v54__footer > span:first-child { display:none; }
.lv-services-v54 .lv-service-card-v54__footer > span:last-child {
    width:30px;height:30px;display:grid;place-items:center;
    border:1px solid rgba(142,116,255,.38);border-radius:50%;
    color:#b79fff;background:rgba(10,13,29,.58);font-size:11px;
}

/* no dead gap into results */
.lv-services-v54 + .lv-results {
    margin-top:0 !important;
    padding-top:32px !important;
}
.lv-results { min-height:0 !important; }

/* tablet */


/* mobile */


@keyframes lv62Snakes {
    to {
        --lv62-snake-a:360deg;
        --lv62-snake-b:-180deg;
    }
}
@keyframes lv62AiOrbit {
    to { transform:translate(-50%,-50%) rotate(349deg); }
}

/* =========================================================
   LEVORYX — SERVICES MOBILE FINAL
   Requires V65 markup + V65 main.js orbit logic.

   Slots:
   0 = top-left
   1 = top-right
   2 = centre
   3 = bottom-right
   4 = bottom-left

   JS route:
   0 → 1 → 3 → 4 → 2 → 0
========================================================= */

@media (max-width: 700px) {

    /* -----------------------------------------------------
       SECTION / BACKGROUND
    ----------------------------------------------------- */

    #servicos.lv-services-v54 {
        position: relative !important;
        isolation: isolate !important;
        min-height: 0 !important;

        padding:
            0
            0
            38px !important;

        overflow: hidden !important;

        background: #03050d !important;
    }

    /*
      Controlled mobile crop:
      - no distortion
      - height follows viewport width
      - same composition from 320px to 430px+
      - background ends before the card stage
    */
    #servicos.lv-services-v54 > .lv-section-bg--services {
        position: absolute !important;

        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;

        width: 100% !important;
        height:
            clamp(520px, 150vw, 650px) !important;

        object-fit: cover !important;
        object-position:
            68%
            center !important;

        opacity: .82 !important;

        filter:
            saturate(1.02)
            contrast(1.03)
            brightness(.80) !important;

        -webkit-mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 68%,
                rgba(0,0,0,.92) 76%,
                rgba(0,0,0,.50) 88%,
                transparent 100%
            ) !important;

        mask-image:
            linear-gradient(
                180deg,
                #000 0%,
                #000 68%,
                rgba(0,0,0,.92) 76%,
                rgba(0,0,0,.50) 88%,
                transparent 100%
            ) !important;
    }

    #servicos .lv-services-v54__veil {
        position: absolute !important;
        inset: 0 !important;
        z-index: -5 !important;

        background:
            linear-gradient(
                90deg,
                rgba(2,4,12,.92) 0%,
                rgba(2,4,12,.72) 42%,
                rgba(2,4,12,.24) 78%,
                rgba(2,4,12,.12) 100%
            ),
            linear-gradient(
                180deg,
                rgba(2,4,12,.05) 0%,
                rgba(2,4,12,.10) 45%,
                rgba(2,4,12,.64) 68%,
                #03050d 84%
            ) !important;

        pointer-events: none !important;
    }

    /* final background already has a neon route */
    #servicos .lv-services-v54__rail--one,
    #servicos .lv-services-v54__rail--two {
        display: none !important;
    }


    /* -----------------------------------------------------
       INTRO
    ----------------------------------------------------- */

    #servicos .lv-services-v54__layout {
        position: relative !important;
        z-index: 2 !important;

        display: block !important;

        padding-top:
            clamp(56px, 15vw, 72px) !important;
    }

    #servicos .lv-services-v54__intro {
        width: 100% !important;
        max-width: 100% !important;
        padding-bottom: 0 !important;
    }

    #servicos .lv-services-v54__eyebrow {
        margin-bottom: 11px !important;

        font-size: 8px !important;
        letter-spacing: .16em !important;
    }

    #servicos .lv-services-v54__intro h2 {
        width: auto !important;
        max-width: 8.55em !important;

        margin: 0 !important;

        font-size:
            clamp(31px, 8.8vw, 40px) !important;

        line-height: .94 !important;
        letter-spacing: -.045em !important;
    }

    #servicos .lv-services-v54__lead {
        max-width: 31em !important;

        margin-top: 17px !important;

        font-size:
            clamp(12px, 3.15vw, 13.5px) !important;

        line-height: 1.52 !important;

        color:
            rgba(235,238,248,.84) !important;
    }

    #servicos .lv-services-v54__cta {
        min-height: 43px !important;

        margin-top: 18px !important;

        padding:
            0
            16px !important;
    }


    /* -----------------------------------------------------
       ROTATING CARD STAGE
       This is NOT a grid. Cards are absolutely positioned
       so changing data-lv-slot animates them smoothly.
    ----------------------------------------------------- */

    #servicos .lv-services-v54__cards {
        --lv-mobile-card-w:
            min(43vw, 176px);

        --lv-mobile-card-h:
            clamp(286px, 77vw, 320px);

        --lv-mobile-stage-h:
            clamp(760px, 205vw, 880px);

        position: relative !important;

        display: block !important;

        width: 100% !important;
        height: var(--lv-mobile-stage-h) !important;

        margin:
            clamp(92px, 25vw, 120px)
            0
            0 !important;

        padding: 0 !important;

        overflow: visible !important;

        background: #03050d !important;

        box-shadow:
            0 -46px 52px #03050d !important;

        perspective: none !important;
    }

    #servicos .lv-service-card-v54 {
        --lv-mobile-scale: .92;

        position: absolute !important;

        top: 0;
        left: 0;

        width:
            var(--lv-mobile-card-w) !important;

        min-width:
            0 !important;

        height:
            var(--lv-mobile-card-h) !important;

        min-height:
            0 !important;

        display: flex !important;
        flex-direction: column !important;

        padding:
            12px
            11px
            13px !important;

        overflow: hidden !important;

        border:
            1px solid rgba(128,107,255,.26) !important;

        border-radius:
            14px !important;

        background:
            radial-gradient(
                circle at var(--lv-card-gx) var(--lv-card-gy),
                rgba(116,88,255,.10),
                transparent 34%
            ),
            linear-gradient(
                180deg,
                rgba(9,13,31,.82),
                rgba(5,8,20,.97)
            ) !important;

        box-shadow:
            0 14px 28px rgba(0,0,0,.24),
            inset 0 1px 0 rgba(255,255,255,.018) !important;

        backdrop-filter:
            blur(3px) !important;

        transform-origin:
            center center !important;

        transition:
            left 1.6s cubic-bezier(.22,.72,.16,1),
            top 1.6s cubic-bezier(.22,.72,.16,1),
            transform 1.6s cubic-bezier(.22,.72,.16,1),
            opacity .55s ease,
            filter .55s ease,
            box-shadow .55s ease !important;

        will-change:
            left,
            top,
            transform !important;
    }


    /* -----------------------------------------------------
       FIVE FIXED POSITIONS
    ----------------------------------------------------- */

    /* top-left */
    #servicos .lv-service-card-v54[data-lv-slot="0"] {
        left: 0 !important;
        top: 0 !important;

        z-index: 3 !important;

        transform:
            scale(.92) !important;
    }

    /* top-right */
    #servicos .lv-service-card-v54[data-lv-slot="1"] {
        left:
            calc(100% - var(--lv-mobile-card-w)) !important;

        top: 0 !important;

        z-index: 3 !important;

        transform:
            scale(.92) !important;
    }

    /* centre */
    #servicos .lv-service-card-v54[data-lv-slot="2"] {
        left:
            calc(
                50% -
                (var(--lv-mobile-card-w) / 2)
            ) !important;

        top:
            calc(
                var(--lv-mobile-card-h) * .86
            ) !important;

        z-index: 7 !important;

        transform:
            scale(1.10) !important;

        filter:
            brightness(1.06) !important;

        box-shadow:
            0 24px 44px rgba(0,0,0,.34),
            0 0 30px rgba(111,85,255,.10) !important;
    }

    /* bottom-right */
    #servicos .lv-service-card-v54[data-lv-slot="3"] {
        left:
            calc(100% - var(--lv-mobile-card-w)) !important;

        top:
            calc(
                var(--lv-mobile-card-h) * 1.82
            ) !important;

        z-index: 3 !important;

        transform:
            scale(.92) !important;
    }

    /* bottom-left */
    #servicos .lv-service-card-v54[data-lv-slot="4"] {
        left: 0 !important;

        top:
            calc(
                var(--lv-mobile-card-h) * 1.82
            ) !important;

        z-index: 3 !important;

        transform:
            scale(.92) !important;
    }


    /* Loop-wrap fade from centre back to top-left */
    #servicos .lv-service-card-v54.is-lv-orbit-wrap {
        opacity: .12 !important;
    }


    /* -----------------------------------------------------
       SAME DESKTOP DESIGN, MOBILE SCALE
    ----------------------------------------------------- */

    #servicos .lv-service-card-v54--ai {
        border-color:
            rgba(238,190,83,.68) !important;

        background:
            radial-gradient(
                circle at 50% 14%,
                rgba(238,190,83,.14),
                transparent 35%
            ),
            linear-gradient(
                180deg,
                rgba(21,19,24,.93),
                rgba(7,8,17,.98)
            ) !important;

        box-shadow:
            0 18px 36px rgba(0,0,0,.28),
            0 0 20px rgba(238,190,83,.12) !important;
    }

    #servicos .lv-service-card-v54__visual {
        height:
            clamp(92px, 24vw, 108px) !important;

        margin-bottom:
            8px !important;
    }

    #servicos .lv-service-card-v64__asset {
        width:
            min(100%, 126px) !important;

        max-height:
            100px !important;
    }

    #servicos .lv-service-card-v64__asset--ai,
    #servicos .lv-service-card-v64__ai-wrap {
        width:
            min(100%, 140px) !important;
    }

    #servicos .lv-service-card-v64__asset--ai {
        max-height:
            108px !important;
    }

    #servicos .lv-service-card-v54__number {
        margin-bottom:
            7px !important;

        font-size:
            clamp(14px, 3.8vw, 16px) !important;
    }

    #servicos .lv-service-card-v54 h3 {
        margin: 0 !important;

        font-size:
            clamp(14px, 3.75vw, 17px) !important;

        line-height:
            1.04 !important;
    }

    #servicos .lv-service-card-v54 p {
        margin-top:
            8px !important;

        font-size:
            clamp(10px, 2.62vw, 11.4px) !important;

        line-height:
            1.43 !important;
    }

    #servicos .lv-service-card-v54__footer {
        margin-top:
            auto !important;

        padding-top:
            9px !important;
    }

    #servicos
    .lv-service-card-v54__footer
    > span:last-child {
        width:
            29px !important;

        height:
            29px !important;
    }


    /* -----------------------------------------------------
       ROBOT BLINK — preserve V65 implementation
    ----------------------------------------------------- */

    #servicos .lv-service-card-v65__blink {
        display: block !important;
    }


    /* -----------------------------------------------------
       PAUSE FEEDBACK
    ----------------------------------------------------- */

    #servicos.is-orbit-paused
    .lv-service-card-v54 {
        transition-duration:
            .35s !important;
    }
}


/* =========================================================
   SMALL PHONES — 320–359px
========================================================= */

@media (max-width: 359px) {

    #servicos .lv-services-v54__cards {
        --lv-mobile-card-w:
            min(44vw, 148px);

        --lv-mobile-card-h:
            270px;

        --lv-mobile-stage-h:
            720px;

        margin-top:
            84px !important;
    }

    #servicos .lv-service-card-v54 {
        padding:
            10px
            9px
            11px !important;
    }

    #servicos .lv-service-card-v54__visual {
        height:
            84px !important;
    }

    #servicos .lv-service-card-v64__asset {
        max-height:
            82px !important;
    }

    #servicos .lv-service-card-v54 h3 {
        font-size:
            13.5px !important;
    }

    #servicos .lv-service-card-v54 p {
        font-size:
            9.7px !important;
    }
}


/* =========================================================
   LARGE PHONES — 431–700px
========================================================= */

@media (min-width: 431px) and (max-width: 700px) {

    #servicos .lv-services-v54__cards {
        --lv-mobile-card-w:
            min(41vw, 190px);

        --lv-mobile-card-h:
            clamp(300px, 62vw, 330px);

        --lv-mobile-stage-h:
            clamp(800px, 167vw, 900px);

        max-width:
            520px !important;

        margin-left:
            auto !important;

        margin-right:
            auto !important;
    }

    #servicos .lv-service-card-v54 h3 {
        font-size:
            clamp(15px, 3vw, 18px) !important;
    }

    #servicos .lv-service-card-v54 p {
        font-size:
            clamp(10.5px, 2.15vw, 12px) !important;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (max-width: 700px) and (prefers-reduced-motion: reduce) {

    #servicos .lv-service-card-v54 {
        transition: none !important;
    }
}
