:root {
    --cf-motion-ease: cubic-bezier(.2, .7, .2, 1);
    --cf-motion-shadow: 0 9px 22px rgba(3, 43, 47, .13);
}

html.cf-counter-pending [data-cf-countup] {
    visibility: hidden;
}

.cf-home-revenue-banner-cta {
    transition: transform .2s var(--cf-motion-ease), background-color .2s ease, box-shadow .2s ease;
}

@keyframes cf-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes cf-rise-in {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.static-design,
.blog-page,
.blog-detail-design {
    animation: cf-fade-in .42s ease-out both;
}

.cf-motion-title,
.blog-page .blog-hero h1,
.blog-detail-design h1 {
    animation: cf-rise-in .62s var(--cf-motion-ease) .04s both;
}

.cf-motion-copy,
.blog-page .blog-hero p {
    animation: cf-rise-in .58s var(--cf-motion-ease) .14s both;
}

.blog-page .blog-eyebrow {
    animation: cf-fade-in .5s ease-out both;
}

.blog-page .blog-featured-card {
    animation: cf-rise-in .62s var(--cf-motion-ease) .12s both;
}

.reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s var(--cf-motion-ease), transform .6s var(--cf-motion-ease);
}

.reveal.is-visible {
    opacity: 1;
    transform: none;
}

body.cf-scroll-motion-ready .cf-scroll-column {
    opacity: 0;
    translate: 0 18px;
    transition: opacity .62s var(--cf-motion-ease), translate .62s var(--cf-motion-ease);
    transition-delay: var(--cf-column-delay, 0ms);
}

body.cf-scroll-motion-ready .cf-scroll-section.cf-scroll-active .cf-scroll-column {
    opacity: 1;
    translate: 0 0;
}

body.cf-scroll-motion-ready .cf-scroll-media {
    opacity: 0;
    transition: opacity .58s var(--cf-motion-ease);
    transition-delay: 100ms;
}

body.cf-scroll-motion-ready .cf-scroll-section.cf-scroll-active .cf-scroll-media {
    opacity: 1;
}

body.cf-scroll-motion-ready .cf-scroll-hero-media {
    translate: 0 18px;
    transition: opacity .72s var(--cf-motion-ease), translate .72s var(--cf-motion-ease);
    transition-delay: 90ms;
}

body.cf-scroll-motion-ready .cf-scroll-section.cf-scroll-active .cf-scroll-hero-media {
    opacity: 1;
    translate: 0 0;
}

.cf-slide-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.cf-slide-button::before {
    position: absolute;
    z-index: -1;
    inset: -2px;
    border-radius: inherit;
    background: linear-gradient(110deg, var(--green), var(--teal));
    content: "";
    pointer-events: none;
    transform: translate3d(-102%, 0, 0);
    transition: transform .5s var(--cf-motion-ease);
}

.cf-slide-button:is(:hover, :focus-visible)::before {
    transform: translate3d(0, 0, 0);
}

.cf-slide-button--dark:is(:hover, :focus-visible) {
    color: var(--pine) !important;
}

:where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    .btn,
    [role="button"],
    [role="tab"],
    .cf-motion-button,
    .cf-slide-button,
    .header-menu-schedule,
    .cf-home-revenue-banner-cta,
    .cf-home-hero-phone-link,
    .top-social a,
    .footer-social-links a,
    .blog-detail-design a[aria-label^="Share on"],
    .blog-detail-design a[aria-label="Share by email"],
    .service-tab,
    [data-specialty-tab],
    [data-billing-preview-tab],
    [data-product-preview-tab],
    .case-study-filter,
    [data-blog-filter],
    [data-case-study-filter]
) {
    transition:
        transform .2s var(--cf-motion-ease),
        box-shadow .2s var(--cf-motion-ease),
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        filter .2s ease;
}

:where(button, input[type="button"], input[type="submit"], input[type="reset"], .btn, [role="button"], .cf-motion-button, .case-study-filter, [data-blog-filter]):focus-visible {
    outline: 3px solid rgba(18, 156, 140, .42);
    outline-offset: 3px;
}

:where(button:disabled, input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled) {
    cursor: not-allowed;
}

@media (hover: hover) and (pointer: fine) {
    :where(button:not(:disabled):not(.cf-faq-toggle):not(.cf-reasons-accordion-button):not(.accordion-button), input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), input[type="reset"]:not(:disabled), .btn:not(.cf-faq-toggle):not(.cf-reasons-accordion-button):not(.accordion-button), [role="button"], .cf-motion-button, .case-study-filter, [data-blog-filter]):hover {
        transform: translateY(-2px);
        box-shadow: var(--cf-motion-shadow);
        filter: brightness(1.035);
    }

    :where(button:not(:disabled):not(.cf-faq-toggle):not(.cf-reasons-accordion-button):not(.accordion-button), input[type="button"]:not(:disabled), input[type="submit"]:not(:disabled), input[type="reset"]:not(:disabled), .btn:not(.cf-faq-toggle):not(.cf-reasons-accordion-button):not(.accordion-button), [role="button"], .cf-motion-button, .case-study-filter, [data-blog-filter]):active {
        transform: translateY(0) scale(.985);
        box-shadow: none;
    }

    .static-design a[style*="box-shadow"],
    .blog-card-link .blog-card,
    .blog-featured-card,
    .case-study-card,
    .card-brand,
    .admin-media-item,
    .dashboard-stat,
    .dashboard-panel {
        transition: transform .24s var(--cf-motion-ease), box-shadow .24s var(--cf-motion-ease), border-color .24s ease;
    }

    .static-design a[style*="box-shadow"]:hover,
    .blog-card-link:hover .blog-card,
    .blog-featured-card:hover,
    .case-study-card:hover,
    .card-brand:hover,
    .admin-media-item:hover,
    .dashboard-stat:hover,
    .dashboard-panel:hover {
        transform: translateY(-3px);
        box-shadow: 0 15px 34px rgba(3, 43, 47, .12);
    }
}

@media (hover: hover) and (pointer: fine) {
    .cf-home-revenue-banner-cta:is(:hover, :focus-visible) {
        transform: translateY(-2px);
        background-color: var(--teal) !important;
        color: #fff !important;
        box-shadow: var(--cf-motion-shadow);
    }

    .cf-home-hero-phone-link {
        transition: transform .2s var(--cf-motion-ease), color .2s ease;
    }

    .cf-home-hero-phone-link:hover {
        transform: translateY(-2px);
        color: var(--teal) !important;
    }

    .cf-home-hero-phone-link:hover > span:first-child {
        background-color: var(--mint);
        border-color: var(--teal) !important;
    }

    .site-header .desktop-nav .nav-trigger:hover,
    .site-header .desktop-nav .nav-trigger:active {
        transform: none !important;
        box-shadow: none !important;
        filter: none !important;
    }

    .site-header .desktop-nav .nav-trigger:hover {
        color: var(--teal);
    }

    .cf-faq-toggle:hover,
    .cf-reasons-accordion-button:hover,
    .accordion-button:hover,
    .cf-faq-toggle:active,
    .cf-reasons-accordion-button:active,
    .accordion-button:active {
        transform: none !important;
        box-shadow: none !important;
        filter: none !important;
    }

    .top-social a,
    .site-footer .footer-social-links a,
    .blog-detail-design a[aria-label^="Share on"],
    .blog-detail-design a[aria-label="Share by email"] {
        transition: transform .2s var(--cf-motion-ease), background-color .2s ease, color .2s ease, box-shadow .2s ease;
    }

    .top-social a:hover,
    .site-footer .footer-social-links a:hover,
    .blog-detail-design a[aria-label^="Share on"]:is(:hover, :focus-visible),
    .blog-detail-design a[aria-label="Share by email"]:is(:hover, :focus-visible) {
        transform: translateY(-3px);
        background-color: var(--teal);
        color: #fff;
        box-shadow: 0 7px 16px rgba(3, 43, 47, .2);
    }

    .blog-detail-design a[aria-label^="Share on"]:is(:hover, :focus-visible),
    .blog-detail-design a[aria-label="Share by email"]:is(:hover, :focus-visible) {
        background-color: var(--teal) !important;
        color: #fff !important;
    }

    .site-footer .footer-link-column a,
    .site-footer .footer-bottom a,
    .site-footer .footer-phone,
    .site-footer .footer-email {
        transition: color .18s ease, transform .18s var(--cf-motion-ease);
    }

    .site-footer .footer-link-column a:hover,
    .site-footer .footer-phone:hover,
    .site-footer .footer-email:hover {
        transform: translateX(3px);
        color: var(--teal) !important;
    }

    .site-footer .footer-bottom a:hover {
        color: var(--teal) !important;
    }

    .site-footer .footer-whatsapp {
        transition: transform .2s var(--cf-motion-ease), border-color .2s ease, background-color .2s ease, color .2s ease;
    }

    .site-footer .footer-whatsapp:hover {
        transform: translateY(-2px);
        border-color: var(--teal);
        background-color: var(--mint);
        color: var(--pine);
    }

    .top-social a:focus-visible,
    .site-footer a:focus-visible {
        outline: 3px solid rgba(18, 156, 140, .45);
        outline-offset: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .static-design,
    .blog-page,
    .blog-detail-design,
    .cf-motion-title,
    .cf-motion-copy,
    .blog-page .blog-hero h1,
    .blog-page .blog-hero p,
    .blog-page .blog-eyebrow,
    .blog-page .blog-featured-card {
        animation: none !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }

    body.cf-scroll-motion-ready .cf-scroll-column {
        opacity: 1;
        translate: none;
        transition: none;
    }

    body.cf-scroll-motion-ready .cf-scroll-media {
        opacity: 1;
        transition: none;
    }

    body.cf-scroll-motion-ready .cf-scroll-hero-media {
        translate: none;
    }

    .cf-slide-button::before {
        display: none;
    }
}
