:root {
    --zv-primary: #7C3AED;
    --zv-secondary: #5B21B6;
    --zv-accent: #D946EF;
    --zv-accent-secondary: #A855F7;
    --zv-highlight: #F3D9FF;
    --zv-background: #0F0820;
    --zv-surface: #21163D;
    --zv-text: #FAF5FF;
    --zv-button: #8B5CF6;
    --zv-hover: #A855F7;
    --zv-card: #21163D;
    --zv-border: rgba(250, 245, 255, 0.1);
    --zv-text-secondary: rgba(250, 245, 255, 0.84);
    --zv-text-muted: rgba(250, 245, 255, 0.72);
    --zv-button-hover: #A855F7;
    --zv-link: #D946EF;
    --zv-gradient-primary: linear-gradient(135deg, #7C3AED, #D946EF);
    --zv-gradient-accent: linear-gradient(135deg, #D946EF, #8B5CF6);
    --zv-shadow: 0 18px 50px rgba(217, 70, 239, 0.22);
    --zv-glow: 0 0 42px rgba(217, 70, 239, 0.26);
    --zr-midnight: var(--zv-background);
    --zr-slate: var(--zv-surface);
    --zr-coral: var(--zv-accent);
    --zr-peach: var(--zv-hover);
    --zr-soft-pink: var(--zv-highlight);
    --zr-light: var(--zv-text);
    --zr-white: #ffffff;
    --zr-black: #000000;
    --zr-dark-deep: #080412;
    --zr-dark-elevated: #1A0E31;
    --zr-accent-vivid: var(--zv-primary);
    --zr-section-light-start: #FFF3FF;
    --zr-section-light-middle: #FAF5FF;
    --zr-section-light-end: #F0E6FF;
    --zr-midnight-rgb: 15, 8, 32;
    --zr-slate-rgb: 33, 22, 61;
    --zr-coral-rgb: 217, 70, 239;
    --zr-peach-rgb: 168, 85, 247;
    --zr-soft-pink-rgb: 243, 217, 255;
    --zr-light-rgb: 250, 245, 255;
    --zr-white-rgb: 255, 255, 255;
    --zr-black-rgb: 0, 0, 0;
    --zr-dark-deep-rgb: 8, 4, 18;
    --zr-dark-shadow-rgb: 5, 2, 12;
    --zr-section-light-start-rgb: 255, 243, 255;
    --zr-section-light-middle-rgb: 250, 245, 255;
    --zr-bg: var(--zr-midnight);
    --zr-bg-secondary: var(--zr-slate);
    --zr-primary: var(--zr-coral);
    --zr-primary-hover: var(--zr-peach);
    --zr-text: var(--zr-light);
    --zr-text-muted: rgba(var(--zr-light-rgb), 0.72);
    --zr-border: rgba(var(--zr-white-rgb), 0.08);
    --zr-gradient-primary: linear-gradient(180deg, var(--zr-coral) 0%, var(--zr-soft-pink) 55%, var(--zr-peach) 100%);
    --zr-gradient-accent-text: linear-gradient(92deg, var(--zr-coral), var(--zr-soft-pink) 52%, var(--zr-peach));
    --zr-gradient-ai-heading: linear-gradient(92deg, var(--zr-coral), var(--zr-accent-vivid) 54%, var(--zr-peach));
    --zr-gradient-button: linear-gradient(135deg, var(--zv-button), var(--zr-coral));
    --zr-gradient-accent-line: linear-gradient(90deg, rgba(var(--zr-coral-rgb), 0.2), var(--zr-coral), var(--zr-peach));
    --zr-gradient-soft-cta: linear-gradient(135deg, var(--zr-soft-pink), var(--zr-white));
    --zr-gradient-light-section: linear-gradient(135deg, var(--zr-section-light-start) 0%, var(--zr-section-light-middle) 42%, var(--zr-section-light-end) 100%);
    --zr-gradient-dark-section: linear-gradient(135deg, var(--zr-midnight) 0%, var(--zr-dark-elevated) 48%, var(--zr-slate) 100%);
    --zr-glass-bg: rgba(var(--zr-midnight-rgb), 0.72);
    --zr-glass-border: rgba(var(--zr-white-rgb), 0.08);
    --zr-glass-surface: rgba(var(--zr-white-rgb), 0.04);
    --zr-glass-surface-strong: rgba(var(--zr-white-rgb), 0.07);
    --zr-shadow-sm: 0 8px 20px rgba(var(--zr-black-rgb), 0.2);
    --zr-shadow-md: 0 12px 35px rgba(var(--zr-black-rgb), 0.3);
    --zr-shadow-lg: 0 18px 50px rgba(var(--zr-black-rgb), 0.4);
    --zv-color-ink: var(--zr-midnight);
    --zv-color-ink-soft: var(--zr-slate);
    --zv-color-paper: var(--zr-white);
    --zv-color-paper-warm: var(--zr-light);
    --zv-color-line: var(--zr-border);
    --zv-color-brand: var(--zr-coral);
    --zv-color-brand-strong: var(--zr-peach);
    --zv-color-brand-soft: var(--zr-soft-pink);
    --zv-shadow-soft: var(--zr-shadow-md);
    --zv-shadow-menu: var(--zr-shadow-lg);
    --zv-radius-small: 6px;
    --zv-radius-pill: 999px;
    --zv-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --zv-container-width: 1180px;
    --zv-header-height: 56px;
    --zr-home-section-title-size: clamp(36px, 4.2vw, 48px);
    --zr-home-section-title-size-mobile: clamp(31px, 9vw, 42px);
    --zr-home-section-title-line-height: 1.06;
    --zr-home-section-y: clamp(62px, 7vw, 96px);
    --zr-home-section-y-compact: clamp(56px, 6vw, 84px);
}

body {
    margin: 0;
    color: var(--zv-color-ink);
    background: var(--zv-color-paper);
    font-family: var(--zv-font-body);
}

.zv-revamp-container {
    width: min(var(--zv-container-width), calc(100% - 32px));
    margin-inline: auto;
}

.zv-revamp-shell {
    min-height: 100vh;
    background: var(--zv-color-paper);
}

.zv-revamp-shell .zr-services-section-revamp__title,
.zv-revamp-shell .zr-process-section-revamp__title,
.zv-revamp-shell .zr-value-section-revamp__title,
.zv-revamp-shell .zr-business-model-section-revamp__title {
    color: var(--zr-midnight) !important;
    font-family: Manrope, var(--zv-font-body) !important;
    font-size: var(--zr-home-section-title-size) !important;
    font-weight: 800 !important;
    line-height: var(--zr-home-section-title-line-height) !important;
    letter-spacing: 0 !important;
}

.zv-revamp-shell .zr-services-section-revamp__title > *,
.zv-revamp-shell .zr-process-section-revamp__title > *,
.zv-revamp-shell .zr-value-section-revamp__title > *,
.zv-revamp-shell .zr-business-model-section-revamp__title > * {
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

.zv-revamp-shell .zr-services-section-revamp__title strong,
.zv-revamp-shell .zr-services-section-revamp__title em,
.zv-revamp-shell .zr-services-section-revamp__title span,
.zv-revamp-shell .zr-services-section-revamp__title p,
.zv-revamp-shell .zr-process-section-revamp__title strong,
.zv-revamp-shell .zr-process-section-revamp__title em,
.zv-revamp-shell .zr-process-section-revamp__title span,
.zv-revamp-shell .zr-process-section-revamp__title p,
.zv-revamp-shell .zr-value-section-revamp__title strong,
.zv-revamp-shell .zr-value-section-revamp__title em,
.zv-revamp-shell .zr-value-section-revamp__title span,
.zv-revamp-shell .zr-value-section-revamp__title p,
.zv-revamp-shell .zr-business-model-section-revamp__title strong,
.zv-revamp-shell .zr-business-model-section-revamp__title em,
.zv-revamp-shell .zr-business-model-section-revamp__title span,
.zv-revamp-shell .zr-business-model-section-revamp__title p {
    color: transparent !important;
    background: var(--zr-gradient-ai-heading) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    filter: drop-shadow(0 12px 18px rgba(var(--zr-coral-rgb), 0.24)) !important;
    font-style: normal !important;
}

@media (max-width: 760px) {
    .zv-revamp-shell .zr-services-section-revamp__title,
    .zv-revamp-shell .zr-process-section-revamp__title,
    .zv-revamp-shell .zr-value-section-revamp__title,
    .zv-revamp-shell .zr-business-model-section-revamp__title {
        font-size: var(--zr-home-section-title-size-mobile) !important;
    }
}

a {
    color: inherit;
}

.zv-revamp-shell .zv-revamp-cta:hover,
.zv-revamp-shell .zr-hero-revamp__button:not(.zr-hero-revamp__button--ghost):hover,
.zv-revamp-shell .zr-footer-cta-revamp__button:hover,
.zv-revamp-shell .zr-audience-panel-revamp__cta:hover,
.zv-revamp-shell .zr-home-final-cta-revamp__button:hover,
.zv-revamp-shell .btn-submit:hover,
.zv-revamp-shell .apply_btn button:hover,
.zv-revamp-shell .zv-cookie-revamp__button:hover,
.zv-revamp-shell button[style*="background:#a78b4c"]:hover,
.zv-revamp-shell button[style*="background: #a78b4c"]:hover {
    color: var(--zr-white) !important;
}

.zv-revamp-shell .zv-revamp-cta:hover *,
.zv-revamp-shell .zr-hero-revamp__button:not(.zr-hero-revamp__button--ghost):hover *,
.zv-revamp-shell .zr-footer-cta-revamp__button:hover *,
.zv-revamp-shell .zr-audience-panel-revamp__cta:hover *,
.zv-revamp-shell .zr-home-final-cta-revamp__button:hover *,
.zv-revamp-shell .btn-submit:hover *,
.zv-revamp-shell .apply_btn button:hover *,
.zv-revamp-shell .zv-cookie-revamp__button:hover *,
.zv-revamp-shell button[style*="background:#a78b4c"]:hover *,
.zv-revamp-shell button[style*="background: #a78b4c"]:hover * {
    color: var(--zr-white) !important;
}

.zv-revamp-shell .zr-hero-revamp__button--ghost:hover,
.zv-revamp-shell .btn_cancel:hover,
.zv-revamp-shell .btn-outline-primary:hover,
.zv-revamp-shell .btn-outline-danger:hover {
    color: var(--zr-coral) !important;
}

.zv-revamp-shell .zr-hero-revamp__button--ghost:hover *,
.zv-revamp-shell .btn_cancel:hover *,
.zv-revamp-shell .btn-outline-primary:hover *,
.zv-revamp-shell .btn-outline-danger:hover * {
    color: var(--zr-coral) !important;
}

.zv-loader-revamp {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 42%, rgba(var(--zr-coral-rgb), 0.18), transparent 32%),
        linear-gradient(135deg, var(--zr-white), var(--zr-section-light-middle));
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 360ms ease, visibility 360ms ease;
}

.zv-revamp-loading .zv-loader-revamp {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.zv-loader-revamp__mark {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    position: relative;
    background: rgba(var(--zr-white-rgb), 0.76);
    border: 1px solid rgba(var(--zr-coral-rgb), 0.18);
    border-radius: 24px;
    box-shadow:
        0 22px 60px rgba(var(--zr-coral-rgb), 0.18),
        inset 0 1px 0 rgba(var(--zr-white-rgb), 0.9);
}

.zv-loader-revamp__mark::before {
    content: "Z";
    color: var(--zr-midnight);
    font-family: Manrope, var(--zv-font-body);
    font-size: 28px;
    font-weight: 900;
}

.zv-loader-revamp__mark span {
    position: absolute;
    inset: 10px;
    border: 2px solid transparent;
    border-top-color: var(--zr-coral);
    border-right-color: rgba(var(--zr-peach-rgb), 0.62);
    border-radius: 22px;
    animation: zv-loader-spin 1.1s linear infinite;
}

.zv-loader-revamp__mark span:nth-child(2) {
    inset: 17px;
    animation-duration: 1.45s;
    animation-direction: reverse;
    border-top-color: rgba(var(--zr-midnight-rgb), 0.3);
}

.zv-loader-revamp__mark span:nth-child(3) {
    inset: 24px;
    animation-duration: 1.8s;
    border-top-color: var(--zr-peach);
    opacity: 0.72;
}

.zv-whatsapp-revamp {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9998;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    color: var(--zr-white);
    background: #18A957;
    border: 1px solid rgba(var(--zr-white-rgb), 0.22);
    border-radius: 5px;
    box-shadow:
        0 18px 40px rgba(24, 169, 87, 0.28),
        0 8px 18px rgba(var(--zr-dark-shadow-rgb), 0.12);
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.zv-whatsapp-revamp__icon {
    width: auto;
    height: auto;
    color: var(--zr-white);
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    font-size: 31px;
    line-height: 1;
}

.zv-whatsapp-revamp:hover {
    color: var(--zr-white);
    background: #159B50;
    transform: translateY(-3px);
    box-shadow:
        0 22px 46px rgba(24, 169, 87, 0.34),
        0 10px 22px rgba(var(--zr-dark-shadow-rgb), 0.16);
}

.zr-page-title-revamp {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 92px;
    display: flex;
    align-items: center;
    padding: clamp(118px, 8vw, 134px) 0 18px;
    background:
        radial-gradient(circle at 14% 50%, rgba(var(--zr-coral-rgb), 0.1), transparent 28%),
        radial-gradient(circle at 82% 20%, rgba(var(--zr-peach-rgb), 0.1), transparent 24%),
        #f7f7f8;
}

.zr-page-title-revamp::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        radial-gradient(rgba(var(--zr-coral-rgb), 0.13) 1px, transparent 1.5px),
        linear-gradient(110deg, transparent 0 46%, rgba(var(--zr-coral-rgb), 0.08) 48%, transparent 52%);
    background-size: 28px 28px, 220px 160px;
    opacity: 0.85;
    animation: zr-page-title-float 22s linear infinite;
}

.zr-page-title-revamp::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 80px;
    right: 8%;
    top: 28%;
    z-index: -1;
    background: var(--zr-gradient-button);
    border-radius: 999px;
    filter: blur(34px);
    opacity: 0.12;
    animation: zr-page-title-glow 5s ease-in-out infinite;
}

.zr-page-title-revamp__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.zr-page-title-revamp h1 {
    margin: 0;
    color: var(--zr-midnight);
    font-family: Manrope, var(--zv-font-body);
    font-size: clamp(32px, 3.3vw, 46px);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: 0;
}

.zr-page-breadcrumb-revamp {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    color: rgba(var(--zr-midnight-rgb), 0.46);
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 700;
    line-height: 1.4;
}

.zr-page-breadcrumb-revamp a {
    color: var(--zr-coral);
    text-decoration: none;
    transition: color 180ms ease;
}

.zr-page-breadcrumb-revamp a:hover {
    color: var(--zr-coral);
}

.zr-page-breadcrumb-revamp a::after {
    content: "›";
    margin-left: 10px;
    color: var(--zr-coral);
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

@keyframes zv-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes zr-page-title-float {
    to {
        background-position: 56px 42px, 440px 320px;
    }
}

@keyframes zr-page-title-glow {
    50% {
        opacity: 0.2;
        transform: translate3d(-18px, 8px, 0) scale(1.08);
    }
}

@media (max-width: 620px) {
    .zv-whatsapp-revamp {
        right: 14px;
        bottom: 14px;
        width: 58px;
        height: 58px;
    }

    .zv-whatsapp-revamp__icon {
        font-size: 30px;
    }

    .zr-page-title-revamp {
        padding-top: 106px;
    }

    .zr-page-title-revamp__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .zr-page-breadcrumb-revamp {
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-loader-revamp,
    .zv-loader-revamp__mark span,
    .zv-whatsapp-revamp,
    .zr-page-title-revamp::before,
    .zr-page-title-revamp::after {
        animation: none;
        transition: none;
    }
}
