/* Reset and Base Styles */
:root {
    --primary-color: #007bff;
    --secondary-color: #6c757d;
    --accent-color: #81f249;
    --text-color: #0d0d0d;
    --light-bg: #f2eee6;
    --dark-bg: #343a40;
    --hero-gradient: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.7),
        rgba(76, 61, 157, 0.6)
    );
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: "Panama", sans-serif;
    line-height: 1.5;
    color: var(--text-color);
    background: left top var(--light-bg);
}

a,
a:hover {
    text-decoration: none;
    color: inherit;
    font-family: "Inter", Helvetica, sans-serif;
}

img {
    display: block;
    max-width: 100%;
}

h1,
h2,
.h2,
h3,
h4,
h5 {
    font-family: "Panama", sans-serif;
}

.btn {
    cursor: pointer;
    display: inline-block;
    padding: 9px 15px;
    outline: 0;
    text-transform: uppercase;
    text-decoration: none;
    font-family: "Inter", Helvetica, sans-serif;
    font-size: 14px;
    transition: 0.5s ease-in-out;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
    transition-property: background, background-image, background-color, opacity,
        transform, margin, height, border-color, outline-color, box-shadow,
        color;
    border: 1px solid #0d0d0d;
    border-radius: 4px;
}

.btn:hover {
    background-color: #000;
    color: #fff;
}

.btn-large {
    padding: 13px 40px;
}

.btn img {
    vertical-align: sub;
    display: inline-block;
    width: 15px;
    height: 19px;
    object-fit: contain;
    transition: 0.5s ease-in-out;
    margin-right: 4px;
}

.btn svg {
    margin-left: 2px;
    display: inline-block;
    vertical-align: super;
}

.btn-arrow::after {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-left: 2px;
    vertical-align: top;
    margin-top: 5px;
    background-color: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg width='5' height='5' viewBox='0 0 5 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0.913339L0.854797 0L5 0L5 4.11009L4.05453 5V2.96457C4.05453 2.46914 4.05944 2.02031 4.06969 1.61766L0.748931 4.9072L0.0908222 4.18734L3.41158 0.897946C3.01822 0.908303 2.5769 0.913339 2.08779 0.913339L0 0.913339Z' fill='white'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='5' height='5' viewBox='0 0 5 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0.913339L0.854797 0L5 0L5 4.11009L4.05453 5V2.96457C4.05453 2.46914 4.05944 2.02031 4.06969 1.61766L0.748931 4.9072L0.0908222 4.18734L3.41158 0.897946C3.01822 0.908303 2.5769 0.913339 2.08779 0.913339L0 0.913339Z' fill='white'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.btn-small {
    padding: 2px 12px;
    font-size: 15px;
    line-height: 140%;
    border-radius: 1px;
}

.btn-dark {
    background-color: #000;
    color: #fff;
}

.btn-dark:hover {
    border-color: var(--accent-color);
    background-color: var(--accent-color);
    color: var(--text-color) !important;
}

.btn-primary {
    background-color: var(--accent-color);
    color: var(--text-color);
    border-color: var(--accent-color);
}

.btn-primary:hover {
    background-color: transparent;
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.btn-primary-outline {
    background-color: transparent;
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.btn-primary-outline:hover {
    background-color: var(--accent-color);
    color: var(--text-color) !important;
}

.btn-primary-outline-dark {
    background-color: transparent;
    color: var(--text-color);
    border-color: var(--accent-color);
}

.btn-primary-outline-dark:hover {
    background-color: var(--accent-color);
    color: var(--text-color);
}

.btn-white-outline {
    background-color: transparent;
    color: #fff;
    border-color: #fff;
}

.btn-white-outline:hover {
    background-color: #000;
    color: #fff;
}

.btn-beige {
    background-color: #F2EEE5;
    color: #0D0D0D;
    border-color: #F2EEE5;
}

.btn-beige:hover {
    background-color: #0D0D0D;
    color: #F2EEE5;
    border-color: #0D0D0D;
}

.btn-beige-outline {
    background-color: #F2EEE5;
    color: #0D0D0D;
    border-color: #F2EEE5;
}

.btn-beige-outline:hover {
    background-color: #0D0D0D;
    color: #F2EEE5;
    border-color: #F2EEE5;
}

.btn-beige-outline:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(71%) saturate(377%) hue-rotate(299deg) brightness(99%) contrast(96%);
}

/* Underlined link */
.btn-link {
	--link-color: #F2EEE6;
    position: relative;
    display: inline-block;
    padding: 0 0 4px;
    text-decoration: none;
    overflow: hidden;
    font-family: "Inter", Helvetica, sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 140%;
    text-transform: uppercase;
	color: var(--link-color);
}

.btn-link-white {
    --link-color: #F2EEE5;
}

.btn-link-black {
    --link-color: #0D0D0D;
}

.btn-link-green {
    --link-color: #F2EEE5;
    --link-underline-color: #81F249;
}

.btn-link::before,
.btn-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    background: var(--link-color);
    pointer-events: none;
    will-change: transform;
    transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
}

.btn-link::before {
    transform: translateX(0) scaleX(1);
    transform-origin: left;
}

.btn-link:hover {
	color: var(--link-color);
}

.btn-link:hover::before {
    transform: translateX(100%) scaleX(0);
    transform-origin: right;
}

.btn-link::after {
    transform: translateX(-100%) scaleX(0);
    transform-origin: left;
    transition-delay: .02s;
}

.btn-link:hover::after {
    transform: translateX(0) scaleX(1);
}

.btn-link-green::before,
.btn-link-green::after {
    background: var(--link-underline-color);
}

.bg-dark {
    background-color: #000 !important;
}

.bg-accent,
.bg-green {
    background-color: var(--accent-color) !important;
}

.bg-dark-green {
    background-color: #354200 !important;
}

h2,
.h2 {
    line-height: 1;
    color: var(--text-color);
    text-transform: uppercase;
    font-weight: 500;
    margin: 0;
    text-align: center;
    font-size: 46px;
}

p,
li {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 24px;
    font-weight: 300;
    color: var(--text-color);
    font-family: "Inter", Helvetica, sans-serif;
}

.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-fancy {
    font-family: "Panama", sans-serif !important;
}

.text-dark {
    color: var(--text-color) !important;
}

.mb-2 {
    margin-bottom: 20px !important;
}

.mb-3 {
    margin-bottom: 40px !important;
}

.mt-3 {
    margin-top: 40px !important;
}

.mt-auto {
    margin-top: auto !important;
}

.subtitle {
    color: var(--text-color);
    text-transform: uppercase;
    font-weight: 300;
    line-height: 1.2;
    font-size: 15px;
    display: block;
    margin-bottom: 20px;
    text-align: center;
    font-family: "Inter", Helvetica, sans-serif;
    margin-top: 0;
}

.description {
    color: var(--text-color);
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 30px;
    text-align: center;
    font-size: 41px;
}

.buttons-line {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
}

.buttons-line .btn {
    padding: 8px 30px;
}

.buttons-line .btn.btn-small {
    padding: 2px 12px;
    border-radius: 1px;
}

.buttons-line .btn-primary-outline {
    /* color: var(--text-color); */
}

.heading {
    font-size: 54px;
}

.wp-block-image {
    margin-bottom: 0 !important;
}

.text-underlined {
    position: relative;
}

.text-underlined::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    display: block;
    background-color: var(--paragraph-color);
}

@media only screen and (min-width: 960px) {
    h2,
    .h2 {
        font-size: 56px;
    }

    .description {
        font-size: 52px;
    }

    .heading {
        font-size: 64px;
    }

    .buttons-line {
        flex-wrap: nowrap;
    }
}

@media only screen and (min-width: 1200px) {
    h2,
    .h2 {
        font-size: 64px;
    }

    .heading {
        font-size: 96px;
    }
}

@media only screen and (max-width: 767px) {
    .has-custom-typography {
        font-size: var(--mobile-font-size) !important;
    }
}

@media (min-width: 768px) {
    .hide-on-desktop {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hide-on-mobile {
        display: none !important;
    }
}

/* section */

.section {
    padding: 70px 0;
}

.section-small {
    padding: 40px 0;
}

.section + .section:not(.container-block) {
    padding-top: 0;
}

@media only screen and (min-width: 960px) {
    .section {
        padding: 100px 0;
    }

    .section-small {
        padding: 70px 0;
    }
}

/* spacer */

.spacer {
    height: 70px;
}

.spacer-m {
    height: 40px;
}

.spacer-s {
    height: 22px;
}

@media only screen and (min-width: 960px) {
    .spacer {
        height: 100px;
    }

    .spacer-m {
        height: 70px;
    }

    .spacer-s {
        height: 40px;
    }
}

/* Container */
.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    max-width: 1540px;
}

.container-small {
    max-width: 1200px;
}

.gap {
    height: 64px !important;
    width: 100%;
}

@media only screen and (min-width: 640px) {
    .container {
        padding: 0 30px;
    }
}

@media only screen and (min-width: 960px) {
    .container {
        padding: 0 40px;
    }

    .gap {
        height: 80px !important;
    }
}

@media only screen and (min-width: 1200px) {
    .container {
        padding: 0 70px;
    }
}

/* snow */

.snow {
    position: relative;
    overflow: hidden;
}

.snowflake {
    background: white;
    display: block;
    position: absolute;
    top: -50px;
    animation: snowfall 6s linear;
}

@keyframes snowfall {
    0% {
        top: -50px;
    }
    25% {
        margin-left: 5px;
    }
    50% {
        margin-left: 0px;
    }
    75% {
        margin-left: 15px;
    }
    100% {
        top: 700px;
        opacity: 0;
        margin-left: 0px;
    }
} 

/* halls */
.halls .container {
    max-width: 640px;
    padding: 0 50px;
}
.halls h2 {
    margin-bottom: 50px;
}

.hall-featured-image {
    max-width: 1268px;
    margin: 32px auto 0 auto;
}
.hall-featured-image img {
    width: 100%;
    margin: 0 auto;
}

/* event */
.event-inner {
    padding: 40px 0;
}

.event .subtitle {
    color: #fff;
}

.event h2 {
    color: #fff;
}

.event-video {
    position: relative;
    min-height: 60vh;
    overflow: hidden;
    margin-bottom: 40px;
    height: 100%;
}

.event-video:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(13, 13, 13, 0.6);
    width: 100%;
    transition: 0.3s ease-out;
    transform: translateY(-100%);
    z-index: 10;
}

.event-video:hover:before {
    transform: translateY(0);
}

.event-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.event-video .btn {
    position: absolute;
    z-index: 11;
    left: calc(50% - 85px);
    top: calc(50% - 24px);
    color: #fff;
    border-color: #fff;
}

.event-video .btn:hover {
    border-color: #000;
    transition: 0.2s ease;
}

@media only screen and (min-width: 1200px) {
    .event-inner {
        padding: 70px 0;
    }

    .event-video {
        padding-bottom: 70px;
    }
}

/* location */
.location .btn {
    margin-top: 40px;
    text-transform: uppercase;
}

.location-description {
    text-align: center;
}

.location-map {
    width: 100%;
    height: 500px;
    margin: 30px 0;
}

.location-map #map {
    width: 100%;
    height: 100%;
    min-height: 300px;
}

.transport-description {
    margin: 0 auto 25px auto;
    text-align: center;
}

.transport-options {
    margin: 0 auto;
    max-width: 1268px;
    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}

.transport-options .transport-option {
    margin: 0 auto;
    width: 33%;
    padding: 0 20px;
    font-family: "Panama", sans-serif;
}

.transport-options .transport-option h3 {
    font-size: 20px;
    font-weight: 600;
    font-family: "Panama", sans-serif;
    text-transform: uppercase;
}

.transport-options .transport-option img {
    width: 100px;
    margin: 25px auto;
}

.transport-options .transport-option p {
    font-family: "Panama", sans-serif;
}

@media (max-width: 960px) {
    .location-map {
        height: 350px;
    }

    .location-map iframe {
        width: 100%;
        min-height: unset;
    }
}

@media only screen and (max-width: 768px) {
    .transport-option p {
        font-size: 15px;
        line-height: 18px;
        padding: 0 10px;
    }
}

@media only screen and (max-width: 480px) {
    .halls .container {
        padding: 0 20px;
    }
    .transport-options .transport-option img {
        /*        width: 80%;*/
    }
    .transport-options .transport-option {
        width: auto;
    }
    .transport-options .transport-option p {
        /*        width: auto;*/
    }
}

/* Feature List */
.feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.feature-list li {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    transition: all 0.3s ease;
    font-family: "Inter", Helvetica, sans-serif;
    margin: 0;
    padding-left: 32px;
    font-size: 16px;
    line-height: 28px;
    font-weight: 300;
    color: var(--text-color);
    font-family: "Inter", Helvetica, sans-serif;
}

.feature-list li:last-child {
    border-bottom: none;
}

.feature-list li::before {
    content: '';
    background-image: url(../images/check-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    left: 0;
    top: 4px;
}

@media (min-width: 960px) {
    .feature-list {
        max-width: 262px;
    }
}

/* Post Date Display */
.entry-date {
    display: inline-block;
    margin-bottom: 1rem;
    color: #666;
    font-style: italic;
    font-size: 0.9rem;
}

.entry-meta {
    margin-bottom: 1.5rem;
}

/* For posts with custom display date */
.has-custom-date .entry-date {
    color: #4caf50;
    font-weight: 600;
}

/* Posts Grid Shortcode */
.vh-posts-grid {
    display: grid;
    gap: 30px;
}

.vh-post-card {
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vh-post-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}

.vh-post-thumbnail,
.vh-post-additional-image {
    height: 100%;
    transition: 0.4s ease;
}

.vh-post-additional-image {
    display: none;
}

.vh-post-card:hover .vh-post-thumbnail {
    display: none;
}

.vh-post-card:hover .vh-post-additional-image {
    display: block;
}

.vh-post-image,
.vh-post-image-hover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vh-post-content {
    padding-top: 20px;
}

.vh-post-date {
    font-family: "Inter", Helvetica, sans-serif;
    font-size: 15px;
    line-height: 18px;
    color: var(--text-color);
    margin-bottom: 20px;
    font-weight: 300;
    text-transform: uppercase;
}

.vh-post-title {
    margin: 0 0 20px;
    color: var(--text-color);
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    font-family: "Panama", sans-serif;
    text-transform: uppercase;
}

.vh-post-excerpt {
    font-size: 14px;
    line-height: 21px;
    font-weight: 300;
    color: var(--text-color);
    font-family: "Inter", Helvetica, sans-serif;
}

/* Responsive styles */
@media (min-width: 640px) {
    .vh-posts-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 960px) {
    .vh-posts-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* SPACES PAGE */

body.page-template-spaces h2 {
    font-size: 32px;
}

/* table */
.wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wp-block-table table {
    min-width: 100%;
}

.wp-block-table table thead {
    border: none;
}

.wp-block-table table thead th,
.wp-block-table table tbody td {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 150%;
    color: #0D0D0D;
    padding: 12px 0;
    transition: 0.3s ease;
}

.wp-block-table table thead th {
    color: rgba(13, 13, 13, 0.5);
    border: none;
    text-align: left;
    text-transform: uppercase;
}

.wp-block-table table tbody tr:hover {
    background-color: #FFFFFF66 !important;
}

.wp-block-table table tbody tr:hover td {
    padding-left: 12px !important;
}

.wp-block-table table tbody td {
    border: none;
}

.wp-block-table table tbody td,
.wp-block-table table tbody th {
    border-top: 1px solid rgba(13, 13, 13, 0.12);
}

/* Hide borders for vh-table-stats until animation */
.vh-table-stats table tbody td,
.vh-table-stats table tbody th {
    border-top-width: 0;
}

/* .wp-block-table table tr:first-child td,
.wp-block-table table tr:first-child th {
    border-top: none;
} */

.wp-block-table.vh-table-stats tbody tr td:first-child {
    text-transform: uppercase;
}

.wp-block-table.vh-table-stats tbody tr td:nth-child(2) {
    font-family: 'Panama', sans-serif;
}

.wp-block-table.vh-table-stats tbody tr td:last-child {
    text-transform: unset;
}

/* Hide table rows by default until scripts load */
.vh-table-stats tr {
    opacity: 0;
    visibility: hidden;
}

.vh-table-stats tr td,
.vh-table-stats tr th {
    border-top: none;
}

/* Mobile horizontal scroll for stats table */
@media (max-width: 767px) {
    .wp-block-table.vh-table-stats {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        display: block;
        width: 100%;
    }

    .wp-block-table.vh-table-stats table {
        width: auto;
        min-width: 600px;
        display: table;
    }

    .wp-block-table.vh-table-stats thead th,
    .wp-block-table.vh-table-stats tbody td {
        white-space: nowrap;
        padding: 12px 20px;
    }
}

.overlay-tag {
    --overlay-tag-bg-color: #0D0D0D;
    --overlay-tag-text-color: #F2EEE6;
	position: relative;
	z-index: 2;
	padding: 0 15px;
    height: 20px;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
}

.overlay-tag span {
	position: relative;
    display: inline-block;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	text-transform: uppercase;
	color: var(--overlay-tag-text-color);
    height: 20px;
    vertical-align: super;
	background-color: var(--overlay-tag-bg-color);
	overflow: visible;
    padding: 0 2px;
}

.overlay-tag::before,
.overlay-tag::after {
	content: '';
	position: absolute;
	top: 0;
	width: 15px;
	height: 100%;
	background-color: var(--overlay-tag-bg-color);
	pointer-events: none;

	/* mask sizing */
	-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
	-webkit-mask-size: 15px 100%;
			mask-size: 15px 100%;
	-webkit-mask-position: center;
			mask-position: center;

	/* paint above parent background */
	z-index: 0;
}

/* Left tab */
.overlay-tag::before {
	left: 2px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='20' viewBox='0 0 15 20'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M0 0H15V20H7.8C7.6 20 7.4 19.8 7.4 19.6V15C7.4 12.2 5.2 10 2.5 10H0V0Z'/%3E%3C/svg%3E");
			mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='20' viewBox='0 0 15 20'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M0 0H15V20H7.8C7.6 20 7.4 19.8 7.4 19.6V15C7.4 12.2 5.2 10 2.5 10H0V0Z'/%3E%3C/svg%3E");
}
  
/* Right tab */
.overlay-tag::after {
	right: 2px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='20' viewBox='0 0 15 20'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M0 0H14V9.5C14 9.8 13.8 10 13.5 10H12.5C9.8 10 7.6 12.2 7.6 15V19.6C7.6 19.8 7.4 20 7.2 20H0V0Z'/%3E%3C/svg%3E");
			mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='20' viewBox='0 0 15 20'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M0 0H14V9.5C14 9.8 13.8 10 13.5 10H12.5C9.8 10 7.6 12.2 7.6 15V19.6C7.6 19.8 7.4 20 7.2 20H0V0Z'/%3E%3C/svg%3E");
}

/* link-underline */
.link-underline {
    --link-underline-color: #F2EEE6;
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
    text-decoration: none;
    overflow: hidden;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 140%;
    text-transform: uppercase;
	color: var(--link-underline-color);
}

.link-underline::before,
.link-underline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    background: var(--link-underline-color);
    pointer-events: none;
    will-change: transform;
    transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
}

.link-underline::before {
    transform: translateX(0) scaleX(1);
    transform-origin: left;
}

.link-underline:hover {
	color: var(--link-underline-color);
}

.link-underline:hover::before {
    transform: translateX(100%) scaleX(0);
    transform-origin: right;
}

.link-underline::after {
    transform: translateX(-100%) scaleX(0);
    transform-origin: left;
    transition-delay: .02s;
}

.link-underline:hover::after {
    transform: translateX(0) scaleX(1);
}

/* Hide text animation elements by default until scripts load */
.text-lines-slide-up,
.text-lines-slide-down {
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

/* Ensure lines have proper overflow for slide-up and slide-down animation */
.text-lines-slide-up .line,
.text-lines-slide-down .line {
    overflow: hidden;
    display: block;
}

.reveal {
    opacity: 0;
}