/* Hero Section - Mobile */
.hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: clip;
    margin-top: -0.5rem; /* Negative margin-top on mobile */
}

/* Prevent horizontal scroll on mobile */
body {
    overflow-x: hidden;
}

html {
    overflow-x: hidden;
}

.hero__top_mask {
    display: none;
}

.hero__left_mask {
    display: none;
}

.hero__left_purple {
    display: block;
    position: absolute;
    top: 816px;
    left: -231px;
    width: 352px;
    height: 722px;
    flex-shrink: 0;
    border-radius: 722px;
    background: #8B7CF3;
    filter: blur(250px);
    z-index: 3;
}

.hero__bottom_mask {
    display: block;
    position: absolute;
    bottom: -240px;
    left: -175px;
    width: 38rem;
    height: 45.125rem;
    flex-shrink: 0;
    border-radius: 45.125rem;
    background: #000;
    filter: blur(150px);
    z-index: 2;
}

.hero__right_green {
    display: none;
}

/* Background Video Wrapper */
.hero__video-wrapper {
    position: absolute;
    top: 5rem; /* 80px on mobile */
    right: -16rem; /* -256px on mobile */
    width: 82.765625rem; /* 1324.25px */
    height: 55.17706rem; /* 882.833px */
    overflow: hidden;
    z-index: 0;
}

.hero__video {
    width: 82.765625rem; /* 1324.25px */
    height: 55.17706rem; /* 882.833px */
    flex-shrink: 0;
    aspect-ratio: 1324.25/882.83;
    display: block;
}

/* Bottom Background Image */
.hero__bottom-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    max-width: 100%;
    z-index: 1; /* Above video (0) but below content (10+) */
    pointer-events: none;
}

/* Hero Container */
.hero__container {
    position: relative;
    width: 98%;
    max-width: 98%;
    margin: 0 auto;
    z-index: 10; /* Above bottom-bg (1) and video (0) */
}

/* Popup Notification */
.hero__popup {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.75rem; /* 12px */
    gap: 1rem; /* 16px */
    width: 100%;
    max-width: 98%;
    margin-left: auto;
    margin-right: auto;
    background: rgba(48, 48, 48, 0.3);
    border: none;
    backdrop-filter: blur(1.563rem); /* 25px */
    border-radius: 0.5rem; /* 8px */
    margin-bottom: 3rem; /* 48px */
}

.hero__popup-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem; /* 4px */
    align-items: center;
    text-align: center;
    width: 100%;
}

.hero__popup-top {
    display: flex;
    align-items: center;
    gap: 0.5rem; /* 8px */
}

.hero__popup-icon {
    width: 1rem; /* 16px */
    height: 1rem; /* 16px */
    flex-shrink: 0;
}

.hero__popup-title {
    font-family: 'IBM Plex Sans JP', 'Inter', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1rem; /* 16px */
    line-height: 100%;
    color: #FFFFFF;
    flex: none;
    order: 1;
    flex-grow: 0;
    white-space: nowrap;
}

.hero__popup-desc {
    font-family: 'IBM Plex Sans JP', 'Inter', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 0.875rem; /* 14px */
    line-height: 140%;
    color: #FFFFFF;
    opacity: 0.6;
    flex: none;
    order: 1;
    flex-grow: 0;
}

/* Popup Button */
.hero__popup-button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1.5rem; /* 8px 24px */
    gap: 0.5rem; /* 8px */
    isolation: isolate;
    width: 9rem; /* 144px */
    height: 2.625rem; /* 42px */
    background: rgba(227, 227, 227, 0.5);
    border-radius: 0.5rem; /* 8px */
    border: none;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    flex: none;
    flex-shrink: 0;
    flex-grow: 0;
}

/* Gradient layers for popup button */
.hero__popup-button::before {
    content: '';
    position: absolute;
    width: 20.736rem; /* 331.78px */
    height: 13.125rem; /* 210px */
    left: -3.818rem; /* -61.09px */
    top: -6.808rem; /* -108.93px */
    background: radial-gradient(ellipse at center, #F2F1F5 0%, transparent 70%);
    filter: blur(0.989rem); /* blur(15.8184px) */
    transform: rotate(11.08deg);
    z-index: 0;
    opacity: 0.6;
}

.hero__popup-button::after {
    content: '';
    position: absolute;
    width: 16.054rem; /* 256.87px */
    height: 9.629rem; /* 154.07px */
    left: -1.003rem; /* -16.04px */
    top: -4.163rem; /* -66.6px */
    background: radial-gradient(ellipse at center, #8A38F5 0%, transparent 60%);
    filter: blur(0.329rem); /* blur(5.26218px) */
    transform: rotate(11.08deg);
    z-index: 0;
    opacity: 0.5;
}

.hero__popup-button:hover {
    background: rgba(227, 227, 227, 0.6);
}

.hero__popup-button-text {
    font-style: normal;
    font-weight: 600;
    font-size: 1rem; /* 16px */
    line-height: 100%;
    text-align: center;
    color: #1E1E1E;
    flex: none;
    order: 1;
    flex-grow: 0;
    z-index: 1;
    position: relative;
}

/* Hero Content */
.hero__content {
    position: relative;
    width: 100%;
    padding-left: 0.5rem; /* 8px padding on mobile */
    padding-right: 0.5rem; /* 8px padding on mobile */
}

.hero__title-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 1rem; /* 16px */
}

/* Title Background Image */
.hero__title-bg {
    position: absolute;
    width: 59.934rem; /* 958.94px */
    height: 41.951rem; /* 671.22px */
    top: -16.29rem; /* -260.64px */
    left: -2.809rem; /* -44.95px */
    z-index: 0;
    pointer-events: none;
    opacity: 0;
}

.hero__title {
    position: relative;
    font-family: 'IBM Plex Sans JP', 'Inter', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 2.75rem; /* 48px Mobile */
    line-height: 120%;
    letter-spacing: -0.03em;
    color: #FFFFFF;
    z-index: 1;
    max-width: 100%;
    margin-left: 1rem; /* 16px */
    background-image: url('../img/hero/title-bg.jpg');
    background-size: 59.934rem 41.951rem; /* 958.94px 671.22px */
    background-position: -2.809rem -16.29rem; /* -44.95px -260.64px */
    background-repeat: no-repeat;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero__desc {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem; /* 16px Mobile */
    line-height: 140%;
    display: flex;
    align-items: center;
    color: #FFFFFF;
    max-width: 95%;
    margin-left: 1rem; /* 16px */
    flex: none;
    order: 1;
    flex-grow: 0;
}

/* Epos x SyFu Content Area */
.hero__epos {
    margin-top: 7.813rem; /* 125px from hero desc (50px + 50px + 25px more) */
    width: 100%;
}

/* Logo Header */
.hero__epos-header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    margin: 20rem 2.5rem 0.625rem;
}

.hero__epos-logo {
    height: 9.767vw;
    width: auto;
}

/* Cross Sign */
.hero__epos-cross {
    position: relative;
    width: 9.767vw; /* 48px */
    height: 9.767vw; /* 48px */
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero__epos-cross::before,
.hero__epos-cross::after {
    content: '';
    position: absolute;
    width: 3rem; /* 48px */
    height: 0.076rem; /* 1.21px */
    background-color: #FFFFFF;
}

.hero__epos-cross::before {
    transform: rotate(45deg);
}

.hero__epos-cross::after {
    transform: rotate(-45deg);
}

/* Subheader with gradient text */
.hero__epos-subheader {
    color: rgba(255, 255, 255, 0.6);
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 1rem; /* 20px */
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 2rem; /* 95px */
}

.hero__epos-catch {
    margin: 0 auto 3rem;
    width: 51.688rem;
}

.hero__epos-catch-wrapper {
    width: fit-content;
    margin: 0 auto 6rem;
    height: 5.313rem;
    border-radius: 16px;
    padding: 16px;
    background: #0c1316;
}

.hero__epos-catch-pill {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 0 1.25rem;
    border-radius: 16px;
    background: transparent;
    border: #FFF solid 4px;
}

/*.hero__epos-catch-pill::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    border-radius: inherit;*/
/*    background-image: url('../img/hero/title-bg.jpg');*/
/*    background-size: 59.934rem 41.951rem;*/
/*    background-position: center;*/
/*    background-repeat: no-repeat;*/
/*    mix-blend-mode: overlay;*/
/*    opacity: 0.8;*/
/*    pointer-events: none;*/
/*}*/

.hero__epos-catch-pill svg {
    color: #dcdce6;
}

.hero__epos-catch {
    color: #FFF;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem; /* 24px */
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

/* Card Container */
.hero__epos-card {
    position: relative;
    width: 100%;
    max-width: 40rem; /* 640px */
    margin: 0 auto;
    aspect-ratio: 32/21;
}

/* Card Pass Badge */
.hero__epos-badge {
    position: absolute;
    top: 1.875rem; /* 30px */
    right: -1.25rem; /* -20px */
    padding: 0.625rem; /* 10px */
    border-radius: 0.5rem; /* 8px */
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(0.938rem); /* 15px */
    z-index: 10;
}

.hero__epos-badge-text {
    color: rgb(204, 204, 204);
    font-size: 1.5rem; /* 24px */
    font-weight: 600;
    letter-spacing: -0.03rem; /* -0.48px */
    line-height: 1;
}

/* Card Videos */
.hero__epos-video,
.hero__epos-video-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    aspect-ratio: 32/21;
}

.hero__epos-video {
    z-index: 1;
}

.hero__epos-video-mask {
    z-index: 2;
    mix-blend-mode: lighten;
}

/* Features Section */
.hero__features {
    margin-top: 1.375rem; /* 22px from card */
    width: 100%;
}

.hero__features-title {
    font-family: 'Inter', sans-serif;
    font-size: 2rem; /* 32px */
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    margin-bottom: 3.813rem; /* 61px */
    color: #F3F3F3;
}

.hero__features-boxes {
    display: flex;
    flex-direction: column;
    gap: 1.5rem; /* 24px on mobile */
    align-items: center;
    padding-bottom: 1.25rem; /* 20px */
}

.hero__feature-box {
    display: flex;
    padding: 1.5rem; /* 24px */
    flex-direction: column;
    align-items: center;
    margin: auto;
    gap: 1.5rem; /* 24px */
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 1rem; /* 16px */
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: linear-gradient(221deg, rgba(139, 124, 243, 0.20) 3.99%, rgba(148, 255, 227, 0.11) 51.15%, rgba(255, 255, 255, 0.02) 98.3%);
    width: 90%;
    max-width: 90%;
    backdrop-filter: blur(2px) saturate(100%);
    -webkit-backdrop-filter: blur(2px) saturate(100%);
}

.hero__feature-icon-wrapper {
    display: flex;
    height: 54px;
    width: 54px;
    padding: 0 12px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: linear-gradient(135deg, #8B7CF3 3.24%, rgba(255, 255, 255, 0.11) 94.23%);
}

.hero__feature-icon {
    width: 2.5rem; /* 40px */
    height: 2.5rem; /* 40px */
    flex-shrink: 0;
    margin-bottom: 1rem; /* 16px */
}

.hero__feature-title {
    color: #F3F3F3;
    text-align: center;
    /* Subheading */
    font-family: 'Inter', sans-serif;
    font-size: 4.65vw; /* 20px */
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 24px */
    padding: 0 0.5%;
    max-width: 99%;
    white-space: nowrap;
}

.hero__feature-desc {
    width: 20.063rem; /* 321px */
    max-width: 90%;
    color: #F3F4F6;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 3.72vw; /* 14px */
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
}
