html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    font-family: 'Figtree', sans-serif;
}

/* lenis */

html.lenis,
html.lenis body {
    height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
    overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
    overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

.lenis.lenis-autoToggle {
    transition-property: overflow;
    transition-duration: 1ms;
    transition-behavior: allow-discrete;
}

/* END lenis */

/* hover press */
.u-hover-press {
    transition:
        transform 0.25s cubic-bezier(0.77, 0, 0.175, 1),
        background-color 0.25s cubic-bezier(0.77, 0, 0.175, 1),
        color 0.25s cubic-bezier(0.77, 0, 0.175, 1);
}

@media (hover: hover) and (pointer: fine) {
    .u-hover-press:hover {
        transform: translate3d(0, 0, 0) scale(0.95);
    }
}

/* Underline link */
[data-underline-link] {
    text-decoration: none;
    position: relative;
    display: inline-block;
}

[data-underline-link]::before,
[data-underline-link="alt"]::before,
[data-underline-link="alt"]::after {
    content: "";
    position: absolute;
    bottom: -0.0625em;
    left: 0;
    width: 100%;
    height: 0.0625em;
    background-color: currentColor;
    transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    pointer-events: none;
}

[data-underline-link="alt"]::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: 0.3s;
}

[data-underline-link="alt"]::after {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
}

@media (hover: hover) and (pointer: fine) {

    [data-hover]:hover [data-underline-link]::before,
    [data-underline-link]:hover::before {
        transform-origin: left;
        transform: scaleX(1) rotate(0.001deg);
    }

    [data-hover]:hover [data-underline-link="alt"]::before,
    [data-underline-link="alt"]:hover::before {
        transform-origin: right;
        transform: scaleX(0) rotate(0.001deg);
        transition-delay: 0s;
    }

    [data-hover]:hover [data-underline-link="alt"]::after,
    [data-underline-link="alt"]:hover::after {
        transform-origin: left;
        transform: scaleX(1) rotate(0.001deg);
        transition-delay: 0.3s;
    }
}

[data-sidenav-icon] {
    position: relative;
    width: 1em;
    height: 1em;
}

[data-sidenav-icon] span {
    color: #23265c;
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.125em;
    background-color: currentColor;
    border-radius: 9999px;
    transform-origin: center;
    transition: top 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

[data-sidenav-icon] span:first-child {
    top: 0.2em;
}

[data-sidenav-icon] span:last-child {
    top: 0.65em;
}

[data-sidenav-button][data-button-active] [data-sidenav-icon] span:first-child {
    top: 0.43em;
    transform: rotate(45deg);
}

[data-sidenav-button][data-button-active] [data-sidenav-icon] span:last-child {
    top: 0.43em;
    transform: rotate(-45deg);
}


/* Play/Pause  */
[data-hero-inline-video] .bunny-bg__pause-svg {
    display: none;
}

[data-hero-inline-video][data-player-status="playing"] .bunny-bg__play-svg,
[data-hero-inline-video][data-player-status="loading"] .bunny-bg__play-svg {
    display: none;
}

[data-hero-inline-video][data-player-status="playing"] .bunny-bg__pause-svg,
[data-hero-inline-video][data-player-status="loading"] .bunny-bg__pause-svg {
    display: block;
}

/* Hero video loading */
.hero-video-loading {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

[data-hero-inline-video][data-player-status="playing"] .hero-video-loading,
[data-hero-inline-video][data-player-status="paused"] .hero-video-loading {
    opacity: 0;
    visibility: hidden;
}

.hero-video-spinner {
    animation: heroVideoSpin 0.9s linear infinite;
}

@keyframes heroVideoSpin {
    to {
        transform: rotate(360deg);
    }
}