body.home-visua-redesign {
    --hv-black: #050505;
    --hv-navy: #061C33;
    --hv-teal: #12F5E8;
    --hv-teal-deep: #0C9295;
    --hv-red: #ED5649;
    --hv-lime: #D7FF38;
    --hv-blue: #3B82FF;
    --hv-violet: #A855F7;
    --hv-white: #FFFFFF;
    --hv-ink: #101214;
    --hv-muted: #565B61;
    --hv-soft: #F7F7F4;
    --hv-studio-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--hv-black);
}

body.home-visua-redesign .home-services {
    padding: clamp(5rem, 8vw, 9rem) 0 !important;
    color: var(--hv-white);
    background:
        linear-gradient(90deg, rgba(18, 245, 232, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(135deg, #000000 0%, #061C33 54%, #050505 100%) !important;
    background-size: 96px 96px, 96px 96px, auto !important;
}

body.home-visua-redesign .home-services-showcase {
    position: relative;
    z-index: 1;
    width: min(100% - 2rem, 1760px);
    max-width: 1760px;
}

body.home-visua-redesign .home-services-showcase::before {
    content: "GOODFAITH SERVICES";
    position: absolute;
    right: clamp(1rem, 4vw, 4rem);
    top: clamp(1rem, 3vw, 3rem);
    z-index: -1;
    color: rgba(255, 255, 255, 0.035);
    font-size: clamp(4rem, 12vw, 14rem);
    font-weight: 950;
    line-height: 0.76;
    letter-spacing: 0;
    pointer-events: none;
    text-align: right;
    text-transform: uppercase;
}

body.home-visua-redesign .home-services-showcase-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: clamp(1.25rem, 4vw, 4.5rem);
    align-items: end;
    padding: clamp(2rem, 5vw, 5rem);
    border: 1px solid rgba(18, 245, 232, 0.2);
    border-bottom: 0;
    border-radius: 34px 34px 0 0;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.075), transparent 32%),
        linear-gradient(135deg, rgba(0, 0, 0, 0.9), rgba(6, 28, 51, 0.88));
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.08) inset;
    overflow: hidden;
}

body.home-visua-redesign .home-services-heading-copy {
    min-width: 0;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-kicker {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    margin: 0 0 1rem;
    color: var(--hv-teal) !important;
    font-size: clamp(0.78rem, 0.9vw, 0.95rem);
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-kicker span {
    width: 34px;
    height: 2px;
    background: var(--hv-teal);
    box-shadow: 0 0 18px rgba(18, 245, 232, 0.38);
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-showcase-head h2 {
    max-width: 1180px;
    margin: 0;
    color: var(--hv-white) !important;
    font-size: clamp(3rem, 6.2vw, 7rem);
    line-height: 0.9;
    letter-spacing: 0;
    text-wrap: balance;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-lede {
    max-width: 880px;
    margin: clamp(1.1rem, 2vw, 1.6rem) 0 0;
    color: rgba(255, 255, 255, 0.74) !important;
    font-size: clamp(1rem, 1.18vw, 1.22rem);
    line-height: 1.58;
}

body.home-visua-redesign .home-services-signal-panel {
    display: grid;
    gap: 0.5rem;
    justify-items: start;
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(18, 245, 232, 0.12), transparent 48%),
        rgba(255, 255, 255, 0.045);
}

body.home-visua-redesign .home-services-signal-panel span {
    color: var(--hv-lime);
    font-size: clamp(3.5rem, 6vw, 6.4rem);
    font-weight: 950;
    line-height: 0.82;
}

body.home-visua-redesign .home-services-signal-panel strong {
    color: var(--hv-white);
    font-size: clamp(1.05rem, 1.4vw, 1.45rem);
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

body.home-visua-redesign .home-services-signal-panel small {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.94rem;
    font-weight: 800;
}

body.home-visua-redesign .home-service-showcase-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border: 1px solid rgba(18, 245, 232, 0.2);
    border-radius: 0 0 34px 34px;
    background: rgba(18, 245, 232, 0.18);
    box-shadow: 0 34px 100px rgba(0, 0, 0, 0.42);
    overflow: hidden;
}

body.home-visua-redesign .home-service-showcase-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: clamp(360px, 28vw, 520px);
    align-items: flex-end;
    padding: clamp(1.15rem, 2vw, 2rem);
    color: var(--hv-white);
    background: #050505;
    isolation: isolate;
    overflow: hidden;
    text-decoration: none;
    transition:
        transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 520ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-showcase-card::before,
body.home-visua-redesign .home-service-showcase-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

body.home-visua-redesign .home-service-showcase-card::before {
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.46) 36%, rgba(0, 0, 0, 0.96) 100%),
        linear-gradient(135deg, color-mix(in srgb, var(--service-accent) 24%, transparent), transparent 46%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.4), transparent 52%);
}

body.home-visua-redesign .home-service-showcase-card::after {
    inset: 1rem;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    opacity: 0.72;
    transform: scale(0.985);
    transition:
        border-color 420ms ease,
        opacity 420ms ease,
        transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-card-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    overflow: hidden;
}

body.home-visua-redesign .home-service-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 0.48;
    filter: saturate(1.26) contrast(1.08) brightness(0.52);
    transform: scale(1.08);
    transition:
        opacity 620ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 620ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-card-chrome {
    position: absolute;
    top: clamp(1.15rem, 1.7vw, 1.65rem);
    left: clamp(1.15rem, 1.7vw, 1.65rem);
    right: clamp(1.15rem, 1.7vw, 1.65rem);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

body.home-visua-redesign .home-service-card-chrome span {
    display: grid;
    place-items: center;
    width: 48px;
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb, var(--service-accent) 70%, white 12%);
    border-radius: 14px;
    color: #050505;
    background: var(--service-accent);
    box-shadow: 0 0 28px color-mix(in srgb, var(--service-accent) 38%, transparent);
    font-size: 0.9rem;
    font-weight: 950;
    line-height: 1;
}

body.home-visua-redesign .home-service-card-chrome small {
    max-width: 150px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.78rem;
    font-weight: 950;
    line-height: 1.1;
    text-align: right;
    text-transform: uppercase;
}

body.home-visua-redesign .home-service-card-content {
    position: relative;
    z-index: 3;
    display: grid;
    gap: 0.8rem;
    width: 100%;
}

body.home-visua-redesign .home-service-card-kicker {
    width: fit-content;
    padding: 0.42rem 0.62rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    color: var(--service-accent);
    background: rgba(0, 0, 0, 0.46);
    font-size: 0.72rem;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-service-showcase-card h3 {
    max-width: 560px;
    margin: 0;
    color: var(--hv-white) !important;
    font-size: clamp(2rem, 3.2vw, 4.2rem);
    font-weight: 950;
    line-height: 0.86;
    letter-spacing: 0;
    text-wrap: balance;
    transition:
        color 420ms ease,
        transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
        text-shadow 420ms ease;
}

body.home-visua-redesign .home-service-card-description {
    display: block;
    max-width: 560px;
    color: rgba(255, 255, 255, 0.76);
    font-size: clamp(0.95rem, 1vw, 1.05rem);
    line-height: 1.5;
    transition: color 420ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-card-action {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.35rem;
    color: var(--hv-white);
    font-size: 0.86rem;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
    transition: color 420ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-card-action .icon {
    width: 19px;
    height: 19px;
    transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-showcase-card:hover,
body.home-visua-redesign .home-service-showcase-card:focus-visible {
    z-index: 5;
    background: #000000;
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--service-accent) 62%, transparent),
        0 30px 70px rgba(0, 0, 0, 0.5);
    transform: translateY(-7px);
}

body.home-visua-redesign .home-service-showcase-card:hover::after,
body.home-visua-redesign .home-service-showcase-card:focus-visible::after {
    border-color: color-mix(in srgb, var(--service-accent) 70%, white 8%);
    opacity: 1;
    transform: scale(1);
}

body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-media img,
body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-media img {
    opacity: 0.7;
    filter: saturate(1.52) contrast(1.16) brightness(0.68);
    transform: scale(1.12);
}

body.home-visua-redesign .home-service-showcase-card:hover h3,
body.home-visua-redesign .home-service-showcase-card:focus-visible h3 {
    color: #ffffff !important;
    text-shadow: 0 0 34px color-mix(in srgb, var(--service-accent) 40%, transparent);
    transform: translateY(-4px);
}

body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-description,
body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-description {
    color: rgba(255, 255, 255, 0.94);
    transform: translateY(-2px);
}

body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-action,
body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-action {
    color: var(--service-accent);
    transform: translateX(4px);
}

body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-action .icon,
body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-action .icon {
    transform: rotate(-45deg) translate(2px, -2px);
}

body.home-visua-redesign .home-service-showcase-card:focus-visible {
    outline: 2px solid var(--service-accent);
    outline-offset: -8px;
}

@media (max-width: 1180px) {
    body.home-visua-redesign .home-services-showcase-head {
        grid-template-columns: 1fr;
    }

    body.home-visua-redesign .home-services-signal-panel {
        width: min(100%, 420px);
    }

    body.home-visua-redesign .home-service-showcase-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.home-visua-redesign .home-services {
        padding: 4rem 0 !important;
        background-size: 68px 68px, 68px 68px, auto !important;
    }

    body.home-visua-redesign .home-services-showcase {
        width: min(100% - 1rem, 100%);
    }

    body.home-visua-redesign .home-services-showcase::before {
        display: none;
    }

    body.home-visua-redesign .home-services-showcase-head {
        padding: 1.2rem;
        border-radius: 24px 24px 0 0;
    }

    body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-showcase-head h2 {
        font-size: clamp(2.35rem, 12vw, 4rem);
        line-height: 0.93;
    }

    body.home-visua-redesign .home-services-signal-panel {
        grid-template-columns: auto 1fr;
        align-items: center;
    }

    body.home-visua-redesign .home-services-signal-panel span {
        grid-row: 1 / 3;
        font-size: 3.6rem;
    }

    body.home-visua-redesign .home-service-showcase-grid {
        grid-template-columns: 1fr;
        border-radius: 0 0 24px 24px;
    }

    body.home-visua-redesign .home-service-showcase-card {
        min-height: 440px;
        padding: 1.1rem;
    }

    body.home-visua-redesign .home-service-showcase-card::after {
        inset: 0.7rem;
        border-radius: 16px;
    }

    body.home-visua-redesign .home-service-card-chrome {
        top: 1rem;
        left: 1rem;
        right: 1rem;
    }

    body.home-visua-redesign .home-service-card-chrome small {
        max-width: 120px;
        font-size: 0.72rem;
    }

    body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-service-showcase-card h3 {
        font-size: clamp(2.35rem, 11vw, 3.8rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-visua-redesign .home-service-showcase-card,
    body.home-visua-redesign .home-service-showcase-card::after,
    body.home-visua-redesign .home-service-card-media img,
    body.home-visua-redesign .home-service-showcase-card h3,
    body.home-visua-redesign .home-service-card-description,
    body.home-visua-redesign .home-service-card-action,
    body.home-visua-redesign .home-service-card-action .icon {
        transition: none !important;
    }

    body.home-visua-redesign .home-service-showcase-card:hover,
    body.home-visua-redesign .home-service-showcase-card:focus-visible,
    body.home-visua-redesign .home-service-showcase-card:hover h3,
    body.home-visua-redesign .home-service-showcase-card:focus-visible h3,
    body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-description,
    body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-description,
    body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-action,
    body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-action,
    body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-action .icon,
    body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-action .icon,
    body.home-visua-redesign .home-service-showcase-card:hover .home-service-card-media img,
    body.home-visua-redesign .home-service-showcase-card:focus-visible .home-service-card-media img {
        transform: none !important;
    }
}

body.home-visua-redesign .reveal {
    opacity: 1 !important;
    transform: none !important;
}

body.home-visua-redesign .site-header {
    border-bottom: 1px solid rgba(18, 245, 232, 0.24);
    background: rgba(5, 5, 5, 0.96);
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.32);
}

body.home-visua-redesign .nav-brand {
    position: relative;
    isolation: isolate;
}

body.home-visua-redesign .nav-brand::after {
    content: "";
    position: absolute;
    inset: 6px;
    z-index: -1;
    border-radius: 8px;
    border: 1px solid rgba(18, 245, 232, 0.36);
    box-shadow: 0 0 26px rgba(18, 245, 232, 0.22), 0 0 38px rgba(237, 86, 73, 0.14);
}

body.home-visua-redesign .nav-brand img {
    filter: saturate(1.22) contrast(1.08);
}

body.home-visua-redesign .site-action-widget {
    display: none;
}

body.home-visua-redesign .home-hero,
body.home-portfolio-page.home-visua-redesign .home-hero {
    min-height: auto !important;
    padding: clamp(0.9rem, 1.6vw, 1.8rem) 0 clamp(4.5rem, 7vw, 6.5rem) !important;
    overflow: hidden;
    color: var(--hv-ink);
    background: #ffffff !important;
    background-size: auto !important;
}

body.home-visua-redesign .home-hero::before,
body.home-visua-redesign .home-hero::after {
    display: none !important;
}

body.home-visua-redesign .home-visua-stage {
    width: min(100% - clamp(1.4rem, 3.6vw, 4.5rem), 1880px);
    max-width: 1880px;
}

body.home-visua-redesign .home-visua-title-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(1rem, 2.2vw, 2rem);
    padding: clamp(0.65rem, 1.4vw, 1.45rem) 0 clamp(0.9rem, 1.6vw, 1.3rem);
}

body.home-visua-redesign .home-visua-studio-mark {
    display: grid;
    place-items: center;
    width: clamp(42px, 3.5vw, 56px);
    height: clamp(42px, 3.5vw, 56px);
    margin-bottom: clamp(0.8rem, 1.2vw, 1.4rem);
    border-radius: 50%;
    background: #ff4f18;
    box-shadow: 0 18px 38px rgba(255, 79, 24, 0.18);
}

body.home-visua-redesign .home-visua-studio-mark span {
    width: 44%;
    height: 70%;
    border-radius: 999px 0 0 999px;
    background: #ffffff;
}

body.home-visua-redesign .home-visua-title-row h1 {
    margin: 0;
    color: #0b0c0d !important;
    font-family: var(--hv-studio-font) !important;
    font-size: clamp(4.5rem, 7.8vw, 10.5rem) !important;
    font-weight: 800 !important;
    line-height: 0.88 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
}

body.home-visua-redesign .home-visua-title-row h1 span {
    display: block;
}

body.home-visua-redesign .home-visua-title-mobile {
    display: none !important;
}

body.home-visua-redesign .home-visua-founder-card {
    display: grid;
    grid-template-columns: clamp(58px, 4.4vw, 78px) minmax(0, 1fr);
    align-items: center;
    gap: 0.72rem;
    width: clamp(230px, 17vw, 300px);
    margin-bottom: clamp(0.45rem, 0.9vw, 0.95rem);
    padding: 0.48rem;
    border: 1px solid rgba(7, 10, 14, 0.14);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 44px rgba(15, 17, 20, 0.08);
    font-family: var(--hv-studio-font);
}

body.home-visua-redesign .home-visua-founder-card picture,
body.home-visua-redesign .home-visua-founder-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 7px;
}

body.home-visua-redesign .home-visua-founder-card img {
    height: auto;
    object-fit: cover;
    object-position: center top;
}

body.home-visua-redesign .home-visua-founder-card strong,
body.home-visua-redesign .home-visua-founder-card span,
body.home-visua-redesign .home-visua-founder-card a {
    display: block;
    letter-spacing: 0;
}

body.home-visua-redesign .home-visua-founder-card strong {
    color: #111315;
    font-size: clamp(0.95rem, 1vw, 1.12rem);
    font-weight: 850;
    line-height: 1.1;
}

body.home-visua-redesign .home-visua-founder-card span {
    margin-top: 0.18rem;
    color: rgba(17, 19, 21, 0.62);
    font-size: clamp(0.78rem, 0.82vw, 0.9rem);
    font-weight: 750;
    line-height: 1.15;
}

body.home-visua-redesign .home-visua-founder-card a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    min-height: 42px;
    margin-top: 0.58rem;
    padding: 0.55rem 0.7rem;
    border-radius: 5px;
    color: #ffffff !important;
    background: #4f4f4f;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    transition: background 220ms ease, transform 220ms ease;
}

body.home-visua-redesign .home-visua-founder-card a:hover,
body.home-visua-redesign .home-visua-founder-card a:focus-visible {
    background: var(--hv-red);
    outline: none;
    transform: translateY(-2px);
}

body.home-visua-redesign .home-visua-founder-card .icon {
    width: 17px;
    height: 17px;
    stroke-width: 2.4;
}

body.home-visua-redesign .home-visua-frame {
    --active-service-accent: var(--hv-teal);
    --hero-flow-a: #064F8E;
    --hero-flow-b: #32AEE0;
    --hero-flow-c: #E7C3D4;
    --hero-flow-d: #C58C28;
    --hero-flow-x: 18%;
    --hero-flow-y: 18%;
    position: relative;
    min-height: clamp(590px, calc(100svh - 285px), 760px);
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(6, 28, 51, 0.12);
    border-radius: clamp(16px, 1.7vw, 25px);
    background:
        radial-gradient(circle at var(--hero-flow-x) var(--hero-flow-y), rgba(255, 255, 255, 0.54), transparent 0 18%),
        linear-gradient(112deg, var(--hero-flow-a) 0%, var(--hero-flow-b) 35%, var(--hero-flow-c) 63%, var(--hero-flow-d) 100%);
    box-shadow: 0 34px 84px rgba(12, 22, 32, 0.16);
    transition: background 520ms ease;
}

body.home-visua-redesign .home-visua-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(circle at 20% 72%, rgba(255, 255, 255, 0.2), transparent 0 16%),
        radial-gradient(circle at 76% 24%, rgba(255, 255, 255, 0.18), transparent 0 18%),
        linear-gradient(100deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.3) 44%, rgba(255, 255, 255, 0.08) 72%);
    mix-blend-mode: screen;
    opacity: 0.48;
    pointer-events: none;
    transform: translateX(-10%);
}

body.home-visua-redesign .home-visua-frame::after {
    content: "";
    position: absolute;
    inset: clamp(1.4rem, 2.2vw, 2.4rem) clamp(1.4rem, 2.2vw, 2.4rem) auto auto;
    z-index: 6;
    width: clamp(42px, 4vw, 58px);
    height: clamp(42px, 4vw, 58px);
    border-top: 2px solid var(--active-service-accent, var(--hv-lime));
    border-right: 3px solid var(--active-service-accent, var(--hv-lime));
    border-bottom: 0;
    opacity: 0.75;
    transition: border-color 320ms ease, opacity 320ms ease;
}

body.home-visua-redesign .home-visua-frame.is-swapping::before {
    animation: homeHeroColorFlow 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes homeHeroColorFlow {
    0% {
        opacity: 0.24;
        transform: translateX(-28%) scaleX(1.05);
    }

    46% {
        opacity: 0.76;
    }

    100% {
        opacity: 0.42;
        transform: translateX(18%) scaleX(1.1);
    }
}

body.home-visua-redesign .home-visua-main-image {
    position: absolute;
    inset: -4% -4% -4% 38%;
    z-index: 1;
    opacity: 0.44;
    mix-blend-mode: soft-light;
    mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%);
}

body.home-visua-redesign .home-visua-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.28) contrast(1.08);
    transform: scale(1.04);
    transition: opacity 300ms ease, transform 720ms cubic-bezier(0.22, 1, 0.36, 1), filter 420ms ease;
}

body.home-visua-redesign .home-visua-frame.is-swapping .home-visua-main-image img {
    opacity: 0.9;
    filter: saturate(1.45) contrast(1.08);
    transform: scale(1.095) translateX(1.4rem);
}

body.home-visua-redesign .home-visua-scanline {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--active-service-accent, var(--hv-teal)) 74%, transparent) 44%, rgba(255, 255, 255, 0.82) 50%, color-mix(in srgb, var(--active-service-accent, var(--hv-teal)) 68%, transparent) 56%, transparent 100%),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 8px);
    mix-blend-mode: screen;
    transform: translateX(-120%) skewX(-13deg);
}

body.home-visua-redesign .home-visua-frame.is-swapping .home-visua-scanline {
    animation: homeHeroSweep 680ms ease;
}

@keyframes homeHeroSweep {
    0% {
        opacity: 0;
        transform: translateX(-120%) skewX(-13deg);
    }

    18%,
    70% {
        opacity: 0.68;
    }

    100% {
        opacity: 0;
        transform: translateX(120%) skewX(-13deg);
    }
}

body.home-visua-redesign .home-visua-copy {
    position: absolute;
    left: clamp(1.1rem, 2.4vw, 2.4rem);
    bottom: clamp(9.5rem, 10vw, 10.8rem);
    z-index: 5;
    width: min(760px, 52vw);
}

body.home-visua-redesign .home-visua-copy .eyebrow {
    margin: 0 0 0.7rem;
    color: rgba(255, 255, 255, 0.88) !important;
    font-family: var(--hv-studio-font);
    font-size: clamp(0.78rem, 0.9vw, 0.95rem);
    font-weight: 760;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

body.home-visua-redesign .home-visua-copy h2 {
    max-width: 760px;
    margin: 0;
    color: #ffffff !important;
    font-family: var(--hv-studio-font) !important;
    font-size: clamp(2.65rem, 3.25vw, 4.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-shadow: none;
}

body.home-visua-redesign .home-visua-avatar-stack {
    display: flex;
    margin-bottom: clamp(1.1rem, 1.4vw, 1.55rem);
    padding-left: 0.14rem;
}

body.home-visua-redesign .home-visua-avatar-stack img {
    width: clamp(34px, 2.9vw, 48px);
    height: clamp(34px, 2.9vw, 48px);
    margin-left: -0.42rem;
    border: 2px solid rgba(255, 255, 255, 0.82);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

body.home-visua-redesign .home-visua-avatar-stack img:first-child {
    margin-left: 0;
}

body.home-visua-redesign .home-visua-copy .hero-tagline {
    max-width: 620px;
    margin: clamp(0.85rem, 1.2vw, 1.25rem) 0 0;
    color: rgba(255, 255, 255, 0.82) !important;
    font-family: var(--hv-studio-font);
    font-size: clamp(1rem, 1.35vw, 1.28rem);
    font-weight: 650;
    line-height: 1.45;
    letter-spacing: 0;
    text-transform: none;
}

body.home-visua-redesign .home-visua-copy .button-row {
    display: none;
}

body.home-visua-redesign .button.button-primary {
    border-color: var(--hv-red);
    background: var(--hv-red);
    color: var(--hv-white);
    box-shadow: 0 18px 44px rgba(237, 86, 73, 0.24);
}

body.home-visua-redesign .button.button-primary:hover {
    border-color: var(--hv-lime);
    background: var(--hv-lime);
    color: var(--hv-black);
}

body.home-visua-redesign .button.button-secondary {
    border-color: rgba(6, 28, 51, 0.3);
    background: rgba(255, 255, 255, 0.24);
    color: var(--hv-navy) !important;
}

body.home-visua-redesign .home-visua-feature-card {
    position: absolute;
    top: clamp(1.3rem, 2vw, 2.1rem);
    left: clamp(1.2rem, 2.2vw, 2.4rem);
    z-index: 5;
    display: grid;
    gap: 0.18rem;
    min-width: clamp(190px, 18vw, 280px);
    padding: clamp(0.8rem, 1vw, 1rem);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.13);
}

body.home-visua-redesign .home-visua-feature-card span {
    color: var(--active-service-accent, var(--hv-teal));
    font-size: 0.82rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

body.home-visua-redesign .home-visua-feature-card strong {
    color: var(--hv-white);
    font-family: var(--hv-studio-font);
    font-size: clamp(1.05rem, 1.35vw, 1.45rem);
    font-weight: 850;
    line-height: 1.02;
    letter-spacing: 0;
}

body.home-visua-redesign .home-visua-feature-card small {
    color: rgba(255, 255, 255, 0.72);
    font-weight: 760;
}

body.home-visua-redesign .home-visua-social-rail {
    position: absolute;
    right: clamp(1rem, 1.8vw, 1.7rem);
    top: 50%;
    z-index: 5;
    display: grid;
    place-items: center;
    gap: 0.62rem;
    width: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    clip-path: none;
    transform: translateY(-50%);
}

body.home-visua-redesign .home-visua-social-rail::before {
    display: none;
}

body.home-visua-redesign .home-visua-social-link {
    position: relative;
    color: #101214;
    display: grid;
    place-items: center;
    width: clamp(44px, 3.2vw, 58px);
    height: clamp(44px, 3.2vw, 58px);
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 16px 34px rgba(20, 18, 14, 0.14);
    font-family: var(--hv-studio-font);
    font-size: clamp(1rem, 1.2vw, 1.35rem);
    font-weight: 850;
    line-height: 1;
    text-transform: lowercase;
    transition: color 220ms ease, border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

body.home-visua-redesign .home-visua-social-link span:not(.sr-only) {
    display: block;
}

body.home-visua-redesign .home-visua-social-link:hover,
body.home-visua-redesign .home-visua-social-link:focus-visible {
    color: #ffffff;
    border-color: color-mix(in srgb, var(--active-service-accent, var(--hv-teal)) 60%, transparent);
    background: color-mix(in srgb, var(--active-service-accent, var(--hv-teal)) 72%, #101214);
    outline: none;
    transform: translateX(-5px) scale(1.04);
    box-shadow: 0 0 32px color-mix(in srgb, var(--active-service-accent, var(--hv-teal)) 24%, transparent);
}

body.home-visua-redesign .home-visua-service-dock {
    position: absolute;
    right: clamp(1.1rem, 1.9vw, 2.2rem);
    bottom: clamp(1.15rem, 1.8vw, 2rem);
    left: clamp(1.1rem, 1.9vw, 2.2rem);
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: clamp(0.6rem, 0.85vw, 1rem);
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.home-visua-redesign .home-visua-service-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(50px, 38%) minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas:
        "image number"
        "image title";
    align-items: center;
    gap: 0.22rem clamp(0.58rem, 0.8vw, 0.8rem);
    min-width: 0;
    min-height: clamp(74px, 5.6vw, 96px);
    overflow: hidden;
    padding: clamp(0.52rem, 0.7vw, 0.7rem);
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 8px;
    color: #111315;
    background: rgba(255, 255, 255, 0.73);
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 28px rgba(14, 16, 20, 0.1);
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease, opacity 220ms ease, background 220ms ease;
}

body.home-visua-redesign .home-visua-service-card::before {
    display: none;
}

body.home-visua-redesign .home-visua-service-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border: 1px solid transparent;
    border-radius: inherit;
    background: none;
    pointer-events: none;
}

body.home-visua-redesign .home-visua-service-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.1) contrast(1.02);
    transition: transform 420ms ease, filter 420ms ease;
}

body.home-visua-redesign .home-visua-service-card picture {
    grid-area: image;
    display: block;
    align-self: stretch;
    min-height: 58px;
    overflow: hidden;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.34);
}

body.home-visua-redesign .home-visua-service-card span,
body.home-visua-redesign .home-visua-service-card strong {
    position: relative;
    z-index: 3;
    left: auto;
    right: auto;
    letter-spacing: 0;
}

body.home-visua-redesign .home-visua-service-card span {
    grid-area: number;
    align-self: end;
    color: #111315;
    font-family: var(--hv-studio-font);
    font-weight: 800;
    font-size: clamp(0.72rem, 0.76vw, 0.9rem);
    line-height: 1.05;
}

body.home-visua-redesign .home-visua-service-card strong {
    grid-area: title;
    align-self: start;
    color: #111315;
    font-family: var(--hv-studio-font);
    font-size: clamp(0.78rem, 0.86vw, 1rem);
    font-weight: 800;
    line-height: 1.08;
    text-transform: none;
}

body.home-visua-redesign .home-visua-service-card:hover img,
body.home-visua-redesign .home-visua-service-card:focus-visible img,
body.home-visua-redesign .home-visua-service-card.is-active img {
    transform: scale(1.08);
    filter: saturate(1.35);
}

body.home-visua-redesign .home-visua-service-card:hover,
body.home-visua-redesign .home-visua-service-card:focus-visible,
body.home-visua-redesign .home-visua-service-card.is-active {
    border-color: var(--panel-accent, var(--hv-teal));
    background: rgba(255, 255, 255, 0.9);
    outline: none;
    transform: translateY(-6px);
    box-shadow: 0 18px 42px color-mix(in srgb, var(--panel-accent, var(--hv-teal)) 18%, transparent);
}

body.home-visua-redesign .home-visua-service-card.is-active::after {
    border-color: color-mix(in srgb, var(--panel-accent, var(--hv-teal)) 74%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--panel-accent, var(--hv-teal)) 28%, transparent), 0 0 24px color-mix(in srgb, var(--panel-accent, var(--hv-teal)) 32%, transparent);
}

@media (max-width: 1480px) {
    body.home-visua-redesign .home-visua-title-row h1 {
        font-size: clamp(4.2rem, 7.6vw, 8.6rem) !important;
    }

    body.home-visua-redesign .home-visua-service-dock {
        grid-auto-columns: minmax(220px, 1fr);
        grid-auto-flow: column;
        grid-template-columns: none;
        overflow-x: auto;
        padding-bottom: 0.28rem;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    body.home-visua-redesign .home-visua-service-card {
        scroll-snap-align: start;
    }
}

body.home-visua-redesign main > .section {
    padding-block: clamp(5rem, 8vw, 8.5rem);
}

body.home-visua-redesign .section-heading h2,
body.home-visua-redesign .section-visual-title,
body.home-visua-redesign .conversion-impact-intro h2,
body.home-visua-redesign .canada-reach h2,
body.home-visua-redesign .contact-preview h2 {
    max-width: 1000px;
    font-size: clamp(2.6rem, 5vw, 6.15rem);
    line-height: 0.9;
    letter-spacing: 0;
    overflow-wrap: break-word;
}

body.home-visua-redesign .section-heading p,
body.home-visua-redesign .belief-copy p,
body.home-visua-redesign .canada-reach p,
body.home-visua-redesign .contact-preview p {
    max-width: 760px;
}

body.home-visua-redesign .goodfaith-about-proof-section,
body.home-portfolio-page.home-visua-redesign main > .section.goodfaith-about-proof-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    scroll-margin-top: calc(var(--header-height, 96px) + 1.5rem);
    min-height: clamp(820px, calc(100svh - var(--header-height, 96px)), 1160px);
    padding: clamp(5.2rem, 7vw, 8rem) 0 !important;
    color: #ffffff !important;
    background:
        radial-gradient(circle at 4% 18%, rgba(237, 86, 73, 0.12), transparent 0 28%),
        radial-gradient(circle at 62% 22%, rgba(12, 146, 149, 0.12), transparent 0 32%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
        #050505 !important;
    background-size: auto, auto, 96px 96px, 96px 96px, auto !important;
}

body.home-visua-redesign .goodfaith-about-proof-section::before,
body.home-visua-redesign .goodfaith-about-proof-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

body.home-visua-redesign .goodfaith-about-proof-section::before {
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.12) 1px, transparent 1.5px);
    background-size: 14px 14px;
    opacity: 0.18;
}

body.home-visua-redesign .goodfaith-about-proof-section::after {
    background: linear-gradient(90deg, rgba(237, 86, 73, 0.12), transparent 35%, rgba(12, 146, 149, 0.1));
    mix-blend-mode: screen;
    opacity: 0.42;
}

body.home-visua-redesign .goodfaith-about-proof-shell {
    box-sizing: border-box;
    width: min(calc(100% - clamp(2rem, 7vw, 9rem)), 1720px);
    max-width: 1720px;
    margin-inline: auto !important;
}

body.home-visua-redesign .goodfaith-about-proof-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.62fr);
    gap: clamp(3rem, 8vw, 10rem);
    align-items: start;
}

body.home-visua-redesign .goodfaith-about-proof-copy {
    min-width: 0;
    padding-top: clamp(0.2rem, 1.4vw, 1.1rem);
}

body.home-visua-redesign .goodfaith-about-proof-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.78rem;
    margin: 0 0 clamp(3.2rem, 5vw, 6rem);
    color: rgba(255, 255, 255, 0.74) !important;
    font-family: var(--hv-studio-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: clamp(0.78rem, 0.82vw, 0.98rem);
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.home-visua-redesign .goodfaith-about-proof-kicker span {
    width: 7px;
    height: 7px;
    background: var(--hv-red);
}

body.home-visua-redesign .goodfaith-about-proof-copy h2 {
    max-width: 980px;
    margin: 0;
    color: #ffffff !important;
    font-family: var(--hv-studio-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: clamp(4.4rem, 7.2vw, 9.5rem) !important;
    font-weight: 300 !important;
    line-height: 1.05 !important;
    letter-spacing: 0;
    text-transform: none;
}

body.home-visua-redesign .goodfaith-about-proof-copy h2 span {
    display: block;
}

body.home-visua-redesign .goodfaith-about-proof-copy h2 span:nth-child(n+3) {
    color: rgba(255, 255, 255, 0.38);
}

body.home-visua-redesign .goodfaith-about-proof-copy p {
    max-width: 700px;
    margin: clamp(10rem, 21vw, 20rem) 0 0;
    color: rgba(255, 255, 255, 0.82) !important;
    font-family: var(--hv-studio-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: clamp(1.42rem, 1.75vw, 2.25rem);
    font-weight: 360;
    line-height: 1.56;
    letter-spacing: 0.02em;
}

body.home-visua-redesign .goodfaith-about-proof-panel {
    position: relative;
    min-height: clamp(680px, 72vw, 1020px);
    padding: clamp(2.6rem, 5vw, 5.2rem) clamp(2.2rem, 4.5vw, 4.8rem);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.034), rgba(255, 255, 255, 0.014)),
        rgba(255, 255, 255, 0.012);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.045),
        0 34px 90px rgba(0, 0, 0, 0.38);
    overflow: hidden;
}

body.home-visua-redesign .goodfaith-about-proof-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    height: 100%;
    margin: 0;
    padding: 0;
}

body.home-visua-redesign .goodfaith-about-proof-stat {
    min-width: 0;
    margin: 0;
    padding: clamp(2.4rem, 5vw, 5rem) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.home-visua-redesign .goodfaith-about-proof-stat:first-child {
    padding-top: 0;
    border-top: 0;
}

body.home-visua-redesign .goodfaith-about-proof-stat dt {
    margin: 0 0 clamp(1.1rem, 1.6vw, 1.7rem);
    color: #f8f8f8 !important;
    font-family: var(--hv-studio-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: clamp(6.4rem, 8.8vw, 12rem);
    font-weight: 650;
    line-height: 0.78;
    letter-spacing: -0.03em;
}

body.home-visua-redesign .goodfaith-about-proof-stat dd {
    margin: 0;
    color: rgba(255, 255, 255, 0.54) !important;
    font-family: var(--hv-studio-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    font-size: clamp(0.9rem, 1vw, 1.1rem);
    font-weight: 520;
    letter-spacing: 0.22em;
    line-height: 1.35;
    text-transform: uppercase;
}

body.home-visua-redesign .belief-section,
body.home-visua-redesign .home-cube-showcase,
body.home-visua-redesign .conversion-impact-section,
body.home-visua-redesign .home-hedge,
body.home-visua-redesign .industry-network-section,
body.home-visua-redesign .story-section,
body.home-visua-redesign .contact-preview {
    color: var(--hv-white);
    background:
        linear-gradient(90deg, rgba(18, 245, 232, 0.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(135deg, #050505 0%, #061C33 100%) !important;
    background-size: 86px 86px, 86px 86px, auto !important;
}

body.home-visua-redesign .difference-section,
body.home-visua-redesign .goodfaith-ecosystem,
body.home-visua-redesign .home-services,
body.home-visua-redesign .section-soft,
body.home-visua-redesign .daily-questions,
body.home-visua-redesign .why-section,
body.home-visua-redesign .canada-reach,
body.home-visua-redesign .home-innovation,
body.home-visua-redesign .home-faq-deep {
    background:
        linear-gradient(90deg, rgba(12, 146, 149, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(6, 28, 51, 0.045) 1px, transparent 1px),
        var(--hv-soft) !important;
    background-size: 90px 90px, 90px 90px, auto !important;
    color: var(--hv-ink);
}

body.home-visua-redesign .belief-grid {
    align-items: center;
}

body.home-visua-redesign .belief-copy .section-visual-title,
body.home-visua-redesign .belief-copy p:not(.eyebrow),
body.home-visua-redesign .conversion-impact-section .section-visual-title,
body.home-visua-redesign .conversion-impact-section h2,
body.home-visua-redesign .conversion-impact-section p,
body.home-visua-redesign .home-hedge p,
body.home-visua-redesign .industry-network-section p,
body.home-visua-redesign .story-section p,
body.home-visua-redesign .contact-preview p {
    color: rgba(255, 255, 255, 0.82);
}

body.home-visua-redesign .belief-copy .section-visual-title,
body.home-visua-redesign .conversion-impact-section h2,
body.home-visua-redesign .home-hedge .section-visual-title,
body.home-visua-redesign .industry-network-section .section-visual-title,
body.home-visua-redesign .story-section .section-visual-title,
body.home-visua-redesign .contact-preview h2 {
    color: var(--hv-white);
}

body.home-visua-redesign .customer-question {
    border: 1px solid rgba(18, 245, 232, 0.28);
    border-radius: 8px;
    background: rgba(5, 5, 5, 0.78);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.36);
}

body.home-visua-redesign .customer-question p {
    color: var(--hv-white);
}

body.home-visua-redesign .customer-question cite {
    color: var(--hv-teal);
}

body.home-visua-redesign .difference-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
}

body.home-visua-redesign .difference-matrix {
    overflow: hidden;
    border: 1px solid rgba(6, 28, 51, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 28px 70px rgba(6, 28, 51, 0.1);
}

body.home-visua-redesign .difference-header,
body.home-visua-redesign .difference-row {
    grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr);
}

body.home-visua-redesign .difference-cell strong,
body.home-visua-redesign .difference-cell h3 {
    max-width: 100%;
    font-size: clamp(1.6rem, 3.1vw, 3.5rem);
    line-height: 0.92;
    overflow-wrap: break-word;
}

body.home-visua-redesign .difference-cell-goodfaith {
    background: linear-gradient(135deg, rgba(18, 245, 232, 0.16), rgba(255, 255, 255, 0.7));
}

body.home-visua-redesign .conversion-impact-layout,
body.home-visua-redesign .conversion-journey-track,
body.home-visua-redesign .conversion-stages,
body.home-visua-redesign .conversion-stages li {
    min-width: 0;
}

body.home-visua-redesign .conversion-journey-panel,
body.home-visua-redesign .conversion-help-panel,
body.home-visua-redesign .conversion-step-card,
body.home-visua-redesign .story-card,
body.home-visua-redesign .contact-panel {
    border-color: rgba(18, 245, 232, 0.24);
    background: rgba(5, 5, 5, 0.72);
    color: var(--hv-white);
}

body.home-visua-redesign .conversion-stages li h3,
body.home-visua-redesign .conversion-stages li p,
body.home-visua-redesign .conversion-step-card h3,
body.home-visua-redesign .conversion-step-card p {
    color: var(--hv-white);
    opacity: 1;
}

body.home-visua-redesign .conversion-stages li span,
body.home-visua-redesign .conversion-step-card span {
    color: var(--hv-teal);
}

body.home-visua-redesign .home-cube-showcase-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.88fr) minmax(420px, 1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

body.home-visua-redesign .home-cube-showcase h2,
body.home-visua-redesign .home-cube-showcase p {
    color: var(--hv-white);
}

body.home-visua-redesign .home-cube-showcase .section-heading p:not(.eyebrow) {
    color: rgba(255, 255, 255, 0.84) !important;
}

body.home-visua-redesign .home-cube-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.4rem;
}

body.home-visua-redesign .home-cube-chip-row span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0.5rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    color: var(--hv-black);
    background: var(--hv-lime);
    font-weight: 950;
}

body.home-visua-redesign .home-cube-chip-row span:nth-child(2) {
    background: var(--hv-teal);
}

body.home-visua-redesign .home-cube-chip-row span:nth-child(3) {
    background: var(--hv-red);
    color: var(--hv-white);
}

body.home-visua-redesign .home-cube-chip-row span:nth-child(4) {
    background: var(--hv-blue);
    color: var(--hv-white);
}

body.home-visua-redesign .home-cube-showcase .service-cube-visual {
    min-height: clamp(520px, 52vw, 740px);
}

body.home-visua-redesign .home-cube-showcase .service-cube-caption {
    border-color: rgba(18, 245, 232, 0.38);
    background: rgba(5, 5, 5, 0.82);
}

body.home-visua-redesign .ecosystem-simple-summary {
    border-color: rgba(18, 245, 232, 0.28);
    background: var(--hv-navy) !important;
    color: var(--hv-white);
}

body.home-visua-redesign .ecosystem-simple-summary h3,
body.home-visua-redesign .ecosystem-simple-summary strong,
body.home-visua-redesign .ecosystem-simple-summary span,
body.home-visua-redesign .ecosystem-simple-summary p {
    color: var(--hv-white);
}

body.home-visua-redesign .ecosystem-simple-summary .ecosystem-simple-checks strong {
    color: var(--hv-lime);
}

body.home-visua-redesign .home-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

body.home-visua-redesign .home-service-tile {
    min-width: 0;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.1rem, 1.6vw, 1.45rem);
    border: 1px solid rgba(6, 28, 51, 0.14);
    border-radius: 8px;
    background: linear-gradient(145deg, #FFFFFF, rgba(18, 245, 232, 0.12));
    box-shadow: 0 20px 52px rgba(6, 28, 51, 0.08);
}

body.home-visua-redesign .home-service-tile h3 {
    margin: 1rem 0 0.75rem;
    font-size: clamp(2rem, 3.8vw, 4.6rem);
    line-height: 0.86;
    letter-spacing: 0;
    overflow-wrap: break-word;
}

body.home-visua-redesign .home-service-tile p {
    color: var(--hv-muted);
}

body.home-visua-redesign .home-service-tile .text-link {
    margin-top: auto;
    color: var(--hv-teal-deep);
}

body.home-visua-redesign .home-services {
    position: relative;
    overflow: hidden;
    color: var(--hv-white);
    background:
        linear-gradient(90deg, rgba(18, 245, 232, 0.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(135deg, #000000 0%, #050505 52%, #171717 100%) !important;
    background-size: 96px 96px, 96px 96px, auto !important;
}

body.home-visua-redesign .home-services-shell {
    position: relative;
    z-index: 1;
    width: min(100% - 2rem, 1720px);
    max-width: 1720px;
}

body.home-visua-redesign .home-services-editorial-head {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
    min-height: clamp(280px, 34vw, 520px);
    padding: clamp(1rem, 2vw, 2rem) 0 clamp(2.2rem, 4vw, 4.5rem);
    isolation: isolate;
}

body.home-visua-redesign .home-services-kicker {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    margin: 0 0 1.1rem;
    color: var(--hv-teal);
    font-size: clamp(0.78rem, 1vw, 0.95rem);
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.home-visua-redesign .home-services-kicker span {
    width: 34px;
    height: 2px;
    background: var(--hv-teal);
    box-shadow: 0 0 18px rgba(18, 245, 232, 0.28);
}

body.home-visua-redesign .home-services-editorial-head h2 {
    max-width: 1120px;
    margin: 0;
    color: var(--hv-white);
    font-size: clamp(3rem, 6vw, 6rem);
    line-height: 0.92;
    letter-spacing: 0;
    text-wrap: balance;
}

body.home-visua-redesign .home-services-editorial-head > p:not(.home-services-display) {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    line-height: 1.55;
}

body.home-visua-redesign .home-services-display {
    position: absolute;
    right: 0;
    bottom: clamp(1rem, 3vw, 3rem);
    z-index: -1;
    margin: 0;
    color: rgba(255, 255, 255, 0.045);
    font-size: clamp(6rem, 18vw, 18rem);
    font-weight: 950;
    line-height: 0.78;
    letter-spacing: 0;
    text-align: right;
    text-transform: uppercase;
    pointer-events: none;
    user-select: none;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-kicker,
body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-editorial-head h2,
body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-service-row h3 {
    color: var(--hv-white) !important;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-kicker {
    color: var(--hv-teal) !important;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-editorial-head > p:not(.home-services-display) {
    color: rgba(255, 255, 255, 0.72) !important;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-display {
    color: rgba(255, 255, 255, 0.04) !important;
}

body.home-visua-redesign .home-service-row-list {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

body.home-visua-redesign .home-service-row {
    --row-accent: var(--hv-teal);
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(300px, 1.15fr) minmax(240px, 0.85fr) minmax(260px, 0.9fr) 70px;
    gap: clamp(1rem, 2.2vw, 2.8rem);
    align-items: center;
    min-height: clamp(250px, 24vw, 320px);
    padding: clamp(1.2rem, 2vw, 2rem) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--hv-white);
    text-decoration: none;
    isolation: isolate;
    transition: background-color 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-row::before {
    content: "";
    position: absolute;
    inset: 0 -1rem;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(12, 146, 149, 0.1), transparent 42%),
        rgba(11, 11, 11, 0);
    opacity: 0;
    transform: scaleX(0.98);
    transition: opacity 600ms cubic-bezier(0.22, 1, 0.36, 1), transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-row:hover::before,
body.home-visua-redesign .home-service-row:focus-visible::before {
    opacity: 1;
    transform: scaleX(1);
}

body.home-visua-redesign .home-service-row:focus-visible {
    outline: 2px solid rgba(18, 245, 232, 0.72);
    outline-offset: 8px;
}

body.home-visua-redesign .home-service-row-number {
    position: relative;
    grid-column: 1;
    color: rgba(255, 255, 255, 0.46);
    font-size: clamp(1.05rem, 1.7vw, 1.55rem);
    font-weight: 950;
    line-height: 1;
    transition: color 460ms ease, transform 460ms ease;
}

body.home-visua-redesign .home-service-row-number::after {
    content: "";
    position: absolute;
    left: calc(100% + 0.85rem);
    top: 50%;
    width: clamp(58px, 9vw, 150px);
    height: 1px;
    background: var(--row-accent);
    opacity: 0.75;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-row-title-wrap {
    grid-column: 2;
    min-width: 0;
    transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-row h3 {
    max-width: 720px;
    margin: 0;
    color: var(--hv-white);
    font-size: clamp(2rem, 3.5vw, 4.5rem);
    font-weight: 500;
    line-height: 0.94;
    letter-spacing: 0;
    text-wrap: balance;
}

body.home-visua-redesign .home-service-row-description {
    grid-column: 4;
    max-width: 560px;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(0.98rem, 1.1vw, 1.14rem);
    line-height: 1.58;
    transition: color 460ms ease, opacity 460ms ease, transform 460ms ease;
}

body.home-visua-redesign .home-service-row-visual {
    grid-column: 3;
    display: grid;
    place-items: center;
    min-width: 0;
    height: clamp(190px, 17vw, 250px);
    perspective: 1200px;
    perspective-origin: 50% 42%;
}

body.home-visua-redesign .home-service-row-arrow {
    position: relative;
    grid-column: 5;
    justify-self: end;
    display: grid;
    place-items: center;
    width: clamp(54px, 4.2vw, 64px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    color: var(--hv-white);
    transition: border-color 420ms ease, color 420ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-row-arrow .icon {
    width: 21px;
    height: 21px;
    transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-visua-redesign .home-service-row-arrow i {
    position: absolute;
    right: 4px;
    top: 8px;
    width: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--hv-red);
    opacity: 0;
    transform: scale(0.4);
    transition: opacity 360ms ease, transform 360ms ease;
}

body.home-visua-redesign .home-service-row:hover,
body.home-visua-redesign .home-service-row:focus-visible {
    background-color: #0B0B0B;
}

body.home-visua-redesign .home-service-row:hover .home-service-row-number,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-number {
    color: var(--row-accent);
    transform: translateX(3px);
}

body.home-visua-redesign .home-service-row:hover .home-service-row-number::after,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-number::after {
    transform: scaleX(1);
}

body.home-visua-redesign .home-service-row:hover .home-service-row-title-wrap,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-title-wrap {
    transform: translateX(8px);
}

body.home-visua-redesign .home-service-row:hover .home-service-row-description,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-description {
    color: rgba(255, 255, 255, 0.96);
    transform: translateX(4px);
}

body.home-visua-redesign .home-service-row:hover .home-service-row-arrow,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-arrow {
    border-color: rgba(18, 245, 232, 0.82);
    color: var(--row-accent);
    transform: translate(3px, -3px);
}

body.home-visua-redesign .home-service-row:hover .home-service-row-arrow .icon,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-arrow .icon {
    transform: rotate(-45deg) translate(2px, -2px);
}

body.home-visua-redesign .home-service-row:hover .home-service-row-arrow i,
body.home-visua-redesign .home-service-row:focus-visible .home-service-row-arrow i {
    opacity: 1;
    transform: scale(1);
}

body.home-visua-redesign .home-service-cuboid {
    --cuboid-w: clamp(220px, 20vw, 340px);
    --cuboid-h: clamp(145px, 12vw, 214px);
    --cuboid-d: clamp(72px, 6vw, 98px);
    position: relative;
    width: var(--cuboid-w);
    height: var(--cuboid-h);
    transform-style: preserve-3d;
    transform: rotateX(7deg) rotateY(-18deg);
    transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1), filter 650ms cubic-bezier(0.22, 1, 0.36, 1);
    filter: drop-shadow(0 28px 34px rgba(0, 0, 0, 0.36));
}

body.home-visua-redesign .home-service-cuboid-turn-y-right {
    transform: rotateX(7deg) rotateY(18deg);
}

body.home-visua-redesign .home-service-cuboid-turn-x-top {
    transform: rotateX(-11deg) rotateY(15deg);
}

body.home-visua-redesign .home-service-cuboid-turn-x-bottom {
    transform: rotateX(11deg) rotateY(-15deg);
}

body.home-visua-redesign .home-service-row:hover .home-service-cuboid-turn-y-left,
body.home-visua-redesign .home-service-row:focus-visible .home-service-cuboid-turn-y-left {
    transform: rotateX(7deg) rotateY(-82deg) translate3d(0, -4px, 0);
}

body.home-visua-redesign .home-service-row:hover .home-service-cuboid-turn-y-right,
body.home-visua-redesign .home-service-row:focus-visible .home-service-cuboid-turn-y-right {
    transform: rotateX(6deg) rotateY(82deg) translate3d(0, -4px, 0);
}

body.home-visua-redesign .home-service-row:hover .home-service-cuboid-turn-x-top,
body.home-visua-redesign .home-service-row:focus-visible .home-service-cuboid-turn-x-top {
    transform: rotateX(-60deg) rotateY(15deg) translate3d(0, -4px, 0);
}

body.home-visua-redesign .home-service-row:hover .home-service-cuboid-turn-x-bottom,
body.home-visua-redesign .home-service-row:focus-visible .home-service-cuboid-turn-x-bottom {
    transform: rotateX(60deg) rotateY(-15deg) translate3d(0, -4px, 0);
}

body.home-visua-redesign .home-service-row:hover .home-service-cuboid,
body.home-visua-redesign .home-service-row:focus-visible .home-service-cuboid {
    filter: drop-shadow(0 34px 42px rgba(0, 0, 0, 0.44));
}

body.home-visua-redesign .home-service-cuboid-face {
    position: absolute;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    background: #101010;
    backface-visibility: hidden;
}

body.home-visua-redesign .home-service-cuboid-face em {
    position: absolute;
    left: 1rem;
    bottom: 0.9rem;
    z-index: 3;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(0.74rem, 0.85vw, 0.9rem);
    font-style: normal;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.home-visua-redesign .home-service-cuboid-front,
body.home-visua-redesign .home-service-cuboid-back {
    inset: 0;
    width: var(--cuboid-w);
    height: var(--cuboid-h);
}

body.home-visua-redesign .home-service-cuboid-front {
    background:
        linear-gradient(135deg, rgba(18, 245, 232, 0.14), transparent 42%),
        #111111;
    transform: translateZ(calc(var(--cuboid-d) * 0.5));
}

body.home-visua-redesign .home-service-cuboid-back {
    background:
        linear-gradient(135deg, rgba(247, 247, 244, 0.92), rgba(255, 255, 255, 0.78)),
        #F7F7F4;
    transform: rotateY(180deg) translateZ(calc(var(--cuboid-d) * 0.5));
}

body.home-visua-redesign .home-service-cuboid-back em {
    color: #050505;
}

body.home-visua-redesign .home-service-cuboid-left,
body.home-visua-redesign .home-service-cuboid-right {
    top: 0;
    left: calc((var(--cuboid-w) - var(--cuboid-d)) * 0.5);
    width: var(--cuboid-d);
    height: var(--cuboid-h);
    background:
        linear-gradient(180deg, rgba(12, 146, 149, 0.34), rgba(0, 0, 0, 0.92)),
        #050505;
}

body.home-visua-redesign .home-service-cuboid-left {
    transform: rotateY(-90deg) translateZ(calc(var(--cuboid-w) * 0.5));
}

body.home-visua-redesign .home-service-cuboid-right {
    transform: rotateY(90deg) translateZ(calc(var(--cuboid-w) * 0.5));
}

body.home-visua-redesign .home-service-cuboid-left em,
body.home-visua-redesign .home-service-cuboid-right em {
    left: 50%;
    bottom: 1rem;
    transform: translateX(-50%) rotate(-90deg);
    transform-origin: center;
    white-space: nowrap;
}

body.home-visua-redesign .home-service-cuboid-top,
body.home-visua-redesign .home-service-cuboid-bottom {
    left: 0;
    top: calc((var(--cuboid-h) - var(--cuboid-d)) * 0.5);
    width: var(--cuboid-w);
    height: var(--cuboid-d);
    background:
        linear-gradient(90deg, rgba(18, 245, 232, 0.2), rgba(237, 86, 73, 0.16)),
        #171717;
}

body.home-visua-redesign .home-service-cuboid-top {
    transform: rotateX(90deg) translateZ(calc(var(--cuboid-h) * 0.5));
}

body.home-visua-redesign .home-service-cuboid-bottom {
    transform: rotateX(-90deg) translateZ(calc(var(--cuboid-h) * 0.5));
}

body.home-visua-redesign .home-service-cuboid-top em,
body.home-visua-redesign .home-service-cuboid-bottom em {
    left: 1rem;
    bottom: 0.6rem;
    color: rgba(255, 255, 255, 0.78);
}

body.home-visua-redesign .home-service-art {
    position: absolute;
    inset: 1rem;
    z-index: 2;
    overflow: hidden;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        rgba(0, 0, 0, 0.16);
    background-size: 32px 32px, 32px 32px, auto;
}

body.home-visua-redesign .home-service-art::before,
body.home-visua-redesign .home-service-art::after,
body.home-visua-redesign .home-service-art span {
    content: "";
    position: absolute;
    display: block;
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art::before {
    inset: 24% 14% auto;
    height: 1px;
    background: var(--hv-teal);
    transform: rotate(-14deg);
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art::after {
    inset: auto 17% 21% 17%;
    height: 1px;
    background: rgba(237, 86, 73, 0.82);
    transform: rotate(12deg);
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art span {
    width: 17px;
    aspect-ratio: 1;
    border: 2px solid var(--hv-teal);
    border-radius: 50%;
    background: #050505;
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art span:nth-child(1) {
    left: 18%;
    top: 18%;
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art span:nth-child(2) {
    left: 56%;
    top: 34%;
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art span:nth-child(3) {
    right: 14%;
    bottom: 20%;
}

body.home-visua-redesign .home-service-cuboid-search .home-service-art span:nth-child(4) {
    left: 30%;
    bottom: 25%;
}

body.home-visua-redesign .home-service-cuboid-local .home-service-art {
    background:
        linear-gradient(90deg, rgba(18, 245, 232, 0.16) 1px, transparent 1px),
        linear-gradient(180deg, rgba(18, 245, 232, 0.14) 1px, transparent 1px),
        rgba(0, 0, 0, 0.24);
    background-size: 28px 28px, 28px 28px, auto;
}

body.home-visua-redesign .home-service-cuboid-local .home-service-art::before {
    left: 56%;
    top: 26%;
    width: 30px;
    height: 42px;
    border: 2px solid var(--hv-red);
    border-radius: 50% 50% 50% 8px;
    transform: rotate(-45deg);
}

body.home-visua-redesign .home-service-cuboid-local .home-service-art::after {
    left: 21%;
    right: 18%;
    bottom: 26%;
    height: 2px;
    background: var(--hv-teal);
    transform: skewY(-15deg);
}

body.home-visua-redesign .home-service-cuboid-local .home-service-art span {
    width: 54px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, 0.22);
}

body.home-visua-redesign .home-service-cuboid-local .home-service-art span:nth-child(1) {
    left: 12%;
    top: 18%;
}

body.home-visua-redesign .home-service-cuboid-local .home-service-art span:nth-child(2) {
    right: 14%;
    bottom: 16%;
}

body.home-visua-redesign .home-service-cuboid-profile .home-service-art span {
    left: 12%;
    right: 12%;
    height: 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
}

body.home-visua-redesign .home-service-cuboid-profile .home-service-art span:nth-child(1) {
    top: 22%;
    width: 54%;
    background: var(--hv-teal);
}

body.home-visua-redesign .home-service-cuboid-profile .home-service-art span:nth-child(2) {
    top: 42%;
}

body.home-visua-redesign .home-service-cuboid-profile .home-service-art span:nth-child(3) {
    top: 60%;
    width: 70%;
    background: rgba(237, 86, 73, 0.72);
}

body.home-visua-redesign .home-service-cuboid-profile .home-service-art span:nth-child(4) {
    right: 13%;
    left: auto;
    top: 18%;
    width: 42px;
    height: 42px;
    border: 2px solid rgba(255, 255, 255, 0.32);
    border-radius: 50%;
    background: transparent;
}

body.home-visua-redesign .home-service-cuboid-design .home-service-art::before {
    inset: 14% 12%;
    border: 1px solid var(--hv-teal);
    border-radius: 8px;
}

body.home-visua-redesign .home-service-cuboid-design .home-service-art span {
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.18);
}

body.home-visua-redesign .home-service-cuboid-design .home-service-art span:nth-child(1) {
    left: 18%;
    top: 24%;
    width: 27%;
    height: 42%;
    background: rgba(18, 245, 232, 0.46);
}

body.home-visua-redesign .home-service-cuboid-design .home-service-art span:nth-child(2) {
    right: 18%;
    top: 24%;
    width: 31%;
    height: 10%;
}

body.home-visua-redesign .home-service-cuboid-design .home-service-art span:nth-child(3) {
    right: 25%;
    top: 44%;
    width: 24%;
    height: 10%;
    background: rgba(237, 86, 73, 0.72);
}

body.home-visua-redesign .home-service-cuboid-design .home-service-art span:nth-child(4) {
    right: 18%;
    bottom: 24%;
    width: 38%;
    height: 10%;
    background: var(--hv-teal);
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art span {
    left: 15%;
    height: 2px;
    background: rgba(255, 255, 255, 0.7);
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art span:nth-child(1) {
    top: 24%;
    width: 70%;
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art span:nth-child(2) {
    top: 39%;
    width: 42%;
    background: var(--hv-teal);
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art span:nth-child(3) {
    top: 55%;
    width: 58%;
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art span:nth-child(4) {
    top: 71%;
    width: 32%;
    background: var(--hv-red);
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art::before,
body.home-visua-redesign .home-service-cuboid-build .home-service-art::after {
    top: 44%;
    color: var(--hv-teal);
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1;
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art::before {
    content: "{";
    left: 10%;
}

body.home-visua-redesign .home-service-cuboid-build .home-service-art::after {
    content: "}";
    right: 10%;
}

body.home-visua-redesign .home-service-cuboid-brand .home-service-art::before {
    content: "Aa";
    right: 12%;
    bottom: 6%;
    color: rgba(255, 255, 255, 0.64);
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 950;
    line-height: 1;
}

body.home-visua-redesign .home-service-cuboid-brand .home-service-art span {
    top: 18%;
    width: 30px;
    aspect-ratio: 1;
    border-radius: 50%;
}

body.home-visua-redesign .home-service-cuboid-brand .home-service-art span:nth-child(1) {
    left: 15%;
    background: var(--hv-white);
}

body.home-visua-redesign .home-service-cuboid-brand .home-service-art span:nth-child(2) {
    left: calc(15% + 42px);
    background: var(--hv-red);
}

body.home-visua-redesign .home-service-cuboid-brand .home-service-art span:nth-child(3) {
    left: calc(15% + 84px);
    background: var(--hv-teal);
}

body.home-visua-redesign .home-service-cuboid-brand .home-service-art span:nth-child(4) {
    left: 15%;
    top: auto;
    bottom: 20%;
    width: 54%;
    height: 2px;
    border-radius: 0;
    background: var(--hv-teal);
}

body.home-visua-redesign .home-service-cuboid-social .home-service-art span {
    top: 19%;
    width: 28%;
    height: 58%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}

body.home-visua-redesign .home-service-cuboid-social .home-service-art span:nth-child(1) {
    left: 11%;
}

body.home-visua-redesign .home-service-cuboid-social .home-service-art span:nth-child(2) {
    left: 36%;
    background: rgba(18, 245, 232, 0.18);
}

body.home-visua-redesign .home-service-cuboid-social .home-service-art span:nth-child(3) {
    right: 11%;
}

body.home-visua-redesign .home-service-cuboid-social .home-service-art span:nth-child(4) {
    right: 17%;
    bottom: 18%;
    top: auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--hv-red);
}

body.home-visua-redesign .home-service-cuboid-content .home-service-art span {
    left: 14%;
    right: 14%;
    height: 3px;
    background: rgba(255, 255, 255, 0.64);
}

body.home-visua-redesign .home-service-cuboid-content .home-service-art span:nth-child(1) {
    top: 22%;
    height: 22px;
    background: var(--hv-teal);
}

body.home-visua-redesign .home-service-cuboid-content .home-service-art span:nth-child(2) {
    top: 50%;
}

body.home-visua-redesign .home-service-cuboid-content .home-service-art span:nth-child(3) {
    top: 61%;
    right: 28%;
}

body.home-visua-redesign .home-service-cuboid-content .home-service-art span:nth-child(4) {
    top: 72%;
    right: 44%;
    background: var(--hv-red);
}

body.home-visua-redesign .home-timeline {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.home-visua-redesign .home-timeline li {
    min-width: 0;
    padding: 1.2rem 1.1rem 1.4rem;
    border: 1px solid rgba(6, 28, 51, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.78);
}

body.home-visua-redesign .home-timeline span {
    display: block;
    padding-top: 2.4rem;
    font-size: clamp(1.5rem, 3vw, 3rem);
    line-height: 0.94;
    overflow-wrap: break-word;
}

body.home-visua-redesign .location-index,
body.home-visua-redesign .faq-list,
body.home-visua-redesign .choice-grid,
body.home-visua-redesign .innovation-editorial-grid {
    min-width: 0;
}

body.home-visua-redesign .location-group h3,
body.home-visua-redesign .innovation-feature h3,
body.home-visua-redesign .innovation-supporting h3 {
    font-size: clamp(1.6rem, 3vw, 3.2rem);
    line-height: 0.95;
    letter-spacing: 0;
    overflow-wrap: break-word;
}

body.home-visua-redesign .innovation-editorial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr);
    gap: 1.1rem;
}

body.home-visua-redesign .innovation-feature,
body.home-visua-redesign .innovation-supporting {
    overflow: hidden;
    border: 1px solid rgba(6, 28, 51, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.78);
}

body.home-visua-redesign .innovation-feature-image {
    overflow: hidden;
    border-radius: 8px;
}

body.home-visua-redesign .innovation-article-copy,
body.home-visua-redesign .innovation-supporting {
    min-width: 0;
}

body.home-visua-redesign .contact-preview-grid {
    align-items: stretch;
}

body.home-visua-redesign .contact-panel {
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 8px;
}

body.home-visua-redesign .contact-panel a,
body.home-visua-redesign .contact-panel-action {
    color: var(--hv-lime);
}

@media (max-width: 1180px) {
    body.home-visua-redesign .goodfaith-about-proof-head,
    body.home-visua-redesign .goodfaith-about-proof-media-row {
        grid-template-columns: minmax(140px, 0.3fr) minmax(0, 1fr);
        gap: clamp(1.5rem, 4vw, 3rem);
    }

    body.home-visua-redesign .goodfaith-about-proof-media {
        grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.88fr);
    }

    body.home-visua-redesign .home-services-editorial-head {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    body.home-visua-redesign .home-services-editorial-head > p:not(.home-services-display) {
        max-width: 760px;
    }

    body.home-visua-redesign .home-services-display {
        top: 0;
        bottom: auto;
        font-size: clamp(5rem, 18vw, 12rem);
    }

    body.home-visua-redesign .home-service-row {
        grid-template-columns: 58px minmax(0, 1fr) minmax(220px, 0.76fr) 62px;
        gap: clamp(1rem, 2vw, 2rem);
        min-height: clamp(300px, 34vw, 380px);
    }

    body.home-visua-redesign .home-service-row-title-wrap {
        grid-column: 2;
        align-self: end;
    }

    body.home-visua-redesign .home-service-row-visual {
        grid-column: 3;
        grid-row: 1 / 3;
    }

    body.home-visua-redesign .home-service-row-description {
        grid-column: 2;
        align-self: start;
    }

    body.home-visua-redesign .home-service-row-arrow {
        grid-column: 4;
        grid-row: 1 / 3;
    }

    body.home-visua-redesign .home-service-row h3 {
        font-size: clamp(2.35rem, 5.8vw, 4.2rem);
    }

    body.home-visua-redesign .home-service-cuboid {
        --cuboid-w: clamp(210px, 27vw, 300px);
        --cuboid-h: clamp(140px, 18vw, 190px);
        --cuboid-d: clamp(66px, 8vw, 86px);
    }
}

@media (max-width: 1180px) {
    body.home-visua-redesign .home-visua-title-row {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
    }

    body.home-visua-redesign .home-visua-title-row h1 {
        white-space: normal;
    }

    body.home-visua-redesign .home-visua-founder-card {
        grid-column: 1 / -1;
        justify-self: end;
        width: min(100%, 310px);
        margin-bottom: 0;
    }

    body.home-visua-redesign .home-visua-frame {
        min-height: 680px;
    }

    body.home-visua-redesign .home-visua-copy {
        width: min(650px, 70vw);
        bottom: 9.8rem;
    }

    body.home-visua-redesign .home-visua-service-dock {
        grid-auto-columns: minmax(215px, 28vw);
        grid-auto-flow: column;
        grid-template-columns: none;
        overflow-x: auto;
        scroll-snap-type: x proximity;
    }

    body.home-visua-redesign .difference-layout,
    body.home-visua-redesign .home-cube-showcase-grid,
    body.home-visua-redesign .innovation-editorial-grid {
        grid-template-columns: 1fr;
    }

    body.home-visua-redesign .home-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home-visua-redesign .home-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    body.home-visua-redesign .goodfaith-about-proof-section,
    body.home-portfolio-page.home-visua-redesign main > .section.goodfaith-about-proof-section {
        min-height: auto;
        padding: clamp(4.4rem, 11vw, 6rem) 0 !important;
    }

    body.home-visua-redesign .goodfaith-about-proof-grid {
        grid-template-columns: 1fr;
        gap: clamp(3rem, 8vw, 4.5rem);
    }

    body.home-visua-redesign .goodfaith-about-proof-kicker {
        margin-bottom: clamp(2rem, 7vw, 3.5rem);
    }

    body.home-visua-redesign .goodfaith-about-proof-copy h2 {
        max-width: 760px;
        font-size: clamp(3.8rem, 11.5vw, 6.5rem) !important;
    }

    body.home-visua-redesign .goodfaith-about-proof-copy p {
        max-width: 760px;
        margin-top: clamp(2.4rem, 8vw, 4rem);
        font-size: clamp(1.15rem, 3.2vw, 1.55rem);
    }

    body.home-visua-redesign .goodfaith-about-proof-panel {
        min-height: auto;
        padding: clamp(1.8rem, 6vw, 3rem);
    }
}

@media (max-width: 767px) {
    body.home-visua-redesign .goodfaith-about-proof-shell {
        width: min(100% - 1.35rem, 100%);
    }

    body.home-visua-redesign .goodfaith-about-proof-copy h2 {
        font-size: clamp(3.15rem, 17vw, 5rem) !important;
        line-height: 1.02 !important;
    }

    body.home-visua-redesign .goodfaith-about-proof-stat,
    body.home-visua-redesign .goodfaith-about-proof-stat:first-child {
        padding: 2rem 0;
    }

    body.home-visua-redesign .goodfaith-about-proof-stat dt {
        font-size: clamp(4.9rem, 25vw, 7.8rem);
    }

    body.home-visua-redesign .goodfaith-about-proof-stat dd {
        font-size: 0.78rem;
        letter-spacing: 0.14em;
    }

    body.home-visua-redesign .home-services {
        background-size: 68px 68px, 68px 68px, auto !important;
    }

    body.home-visua-redesign .home-services-shell {
        width: min(100% - 1.2rem, 100%);
    }

    body.home-visua-redesign .home-services-editorial-head {
        gap: 1.1rem;
        padding-bottom: 3rem;
    }

    body.home-visua-redesign .home-services-editorial-head h2 {
        font-size: clamp(2.35rem, 12.2vw, 4.3rem);
        line-height: 0.96;
    }

    body.home-visua-redesign .home-services-display {
        top: auto;
        right: 0;
        bottom: 0.2rem;
        font-size: clamp(4.8rem, 26vw, 8rem);
        opacity: 0.8;
    }

    body.home-visua-redesign .home-service-row {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        gap: 1rem;
        padding: clamp(4rem, 18vw, 5rem) 0;
    }

    body.home-visua-redesign .home-service-row::before {
        inset: 0 -0.6rem;
    }

    body.home-visua-redesign .home-service-row-number,
    body.home-visua-redesign .home-service-row-title-wrap,
    body.home-visua-redesign .home-service-row-description,
    body.home-visua-redesign .home-service-row-visual,
    body.home-visua-redesign .home-service-row-arrow {
        grid-column: 1;
        grid-row: auto;
    }

    body.home-visua-redesign .home-service-row-number {
        order: 1;
    }

    body.home-visua-redesign .home-service-row-title-wrap {
        order: 2;
    }

    body.home-visua-redesign .home-service-row-description {
        order: 3;
        max-width: 100%;
        font-size: 1rem;
    }

    body.home-visua-redesign .home-service-row-visual {
        order: 4;
        justify-self: stretch;
        height: min(56vw, 250px);
        margin-top: 0.5rem;
    }

    body.home-visua-redesign .home-service-row-arrow {
        order: 5;
        justify-self: start;
        margin-top: 0.35rem;
    }

    body.home-visua-redesign .home-service-row-number::after {
        left: calc(100% + 0.7rem);
        width: min(46vw, 170px);
        transform: scaleX(1);
        opacity: 0.42;
    }

    body.home-visua-redesign .home-service-row h3 {
        font-size: clamp(2.15rem, 11vw, 3.65rem);
        line-height: 0.96;
    }

    body.home-visua-redesign .home-service-cuboid {
        --cuboid-w: min(72vw, 300px);
        --cuboid-h: min(48vw, 190px);
        --cuboid-d: clamp(58px, 18vw, 82px);
        transform: rotateX(8deg) rotateY(-16deg);
    }

    body.home-visua-redesign .home-service-cuboid-face em {
        font-size: 0.7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-visua-redesign .home-visua-frame,
    body.home-visua-redesign .home-visua-frame::before,
    body.home-visua-redesign .home-visua-main-image img,
    body.home-visua-redesign .home-visua-scanline,
    body.home-visua-redesign .home-visua-founder-card a,
    body.home-visua-redesign .home-visua-social-link,
    body.home-visua-redesign .home-visua-service-card,
    body.home-visua-redesign .home-visua-service-card img,
    body.home-visua-redesign .home-service-row,
    body.home-visua-redesign .home-service-row::before,
    body.home-visua-redesign .home-service-row-number,
    body.home-visua-redesign .home-service-row-number::after,
    body.home-visua-redesign .home-service-row-title-wrap,
    body.home-visua-redesign .home-service-row-description,
    body.home-visua-redesign .home-service-row-arrow,
    body.home-visua-redesign .home-service-row-arrow .icon,
    body.home-visua-redesign .home-service-row-arrow i,
    body.home-visua-redesign .home-service-cuboid {
        transition: none !important;
        animation: none !important;
    }

    body.home-visua-redesign .home-service-row:hover .home-service-cuboid,
    body.home-visua-redesign .home-service-row:focus-visible .home-service-cuboid,
    body.home-visua-redesign .home-service-cuboid,
    body.home-visua-redesign .home-service-cuboid-turn-y-right,
    body.home-visua-redesign .home-service-cuboid-turn-x-top,
    body.home-visua-redesign .home-service-cuboid-turn-x-bottom {
        transform: rotateX(7deg) rotateY(-16deg) !important;
    }

    body.home-visua-redesign .home-service-row:hover .home-service-row-title-wrap,
    body.home-visua-redesign .home-service-row:focus-visible .home-service-row-title-wrap,
    body.home-visua-redesign .home-service-row:hover .home-service-row-description,
    body.home-visua-redesign .home-service-row:focus-visible .home-service-row-description,
    body.home-visua-redesign .home-service-row:hover .home-service-row-arrow,
    body.home-visua-redesign .home-service-row:focus-visible .home-service-row-arrow,
    body.home-visua-redesign .home-service-row:hover .home-service-row-arrow .icon,
    body.home-visua-redesign .home-service-row:focus-visible .home-service-row-arrow .icon {
        transform: none !important;
    }

    body.home-visua-redesign .home-visua-service-card:hover,
    body.home-visua-redesign .home-visua-service-card:focus-visible,
    body.home-visua-redesign .home-visua-service-card.is-active,
    body.home-visua-redesign .home-visua-social-link:hover,
    body.home-visua-redesign .home-visua-social-link:focus-visible {
        transform: none !important;
    }
}

@media (max-width: 720px) {
    body.home-visua-redesign .home-hero,
    body.home-portfolio-page.home-visua-redesign .home-hero {
        padding-top: 0.35rem !important;
        padding-bottom: 3.4rem !important;
    }

    body.home-visua-redesign .home-visua-stage {
        width: min(100% - 1rem, 100%);
    }

    body.home-visua-redesign .home-visua-title-row {
        grid-template-columns: auto 1fr;
        gap: 0.8rem;
        padding-top: 0.75rem;
    }

    body.home-visua-redesign .home-visua-studio-mark {
        width: 42px;
        height: 42px;
        margin-bottom: 0;
    }

    body.home-visua-redesign .home-visua-title-row h1 {
        grid-column: 1 / -1;
        max-width: 100%;
        font-size: clamp(3.2rem, 16vw, 4.9rem) !important;
        line-height: 0.92 !important;
        overflow-wrap: normal;
        white-space: normal;
    }

    body.home-visua-redesign .home-visua-title-desktop {
        display: none !important;
    }

    body.home-visua-redesign .home-visua-title-mobile {
        display: block !important;
    }

    body.home-visua-redesign .home-visua-founder-card {
        grid-column: 1 / -1;
        justify-self: stretch;
        width: 100%;
        grid-template-columns: 62px minmax(0, 1fr);
        margin-bottom: 0;
        overflow: hidden;
    }

    body.home-visua-redesign .home-visua-founder-card a {
        min-height: 40px;
        font-size: 0.76rem;
    }

    body.home-visua-redesign .home-visua-frame {
        min-height: 720px;
        border-radius: 16px;
    }

    body.home-visua-redesign .home-visua-frame::before {
        background:
            radial-gradient(circle at 28% 26%, rgba(255, 255, 255, 0.28), transparent 0 24%),
            linear-gradient(100deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.26) 48%, rgba(255, 255, 255, 0.08));
    }

    body.home-visua-redesign .home-visua-frame::after {
        width: 34px;
        height: 34px;
        right: 1rem;
        top: 1rem;
        bottom: auto;
    }

    body.home-visua-redesign .home-visua-main-image {
        inset: 0;
        opacity: 0.28;
        mask-image: linear-gradient(180deg, #000 0%, transparent 76%);
    }

    body.home-visua-redesign .home-visua-copy {
        left: 1rem;
        right: 1rem;
        bottom: 9.6rem;
        top: auto;
        width: auto;
    }

    body.home-visua-redesign .home-visua-copy h2 {
        color: var(--hv-white) !important;
        font-size: clamp(2.12rem, 9.4vw, 2.95rem) !important;
        line-height: 1.08 !important;
        overflow-wrap: normal;
    }

    body.home-visua-redesign .home-visua-copy .eyebrow,
    body.home-visua-redesign .home-visua-copy .hero-tagline {
        color: rgba(255, 255, 255, 0.84) !important;
    }

    body.home-visua-redesign .home-visua-copy .hero-tagline {
        font-size: 0.96rem;
    }

    body.home-visua-redesign .home-visua-avatar-stack img {
        width: 34px;
        height: 34px;
    }

    body.home-visua-redesign .home-visua-feature-card {
        display: none;
    }

    body.home-visua-redesign .home-visua-social-rail {
        top: 1rem;
        right: auto;
        left: 1rem;
        display: flex;
        gap: 0.35rem;
        width: auto;
        min-height: 0;
        transform: none;
    }

    body.home-visua-redesign .home-visua-social-rail::before {
        display: none;
    }

    body.home-visua-redesign .home-visua-social-link {
        width: 40px;
        height: 40px;
        font-size: 0.96rem;
    }

    body.home-visua-redesign .home-visua-service-dock {
        left: 0.8rem;
        right: 0.8rem;
        bottom: 0.9rem;
        grid-auto-columns: minmax(220px, 72vw);
        grid-auto-flow: column;
        grid-template-columns: none;
        overflow-x: auto;
        width: auto;
        margin: 0;
        padding: 0;
        border-inline: 0;
        border-radius: 0;
        scroll-snap-type: x mandatory;
    }

    body.home-visua-redesign .home-visua-service-card {
        min-height: 88px;
        scroll-snap-align: start;
    }

    body.home-visua-redesign .home-visua-service-card strong {
        font-size: 0.88rem;
    }

    body.home-visua-redesign .section-heading h2,
    body.home-visua-redesign .section-visual-title,
    body.home-visua-redesign .conversion-impact-intro h2,
    body.home-visua-redesign .canada-reach h2,
    body.home-visua-redesign .contact-preview h2 {
        font-size: clamp(2.35rem, 12vw, 4rem);
        line-height: 0.94;
    }

    body.home-visua-redesign .difference-header,
    body.home-visua-redesign .difference-row {
        grid-template-columns: 1fr;
    }

    body.home-visua-redesign .home-service-grid,
    body.home-visua-redesign .home-timeline {
        grid-template-columns: 1fr;
    }

    body.home-visua-redesign .home-service-tile {
        min-height: 300px;
    }

    body.home-visua-redesign .home-cube-showcase .service-cube-visual {
        min-height: min(92vw, 430px);
    }

    body.home-visua-redesign .button-row {
        width: 100%;
    }

    body.home-visua-redesign .button-row .button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services {
    padding: clamp(5rem, 8vw, 9rem) 0 !important;
    background:
        linear-gradient(90deg, rgba(18, 245, 232, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(135deg, #000000 0%, #061C33 54%, #050505 100%) !important;
    background-size: 96px 96px, 96px 96px, auto !important;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-showcase {
    width: min(100% - 2rem, 1760px) !important;
    max-width: 1760px !important;
}

@media (max-width: 767px) {
    body.home-portfolio-page.home-visua-redesign main > .section.home-services {
        padding: 4rem 0 !important;
        background-size: 68px 68px, 68px 68px, auto !important;
    }

    body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-showcase {
        width: min(100% - 1rem, 100%) !important;
    }
}

/* Premium horizontal services rebuild: crawlable text + true six-faced CSS cuboids. */
body.home-portfolio-page.home-visua-redesign main > .section.home-services {
    overflow: clip;
    padding: clamp(5rem, 8vw, 8rem) 0 !important;
    color: var(--hv-white) !important;
    background:
        radial-gradient(circle at 82% 18%, rgba(12, 146, 149, 0.18), transparent 34%),
        radial-gradient(circle at 18% 82%, rgba(237, 86, 73, 0.1), transparent 28%),
        linear-gradient(180deg, #050505 0%, #080b0f 46%, #050505 100%) !important;
}

body.home-visua-redesign .home-services-dimensional {
    --service-teal: #0C9295;
    --service-red: #ED5649;
    --service-charcoal: #151719;
    --service-line: rgba(255, 255, 255, 0.14);
    width: min(100% - 2rem, 1740px);
    max-width: 1740px;
}

body.home-visua-redesign .home-services-dimensional-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

body.home-visua-redesign .home-services-dimensional .home-services-heading-copy {
    max-width: 1280px;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-dimensional .home-services-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 1.15rem !important;
    color: var(--service-teal) !important;
    font-size: clamp(0.82rem, 1.2vw, 1rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.14em !important;
    line-height: 1 !important;
    text-transform: uppercase;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-dimensional .home-services-kicker span {
    display: block;
    width: clamp(1.5rem, 4vw, 4rem);
    height: 2px;
    background: var(--service-teal);
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-dimensional h2 {
    max-width: 1240px;
    margin: 0;
    color: var(--hv-white) !important;
    font-size: clamp(3.4rem, 7.1vw, 8.4rem) !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
}

body.home-visua-redesign .home-services-dimensional .home-services-lede {
    max-width: 980px;
    margin: clamp(1rem, 2.2vw, 1.8rem) 0 0;
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: clamp(1rem, 1.5vw, 1.28rem);
    line-height: 1.62;
}

body.home-visua-redesign .home-service-dimensional-list {
    display: grid;
    border-top: 1px solid var(--service-line);
}

body.home-visua-redesign .home-service-dimensional-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(330px, 0.82fr) minmax(320px, 0.86fr);
    align-items: center;
    gap: clamp(1.5rem, 4vw, 4.5rem);
    min-height: clamp(260px, 24vw, 330px);
    padding: clamp(2rem, 3vw, 3.15rem) clamp(0.25rem, 1.5vw, 1.25rem);
    color: var(--hv-white);
    text-decoration: none;
    border-bottom: 1px solid var(--service-line);
    background:
        linear-gradient(90deg, rgba(12, 146, 149, 0), rgba(12, 146, 149, 0.05) 48%, rgba(237, 86, 73, 0));
    isolation: isolate;
    transition:
        background-color 650ms cubic-bezier(.22,1,.36,1),
        border-color 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-row::before,
body.home-visua-redesign .home-service-dimensional-row::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: 0;
    transition: opacity 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-row::before {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(12, 146, 149, 0.12), transparent 34%, rgba(237, 86, 73, 0.07) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent);
}

body.home-visua-redesign .home-service-dimensional-row::after {
    top: auto;
    right: clamp(0.25rem, 1.5vw, 1.25rem);
    bottom: -1px;
    left: clamp(0.25rem, 1.5vw, 1.25rem);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--service-accent, var(--service-teal)), transparent);
}

body.home-visua-redesign .home-service-dimensional-row:hover,
body.home-visua-redesign .home-service-dimensional-row:focus-visible {
    border-color: rgba(12, 146, 149, 0.4);
    background-color: rgba(255, 255, 255, 0.035);
}

body.home-visua-redesign .home-service-dimensional-row:hover::before,
body.home-visua-redesign .home-service-dimensional-row:focus-visible::before,
body.home-visua-redesign .home-service-dimensional-row:hover::after,
body.home-visua-redesign .home-service-dimensional-row:focus-visible::after {
    opacity: 1;
}

body.home-visua-redesign .home-service-dimensional-row:focus-visible {
    outline: 2px solid var(--service-accent, var(--service-teal));
    outline-offset: -2px;
}

body.home-visua-redesign .home-service-dimensional-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: clamp(1rem, 2.2vw, 2rem);
}

body.home-visua-redesign .home-service-dimensional-number {
    display: block;
    min-width: 2.6ch;
    padding-top: 0.22em;
    color: rgba(255, 255, 255, 0.48);
    font-size: clamp(1.25rem, 2vw, 2rem);
    font-weight: 900;
    line-height: 1;
    transition: color 650ms cubic-bezier(.22,1,.36,1), transform 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-title h3 {
    max-width: 680px;
    margin: 0;
    color: var(--hv-white) !important;
    font-size: clamp(2.45rem, 4.3vw, 5.5rem) !important;
    line-height: 0.9 !important;
    letter-spacing: 0 !important;
    transition: transform 650ms cubic-bezier(.22,1,.36,1), color 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-number,
body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-number {
    color: var(--service-accent, var(--service-teal));
    transform: translateY(-0.08em);
}

body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-title h3,
body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-title h3 {
    transform: translateX(0.22em);
}

body.home-visua-redesign .home-service-dimensional-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 250px;
    perspective: 1200px;
    perspective-origin: 50% 42%;
}

body.home-visua-redesign .home-service-dimensional-stage::before {
    position: absolute;
    width: 270px;
    height: 48px;
    bottom: 14px;
    left: 50%;
    content: "";
    background: radial-gradient(ellipse, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.24) 42%, transparent 72%);
    filter: blur(8px);
    transform: translateX(-50%);
}

body.home-visua-redesign .home-service-dimensional-cuboid {
    --box-w: 300px;
    --box-h: 190px;
    --box-d: 90px;
    position: relative;
    width: var(--box-w);
    height: var(--box-h);
    transform: rotateX(13deg) rotateY(-36deg);
    transform-style: preserve-3d;
    transition: transform 650ms cubic-bezier(.22,1,.36,1);
    will-change: transform;
}

body.home-visua-redesign .home-service-dimensional-row:nth-child(even) .home-service-dimensional-cuboid {
    transform: rotateX(13deg) rotateY(36deg);
}

body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cuboid,
body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cuboid {
    transform: rotateX(10deg) rotateY(-68deg);
}

body.home-visua-redesign .home-service-dimensional-row:nth-child(even):hover .home-service-dimensional-cuboid,
body.home-visua-redesign .home-service-dimensional-row:nth-child(even):focus-visible .home-service-dimensional-cuboid {
    transform: rotateX(10deg) rotateY(68deg);
}

body.home-visua-redesign .home-service-dimensional-face {
    position: absolute;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--hv-white);
    background: #151719;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
    backface-visibility: hidden;
}

body.home-visua-redesign .home-service-dimensional-face::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 34%),
        linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.38) 100%);
}

body.home-visua-redesign .home-service-dimensional-face-front,
body.home-visua-redesign .home-service-dimensional-face-back {
    inset: 0;
    width: var(--box-w);
    height: var(--box-h);
}

body.home-visua-redesign .home-service-dimensional-face-front {
    background:
        linear-gradient(135deg, rgba(12, 146, 149, 0.38), rgba(5, 5, 5, 0.45)),
        #111417;
    border-color: rgba(12, 146, 149, 0.28);
    transform: translateZ(calc(var(--box-d) / 2));
}

body.home-visua-redesign .home-service-dimensional-face-back {
    align-content: center;
    justify-items: start;
    gap: 0.45rem;
    padding: 1.3rem;
    background:
        radial-gradient(circle at 18% 20%, rgba(237, 86, 73, 0.24), transparent 32%),
        linear-gradient(135deg, #101214, #050505);
    transform: rotateY(180deg) translateZ(calc(var(--box-d) / 2));
}

body.home-visua-redesign .home-service-dimensional-face-left,
body.home-visua-redesign .home-service-dimensional-face-right {
    top: 0;
    left: calc((var(--box-w) - var(--box-d)) / 2);
    width: var(--box-d);
    height: var(--box-h);
    border-color: rgba(12, 146, 149, 0.36);
    backface-visibility: visible;
    background:
        linear-gradient(180deg, rgba(12, 146, 149, 0.4), transparent 48%, rgba(237, 86, 73, 0.16)),
        linear-gradient(90deg, #0c0f10, #263033);
    box-shadow:
        inset 18px 0 24px rgba(255, 255, 255, 0.08),
        inset -12px 0 24px rgba(0, 0, 0, 0.42);
}

body.home-visua-redesign .home-service-dimensional-face-left {
    transform: rotateY(-90deg) translateZ(calc(var(--box-w) / 2));
}

body.home-visua-redesign .home-service-dimensional-face-right {
    transform: rotateY(90deg) translateZ(calc(var(--box-w) / 2));
}

body.home-visua-redesign .home-service-dimensional-face-top,
body.home-visua-redesign .home-service-dimensional-face-bottom {
    top: calc((var(--box-h) - var(--box-d)) / 2);
    left: 0;
    width: var(--box-w);
    height: var(--box-d);
    border-color: rgba(12, 146, 149, 0.28);
    backface-visibility: visible;
    background:
        linear-gradient(90deg, rgba(12, 146, 149, 0.42), transparent 45%, rgba(237, 86, 73, 0.18)),
        linear-gradient(180deg, #2a3032, #111517);
    box-shadow:
        inset 0 16px 24px rgba(255, 255, 255, 0.08),
        inset 0 -16px 24px rgba(0, 0, 0, 0.42);
}

body.home-visua-redesign .home-service-dimensional-face-top {
    transform: rotateX(90deg) translateZ(calc(var(--box-h) / 2));
}

body.home-visua-redesign .home-service-dimensional-face-bottom {
    transform: rotateX(-90deg) translateZ(calc(var(--box-h) / 2));
    opacity: 0.78;
}

body.home-visua-redesign .home-service-dimensional-face img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.38;
    filter: saturate(0.72) contrast(1.18) brightness(0.72);
}

body.home-visua-redesign .home-service-dimensional-face-front::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.14), transparent 24%),
        linear-gradient(90deg, rgba(5, 5, 5, 0.82), rgba(5, 5, 5, 0.18) 60%, rgba(5, 5, 5, 0.5));
}

body.home-visua-redesign .home-service-dimensional-face strong {
    position: relative;
    z-index: 2;
    max-width: 78%;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
}

body.home-visua-redesign .home-service-dimensional-face-back strong {
    color: var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-face-back span {
    position: relative;
    z-index: 2;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.75rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.9;
}

body.home-visua-redesign .home-service-dimensional-face-left strong,
body.home-visua-redesign .home-service-dimensional-face-right strong {
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.98rem;
    max-width: none;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

body.home-visua-redesign .home-service-dimensional-face-top strong {
    color: var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-face-bottom strong {
    color: rgba(255, 255, 255, 0.36);
}

body.home-visua-redesign .home-service-dimensional-art {
    position: absolute;
    inset: 18px;
    z-index: 3;
    display: block;
}

body.home-visua-redesign .home-service-dimensional-art::before,
body.home-visua-redesign .home-service-dimensional-art::after,
body.home-visua-redesign .home-service-dimensional-art span {
    position: absolute;
    display: block;
    content: "";
}

body.home-visua-redesign .home-service-dimensional-art span {
    border-color: var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-cuboid-search .home-service-dimensional-art::before {
    inset: 16% auto auto 8%;
    width: 78px;
    height: 78px;
    border: 4px solid var(--service-accent, var(--service-teal));
    border-radius: 50%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-search .home-service-dimensional-art::after {
    top: 58%;
    left: 37%;
    width: 78px;
    height: 5px;
    background: var(--service-red);
    border-radius: 999px;
    transform: rotate(39deg);
    transform-origin: left center;
}

body.home-visua-redesign .home-service-dimensional-cuboid-search .home-service-dimensional-art span {
    top: 28%;
    right: 7%;
    width: 14px;
    height: 14px;
    border: 2px solid var(--service-accent, var(--service-teal));
    border-radius: 50%;
    box-shadow: -42px 28px 0 -3px var(--service-accent, var(--service-teal)), -72px -6px 0 -4px var(--service-red);
}

body.home-visua-redesign .home-service-dimensional-cuboid-local .home-service-dimensional-art {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.14) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.14) 1px, transparent 1px);
    background-size: 42px 34px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-local .home-service-dimensional-art::before {
    top: 12%;
    left: 42%;
    width: 42px;
    height: 42px;
    background: var(--service-red);
    border: 4px solid rgba(255, 255, 255, 0.84);
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

body.home-visua-redesign .home-service-dimensional-cuboid-local .home-service-dimensional-art::after {
    right: 9%;
    bottom: 16%;
    width: 110px;
    height: 18px;
    border: 2px solid var(--service-accent, var(--service-teal));
    border-radius: 999px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-local .home-service-dimensional-art span:nth-child(1) {
    left: 10%;
    bottom: 19%;
    width: 92px;
    height: 4px;
    background: var(--service-accent, var(--service-teal));
    border-radius: 999px;
    transform: rotate(-14deg);
}

body.home-visua-redesign .home-service-dimensional-cuboid-profile .home-service-dimensional-art span {
    left: 8%;
    right: 8%;
    height: 22px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(5, 5, 5, 0.35);
}

body.home-visua-redesign .home-service-dimensional-cuboid-profile .home-service-dimensional-art span:nth-child(1) {
    top: 10%;
    left: 8%;
    width: 74px;
    height: 74px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--service-accent, var(--service-teal)), rgba(255, 255, 255, 0.12));
}

body.home-visua-redesign .home-service-dimensional-cuboid-profile .home-service-dimensional-art span:nth-child(2) {
    top: 16%;
    left: 43%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-profile .home-service-dimensional-art span:nth-child(3) {
    top: 43%;
    left: 43%;
    width: 34%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-profile .home-service-dimensional-art span:nth-child(4) {
    right: 8%;
    bottom: 14%;
    left: auto;
    width: 112px;
    background: var(--service-red);
}

body.home-visua-redesign .home-service-dimensional-cuboid-design .home-service-dimensional-art::before {
    inset: 8% 8% 12%;
    border: 2px solid var(--service-accent, var(--service-teal));
    border-radius: 12px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-design .home-service-dimensional-art::after {
    top: 8%;
    left: 8%;
    right: 8%;
    height: 28px;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 12px 12px 0 0;
}

body.home-visua-redesign .home-service-dimensional-cuboid-design .home-service-dimensional-art span:nth-child(1) {
    top: 39%;
    left: 14%;
    width: 34%;
    height: 46%;
    background: rgba(255, 255, 255, 0.16);
    border-radius: 8px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-design .home-service-dimensional-art span:nth-child(2) {
    top: 39%;
    right: 14%;
    width: 30%;
    height: 10px;
    background: var(--service-red);
    border-radius: 999px;
    box-shadow: 0 28px 0 rgba(255, 255, 255, 0.24), 0 56px 0 var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-cuboid-build .home-service-dimensional-art::before {
    top: 20%;
    left: 9%;
    color: var(--service-accent, var(--service-teal));
    content: "< / >";
    font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 3.6rem;
    font-weight: 800;
    letter-spacing: 0;
}

body.home-visua-redesign .home-service-dimensional-cuboid-build .home-service-dimensional-art::after {
    right: 9%;
    bottom: 20%;
    width: 98px;
    height: 52px;
    border-right: 4px solid var(--service-red);
    border-bottom: 4px solid var(--service-red);
    border-radius: 0 0 14px 0;
}

body.home-visua-redesign .home-service-dimensional-cuboid-build .home-service-dimensional-art span {
    left: 12%;
    bottom: 18%;
    width: 132px;
    height: 4px;
    background: rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    box-shadow: 0 -18px 0 rgba(255, 255, 255, 0.16), 0 -36px 0 var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-cuboid-brand .home-service-dimensional-art::before {
    top: 10%;
    left: 9%;
    color: rgba(255, 255, 255, 0.9);
    content: "GF";
    font-size: 4.8rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.8;
}

body.home-visua-redesign .home-service-dimensional-cuboid-brand .home-service-dimensional-art::after {
    right: 8%;
    bottom: 14%;
    width: 120px;
    height: 8px;
    background: var(--service-accent, var(--service-teal));
    border-radius: 999px;
    box-shadow: 0 -24px 0 var(--service-red), 0 -48px 0 rgba(255, 255, 255, 0.74);
}

body.home-visua-redesign .home-service-dimensional-cuboid-brand .home-service-dimensional-art span {
    top: 22%;
    right: 11%;
    width: 46px;
    height: 46px;
    border: 3px solid var(--service-accent, var(--service-teal));
    border-radius: 50%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-social .home-service-dimensional-art span {
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.2), transparent),
        rgba(5, 5, 5, 0.46);
    border: 1px solid rgba(255, 255, 255, 0.24);
}

body.home-visua-redesign .home-service-dimensional-cuboid-social .home-service-dimensional-art span:nth-child(1) {
    top: 7%;
    left: 9%;
    width: 92px;
    height: 92px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-social .home-service-dimensional-art span:nth-child(2) {
    top: 16%;
    right: 12%;
    width: 62px;
    height: 62px;
    background: var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-cuboid-social .home-service-dimensional-art span:nth-child(3) {
    right: 28%;
    bottom: 11%;
    width: 78px;
    height: 48px;
    background: rgba(255, 255, 255, 0.2);
}

body.home-visua-redesign .home-service-dimensional-cuboid-social .home-service-dimensional-art span:nth-child(4) {
    left: 37%;
    bottom: 24%;
    width: 14px;
    height: 14px;
    background: var(--service-red);
    border-radius: 50%;
    box-shadow: 42px -34px 0 -1px var(--service-red), 86px 9px 0 -3px var(--service-accent, var(--service-teal));
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art {
    display: grid;
    gap: 0;
    padding: 10px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art::before {
    top: 4%;
    left: 6%;
    right: 6%;
    height: 28px;
    background: var(--service-accent, var(--service-teal));
    border-radius: 6px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art::after {
    right: 9%;
    bottom: 12%;
    width: 58px;
    height: 58px;
    border: 2px solid var(--service-red);
    border-radius: 50%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art span {
    left: 8%;
    right: 26%;
    height: 6px;
    background: rgba(255, 255, 255, 0.74);
    border-radius: 999px;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art span:nth-child(1) {
    top: 37%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art span:nth-child(2) {
    top: 51%;
    right: 17%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art span:nth-child(3) {
    top: 65%;
    right: 34%;
}

body.home-visua-redesign .home-service-dimensional-cuboid-content .home-service-dimensional-art span:nth-child(4) {
    bottom: 12%;
    width: 78px;
    background: var(--service-red);
}

body.home-visua-redesign .home-service-dimensional-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.25rem, 2vw, 2rem);
}

body.home-visua-redesign .home-service-dimensional-summary p {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1rem, 1.28vw, 1.18rem);
    line-height: 1.62;
}

body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-service-dimensional-summary p {
    color: rgba(255, 255, 255, 0.78) !important;
}

body.home-visua-redesign .home-service-dimensional-cta {
    position: relative;
    display: grid;
    place-items: center;
    width: 4.5rem;
    height: 4.5rem;
    color: var(--hv-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transition:
        color 650ms cubic-bezier(.22,1,.36,1),
        border-color 650ms cubic-bezier(.22,1,.36,1),
        transform 650ms cubic-bezier(.22,1,.36,1),
        box-shadow 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-cta .icon {
    width: 1.45rem;
    height: 1.45rem;
    transition: transform 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-cta i {
    position: absolute;
    right: 0.2rem;
    bottom: 0.28rem;
    width: 0.72rem;
    height: 0.72rem;
    background: var(--service-red);
    border: 2px solid #050505;
    border-radius: 50%;
    transition: transform 650ms cubic-bezier(.22,1,.36,1), background-color 650ms cubic-bezier(.22,1,.36,1);
}

body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cta,
body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cta {
    color: var(--service-accent, var(--service-teal));
    border-color: var(--service-accent, var(--service-teal));
    box-shadow: 0 0 0 8px rgba(12, 146, 149, 0.08);
    transform: translateX(0.28rem);
}

body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cta .icon,
body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cta .icon {
    transform: translate(0.12rem, -0.12rem);
}

body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cta i,
body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cta i {
    background: var(--service-accent, var(--service-teal));
    transform: scale(1.2);
}

@media (max-width: 1180px) {
    body.home-visua-redesign .home-service-dimensional-row {
        grid-template-columns: minmax(230px, 0.78fr) minmax(300px, 0.72fr) minmax(260px, 0.74fr);
        gap: clamp(1rem, 2.4vw, 2rem);
    }

    body.home-visua-redesign .home-service-dimensional-cuboid {
        --box-w: 270px;
        --box-h: 171px;
        --box-d: 82px;
    }
}

@media (max-width: 860px) {
    body.home-visua-redesign .home-services-dimensional {
        width: min(100% - 1rem, 100%);
    }

    body.home-visua-redesign .home-service-dimensional-row {
        grid-template-columns: 1fr;
        gap: 1.45rem;
        min-height: 0;
        padding: 2rem 0.4rem 2.25rem;
    }

    body.home-visua-redesign .home-service-dimensional-title {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }

    body.home-visua-redesign .home-service-dimensional-number {
        color: var(--service-accent, var(--service-teal));
        font-size: 1rem;
    }

    body.home-visua-redesign .home-service-dimensional-title h3 {
        font-size: clamp(2.55rem, 12vw, 4.5rem) !important;
    }

    body.home-visua-redesign .home-service-dimensional-stage {
        min-height: 230px;
        order: 2;
    }

    body.home-visua-redesign .home-service-dimensional-summary {
        order: 3;
        grid-template-columns: 1fr auto;
    }

    body.home-visua-redesign .home-service-dimensional-cuboid {
        --box-w: min(76vw, 300px);
        --box-h: calc(var(--box-w) * 0.633);
        --box-d: clamp(58px, 18vw, 90px);
        transform: rotateX(12deg) rotateY(-30deg);
    }

    body.home-visua-redesign .home-service-dimensional-row:nth-child(even) .home-service-dimensional-cuboid {
        transform: rotateX(12deg) rotateY(30deg);
    }

    body.home-visua-redesign .home-service-dimensional-cta {
        width: 3.75rem;
        height: 3.75rem;
    }
}

@media (max-width: 540px) {
    body.home-portfolio-page.home-visua-redesign main > .section.home-services {
        padding: 3.7rem 0 !important;
    }

    body.home-portfolio-page.home-visua-redesign main > .section.home-services .home-services-dimensional h2 {
        font-size: clamp(2.9rem, 15vw, 4.6rem) !important;
    }

    body.home-visua-redesign .home-service-dimensional-summary {
        grid-template-columns: 1fr;
    }

    body.home-visua-redesign .home-service-dimensional-cta {
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home-visua-redesign .home-service-dimensional-row,
    body.home-visua-redesign .home-service-dimensional-row::before,
    body.home-visua-redesign .home-service-dimensional-row::after,
    body.home-visua-redesign .home-service-dimensional-number,
    body.home-visua-redesign .home-service-dimensional-title h3,
    body.home-visua-redesign .home-service-dimensional-cuboid,
    body.home-visua-redesign .home-service-dimensional-cta,
    body.home-visua-redesign .home-service-dimensional-cta .icon,
    body.home-visua-redesign .home-service-dimensional-cta i {
        transition: none !important;
    }

    body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cuboid,
    body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cuboid,
    body.home-visua-redesign .home-service-dimensional-cuboid {
        transform: rotateX(12deg) rotateY(-30deg) !important;
    }

    body.home-visua-redesign .home-service-dimensional-row:nth-child(even):hover .home-service-dimensional-cuboid,
    body.home-visua-redesign .home-service-dimensional-row:nth-child(even):focus-visible .home-service-dimensional-cuboid,
    body.home-visua-redesign .home-service-dimensional-row:nth-child(even) .home-service-dimensional-cuboid {
        transform: rotateX(12deg) rotateY(30deg) !important;
    }

    body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-title h3,
    body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-title h3,
    body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-number,
    body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-number,
    body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cta,
    body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cta,
    body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cta .icon,
    body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cta .icon,
    body.home-visua-redesign .home-service-dimensional-row:hover .home-service-dimensional-cta i,
    body.home-visua-redesign .home-service-dimensional-row:focus-visible .home-service-dimensional-cta i {
        transform: none !important;
    }
}
