.hero-main {
    position: relative;
    height: 100vh;
    min-height: 700px;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    color: #fff;
}

.hero-video-wrapper {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -2;
}

.hero-video {
    width: 100%; height: 100%; object-fit: cover;
}

.hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.2); 
    z-index: -1;
}

.hero-container {
    position: relative;
    z-index: 2;
    height: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.hero-handwritten {
    position: absolute;
    left: 40%;
    top: 30%;
}

.hero-title {
    text-transform: none;
    position: absolute;
    width: 100%;
}


.hero-title br + span, 
.hero-title br + div {
    display: inline-block;
    margin-left: 15%;
}
.hero-title span {
    display: block; 
}


.hero-title span.line-1 { margin-left: 20%;  color: #FFD25E;}
.hero-title span.line-2 { margin-left: 10%;}
.hero-title span.line-3 { margin-left: 20%;}


.hero-bottom-row {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    margin-left: auto;
    width: fit-content;
    position: absolute;
    right: 5rem;
    bottom: 2rem;
    gap: 2.1875rem;
}

.hero-description {
    font-size: 1.75rem;
}

.ticket-btn-new {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end; 
    width: 100%;
    height: 6.9375rem;
    padding-right: 3.75rem; 
    text-decoration: none;
    position: relative;
    transition: transform 0.2s ease-in-out;
    
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='558' height='111' viewBox='0 0 558 111' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M538.001 0C549.047 0 558.001 8.954 558.001 20V91C558.001 102.046 549.047 111 538.001 111H136.208L135.367 108.771C117.868 80.248 103.397 98.373 98.3496 111H20C8.954 111 0 102.046 0 91V20C0 8.954 8.954 0 20 0H98.35L99.19 2.228C116.689 30.752 131.16 12.627 136.208 0H538.001Z' fill='%23FF7A00'/%3E%3Cpath d='M71.06 56.06L61.51 44.39C60.93 43.8 59.98 43.8 59.39 44.39C58.81 44.98 58.81 45.93 59.39 46.51L67.88 55L59.39 63.48C58.81 64.07 58.81 65.02 59.39 65.6C59.98 66.19 60.93 66.19 61.51 65.6L71.06 56.06ZM45 55H70' stroke='%23FBF8F0' stroke-width='3'/%3E%3Ccircle cx='117.5' cy='27.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='35.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='43.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='51.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='59.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='67.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='75.5' r='2.5' fill='%23FBF8F0'/%3E%3Ccircle cx='117.5' cy='83.5' r='2.5' fill='%23FBF8F0'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.ticket-btn-new:hover {
    transform: translateY(-3px);
    filter: brightness(1.1);
}

.ticket-text {
    color: var(--white);
    font-family: var(--heading-font-family);
    font-size: 2rem;
    padding-left: 8.75rem; 
}


@media (max-width: 600px) {
    .ticket-btn-new {
        width: 100%;
        max-width: 300px;
        height: 60px;
        padding-right: 20px;
    }
    .ticket-text {
        font-size: 12px;
        padding-left: 80px;
    }
}

.paper-edge {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    
    background-image: url('../../../assets/images/mask.png'); 
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100% auto; 
    
    z-index: 20; 
    pointer-events: none; 
}

.hero-main {
    position: relative;
    overflow: visible; 
}

@media (max-width: 991px) {
    .hero-title { font-size: 42px; }
    .hero-bottom-row { flex-direction: column; align-items: flex-start; gap: 30px; }
}