/* === Vanilla Grid & Layout (Bootstrap replacement) === */
*, *::before, *::after { box-sizing: border-box; }

.container {
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 12px;
    padding-right: 12px;
}

.grid-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -12px;
    margin-right: -12px;
}

.grid-col {
    flex: 1;
    padding-left: 12px;
    padding-right: 12px;
}

.grid-col-half {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
}

.grid-col-third {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 24px;
}

@media (min-width: 768px) {
    .grid-col-half { width: 50%; }
    .grid-col-third { width: 33.333%; }
}

/* Vanilla Navbar */
.HeaderLandingPage_navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 8px 12px;
    position: relative;
    z-index: 3;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.HeaderLandingPage_navbar.fade-out {
    opacity: 0;
    pointer-events: none;
}

.HeaderLandingPage_navbar--fixed {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-120%);
    width: calc(100% - 40px);
    max-width: 300px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 8px 16px;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    flex-wrap: nowrap;
    transition: max-width 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
                transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s,
                opacity 0.25s ease 0.15s;
}

.HeaderLandingPage_navbar--fixed .HeaderLandingPage_navbarBrand img {
    height: 36px;
}

.HeaderLandingPage_navbar--fixed.visible {
    max-width: 960px;
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    pointer-events: auto;
    transition: max-width 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s,
                transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
                opacity 0.25s ease;
}

@media (max-width: 992px) {
    #navbar-fixed {
        display: none !important;
    }
}

#navbar-static .landing-header-link {
    margin-left: auto;
}

.HeaderLandingPage_navbar--fixed .landing-header-link {
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
}

.HeaderLandingPage_navbar--fixed .nav-items {
    justify-content: flex-end;
    gap: 0;
}

.HeaderLandingPage_navbar--fixed .HeaderLandingPage_expand {
    margin-left: 8px;
}

.HeaderLandingPage_navbar--fixed .navbar-cta {
    display: inline-block;
    margin-left: 8px;
    background: #0286fb;
    border: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 4px 15px rgba(2, 134, 251, 0.25);
}

.HeaderLandingPage_navbar--fixed .navbar-cta:hover {
    background: #0270d4;
    transform: translateY(-1px);
}

.HeaderLandingPage_navbar--fixed .navbar-cta,
.HeaderLandingPage_navbar--fixed .HeaderLandingPage_expand {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.HeaderLandingPage_navbar--fixed.visible .navbar-cta,
.HeaderLandingPage_navbar--fixed.visible .HeaderLandingPage_expand {
    opacity: 1;
    transition-delay: 0.15s;
}

.HeaderLandingPage_navbar--fixed .HeaderLandingPage_hiddenMenuContainer {
    top: 48px;
    left: auto;
    right: 0;
    width: 100%;
    min-width: 180px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    white-space: nowrap;
    padding: 8px;
    box-sizing: border-box;
}

.HeaderLandingPage_navbar--fixed .HeaderLandingPage_hiddenMenuContainer .nav-item {
    width: 100%;
    margin-bottom: 4px;
}

.HeaderLandingPage_navbar--fixed .HeaderLandingPage_hiddenMenuContainer .nav-item:last-child {
    margin-bottom: 0;
}

.HeaderLandingPage_navbar--fixed .HeaderLandingPage_hiddenMenuContainer .nav-item a {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.navbar-cta {
    padding: 8px 20px;
    font-size: 0.85rem;
    border-radius: 20px;
    margin-left: 8px;
    color: #fff;
    background: rgba(109, 185, 255, 0.9);
    backdrop-filter: blur(5px);
    text-decoration: none;
    font-weight: 700;
    border: 1px solid rgba(109, 185, 255, 0.3);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
    white-space: nowrap;
}

.navbar-cta:hover {
    background: rgba(73, 139, 201, 0.95);
    transform: translateY(-1px);
}

.nav-item-collapsed {
    display: none;
}

.HeaderLandingPage_navbarBrand {
    display: inline-flex;
    align-items: center;
    -webkit-user-select: none;
    user-select: none;
    cursor: initial;
    text-decoration: none;
}

.HeaderLandingPage_navbarBrand img {
    height: 50px;
}

.HeaderLandingPage_navbarToggler {
    display: none;
    background: rgba(255, 255, 255, 0.62);
    border-radius: 20px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 12px 15px;
    cursor: pointer;
}

.nav-toggle-icon {
    display: block;
    width: 30px;
    height: 2px;
    background: #333;
    position: relative;
}
.nav-toggle-icon::before,
.nav-toggle-icon::after {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background: #333;
    position: absolute;
}
.nav-toggle-icon::before { top: -8px; }
.nav-toggle-icon::after { top: 8px; }

.nav-collapse {
    display: flex;
    align-items: center;
}

.nav-items {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-item a {
    color: #333;
    text-decoration: none;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 5px 15px;
    display: inline-block;
}

.landing-header-link {
    position: relative;
    -webkit-user-select: none;
    user-select: none;
}

.landing-header-link .HeaderLandingPage_expand {
    display: block;
    cursor: pointer;
}

.nav-chevron-icon {
    vertical-align: middle;
    margin-left: 2px;
}

.landing-header-link .HeaderLandingPage_expand a {
    color: #333;
    text-decoration: none;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 5px 15px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.HeaderLandingPage_hiddenMenuContainer {
    display: none;
    position: absolute;
    right: 0;
    top: 40px;
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
}

.HeaderLandingPage_hiddenMenuContainer[data-is-expanded=true] {
    display: block;
}

#navbar-static .HeaderLandingPage_hiddenMenuContainer .nav-item {
    margin-bottom: 4px;
}

#navbar-static .HeaderLandingPage_hiddenMenuContainer .nav-item:last-child {
    margin-bottom: 0;
}

@media (max-width: 992px) {
    .HeaderLandingPage_navbarToggler {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .nav-collapse {
        display: none;
        width: auto;
        position: absolute;
        top: 60px;
        left: 12px;
        right: 12px;
        background: rgba(255, 255, 255, 1);
        border-radius: 20px;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.3);
        padding: 15px;
        z-index: 10;
    }

    .nav-collapse.show {
        display: block;
    }

    .nav-items {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .nav-item a {
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        text-align: center;
    }

    .HeaderLandingPage_hiddenMenuContainer {
        display: block;
        position: static;
        background-color: transparent;
        border-radius: 0;
        padding: 0;
    }

    .landing-header-link {
        margin-top: 10px;
    }

    .landing-header-link .HeaderLandingPage_expand {
        display: none;
    }

    .HeaderLandingPage_navbarToggler {
        background: rgba(255, 255, 255, 1);
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 20px 15px;
    }

    .navbar-cta-desktop {
        display: none !important;
    }


}

/* Vanilla Button */
.btn {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    border: 1px solid transparent;
    font-size: 1rem;
    line-height: 1.5;
}

.btn-primary {
    background-color: #4692da;
    border-color: #73b6f5;
    color: #fff;
}

.btn-primary:hover {
    background-color: #3a7fc0;
    color: #fff;
}

.btn-primary svg,
.btn-chevron-icon {
    margin-left: 5px;
    vertical-align: middle;
}

/* === End Vanilla Grid & Layout === */

@font-face {
    font-family: Clarika;
    src: url(/assets/font/clarika/ClarikaGeoBold.woff2);
    font-weight: 700;
    font-display: swap
}
@font-face {
    font-family: Clarika;
    src: url(/assets/font/clarika/ClarikaGeoDemiBold.woff2);
    font-weight: 600;
    font-display: swap
}
@font-face {
    font-family: Clarika;
    src: url(/assets/font/clarika/ClarikaGeoMedium.woff2);
    font-weight: 500;
    font-display: swap
}
@font-face {
    font-family: Clarika;
    src: url(/assets/font/clarika/ClarikaGeoRegular.woff2);
    font-weight: 400;
    font-display: swap
}
@font-face {
    font-family: 'ocr';
    src: url('/assets/font/ocr/ocr.eot');
    src: url('/assets/font/ocr/ocr.eot?#iefix') format('embedded-opentype'),
        url('/assets/font/ocr/ocr.woff') format('woff'),
        url('/assets/font/ocr/ocr.ttf') format('truetype');
}

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

body {
    margin: 0;
    background-color: #fff;
    overflow-x: hidden;
    font-family:
        Clarika, ui-sans-serif,
        system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI",
        Roboto, "Helvetica Neue", Arial,
        "Noto Sans", sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

::-webkit-scrollbar {
    width: 16px;
}
::-webkit-scrollbar-track {
    background: #fff;
}
::-webkit-scrollbar-thumb {
    height: 56px;
    border-radius: 8px;
    border: 4px solid transparent;
    background-clip: content-box;
    background-color: #555;
}
::-webkit-scrollbar-thumb:hover {
    background-color: hsl(0, 0%, 67%);
    width: 16px;
}

/* --- HeroSwiper --- */
.HeroSwiper_hero {
    margin: 30px 0 50px;
    text-align: center;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.HeroSwiper_title {
    margin-top: -20px;
    font-size: 2.7rem;
    line-height: 1;
    margin-bottom: 10px;
    font-weight: bold;
    text-shadow:
        -1px -1px 0 #ffffff,
        1px -1px 0 #ffffff,
        -1px 1px 0 #ffffff,
        1px 1px 0 #ffffff,
        4px 4px 30px rgba(255, 255, 255, 1),
        4px 4px 30px rgba(255, 255, 255, 1),
        4px 4px 30px rgba(255, 255, 255, 1),
        4px 4px 30px rgba(255, 255, 255, 1);


}

.HeroSwiper_subtitle {
    font-size: 1.1rem;
    font-weight: 500;
    color: rgba(55, 65, 81, 1);
    text-shadow:
        -1px -1px 0 #ffffff,
        1px -1px 0 #ffffff,
        -1px 1px 0 #ffffff,
        1px 1px 0 #ffffff,
        4px 4px 30px rgba(255, 255, 255, 1),
        4px 4px 30px rgba(255, 255, 255, 1),
        4px 4px 30px rgba(255, 255, 255, 1),
        4px 4px 30px rgba(255, 255, 255, 1);
    max-width: 600px;
    margin: auto;
    height: 25px;
    overflow: hidden;
    position: relative;
}

.HeroSwiper_subtitle.ticker-exit {
    animation: ticker-slide-out 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.HeroSwiper_subtitle.ticker-enter {
    animation: ticker-slide-in 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

@keyframes ticker-slide-out {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(40%); opacity: 0; }
}

@keyframes ticker-slide-in {
    0% { transform: translateY(-40%); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

.HeroSwiper_subtitle a, .HeroSwiper_subtitle span {
    text-decoration: none;
    color: #4692da;
    border-bottom: 2px solid #e6eff5;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    100% {

        opacity: 1;
    }
}

.HeroSwiper_subtitle div div {
    margin: auto;
}

.HeroSwiper_loginButton {
    background-color: #4692da;
    border-color: #73b6f5;
}

.HeroSwiper_loginButton svg {
    margin-left: 5px;
}

.HeroSwiper_comingSoon {
    position: relative;

    border-bottom: 2px dashed #e6eff5;
    background-image: linear-gradient(to right, #7e7e7e, #585858);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
}

.HeroSwiper_comingSoon:after {
    content: 'Segera Hadir';
    display: inline-block;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 0.HeroSwiper_5rem;
    padding: 2px;
    margin-left: -80px;
    margin-top: 17px;
    border-radius: 5px;
    transform: rotate(-10deg);
    color: #000;
    text-transform: uppercase;
    white-space: nowrap;
    border: 1px solid #555;
    font-weight: bold;

    background: rgba(250, 250, 250, 0.HeroSwiper_9);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.HeroSwiper_1);
    backdrop-filter: blur(3.HeroSwiper_1px);
    -webkit-backdrop-filter: blur(3.HeroSwiper_1px);
    opacity: 0.HeroSwiper_9;

}

/* .HeroSwiper_gradientShadow {
    filter: blur(20px);
    display: block;
    width: 530px;
    height: 285px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -255px;
    margin-top: -160px;
    opacity: 0.HeroSwiper_5;
    border-radius: 30px;
    background: linear-gradient(90deg, #44FF9A -0.HeroSwiper_55%, #44B0FF 22.HeroSwiper_86%, #8B44FF 48.HeroSwiper_36%, #FF6644 73.HeroSwiper_33%, #EBFF70 99.HeroSwiper_34%);
} */

.HeroSwiper_swiper {

    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;

    background-color: transparent;
    overflow: hidden;
    position: relative;
    padding: 0 0 20px 0;
}

/** disblae because we're using the bigger one (faderLayer)*/
/* .HeroSwiper_swiper:after {
    content: '';
    display: block;
    width: 400px;
    height: 500px;
    position: absolute;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    top: 0;
    z-index: 4;
}

.HeroSwiper_swiper:before {
    content: '';
    display: block;
    width: 400px;
    height: 500px;
    position: absolute;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    top: 0;
    right: 0;
    z-index: 4;
} */

/**
 * Canvas preview
 */
.HeroSwiper_mobileKtpPreview {
    background-color: #ddd;
    border-radius: 10px;
    box-shadow:
        0 1px 1px rgb(0 0 0 / 11%),
        0 2px 2px rgb(0 0 0 / 11%),
        0 4px 4px rgb(0 0 0 / 11%);
    overflow: hidden;
    position: relative;
    border: 1px solid #eee;
    display: none;
    margin: 0 40px 30px;
    aspect-ratio: 1.586 / 1;
    cursor: pointer;
}

.HeroSwiper_mobileKtpPreview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.swiper-slide-active {
    background-color: #ddd;
    background-image: url(/assets/ktp-layout/design-ktp-indo/ktp_image_default.webp);
    background-size: 100% 100%;
}

.swiper-slide {
    background-image: url(/assets/ktp-layout/design-ktp-indo/ktp_image_default.webp);
    background-size: 100% 100%;
}

@media only screen and (max-width: 1200px) {
    .HeroSwiper_swiper:after {
        width: 200px;
        pointer-events: none;
    }

    .HeroSwiper_swiper:before {
        width: 200px;
        pointer-events: none;
    }
}

@media only screen and (max-width: 1000px) {
    .HeroSwiper_swiper:after {
        width: 100px;
        pointer-events: none;
    }

    .HeroSwiper_swiper:before {
        width: 100px;
        pointer-events: none;
    }
}

@media only screen and (max-width: 800px) {
    .HeroSwiper_swiper {
        display: none;
    }

    .HeroSwiper_mobileKtpPreview {
        display: block;
        max-width: 510px;
        margin: 40px auto;
    }
}

@media only screen and (max-width: 550px) {
    .HeroSwiper_swiper {
        display: none;
    }

    .HeroSwiper_mobileKtpPreview {
        display: block;
        margin: 40px auto;

        margin: 20px 4px 30px;
    }

    .HeroSwiper_hero {
        margin: 0 15px 0;
    }

    .HeroSwiper_title {
        margin-top: 10px;
    }
    .HeroSwiper_subtitle {
        font-size: 1rem;
        height: 53px;
        margin-top: 20px;
    }
}

/* --- AsSeenIn --- */
.AsSeenIn_section {
    padding: 16px 0;
    text-align: center;
    overflow: hidden;
    margin-top: -40px;
}

.AsSeenIn_container {
    max-width: 1200px;
    margin-bottom: 20px;
}

.AsSeenIn_logo {
    background-image: url(/assets/images/as_seen_logo.png);
    display: inline-block;
    margin-right: 10px;
    opacity: 0.4;
    transition: opacity 0.2s;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.AsSeenIn_logo:hover {
    opacity: 0.8;
}

.AsSeenIn_logos {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    transform: scale(0.55);
    transform-origin: center center;
}

.AsSeenIn_logos .AsSeenIn_smallText {
    color: #777;
    font-size: 1.2rem;
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
    height: 70px;
    line-height: 70px;
    white-space: nowrap;
    flex-shrink: 0;
}

@media only screen and (max-width: 768px) {
    .AsSeenIn_section {
        margin-top: 0;
        padding: 0;
    }
    .AsSeenIn_logos {
        flex-wrap: wrap;
    }
    .AsSeenIn_logos .AsSeenIn_smallText {
        width: 100%;
        text-align: center;
        margin-right: 0;
        height: auto;
        line-height: 1.5;
        margin-bottom: 8px;
    }
    .AsSeenIn_logos {
        transform: scale(0.55);
        height: 240px;
        margin-top: -20px;
    }
    .Feature1_features {
        margin-top: 0;
        margin-bottom: 0;
    }

    .Feature2_colLeftSide {
        margin-top: -70px;
    }

}

/* --- Pet Info Card Stack (Feature1 right side) --- */
.pet-info-card-stack {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.pet-info-card-bg {
    position: relative;
    width: 400px;
    flex-shrink: 0;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
    border: 1px solid #ddd;
    background: #eee;
    overflow: hidden;
    aspect-ratio: 1.595 / 1;
    margin-right: -184px;
    margin-top: -300px;
    z-index: 0;
    transform: rotate(-4deg) translateX(30px);
}

.pet-info-card-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pet-info-card-loading {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}

.pet-info-card-loading-bar {
    width: 70%;
    height: 8px;
    background: #eee;
    border-radius: 99px;
    overflow: hidden;
}

.pet-info-card-loading-bar::after {
    content: '';
    display: block;
    width: 0%;
    height: 100%;
    background: #0286fb;
    border-radius: 99px;
}

.pet-info-form-wrapper {
    position: relative;
}

.pet-info-example-badge {
    position: absolute;
    top: -60px;
    right: -10px;
    font-size: 0.75rem;
    color: #888;
    opacity: 0.5;
    transform: rotate(4deg);
    z-index: 2;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
}

.pet-info-form {
    position: relative;
    z-index: 1;
    background: #fff;
    border: 2px solid #eee;
    border-radius: 10px;
    padding: 20px;
    text-align: left;
    width: 100%;
    max-width: 480px;
    min-width: 400px;
    box-sizing: border-box;
    transform: rotate(4deg) translateY(-50px);
    overflow: hidden;
    -webkit-user-select: none;
    user-select: none;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.cursor-demo {
    position: absolute;
    width: 40px;
    height: 40px;
    z-index: 10;
    pointer-events: none;
}

.cursor-demo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.pet-info-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
}

.pet-info-form-label {
    font-size: 0.8rem;
    margin-bottom: 2px;
    font-weight: bold;
    color: #174170;
}

.pet-info-form-value {
    position: relative;
    width: 100%;
    background: #fafafb;
    border: 1px solid #e7e7e7;
    border-radius: 8px;
    font-size: 1rem;
    padding: 10px 12px;
    box-sizing: border-box;
    color: #333;
    min-height: 42px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-variant-ligatures: none;
    font-feature-settings: "liga" 0;
}

.Feature1_section .grid-row > .grid-col-half:nth-child(2) {
    padding-top: 120px;
}


.Feature2_cardCarousel {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 200px;
    margin: 60px auto;
    align-items: center;
    position: relative;
    transform: rotateX(0) rotateY(0) rotateZ(4deg);
}

.Feature2_cardCarousel .Feature2_card {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid rgba(182, 182, 182, 0.45);
    padding: 30px;
    box-shadow: 0 10px 5px rgba(0, 0, 0, 0.1);
    width: 500px;
    height: 300px;
    transition: all 0.2s ease;
    opacity: 0;
    position: absolute;
    transform: scale(0.9) translateY(-30px);
    font-size: 0.65rem;
    font-weight: 300;
    letter-spacing: .2px;
    line-height: 14px;
    color: #000;
    font-weight: bold;
    overflow: hidden;
    background-image: url(/assets/ktp-layout/design-ktp-indo/ktp_image_default.webp);
    background-size: 100% 100%;
}

.Feature2_cardCarousel .Feature2_card.active {
    opacity: 1;
    transform: scale(1) translateY(0);
    box-shadow: 0 10px 29px rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.Feature2_cardCarousel .Feature2_card.next {
    opacity: 1;
    z-index: 1;
    transform: scale(0.9) translateY(-30px);
}

.Feature2_cardCarousel .Feature2_card.before-next {
    opacity: 0.3;
    z-index: 0;
    transform: scale(0.8) translateY(-70px);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
    display: block;
    filter: grayscale(1);
}

.Feature2_cardCarousel .Feature2_card.prev {
    transform: scale(1.1) translateY(80px);
    z-index: 3;
    opacity: 0;
}


.Feature2_goToNextFeature {
    display: inline-block;
    margin-left: 20px;
    color: rgb(50, 50, 50);
    cursor: pointer;
}


@media (max-width: 768px) {
    .Feature1_section .grid-row > .grid-col-half:nth-child(2) {
        padding-top: 0;
    }

    .pet-info-card-stack {
        flex-direction: column;
        gap: 24px;
    }

    .pet-info-card-bg {
        margin: 0 auto;
        width: 90%;
        order: -1;
        transform: rotate(0deg);
    }

    .pet-info-form {
        transform: rotate(0deg);
    }

    .pet-info-example-badge {
        top: -20px;
        right: 10px;
        transform: none;
    }

    .Testimonial_container {
        margin-top: 40px;
    }

    .Feature2_section {
        padding-bottom: 50px;
    }

    .Feature2_cardCarousel {
        height: auto;
        min-height: 200px;
    }

    .Feature2_cardCarousel .Feature2_card {
        width: 90%;
        height: auto;
        aspect-ratio: 1.586 / 1;
    }

}

@media (max-width: 480px) {
    .pet-info-form-grid {
        grid-template-columns: 1fr;
    }

    .pet-info-form-wrapper {
        width: 100%;
    }

    .pet-info-form {
        width: 100%;
        min-width: unset;
    }
}

/* --- Feature1 --- */
.Feature1_section {
    position: relative;
    overflow: visible;
}

/*.container {
    margin-top: 10px;
    max-width: 1000px;
}*/

.Feature1_accent1 {

    display: block;
    width: 300vh;
    height: 300vh;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: -50%;
    text-align: center;
    top: 40%;
    rotate: -20deg;
    transform: rotateY(-20deg);
    -ms-transform: rotateY(-20deg);
    -webkit-transform: rotateY(-20deg);
    z-index: -1;
}

.Feature1_accent2 {
    background-color: #6db9ff;
    display: block;
    width: 400px;
    height: 40px;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: -50%;
    text-align: center;
    top: -20px;
    z-index: 1;

    transform: skew(-20deg);
    -ms-transform: skew(-20deg);
    -webkit-transform: skew(-20deg);
    opacity: 0.Feature1_5;
    animation: linear animate-accent2 10s infinite;
}

.Feature1_accent3 {
    background-color: #6db9ff;
    display: block;
    width: 400px;
    height: 40px;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: -100%;
    right: 0;
    text-align: center;
    top: 365px;
    z-index: 2;

    transform: skew(-20deg);
    -ms-transform: skew(-20deg);
    -webkit-transform: skew(-20deg);
    opacity: 0.Feature1_5;
    animation: linear animate-accent2 10s infinite;
}

.Feature1_accent4 {
    background-color: #eef1f5;
    display: block;
    width: 300vh;
    height: 300vh;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: -50%;
    text-align: center;
    top: 120%;
    rotate: -20deg;
    z-index: -1;
}

@keyframes animate-accent2 {
    0% {
        right: -50%;
    }


    50% {
        right: -45%;
    }

    100% {
        right: -50%;
    }
}


.Feature1_colLeftSide {
    margin-bottom: 30px;
    padding: 40px;
    align-self: flex-start;
    position: relative;
    top: -50px;
}

.Feature1_featureName {
    font-weight: bold;
}

.Feature1_featureHeading {
    margin-top: 20px;
    font-size: 2rem;
}

.Feature1_featureSummary {
    margin-top: 20px;
}

.Feature1_featureSummary b {
    font-weight: bold;
}

.Feature1_goToStart {
    background: rgba(109, 185, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 10px 24px;
    border-radius: 20px;
    font-size: 0.9rem;
    display: inline-block;
    color: #fff;
    font-weight: bold;
    margin-top: 40px;
    border: 1px solid rgba(109, 185, 255, 0.3);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

.Feature1_section a { text-decoration: none; }

.Feature1_goToStart:hover {
    background: rgba(73, 139, 201, 0.9);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
    cursor: pointer;
}


/* Dashboard */
.Feature1_dashboard {
    width: 100%;
    height: 350px;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;




    transform: rotateX(0) rotateY(0) rotateZ(-2deg);
}

.Feature1_window {
    position: absolute;
    width: 500px;
    height: 300px;
    padding: 50px;
    background: rgba(255, 255, 255, 1);
    border-radius: 10px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.Feature1_1);
    border: 1px solid rgba(182, 182, 182, 0.Feature1_45);
    box-shadow: inset 0 1px 1px 0 hsl(0deg 0% 100% / 10%), 0 50px 100px -20px rgb(50 50 93 / 25%), 0 30px 60px -30px rgb(0 0 0 / 30%);
    font-size: 0.Feature1_8rem;
    font-weight: 300;
    letter-spacing: .Feature1_2px;
    line-height: 14px;
    color: #425466;
    z-index: 1;
}

.Feature1_window .grid-row {
    margin-bottom: 30px;
}

.Feature1_window .Feature1_fieldName {
    max-width: 140px;
    word-wrap: nowrap;
}

.Feature1_inputName {
    margin: -12px 0 0 0;
    padding: 10px 10px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.Feature1_5);
    box-shadow: 0 2px 4px -1px rgba(6, 24, 44, .Feature1_2);
    border: 1px solid rgba(0, 0, 0, 0.Feature1_1);
}

.Feature1_multiSelect {
    margin: -12px 0 0 0;
    background: rgba(255, 255, 255, 0.Feature1_5);
    box-shadow: 0 2px 4px -1px rgba(6, 24, 44, .Feature1_2);
    border: 1px solid rgba(0, 0, 0, 0.Feature1_1);
    padding: 4px 10px;
    border-radius: 4px;
}

.Feature1_multiSelect ul {
    margin: 0;
    margin-left: -35px;
    list-style: none;
}

.Feature1_multiSelect ul li {
    background: rgba(255, 255, 255, 0.Feature1_5);
    display: inline-block;
    border: 1px solid rgba(0, 0, 0, 0.Feature1_1);
    padding: 3px 10px;
    border-radius: 10px;
    margin: 3px;
    font-size: 0.Feature1_7rem;
}

.Feature1_multiSelect ul li::after {
    content: '×';
    background-color: rgba(255, 255, 255, 0.Feature1_29);
    border: 1px solid rgba(0, 0, 0, 0.Feature1_1);
    border-radius: 50%;
    width: 15px;
    height: 15px;
    margin-left: 5px;
    text-align: center;
    display: inline-block;
}


.Feature1_ktp {
    font-family: 'Roboto', sans-serif;
    position: absolute;
    width: 500px;
    height: 300px;
    padding: 15px 25px;
    margin-left: 60px;
    margin-top: 140px;
    background: #def4ff;
    border-radius: 10px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.Feature1_1);
    border: 1px solid rgba(182, 182, 182, 0.Feature1_45);
    box-shadow: inset 0 1px 1px 0 hsl(0deg 0% 100% / 10%), 0 50px 100px -20px rgb(50 50 93 / 25%), 0 30px 60px -30px rgb(0 0 0 / 30%);
    font-size: 0.Feature1_65rem;
    font-weight: 300;
    letter-spacing: .Feature1_2px;
    line-height: 14px;
    color: #000;
    z-index: 1;
    font-weight: bold;
    text-transform: uppercase;
}

.Feature1_ktp .Feature1_topText {
    text-align: center;
}

.Feature1_ktp .Feature1_nik {
    font-family: 'ocr';
    font-size: 1rem;
    padding: 10px 0;
    margin-top: 5px;
}

.Feature1_ktp .Feature1_leftSide {
    margin-top: 5px;
    display: inline-block;
}

.Feature1_ktp .Feature1_rightSide {
    margin-top: 5px;
    display: inline-block;
    margin-left: 20px;
}

.Feature1_passPhoto {
    width: 100px;
    height: 120px;
    background-color: #0092fe;
    position: absolute;
    right: 20px;
    top: 70px;
    display: block;
    overflow: hidden;
    padding: 20px 0;
    border-radius: 5px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.Feature1_6);
    animation: bg-ktp 5s infinite ease-in-out;
}

.Feature1_passPhoto img {
    width: 100%;
}

@keyframes bg-ktp {
    0% {
        background-color: #c01212;
    }


    50% {
        background-color: #0092fe;
    }

    100% {
        background-color: #c01212;
    }
}

.Feature1_textUnderPassPhoto {
    text-align: center;
    width: 100px;
    height: 120px;
    position: absolute;
    right: 20px;
    top: 200px;
    z-index: 1;
}

.Feature1_paw {
    width: 80px;
    height: 80px;
    position: absolute;
    right: 30px;
    top: 210px;
    display: block;
    background-size: 100% 100%;
    overflow: hidden;
    opacity: 0.Feature1_9;
}


@media only screen and (max-width: 770px) {
    .Feature1_dashboard {
        margin-left: 30px;
    }

    /*
    .Feature1_accent1 {
        right: -200%;
    } */
}

@media only screen and (max-width: 767px) {
    .Feature1_window {
        background: rgba(255, 255, 255, 1);
        backdrop-filter: initial !important;
        -webkit-backdrop-filter: initial !important;
    }

    .Feature1_ktp {
        background: #d9f2ff;
        backdrop-filter: initial !important;
        -webkit-backdrop-filter: initial !important;
        transform: scale(0.65);
        transform-origin: top left;
        margin-left: 10px;
    }
}

.Feature1_goToNextFeature {
    display: inline-block;
    margin-left: 20px;
    color: rgb(50, 50, 50);
    cursor: pointer;
}


.Feature1_features {
    text-align: center;
    color: #444;
    margin-top: 20px;
    font-size: 0.Feature1_9rem;
    margin-bottom: 50px;
}

.Feature1_features:hover {
    cursor: pointer;
    color: #4692da;
}

.Feature1_arrows {
    width: 60px;
    height: 72px;
    display: block;
    margin: auto;
    margin-top: 20px;
}

.Feature1_arrows path {
    stroke: #4692da;
    fill: transparent;
    stroke-width: 1px;
    animation: arrow 2s infinite;
    -webkit-animation: arrow 2s infinite;
}

@keyframes arrow {
    0% {
        opacity: 0
    }

    40% {
        opacity: 1
    }

    80% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

@-webkit-keyframes arrow

/*Safari and Chrome*/
    {
    0% {
        opacity: 0
    }

    40% {
        opacity: 1
    }

    80% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

.Feature1_arrows path.Feature1_a1 {
    animation-delay: -1s;
    -webkit-animation-delay: -1s;
    /* Safari 和 Chrome */
}

.Feature1_arrows path.Feature1_a2 {
    animation-delay: -0.Feature1_5s;
    -webkit-animation-delay: -0.Feature1_5s;
    /* Safari 和 Chrome */
}

.Feature1_arrows path.Feature1_a3 {
    animation-delay: 0s;
    -webkit-animation-delay: 0s;
    /* Safari 和 Chrome */
}

/* --- Feature2 --- */
.Feature2_section {

    position: relative;
    overflow: hidden;
}

.Feature2_container {
    margin-top: 0px;
    margin-bottom: 120px;
    max-width: 1000px;
    border-radius: 20px;
    background-image: linear-gradient(162deg,
            rgba(255, 255, 255, 0),
            #fff,
            #fff);
    border-radius: 20px;
    box-shadow: inset 0 1px 1px 0 hsl(0deg 0% 100% / 10%), 0 50px 100px -20px rgb(50 50 93 / 25%), 0 30px 60px -30px rgb(0 0 0 / 30%);
}

.Feature2_colLeftSide {
    margin-bottom: 10px;
    padding: 40px;
}


.Feature2_featureName {
    font-weight: bold;
}

.Feature2_featureHeading {
    margin-top: 20px;
    font-size: 2rem;
}

.Feature2_featureSummary {
    margin-top: 20px;
}

.Feature2_goToStart {
    background: rgba(109, 185, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 10px 24px;
    border-radius: 20px;
    font-size: 0.9rem;
    display: inline-block;
    color: #fff;
    font-weight: bold;
    margin-top: 40px;
    border: 1px solid rgba(109, 185, 255, 0.3);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

.Feature2_goToStart:hover {
    background: rgba(73, 139, 201, 0.9);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
    cursor: pointer;
}


/* Dashboard */
.Feature2_dashboard {
    width: 100%;
    height: 350px;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.Feature2_window {
    margin-top: 320px;
    margin-left: 60px;
    position: absolute;
    width: 500px;
    height: 50px;
    padding: 50px 50px 60px;
    background: rgba(255, 255, 255, 0.Feature2_8);
    border-radius: 10px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.Feature2_1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(182, 182, 182, 0.Feature2_45);
    box-shadow: inset 0 1px 1px 0 hsl(0deg 0% 100% / 10%), 0 50px 100px -20px rgb(50 50 93 / 25%), 0 30px 60px -30px rgb(0 0 0 / 30%);
    font-size: 0.Feature2_8rem;
    font-weight: 300;
    letter-spacing: .Feature2_2px;
    line-height: 14px;
    color: #425466;
    z-index: 1;
}

.Feature2_window .grid-row {
    margin-bottom: 30px;
}

.Feature2_window .Feature2_fieldName {
    max-width: 140px;
    word-wrap: nowrap;
}


.Feature2_multiSelect {
    margin: -40px 0 0 0;

    display: inline-block;

}

.Feature2_multiSelect ul {
    margin: 0;
    margin-left: -70px;
    list-style: none;
    display: inline-block;
}

.Feature2_multiSelect ul li {
    background: rgba(255, 255, 255, 0.Feature2_5);
    display: inline-block;
    box-shadow: 0 2px 4px -1px rgba(6, 24, 44, .Feature2_2);
    border: 3px solid #ddd;
    padding: 3px 10px;
    border-radius: 10px;
    margin: 3px;
    width: 80px;
    height: 80px;
    font-size: 0.Feature2_7rem;
    position: relative;
    overflow: hidden;
    background-size: 100% 100%;
    text-align: center;
    cursor: pointer;
}

.Feature2_multiSelect ul li.Feature2_active {
    cursor: initial;
    border: 3px solid #6db9ff;
}

.Feature2_moreThemes {
    display: inline-block;
    width: 170px;
    margin-top: -13px;
    margin-left: 20px;
    font-size: 1rem;
    position: absolute;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.Feature2_1);
}

.Feature2_ktp {
    margin-top: 40px;
    position: absolute;
    width: 500px;
    height: 300px;
    border-radius: 10px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.Feature2_1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(182, 182, 182, 0.Feature2_45);
    box-shadow: inset 0 1px 1px 0 hsl(0deg 0% 100% / 10%), 0 50px 100px -20px rgb(50 50 93 / 25%), 0 30px 60px -30px rgb(0 0 0 / 30%);
    font-size: 0.Feature2_65rem;
    font-weight: 300;
    letter-spacing: .Feature2_2px;
    line-height: 14px;
    color: #000;
    z-index: 1;
    font-weight: bold;
    text-transform: uppercase;
    overflow: hidden;

    background-image: url(/assets/ktp-layout/design-ktp-indo/ktp_image_default.webp);
    background-size: 100% 100%;
}

.Feature2_ktp div {
    width: 100%;
    display: none;
    height: 300px;
}

.Feature2_ktp div.Feature2_active {
    display: block;
}



@media only screen and (max-width: 770px) {
    .Feature2_dashboard {
        margin-left: 30px;
    }

    /*
    .Feature2_accent1 {
        right: -200%;
    } */
}

@media only screen and (max-width: 767px) {
    .Feature2_window {
        background: rgba(255, 255, 255, 1);
        backdrop-filter: initial !important;
        -webkit-backdrop-filter: initial !important;
        box-shadow: 0 1px 1px 0 hsl(0deg 0% 100% / 10%);
    }

    .Feature2_ktp {
        background: #d9f2ff;
        backdrop-filter: initial !important;
        -webkit-backdrop-filter: initial !important;
    }
}


.Feature4_heading {
    font-size: 2.Feature4_7rem;
    line-height: 2.Feature4_5rem;
    font-weight: 700;
    text-align: center;
}

.Feature4_heading .Feature4_number1 {
    display: inline;
    border-bottom: 2px dashed #e6eff5;
    background-image: linear-gradient(45deg, #40bb28, #2f9bd4);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
}



.Feature4_featureBox {
    background-color: #fff;
    border-radius: 15px;
    padding: 30px 20px;
    height: 100%;
    text-align: center;
    transition: all 0.Feature4_3s ease;
    border: 2px solid #e6eff5;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.Feature4_05);
}

.Feature4_featureBox:hover {
    /* transform: translateY(-5px); */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.Feature4_15);
    border-color: #6db9ff;
}

.Feature4_featureEmoji {
    font-size: 3rem;
    margin-bottom: 15px;
}

.Feature4_featureTitle {
    font-size: 1.Feature4_3rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}

.Feature4_featureDescription {
    font-size: 0.Feature4_9rem;
    color: #666;
    line-height: 1.Feature4_5;
}


@media (max-width: 640px) {
    .Feature4_heading {
        font-size: 2.Feature4_2rem;
        line-height: 2rem;
    }
}

@media (max-width: 526px) {
    .Feature4_heading {
        font-size: 2rem;
        line-height: 1.Feature4_6rem;
    }
}


/* --- Testimonial --- */
.Testimonial_section {

    position: relative;
    overflow: hidden;
}

/*.container {
    margin-top: 0px;
    max-width: 1000px;
}*/
.Testimonial_container {
    max-width: 1000px;
    margin: relative;
}
.Testimonial_testimonials {
    margin-top: 40px;
    columns: 18rem;
    counter-reset: grid;
    grid-template-rows: masonry;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    gap: 1rem;
    margin-bottom: 100px;
}

.Testimonial_tweetBox {
    width: 100%;
    break-inside: avoid;
    display: block;
    margin-right: 10px;
    margin-bottom: 15px;
    text-decoration: none;
    background-color: #fff;
    padding: 12px;
    border-radius: 10px;
    border: 2px solid transparent;
    box-shadow:
        0px 1px 2.2px rgba(0, 0, 0, 0.022),
        0px 2.3px 5.3px rgba(0, 0, 0, 0.032),
        0px 4.4px 10px rgba(0, 0, 0, 0.04),
        0px 7.8px 17.9px rgba(0, 0, 0, 0.048),
        0px 14.6px 33.4px rgba(0, 0, 0, 0.058),
        0px 35px 80px rgba(0, 0, 0, 0.08);
}

.Testimonial_tweetBox:hover {
    background-color: #fff;
    border: 2px solid #2aa9e0;
}

.Testimonial_tweetBox .Testimonial_accountInfo {
    min-width: 200px;
    display: block;
}

.Testimonial_tweetBox .Testimonial_accountInfo .Testimonial_avatar {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
    margin-right: 10px;
    border: 1px solid #eee;
    float: left;
}

.Testimonial_tweetBox .Testimonial_accountInfo .Testimonial_avatar img {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #eee;
}

.Testimonial_tweetBox .Testimonial_accountInfo .Testimonial_accountText {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.Testimonial_tweetBox .Testimonial_accountInfo .Testimonial_name {
    font-size: 0.9rem;
    line-height: 1.1rem;
    font-weight: bold;
    margin: 6px 0 0 0;
    color: #555;
    padding-top: 4px;
}

.Testimonial_tweetBox .Testimonial_accountInfo .Testimonial_handle {
    font-size: 0.8rem;
    line-height: 1rem;
    color: #58646e;
    margin: 0;
}

.Testimonial_tweetBox .Testimonial_twitterLogo img {
    display: block;
    width: 20px;
    height: auto;
    position: relative;
    float: right;
    top: 5px;
    opacity: 0.Testimonial_4;
    filter: grayscale(1);
}

.Testimonial_tweetBox:hover .Testimonial_twitterLogo img {
    opacity: 1;
    filter: grayscale(0);
}

.Testimonial_tweetBox .Testimonial_tweetContent {
    font-size: 1rem;
    line-height: 1.1rem;
    margin-top: 10px;
    color: #444;
    overflow-wrap: break-word;
    padding: 5px 16px 5px;
}

.Testimonial_tweetBox .Testimonial_tweetContent span {
    color: #2aa9e0;
}

.Testimonial_tweetBox .Testimonial_tweetMedia {
    display: block;
    border-radius: 7px;
    background-color: #fff;
    padding: 0;
    margin: 15px;
    width: calc(100% - 15px - 15px);
    margin-top: 0;
    margin-bottom: 2px;
    overflow: hidden;
}

.Testimonial_tweetBox .Testimonial_tweetMedia img,
.Testimonial_tweetBox .Testimonial_tweetMedia video {
    border-radius: 10px;
    width: 100%;
    margin-top: 10px;
    margin-bottom: -4px;
    background-color: #eee;
}

.Testimonial_videoContainer {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.Testimonial_videoContainer video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Responsive video container improvements */
@media (max-width: 920px) {
    .Testimonial_videoContainer {
        max-height: 400px;
    }
}

@media (max-width: 640px) {
    .Testimonial_videoContainer {
        max-height: 300px;
    }
}

@media (max-width: 526px) {
    .Testimonial_videoContainer {
        max-height: 250px;
    }
}

.Testimonial_tweetMedia .Testimonial_multiImages[data-count='2'] {
    height: 220px;
    display: flex;
}

.Testimonial_tweetMedia .Testimonial_multiImages[data-count='2'] div {

    display: block;
    flex-grow: 1;
    background-position: center !important;
    background-size: cover !important;
    border: 1px solid #eee;
}

.Testimonial_tweetMedia .Testimonial_multiImages[data-count='2'] div:nth-child(1) {
    flex-grow: 1;
    background-position: center !important;
    background-size: cover !important;
    border-radius: 8px 0 0 8px;
    margin-right: 3px;
}


.Testimonial_heading {
    font-size: 2.7rem;
    line-height: 2.5rem;
    font-weight: 700;
    text-align: center;
}

.Testimonial_heading .Testimonial_number1 {
    display: inline;
    border-bottom: 2px dashed #e6eff5;
    background-image: linear-gradient(45deg, #40bb28, #2f9bd4);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
}

.Testimonial_heading .Testimonial_number2 {
    display: inline;
    border-bottom: 2px dashed #e6eff5;
    background-image: linear-gradient(45deg, #ed654a, #a96bb4);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
}

.Testimonial_headingSubtitle {
    margin-top: 30px;
    text-align: center;
}

@media (max-width: 920px) {
    .Testimonial_testimonials .Testimonial_tweetBox {
        width: 102%;
    }

    .Testimonial_testimonials {
        width: calc(100% - 10px);
    }

    .container {
        margin-bottom: 50px;
    }
}

@media (max-width: 640px) {
    .Testimonial_heading {
        font-size: 2.2rem;
        line-height: 2rem;
    }

    .container {
        margin-bottom: 30px;
    }
}

@media (max-width: 526px) {
    .Testimonial_heading {
        font-size: 2rem;
        line-height: 1.Testimonial_6rem;
    }

    .container {
        margin-bottom: 20px;
    }
}

/* selected-animal (global class from HeroSwiper) */
.selected-animal {
    border-bottom: 3px solid transparent;
}
.selected-animal.active {
    -webkit-background-clip: text;
    background-clip: text;
    background-image: linear-gradient(90deg, #ed654a, #a96bb4);
    border-bottom: 2px dashed #e6eff5;
    color: transparent;
    text-shadow: none;
}

/* LoginButton */
.LoginButton_loginBtn {
    margin-top: 15px;
}
.LoginButton_loginBtn .btn-primary {
    background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
    background-size: 300% 300%;
    color: #fff;
    border: none;
    border-radius: 24px;
    padding: 12px 32px;
    font-weight: 600;
    font-size: 1rem;
    animation: animatedgradient 3s ease infinite alternate;
    box-shadow:
        6px 6px 14px rgba(0, 0, 0, 0.15),
        -3px -3px 10px rgba(255, 255, 255, 0.7),
        inset 1px 1px 2px rgba(255, 255, 255, 0.25),
        inset -1px -1px 2px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}
.LoginButton_loginBtn .btn-primary:hover {
    color: #fff;
    box-shadow:
        4px 4px 10px rgba(0, 0, 0, 0.12),
        -2px -2px 8px rgba(255, 255, 255, 0.6),
        inset 1px 1px 2px rgba(255, 255, 255, 0.25),
        inset -1px -1px 2px rgba(0, 0, 0, 0.1);
    transform: translateY(1px);
}
.LoginButton_loginBtn .btn-primary svg {
    margin-left: 5px;
    font-size: 0.7rem;
}

@keyframes animatedgradient {
    0% { background-position: 0 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

/* Missing Global Swiper Styles */
.swiper-canvas {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: -20px;
    margin-bottom: 30px;
}

.swiper {
    width: 500px;
    height: 314px;
}

.swiper img {
    width: 100.1%;
}

.swiper-slide {
    width: 500px;
    height: 314px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    background-color: #fdfdfd;
    animation-name: faded-shadow-on-load;
    animation-duration: 4s;
    overflow: hidden !important;
    box-shadow:
        0 1px 1px rgb(0 0 0 / 5%),
        0 2px 2px rgb(0 0 0 / 5%),
        0 4px 4px rgb(0 0 0 / 5%),
        0 8px 8px rgb(0 0 0 / 5%),
        0 16px 16px rgb(0 0 0 / 5%),
        0 32px 32px rgb(0 0 0 / 5%) !important;
}

@keyframes faded-shadow-on-load {
    0% { box-shadow: 0 1px 1px rgb(0 0 0 / 11%), 0 2px 2px rgb(0 0 0 / 11%), 0 4px 4px rgb(0 0 0 / 11%), 0 8px 8px rgb(0 0 0 / 11%), 0 16px 16px rgb(0 0 0 / 11%), 0 32px 32px rgb(0 0 0 / 11%); filter: blur(5px); }
    50% { box-shadow: 0 1px 1px rgb(0 0 0 / 5%), 0 2px 2px rgb(0 0 0 / 5%), 0 4px 4px rgb(0 0 0 / 5%), 0 8px 8px rgb(0 0 0 / 5%), 0 16px 16px rgb(0 0 0 / 5%), 0 32px 32px rgb(0 0 0 / 5%); filter: blur(2px); }
    100% { box-shadow: 0 1px 1px rgb(0 0 0 / 0%), 0 2px 2px rgb(0 0 0 / 0%), 0 4px 4px rgb(0 0 0 / 0%), 0 8px 8px rgb(0 0 0 / 0%), 0 16px 16px rgb(0 0 0 / 0%), 0 32px 32px rgb(0 0 0 / 0%); filter: blur(0); }
}

.swiper-slide.swiper-slide-active {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.11), 0 2px 2px rgba(0, 0, 0, 0.11), 0 4px 4px rgba(0, 0, 0, 0.11), 0 8px 8px rgba(0, 0, 0, 0.11), 0 16px 16px rgba(0, 0, 0, 0.11), 0 32px 32px rgba(0, 0, 0, 0.11);
    transition: 0.3s ease-in-out;
}


.AnimatedBackground_introBackgroundContainer {
    display: flex;
    justify-content: center;
    align-items: center;
}

.AnimatedBackground_introBackground {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    height: 100vh;
    max-height: 1000px;
    width: 100vw;
    position: absolute;
    overflow: hidden;
}

.AnimatedBackground_faderLayerLeft, .AnimatedBackground_faderLayerRight {
    height: 100vh;
    width: 30%;
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    opacity: 0.4;
}
.AnimatedBackground_faderLayerLeft {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
}
.AnimatedBackground_faderLayerRight {
    right: 0;
    background-image: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
}

.AnimatedBackground_faderLayerBottom {
    height: 40vh;
    width: 100%;
    display: block;
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
}

.AnimatedBackground_allRowsContainer {
    margin-top: -70vh;
    margin-right: -50vh;
    width: 500vw;
    height: 500vw;
    position: relative;
    transform: rotate(45deg) translate(-8px, -12px) skew(-17deg, -9deg);
}

.AnimatedBackground_imageRow {
    display: flex;
    flex-wrap: nowrap;
    padding: 20px 20px 0 20px;
    animation: AnimatedBackground_row-moving-right 20s infinite;
}

.AnimatedBackground_imageRow:nth-child(odd) {
    margin-left: -200px;
    animation: AnimatedBackground_row-moving-left 20s infinite;
}

.AnimatedBackground_imageItem {
    box-shadow: 0.6px 0.8px 1.1px rgba(0, 0, 0, 0.115), 2px 3px 4px rgba(0, 0, 0, 0.23);
    width: 300px;
    display: inline-block;
    height: auto;
    margin-right: 20px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #ddd;
}

.AnimatedBackground_imageItem img {
    width: 100%;
}

@keyframes AnimatedBackground_row-moving-right {
    0% { transform: translate(200px, 0); }
    50% { transform: translate(0); }
    100% { transform: translate(200px, 0); }
}

@keyframes AnimatedBackground_row-moving-left {
    0% { transform: translate(0); }
    50% { transform: translate(200px, 0); }
    100% { transform: translate(0); }
}

/* --- Animated Background (from card-theme) --- */
.anim-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    z-index: 0;
}

.anim-bg-fader-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    height: 100%;
    z-index: 1;
    opacity: 0.5;
    background-image: linear-gradient(to right,
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 0.9),
            rgba(255, 255, 255, 0.6),
            rgba(255, 255, 255, 0.2),
            rgba(255, 255, 255, 0));
}

.anim-bg-fader-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 30%;
    height: 100%;
    z-index: 1;
    opacity: 0.5;
    background-image: linear-gradient(to left,
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 0.9),
            rgba(255, 255, 255, 0.6),
            rgba(255, 255, 255, 0.2),
            rgba(255, 255, 255, 0));
}

.anim-bg-fader-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90%;
    z-index: 1;
    background-image: linear-gradient(to top,
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 1),
            rgba(255, 255, 255, 0.95),
            rgba(255, 255, 255, 0.9),
            rgba(255, 255, 255, 0.85),
            rgba(255, 255, 255, 0.7),
            rgba(255, 255, 255, 0));
}

.anim-bg-rows {
    position: absolute;
    top: -60%;
    left: -50%;
    width: 200%;
    height: 200%;
    transform: rotate(45deg) translate(-8px, -12px) skew(-17deg, -9deg);
}

.anim-bg-row {
    display: flex;
    flex-wrap: nowrap;
    padding: 16px 16px 0 16px;
    animation: anim-row-right 20s infinite;
}

.anim-bg-row:nth-child(odd) {
    margin-left: -160px;
    animation: anim-row-left 20s infinite;
}

.anim-bg-item {
    width: 260px;
    flex-shrink: 0;
    margin-right: 16px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0.6px 0.8px 1.1px rgba(0, 0, 0, 0.115), 2px 3px 4px rgba(0, 0, 0, 0.23);
    background: #ddd;
}

.anim-bg-item img {
    width: 100%;
    display: block;
}

@keyframes anim-row-right {
    0% { transform: translate(200px, 0); }
    50% { transform: translate(0); }
    100% { transform: translate(200px, 0); }
}

@keyframes anim-row-left {
    0% { transform: translate(0); }
    50% { transform: translate(200px, 0); }
    100% { transform: translate(0); }
}

@media (max-width: 768px) {
    .anim-bg-rows {
        transform: rotate(45deg) translate(-8px, -12px) skew(-17deg, -9deg) scale(0.6);
        left: -70%;
    }
    .anim-bg-row {
        animation: none;
    }
    .anim-bg-row:nth-child(odd) {
        animation: none;
    }
}

/* Remind Me Later */
.openRemindMeModalLink {
    font-size: 0.9rem;
    cursor: pointer;
    color: #4692da;
    border-bottom: 1px solid #e6eff5;
    display: inline-block;
    margin-top: 10px;
}

.openRemindMeModalLink:hover {
    border-bottom: 1px solid #4692da;
}

/* Remind Me Modal */
.remindMeModal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1050;
    align-items: center;
    justify-content: center;
}

.remindMeModal.show {
    display: flex;
}

.remindMeModalOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.remindMeModalContent {
    position: relative;
    z-index: 2;
    background: #fff;
    border-radius: 20px;
    width: 100%;
    max-width: 500px;
    margin: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.remindMeModalHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
}

.remindMeModalHeader h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
}

.remindMeModalClose {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #999;
    line-height: 1;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.remindMeModalClose:hover {
    background: #f5f5f5;
    color: #333;
}

.remindMeModalBody {
    padding: 20px;
    text-align: center;
}

.remindMeEmailInput input {
    width: 100%;
    max-width: 300px;
    padding: 10px 14px;
    border: 1px solid #d6d6d6;
    border-radius: 8px;
    font-size: 1rem;
    margin: 10px auto;
    display: block;
    box-sizing: border-box;
}

.remindMeEmailInput input:focus {
    outline: 0;
    box-shadow: 0 0 0 3px rgb(131 192 253 / 50%);
    border-color: #86b7fe;
}

.remindMeLaterButton {
    margin-bottom: 10px;
}

.remindMeSmallText {
    font-size: 0.8rem;
    color: #aaa;
    margin-top: 8px;
}

.remindMeAlert {
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 14px;
    font-size: 0.95rem;
}

.remindMeAlertSuccess {
    background: #d1e7dd;
    color: #0f5132;
    border: 1px solid #badbcc;
}

.remindMeAlertDanger {
    background: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
}

@media only screen and (max-width: 992px) {
    .remindMeModalContent {
        border-radius: 10px 10px 0 0;
        margin: 0;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        max-width: 100%;
    }
}
