/* Imported first two screens from untitled (3) homepage. Scoped to avoid breaking old Codart styles. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
    --nh-bg: #faf9f5;
    --nh-card: #ffffff;
    --nh-card-soft: #f4f1ea;
    --nh-border: #dad2c5;
    --nh-border-2: #e5ded4;
    --nh-text: #1a1918;
    --nh-muted: #4b4844;
    --nh-soft: #747069;
    --nh-blue: #4f46e5;
    --nh-green: #15803d;
}

.newhome-hero,
.newhome-services,
.newhome-hero *,
.newhome-services * {
    box-sizing: border-box;
}

.newhome-hero {
    position: relative;
    min-height: 94vh;
    overflow: hidden;
    background: var(--nh-bg);
    color: var(--nh-text);
    font-family: "Inter", Arial, sans-serif;
    border-bottom: 1px solid rgba(218, 210, 197, .8);
}

.newhome-hero__grid,
.newhome-services::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(79,70,229,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(79,70,229,.02) 1px, transparent 1px);
    background-size: 36px 36px;
    opacity: .55;
}

.newhome-hero__inner {
    position: relative;
    z-index: 1;
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding: 72px 0 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.newhome-hero__title {
    margin: 0 0 44px;
    text-align: center;
    font-size: clamp(48px, 5.2vw, 72px);
    line-height: 1.08;
    letter-spacing: -0.055em;
    font-weight: 300;
    color: var(--nh-text);
}

.newhome-hero__title span {
    color: var(--nh-blue);
    font-weight: 700;
}

.newhome-flow {
    position: relative;
    width: 100%;
    height: 270px;
    margin: 12px auto 16px;
}

.newhome-flow__lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.newhome-flow__lines path {
    stroke: url(#newhome-line-grad);
    stroke-width: 1.35;
    fill: none;
    vector-effect: non-scaling-stroke;
}

.newhome-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 104px;
    height: 104px;
    transform: translate(-50%, -50%);
    border-radius: 24px;
    background: #fff;
    border: 1px solid var(--nh-border-2);
    box-shadow: 0 22px 48px rgba(42, 38, 32, .12);
}

.newhome-core::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, #1a1918 0 35deg, transparent 35deg 72deg, #1a1918 72deg 132deg, transparent 132deg 174deg, #1a1918 174deg 240deg, transparent 240deg 292deg, #1a1918 292deg 360deg);
    animation: newhome-spin 20s linear infinite;
}

.newhome-core::after {
    content: "";
    position: absolute;
    inset: 34px;
    border-radius: 50%;
    background: #fff;
    border: 8px solid #7c3aed;
    box-shadow: inset 0 0 0 10px #fff;
}

.newhome-core__ring {
    position: absolute;
    inset: 18px;
    border-radius: 50%;
    border: 10px solid rgba(124, 58, 237, .18);
}

.newhome-core__dot {
    position: absolute;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: linear-gradient(135deg, #c084fc, #7c3aed);
    border: 2px solid #fff;
    box-shadow: 0 2px 9px rgba(79, 70, 229, .22);
}

.newhome-core__dot--a { left: 16px; top: 18px; }
.newhome-core__dot--b { right: 16px; top: 18px; }
.newhome-core__dot--c { right: 14px; bottom: 18px; }
.newhome-core__dot--d { left: 46px; bottom: 10px; }

.newhome-node,
.newhome-bubble {
    position: absolute;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid var(--nh-border);
    background: rgba(255,255,255,.88);
    box-shadow: 0 5px 16px rgba(36, 31, 25, .13);
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
    user-select: none;
}

.newhome-node { width: 38px; height: 38px; font-size: 10px; color: #5e5852; }
.newhome-bubble { width: 36px; height: 36px; font-size: 9px; animation: newhome-float 4.6s ease-in-out infinite; animation-delay: var(--d); }
.newhome-bubble--violet { color: #7c3aed; }
.newhome-bubble--blue { color: #38a3ff; }
.newhome-bubble--orange { color: #ff9100; }
.newhome-bubble--green { color: #10b981; }
.newhome-bubble--red { color: #ef4444; }

.newhome-env {
    text-align: center;
    margin-top: 18px;
}

.newhome-env__label {
    margin-bottom: 14px;
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: .36em;
    color: #77736d;
}

.newhome-env__items {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.newhome-env__items span,
.newhome-env__items strong {
    min-width: 70px;
    padding: 7px 14px;
    border-radius: 7px;
    border: 1px solid var(--nh-border);
    background: rgba(244, 241, 234, .65);
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    line-height: 1;
    color: var(--nh-blue);
}

.newhome-env__items strong {
    color: #fff;
    background: var(--nh-blue);
    border-color: var(--nh-blue);
    box-shadow: 0 12px 28px rgba(79, 70, 229, .28);
}

.newhome-env__items .is-online {
    color: var(--nh-green);
    border-color: rgba(21, 128, 61, .28);
    background: rgba(21, 128, 61, .055);
}

.newhome-cta {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-top: 40px;
    padding: 22px 34px;
    border-radius: 9px;
    background: var(--nh-blue);
    color: #fff !important;
    text-decoration: none !important;
    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
    box-shadow: 0 18px 34px rgba(79, 70, 229, .29);
    transition: transform .22s ease, box-shadow .22s ease;
}

.newhome-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px rgba(79, 70, 229, .35);
}

.newhome-services {
    position: relative;
    overflow: hidden;
    background: var(--nh-bg);
    color: var(--nh-text);
    font-family: "Inter", Arial, sans-serif;
    padding: 70px 0 92px;
}

.newhome-services__inner {
    position: relative;
    z-index: 1;
    width: min(1216px, calc(100% - 64px));
    margin: 0 auto;
}

.newhome-services__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 54px;
}

.newhome-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--nh-blue);
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .32em;
}

.newhome-kicker span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(79,70,229,.38);
}

.newhome-services h2 {
    margin: 0;
    font-size: clamp(38px, 4.8vw, 54px);
    line-height: 1.05;
    font-weight: 300;
    letter-spacing: -.045em;
    color: #0c0c0c;
    text-transform: uppercase;
}

.newhome-services__top p {
    max-width: 650px;
    margin: 14px 0 0;
    color: var(--nh-muted);
    font-size: 16px;
    line-height: 1.55;
    font-weight: 300;
}

.newhome-count {
    flex: 0 0 auto;
    margin-bottom: 12px;
    padding: 11px 17px;
    border: 1px solid var(--nh-border);
    border-radius: 999px;
    background: rgba(255,255,255,.45);
    color: #393631;
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: .08em;
}

.newhome-servicebar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    padding-bottom: 24px;
    margin-bottom: 48px;
    border-bottom: 1px solid rgba(218,210,197,.55);
}

.newhome-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    padding: 4px;
    border: 1px solid var(--nh-border);
    border-radius: 12px;
    background: rgba(244, 241, 234, .52);
}

.newhome-tabs button {
    appearance: none;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #1c1a18;
    cursor: pointer;
    padding: 12px 16px;
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .08em;
    transition: .18s ease;
}

.newhome-tabs button:hover,
.newhome-tabs button.is-active {
    background: var(--nh-blue);
    color: #fff;
    box-shadow: 0 9px 20px rgba(79, 70, 229, .18);
}

.newhome-search {
    width: min(320px, 100%);
    height: 36px;
    border: 1px solid var(--nh-border);
    border-radius: 10px;
    background: rgba(244, 241, 234, .72);
    outline: none;
    padding: 0 18px;
    color: var(--nh-text);
    font: 13px/1 "Inter", Arial, sans-serif;
}

.newhome-search:focus { border-color: rgba(79,70,229,.7); box-shadow: 0 0 0 3px rgba(79,70,229,.08); }

.newhome-cardgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.newhome-card {
    min-height: 270px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 26px;
    border: 1px solid var(--nh-border);
    border-radius: 15px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 20px rgba(38, 34, 28, .08);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.newhome-card:hover {
    transform: translateY(-3px);
    border-color: rgba(79, 70, 229, .45);
    box-shadow: 0 18px 35px rgba(38, 34, 28, .11);
}

.newhome-card.is-hidden { display: none; }

.newhome-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.newhome-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    border: 1px solid rgba(79, 70, 229, .2);
    background: rgba(79, 70, 229, .055);
    color: var(--nh-blue);
    font-size: 22px;
    line-height: 1;
}

.newhome-card__head em {
    max-width: 180px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid var(--nh-border);
    background: rgba(244, 241, 234, .75);
    color: #1f1b17;
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    line-height: 1;
    letter-spacing: .22em;
    font-style: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.newhome-card h3 {
    margin: 0 0 10px;
    color: #020a17;
    font-size: 18px;
    line-height: 1.22;
    font-weight: 600;
}

.newhome-card p {
    margin: 0;
    color: var(--nh-muted);
    font-size: 14px;
    line-height: 1.55;
    font-weight: 300;
}

.newhome-card__foot {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding-top: 18px;
    margin-top: 22px;
    border-top: 1px solid rgba(218,210,197,.42);
}

.newhome-card__foot span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--nh-soft);
    font-family: "JetBrains Mono", monospace;
    font-size: 8px;
    letter-spacing: .13em;
}

.newhome-card__foot b {
    color: #10a66a;
    font-size: 12px;
    letter-spacing: .02em;
}

.newhome-card__foot a {
    color: var(--nh-blue) !important;
    text-decoration: none !important;
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    white-space: nowrap;
}

@keyframes newhome-spin { to { transform: rotate(360deg); } }
@keyframes newhome-float { 0%, 100% { transform: translate(-50%, -50%) translateY(0); } 50% { transform: translate(-50%, -50%) translateY(-9px); } }

@media (max-width: 1100px) {
    .newhome-cardgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .newhome-servicebar { align-items: stretch; flex-direction: column; }
    .newhome-search { width: 100%; height: 46px; }
}

@media (max-width: 760px) {
    .newhome-hero__inner { width: min(100% - 28px, 1240px); padding-top: 46px; }
    .newhome-hero { min-height: auto; }
    .newhome-hero__title { font-size: clamp(36px, 11vw, 52px); margin-bottom: 24px; }
    .newhome-flow { height: 220px; transform: scale(.9); transform-origin: center; }
    .newhome-node { display: none; }
    .newhome-bubble { width: 31px; height: 31px; font-size: 8px; }
    .newhome-env__label { font-size: 8px; letter-spacing: .22em; }
    .newhome-cta { width: 100%; justify-content: center; padding: 18px 22px; font-size: 14px; }
    .newhome-services { padding: 56px 0 66px; }
    .newhome-services__inner { width: min(100% - 28px, 1216px); }
    .newhome-services__top { display: block; margin-bottom: 34px; }
    .newhome-services h2 { font-size: 34px; }
    .newhome-count { display: inline-flex; margin-top: 20px; }
    .newhome-tabs { width: 100%; }
    .newhome-tabs button { flex: 1 1 auto; font-size: 10px; padding: 11px 9px; }
    .newhome-cardgrid { grid-template-columns: 1fr; gap: 16px; }
    .newhome-card { min-height: 235px; padding: 22px; }
}

/* Patch v2: do not touch current site header/logo. Only first two newhome sections use these rules. */
.header .header__logo, .header .header__logo * { box-sizing: content-box; }
.newhome-hero + #cases { margin-top: 0; }


/* ===== Codart header + hero flow update ===== */
body > .header {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    padding: 0 !important;
    background: rgba(250, 249, 245, .88) !important;
    border-bottom: 1px solid rgba(218, 210, 197, .78);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
body > .header .container {
    width: min(1240px, calc(100% - 48px));
    max-width: none;
    margin: 0 auto;
    padding: 0 !important;
}
.newtop, .newtop * { box-sizing: border-box; }
.newtop {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    color: var(--nh-text);
    font-family: "Inter", Arial, sans-serif;
}
.newtop__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 210px;
    color: var(--nh-text) !important;
    text-decoration: none !important;
}
.newtop__logoShell {
    width: 38px;
    height: 38px;
    border-radius: 13px;
    border: 1px solid var(--nh-border-2);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 9px 24px rgba(42, 38, 32, .1);
    overflow: visible;
}
.newtop__logo {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    animation: newhome-spin 12s linear infinite;
}
.newtop__logo svg, .newhome-core__lottie svg { width: 100% !important; height: 100% !important; display: block !important; overflow: visible !important; }
.newtop__brandText { display: flex; flex-direction: column; line-height: 1; }
.newtop__brandText strong { font-size: 13px; letter-spacing: .02em; font-weight: 800; text-transform: uppercase; }
.newtop__brandText small { margin-top: 6px; font-family: "JetBrains Mono", monospace; font-size: 8px; letter-spacing: .18em; color: var(--nh-soft); text-transform: uppercase; }
.newtop__nav { display: flex; align-items: center; justify-content: center; gap: 28px; flex: 1; }
.newtop__nav a {
    color: var(--nh-muted) !important;
    text-decoration: none !important;
    font-size: 13px;
    line-height: 1;
    font-weight: 650;
    transition: color .18s ease;
}
.newtop__nav a:hover { color: var(--nh-blue) !important; }
.newtop__right { display: inline-flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 290px; }
.newtop__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(21,128,61,.23);
    background: rgba(21,128,61,.06);
    color: var(--nh-green);
    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .09em;
}
.newtop__status i { width: 7px; height: 7px; border-radius: 50%; background: var(--nh-green); animation: newhome-pulse 1.9s ease-in-out infinite; }
.newtop__phone { color: var(--nh-muted) !important; text-decoration: none !important; font-size: 13px; font-weight: 700; white-space: nowrap; }
.newtop__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 15px;
    border-radius: 9px;
    background: var(--nh-blue);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(79,70,229,.24);
}
.newhome-hero--flow { min-height: calc(100vh - 68px); }
.newhome-hero__inner { padding-top: 58px; }
.newhome-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .28em;
    color: var(--nh-blue);
}
.newhome-hero__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--nh-blue); box-shadow: 0 0 0 6px rgba(79,70,229,.08); }
.newhome-flow { height: 285px; margin-top: 2px; }
.newhome-core--lottie {
    width: 112px;
    height: 112px;
    border-radius: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    z-index: 35;
    overflow: visible;
}
.newhome-core--lottie::before,
.newhome-core--lottie::after,
.newhome-core__ring,
.newhome-core__dot { display: none !important; }
.newhome-core__lottie {
    position: relative;
    z-index: 2;
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: newhome-spin 25s linear infinite;
    transform-origin: 50% 50%;
}
.newhome-core__fallback {
    position: absolute;
    inset: 18px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, #1a1918 0 35deg, transparent 35deg 72deg, #1a1918 72deg 132deg, transparent 132deg 174deg, #1a1918 174deg 240deg, transparent 240deg 292deg, #1a1918 292deg 360deg);
    animation: newhome-spin 25s linear infinite;
}
.newhome-core__fallback::after {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: 50%;
    background: #fff;
    border: 8px solid #7c3aed;
    box-shadow: inset 0 0 0 10px #fff;
}
.newhome-core--lottie.is-lottie-ready .newhome-core__fallback { display: none; }
.newhome-flow__rail {
    position: absolute;
    inset: 0;
    z-index: 28;
    pointer-events: none;
    transform-style: preserve-3d;
}
.newhome-flynode {
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--nh-border);
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 18px rgba(36,31,25,.14), inset 0 1px 3px rgba(255,255,255,.9);
    color: var(--nh-blue);
    font-family: "JetBrains Mono", monospace;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: -.04em;
    will-change: offset-distance, transform, opacity;
    offset-rotate: 0deg;
    animation: newhome-signal-fly 7.4s linear infinite;
}
.flow-p1 { offset-path: path("M 120 55 Q 360 75, 600 130"); }
.flow-p2 { offset-path: path("M 180 100 Q 390 110, 600 130"); animation-duration: 6.2s; }
.flow-p3 { offset-path: path("M 90 160 Q 350 153, 600 130"); animation-duration: 8.4s; }
.flow-p4 { offset-path: path("M 240 215 Q 420 190, 600 130"); animation-duration: 5.5s; }
.flow-p5 { offset-path: path("M 1080 55 Q 840 75, 600 130"); animation-duration: 6.7s; }
.flow-p6 { offset-path: path("M 1020 100 Q 810 110, 600 130"); animation-duration: 7.8s; }
.flow-p7 { offset-path: path("M 1110 160 Q 850 153, 600 130"); animation-duration: 7s; }
.flow-p8 { offset-path: path("M 960 215 Q 780 190, 600 130"); animation-duration: 5.9s; }
@keyframes newhome-signal-fly {
    0% { offset-distance: 0%; opacity: 0; transform: translate(-50%, -50%) scale(.45); }
    10% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    76% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
    100% { offset-distance: 100%; opacity: 0; transform: translate(-50%, -50%) scale(.22); }
}
@keyframes newhome-pulse { 0%,100%{opacity:.45; transform:scale(.88)} 50%{opacity:1; transform:scale(1.18)} }
@media (max-width: 980px) {
    .newtop { min-height: auto; padding: 12px 0; flex-wrap: wrap; }
    .newtop__brand { min-width: auto; }
    .newtop__nav { order: 3; flex-basis: 100%; justify-content: flex-start; gap: 18px; overflow-x: auto; padding: 4px 0 2px; }
    .newtop__right { min-width: auto; gap: 8px; }
    .newtop__phone { display: none; }
    .newhome-hero__title { font-size: clamp(40px, 10vw, 58px); }
    .newhome-flow { height: 230px; transform: scale(.86); width: 116%; }
}
@media (max-width: 620px) {
    body > .header .container { width: min(100% - 28px, 1240px); }
    .newtop__brandText small, .newtop__status { display: none; }
    .newtop__nav a { font-size: 12px; }
    .newtop__btn { padding: 10px 12px; }
    .newhome-hero__inner { width: min(100% - 24px, 1240px); padding-top: 38px; }
    .newhome-flow { height: 190px; transform: scale(.72); width: 140%; margin-left: -20%; }
    .newhome-core--lottie { width: 104px; height: 104px; }
}

/* ===== Soft full-page tone refinement based on user reference ===== */
html, body {
    background: #f5f5fa;
}

body {
    background-image:
        radial-gradient(circle at 12% 10%, rgba(154, 120, 190, .10), transparent 24%),
        radial-gradient(circle at 88% 16%, rgba(167, 149, 210, .08), transparent 22%),
        radial-gradient(circle at 84% 72%, rgba(176, 148, 214, .09), transparent 20%),
        linear-gradient(180deg, #f6f6fb 0%, #f4f4f8 44%, #f3f3f7 100%);
    color: var(--nh-text);
}

.header,
.newhome-hero,
.newhome-services,
#cases,
#process,
.cta,
.reviews.v5,
.footer {
    position: relative;
    background: transparent;
}

.newhome-hero,
.newhome-services,
#cases,
#process,
.cta,
.reviews.v5,
.footer {
    isolation: isolate;
}

.newhome-hero::before,
.newhome-services::after,
#cases::before,
#process::before,
.cta::before,
.reviews.v5::before,
.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.newhome-hero::before {
    background:
        radial-gradient(circle at 16% 18%, rgba(173, 148, 214, .10), transparent 24%),
        radial-gradient(circle at 84% 20%, rgba(173, 148, 214, .09), transparent 20%),
        linear-gradient(180deg, rgba(247,247,251,.92) 0%, rgba(244,244,248,.96) 55%, rgba(244,244,248,.98) 100%);
}

.newhome-services::after,
#cases::before,
#process::before,
.cta::before,
.reviews.v5::before,
.footer::before {
    background:
        radial-gradient(circle at 10% 24%, rgba(171, 149, 212, .08), transparent 20%),
        radial-gradient(circle at 87% 40%, rgba(171, 149, 212, .08), transparent 18%),
        linear-gradient(180deg, rgba(245,245,250,.96) 0%, rgba(243,243,248,.98) 100%);
}

.newhome-hero__inner,
.newhome-services__inner,
#cases > .container,
#process > .container,
.cta > .container,
.reviews.v5 > .container,
.footer > .container {
    position: relative;
    z-index: 1;
}

body > .header {
    background: rgba(246, 246, 250, .82) !important;
    border-bottom: 1px solid rgba(220, 219, 230, .92);
}

.newhome-services,
#cases,
#process,
.cta,
.reviews.v5,
.footer {
    border-top: 1px solid rgba(224, 223, 232, .72);
}

.newhome-card,
.case,
.step,
.cta__box,
.rev5__stage > *,
.footer__inner,
.footer__top,
.footer__bottom {
    position: relative;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.newhome-card,
.case,
.step,
.cta__box,
.rev5__stage > * {
    background: rgba(255,255,255,.70) !important;
    border: 1px solid rgba(226, 224, 235, .92) !important;
    box-shadow: 0 18px 48px rgba(124, 104, 162, .08) !important;
}

.cases__btn,
.rev5__btn {
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(218, 214, 231, .95) !important;
    box-shadow: 0 8px 24px rgba(124, 104, 162, .08);
}

.cases__dots button,
.rev5__dots button,
.swiper-pagination-bullet {
    background: rgba(124, 104, 180, .22) !important;
}

.cases__dots .is-active,
.rev5__dots .is-active,
.swiper-pagination-bullet-active {
    background: #9468b4 !important;
}

.cta__box {
    background: rgba(255,255,255,.65) !important;
}

.footer {
    padding-top: 0;
}

.footer__top,
.footer__inner,
.footer__bottom {
    background: transparent !important;
}

.footer__top-divider,
.footer__bottom {
    border-color: rgba(220, 219, 230, .9) !important;
}

.footer__menu-title,
.footer__bottom-title,
.footer__menu-list a,
.footer__menu-list-contacts a {
    color: #6b6f78 !important;
}

.footer__menu-list-contacts li:last-child a {
    color: #414851 !important;
}

@media (max-width: 767px) {
    .newhome-card,
    .case,
    .step,
    .cta__box,
    .rev5__stage > * {
        background: rgba(255,255,255,.78) !important;
    }
}
