.idc-header__contact-link,
.idc-header__utility-link,
.idc-header__mobile-link,
.idc-nav__link,
.idc-nav__link--mega::after,
.idc-nav__mega-icon,
.idc-mega-menu__link,
.idc-mega-menu__link-title,
.idc-mobile-nav__sub-link,
.idc-mobile-nav__link,
.idc-button,
.idc-footer-cta-bar__item,
.idc-footer-cta-bar__socials a,
.idc-footer-cta-bar__icon,
.idc-site-footer a,
.idc-floating-cta-tabs__item,
.idc-floating-cta-tabs__icon,
.idc-mobile-sticky-cta__item,
.idc-mobile-sticky-cta__icon,
.idc-internal-hero__social-panel a,
.idc-selector-tabs__button,
.idc-mobile-nav__arrow,
.idc-menu-toggle,
.idc-mobile-menu__close,
.idc-contact-panel__close,
.idc-mobile-form input,
.idc-mobile-form select,
.idc-mobile-form textarea,
.idc-contact-form input,
.idc-contact-form select,
.idc-contact-form textarea,
.idc-care-guide-form input,
.idc-treatment-card,
.idc-treatment-card__image img,
.idc-team-card__info,
.idc-team-card__info span {
    transition:
        background-color var(--idc-transition-fast),
        border-color var(--idc-transition-fast),
        color var(--idc-transition-fast),
        opacity var(--idc-transition-fast),
        transform var(--idc-transition-medium);
}

.idc-mobile-menu__backdrop,
.idc-contact-panel__backdrop {
    transition: opacity var(--idc-transition-medium);
}

.idc-mobile-menu,
.idc-contact-panel {
    transition: visibility 0s linear 350ms;
}

.idc-mobile-menu__panel {
    opacity: 0;
    transition:
        opacity 350ms ease,
        transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.idc-mobile-menu__close {
    transform: translateX(72px);
    transition:
        background-color var(--idc-transition-fast),
        border-color var(--idc-transition-fast),
        color var(--idc-transition-fast),
        transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
}

.idc-contact-panel__panel {
    transition: transform var(--idc-transition-medium);
}

.idc-mobile-menu__brand,
.idc-mobile-nav__accordion,
.idc-mobile-nav > .idc-mobile-nav__link,
.idc-mobile-menu__cta,
.idc-mobile-menu .idc-mobile-form,
.idc-mobile-menu__quote,
.idc-mobile-menu__contact {
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-mobile-nav__accordion-panel {
    transition:
        max-height 280ms ease,
        padding-bottom 280ms ease;
}

.idc-mega-menu {
    transition:
        opacity 250ms ease-out,
        transform 250ms ease-out,
        visibility 0s linear 250ms;
}

.idc-nav__item--mega.is-open .idc-mega-menu {
    transition-delay: 0s;
}

body.idc-menu-open .idc-mobile-menu,
body.idc-contact-panel-open .idc-contact-panel {
    transition-delay: 0s;
}

body.idc-menu-open .idc-mobile-menu__panel {
    opacity: 1;
}

body.idc-menu-open .idc-mobile-menu__close {
    transform: translateX(0);
}

body.idc-menu-open .idc-mobile-menu__brand,
body.idc-menu-open .idc-mobile-nav__accordion,
body.idc-menu-open .idc-mobile-nav > .idc-mobile-nav__link,
body.idc-menu-open .idc-mobile-menu__cta,
body.idc-menu-open .idc-mobile-menu .idc-mobile-form,
body.idc-menu-open .idc-mobile-menu__quote,
body.idc-menu-open .idc-mobile-menu__contact {
    opacity: 1;
    transform: translateY(0);
}

body.idc-menu-open .idc-mobile-menu__brand {
    transition-delay: 90ms;
}

body.idc-menu-open .idc-mobile-nav__accordion {
    transition-delay: 160ms;
}

body.idc-menu-open .idc-mobile-nav > .idc-mobile-nav__link:nth-of-type(1) {
    transition-delay: 210ms;
}

body.idc-menu-open .idc-mobile-nav > .idc-mobile-nav__link:nth-of-type(2) {
    transition-delay: 250ms;
}

body.idc-menu-open .idc-mobile-nav > .idc-mobile-nav__link:nth-of-type(3) {
    transition-delay: 290ms;
}

body.idc-menu-open .idc-mobile-nav > .idc-mobile-nav__link:nth-of-type(4) {
    transition-delay: 330ms;
}

body.idc-menu-open .idc-mobile-nav > .idc-mobile-nav__link:nth-of-type(5) {
    transition-delay: 370ms;
}

body.idc-menu-open .idc-mobile-menu__cta {
    transition-delay: 430ms;
}

body.idc-menu-open .idc-mobile-menu .idc-mobile-form {
    transition-delay: 470ms;
}

body.idc-menu-open .idc-mobile-menu__quote {
    transition-delay: 500ms;
}

body.idc-menu-open .idc-mobile-menu__contact {
    transition-delay: 530ms;
}

.idc-hero__media {
    animation: idcHeroMediaIntroMobile 980ms cubic-bezier(0.22, 1, 0.36, 1) 100ms both;
    will-change: transform, filter, opacity;
}

.idc-internal-hero__media {
    animation: idcInternalHeroMediaIntro 900ms cubic-bezier(0.22, 1, 0.36, 1) 80ms both;
    will-change: transform;
}

.idc-internal-hero__content {
    animation: idcInternalHeroContentIntro 700ms cubic-bezier(0.22, 1, 0.36, 1) 180ms both;
    opacity: 0;
    transform: translateY(20px);
    will-change: transform, opacity;
}

.idc-internal-hero__social-panel {
    animation: idcInternalHeroSocialIntro 700ms cubic-bezier(0.22, 1, 0.36, 1) 520ms both;
    opacity: 0;
    will-change: opacity;
}

.idc-selector-panel {
    transition: opacity 240ms ease;
    will-change: opacity;
}

.idc-hero h1,
.idc-hero__separator,
.idc-hero__text,
.idc-hero__actions {
    animation: idcHeroContentIntro 780ms cubic-bezier(0.22, 1, 0.36, 1) both;
    opacity: 0;
    transform: translateY(10px);
    will-change: transform, opacity;
}

.idc-hero h1 {
    animation-delay: 220ms;
}

.idc-hero__separator {
    animation-delay: 340ms;
}

.idc-hero__text {
    animation-delay: 460ms;
}

.idc-hero__actions {
    animation-delay: 580ms;
}

.idc-hero-trust-bar__item {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity 680ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 680ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-hero-trust-bar__item:nth-child(2) {
    transition-delay: 70ms;
}

.idc-hero-trust-bar__item:nth-child(3) {
    transition-delay: 140ms;
}

.idc-hero-trust-bar__item:nth-child(4) {
    transition-delay: 210ms;
}

.idc-hero-trust-bar.is-revealed .idc-hero-trust-bar__item {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 1024px) {
    .idc-hero__media {
        animation-name: idcHeroMediaIntro;
        animation-duration: 1150ms;
        animation-delay: 120ms;
    }

    .idc-hero h1,
    .idc-hero__separator,
    .idc-hero__text,
    .idc-hero__actions {
        animation-duration: 900ms;
        transform: translateY(14px);
    }

    .idc-hero h1 {
        animation-delay: 260ms;
    }

    .idc-hero__separator {
        animation-delay: 420ms;
    }

    .idc-hero__text {
        animation-delay: 560ms;
    }

    .idc-hero__actions {
        animation-delay: 700ms;
    }
}

@keyframes idcHeroMediaIntroMobile {
    from {
        filter: blur(2px);
        opacity: 0.9;
        transform: scale(1.045);
    }

    to {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes idcHeroMediaIntro {
    from {
        filter: blur(3px);
        opacity: 0.88;
        transform: scale(1.08);
    }

    to {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes idcHeroContentIntro {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.idc-treatment-section .idc-reveal-item {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 650ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-treatment-section .idc-section-label.idc-reveal-item {
    transition-duration: 600ms;
}

.idc-treatment-section .idc-treatment-card:nth-child(2) {
    transition-delay: 80ms;
}

.idc-treatment-section .idc-treatment-card:nth-child(3) {
    transition-delay: 160ms;
}

.idc-treatment-section.is-revealed .idc-reveal-item {
    opacity: 1;
    transform: translateY(0);
}

.idc-before-after-section .idc-before-after-reveal {
    opacity: 0;
    transition:
        opacity 700ms cubic-bezier(.22, .61, .36, 1),
        transform 700ms cubic-bezier(.22, .61, .36, 1);
    will-change: opacity, transform;
}

.idc-before-after-section__header .idc-before-after-reveal {
    transition-duration: 600ms;
    transform: translateY(20px);
}

.idc-before-after-section__header p.idc-before-after-reveal {
    transition-delay: 120ms;
}

.idc-before-after-placeholder.idc-before-after-reveal {
    transform: translateY(40px) scale(0.97);
}

.idc-before-after-placeholder:nth-child(2) {
    transition-delay: 120ms;
}

.idc-before-after-placeholder:nth-child(3) {
    transition-delay: 240ms;
}

.idc-before-after-section.is-revealed .idc-before-after-reveal {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.idc-editorial-section .idc-editorial-reveal {
    opacity: 0;
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-editorial-section .idc-editorial-reveal--left,
.idc-editorial-section .idc-editorial-reveal--right {
    transform: translateY(22px);
}

.idc-editorial-section.is-revealed .idc-editorial-reveal {
    opacity: 1;
    transform: translateY(0);
}

.idc-contact-page-section .idc-editorial-reveal {
    opacity: 0;
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-contact-page-section .idc-editorial-reveal--left,
.idc-contact-page-section .idc-editorial-reveal--right {
    transform: translateY(22px);
}

.idc-contact-page-section.is-revealed .idc-editorial-reveal {
    opacity: 1;
    transform: translateY(0);
}

.idc-contact-page-section.is-revealed .idc-editorial-reveal--right {
    transition-delay: 120ms;
}

.idc-booking-cta-section__media {
    opacity: 0.88;
    transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity;
}

.idc-booking-cta-panel {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 40px));
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-booking-cta-section.is-revealed .idc-booking-cta-section__media,
.idc-booking-cta-section.is-revealed .idc-booking-cta-panel {
    opacity: 1;
}

.idc-booking-cta-section.is-revealed .idc-booking-cta-panel {
    transform: translate(-50%, -50%);
}

.idc-team-section .idc-team-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-team-section .idc-team-card:nth-of-type(2) {
    transition-delay: 90ms;
}

.idc-team-section__column:nth-child(2) .idc-team-card:first-child {
    transition-delay: 120ms;
}

.idc-team-section__column:nth-child(2) .idc-team-card:nth-child(2) {
    transition-delay: 210ms;
}

.idc-team-section__column:nth-child(3) .idc-team-card:first-child {
    transition-delay: 240ms;
}

.idc-team-section__column:nth-child(3) .idc-team-card:nth-child(2) {
    transition-delay: 330ms;
}

.idc-team-section.is-revealed .idc-team-reveal {
    opacity: 1;
    transform: translateY(0);
}

.idc-care-guide-section .idc-care-guide-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 760ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.idc-care-guide-section .idc-care-guide-reveal:nth-child(2),
.idc-care-guide-section .idc-care-guide-form.idc-care-guide-reveal {
    transition-delay: 120ms;
}

.idc-care-guide-section.is-revealed .idc-care-guide-reveal {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 1024px) {
    .idc-editorial-section .idc-editorial-reveal--left {
        transform: translateX(-28px);
    }

    .idc-editorial-section .idc-editorial-reveal--right {
        transform: translateX(28px);
    }

    .idc-editorial-section.is-revealed .idc-editorial-reveal {
        transform: translateX(0);
    }

    .idc-treatment-card:hover,
    .idc-treatment-card:focus-within {
        transform: translateY(-6px);
    }

    .idc-treatment-card:hover .idc-treatment-card__image img,
    .idc-treatment-card:focus-within .idc-treatment-card__image img {
        transform: scale(1.025);
    }
}

@keyframes idcInternalHeroMediaIntro {
    from {
        transform: scale(1.04);
    }

    to {
        transform: scale(1);
    }
}

@keyframes idcInternalHeroContentIntro {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes idcInternalHeroSocialIntro {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .idc-header__contact-link,
    .idc-header__utility-link,
    .idc-header__mobile-link,
    .idc-nav__link,
    .idc-nav__link--mega::after,
    .idc-nav__mega-icon,
    .idc-mega-menu,
    .idc-mega-menu__link,
    .idc-mega-menu__link-title,
    .idc-mobile-nav__sub-link,
    .idc-mobile-nav__link,
    .idc-button,
    .idc-footer-cta-bar__item,
    .idc-footer-cta-bar__socials a,
    .idc-footer-cta-bar__icon,
    .idc-site-footer a,
    .idc-floating-cta-tabs__item,
    .idc-floating-cta-tabs__icon,
    .idc-mobile-sticky-cta__item,
    .idc-mobile-sticky-cta__icon,
    .idc-internal-hero__social-panel a,
    .idc-selector-tabs__button,
    .idc-selector-panel,
    .idc-mobile-nav__arrow,
    .idc-mobile-nav__accordion-panel,
    .idc-mobile-menu__brand,
    .idc-mobile-nav__accordion,
    .idc-mobile-nav > .idc-mobile-nav__link,
    .idc-mobile-menu__cta,
    .idc-mobile-menu .idc-mobile-form,
    .idc-mobile-menu__quote,
    .idc-mobile-menu__contact,
    .idc-menu-toggle,
    .idc-mobile-menu__close,
    .idc-contact-panel__close,
    .idc-mobile-form input,
    .idc-mobile-form select,
    .idc-mobile-form textarea,
    .idc-contact-form input,
    .idc-contact-form select,
    .idc-contact-form textarea,
    .idc-care-guide-form input,
    .idc-treatment-card,
    .idc-treatment-card__image img,
    .idc-treatment-section .idc-reveal-item,
    .idc-before-after-section .idc-before-after-reveal,
    .idc-editorial-section .idc-editorial-reveal,
    .idc-contact-page-section .idc-editorial-reveal,
    .idc-booking-cta-section__media,
    .idc-booking-cta-panel,
    .idc-team-section .idc-team-reveal,
    .idc-care-guide-section .idc-care-guide-reveal,
    .idc-team-card__info,
    .idc-team-card__info span,
    .idc-mobile-menu__backdrop,
    .idc-contact-panel__backdrop,
    .idc-mobile-menu,
    .idc-contact-panel,
    .idc-mobile-menu__panel,
    .idc-contact-panel__panel {
        transition-duration: 1ms;
    }

    .idc-hero__media,
    .idc-internal-hero__media,
    .idc-internal-hero__content,
    .idc-internal-hero__social-panel,
    .idc-hero h1,
    .idc-hero__separator,
    .idc-hero__text,
    .idc-hero__actions,
    .idc-hero-trust-bar__item {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .idc-hero__media {
        filter: none;
    }

    .idc-hero-trust-bar__item {
        transition-duration: 1ms;
    }

    .idc-treatment-section .idc-reveal-item {
        opacity: 1;
        transform: none;
    }

    .idc-before-after-section .idc-before-after-reveal {
        opacity: 1;
        transform: none;
    }

    .idc-editorial-section .idc-editorial-reveal {
        opacity: 1;
        transform: none;
    }

    .idc-contact-page-section .idc-editorial-reveal {
        opacity: 1;
        transform: none;
    }

    .idc-booking-cta-section__media {
        opacity: 1;
    }

    .idc-booking-cta-panel {
        opacity: 1;
        transform: translate(-50%, -50%);
    }

    .idc-team-section .idc-team-reveal {
        opacity: 1;
        transform: none;
    }

    .idc-care-guide-section .idc-care-guide-reveal {
        opacity: 1;
        transform: none;
    }

    .idc-floating-cta-tabs__item:hover,
    .idc-floating-cta-tabs__item:focus-visible {
        transform: none;
    }

}
