/* ── GSAP Hello World Custom styles ────────────────────────────────── */



.tfs-gsap-container {

    --tfs-gsap-bg: #0f0f12;

    --tfs-gsap-bg-image: none;

    --tfs-gsap-bg-position: center center;

    --tfs-gsap-bg-size: cover;

    --tfs-gsap-text-color: #ffffff;

    --tfs-gsap-card-align: center;

    --tfs-gsap-font-base: 'Poppins', sans-serif;

    --tfs-gsap-font-subtitle: var(--tfs-gsap-font-base);

    --tfs-gsap-font-title: var(--tfs-gsap-font-base);

    --tfs-gsap-font-description: var(--tfs-gsap-font-base);

    --tfs-gsap-font-button: var(--tfs-gsap-font-base);

    --tfs-gsap-subtitle-color: #47cf3a;

    --tfs-gsap-subtitle-size: 1rem;

    --tfs-gsap-title-color: var(--tfs-gsap-text-color);

    --tfs-gsap-title-size: 3.5rem;

    --tfs-gsap-description-color: rgba(255, 255, 255, 0.6);

    --tfs-gsap-description-size: 1.1rem;

    --tfs-gsap-button-text: #ffffff;

    --tfs-gsap-button-bg: transparent;

    --tfs-gsap-button-border: #47cf3a;

    --tfs-gsap-button-hover-bg: #47cf3a;

    --tfs-gsap-button-hover-text: #0f0f12;

    --tfs-gsap-button-size: 1rem;



    width: 100%;

    min-height: 80vh;

    display: flex;

    align-items: center;

    justify-content: center;

    background-color: var(--tfs-gsap-bg, #0f0f12);

    background-image: var(--tfs-gsap-bg-image, none);

    background-position: var(--tfs-gsap-bg-position, center center);

    background-size: var(--tfs-gsap-bg-size, cover);

    background-repeat: no-repeat;

    padding: 60px 20px;

    font-family: var(--tfs-gsap-font-base, 'Poppins', sans-serif);

    color: var(--tfs-gsap-text-color, #ffffff);

    box-sizing: border-box;

    overflow: hidden;

}



.tfs-gsap-card {

    max-width: var(--tfs-gsap-card-max-width, 800px);

    width: 100%;

    text-align: var(--tfs-gsap-card-align, center);

    border: 1px solid var(--tfs-gsap-card-border, rgba(255, 255, 255, 0.08));

    background: var(--tfs-gsap-card-bg, transparent);

    backdrop-filter: var(--tfs-gsap-card-glass, blur(10px));

    -webkit-backdrop-filter: var(--tfs-gsap-card-glass, blur(10px));

    padding: var(--tfs-gsap-card-padding, 80px 40px);

    border-radius: var(--tfs-gsap-card-radius, 2px);

    box-shadow: var(--tfs-gsap-card-shadow, 0 30px 100px rgba(0, 0, 0, 0.8));

    position: relative;

}



/* Accent top-border gradient */

.tfs-gsap-card::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 4px;

    background: var(--tfs-gsap-card-accent, linear-gradient(90deg, #38a832, #47cf3a));

}



.gsap-subtitle {

    font-size: var(--tfs-gsap-subtitle-size, 1rem);

    text-transform: uppercase;

    letter-spacing: 6px;

    color: var(--tfs-gsap-subtitle-color, #47cf3a);

    font-weight: 500;

    margin: 0 0 20px 0;

    opacity: 0; /* Handled by GSAP on start */

    font-family: var(--tfs-gsap-font-subtitle, var(--tfs-gsap-font-base, 'Poppins', sans-serif));

}



.gsap-title {

    font-size: var(--tfs-gsap-title-size, clamp(2.5rem, 5vw, 4.2rem));

    font-weight: 700;

    line-height: 1.1;

    margin: 0 0 25px 0;

    letter-spacing: -1px;

    color: var(--tfs-gsap-title-color, var(--tfs-gsap-text-color, #ffffff));

    opacity: 0; /* Handled by GSAP on start */

    font-family: var(--tfs-gsap-font-title, var(--tfs-gsap-font-base, 'Poppins', sans-serif));

}



.gsap-title-2 {

    font-size: var(--tfs-gsap-title-2-size, clamp(1.8rem, 4vw, 2.8rem));

    font-weight: 600;

    line-height: 1.2;

    margin: 0 0 20px 0;

    letter-spacing: -0.5px;

    color: var(--tfs-gsap-title-2-color, var(--tfs-gsap-text-color, #ffffff));

    opacity: 0; /* Handled by GSAP on start */

    font-family: var(--tfs-gsap-font-title-2, var(--tfs-gsap-font-base, 'Poppins', sans-serif));

}



.gsap-description {

    font-size: var(--tfs-gsap-description-size, clamp(1rem, 1.5vw, 1.15rem));

    line-height: 1.6;

    color: var(--tfs-gsap-description-color, rgba(255, 255, 255, 0.6));

    font-weight: 300;

    max-width: 600px;

    margin: 0 auto 40px auto;

    opacity: 0; /* Handled by GSAP on start */

    font-family: var(--tfs-gsap-font-description, var(--tfs-gsap-font-base, 'Poppins', sans-serif));

}



.gsap-cta {

    opacity: 0; /* Handled by GSAP on start */

}



.gsap-btn {

    display: inline-block;

    padding: 16px 42px;

    border: 1px solid var(--tfs-gsap-button-border, #47cf3a);

    color: var(--tfs-gsap-button-text, #ffffff);

    text-decoration: none;

    font-size: var(--tfs-gsap-button-size, 1rem);

    text-transform: uppercase;

    letter-spacing: 2px;

    font-weight: 500;

    background: var(--tfs-gsap-button-bg, transparent);

    transition: background-color 0.4s, color 0.4s, transform 0.4s;

    font-family: var(--tfs-gsap-font-button, var(--tfs-gsap-font-base, 'Poppins', sans-serif));

}



.gsap-btn:hover {

    background: var(--tfs-gsap-button-hover-bg, #47cf3a);

    color: var(--tfs-gsap-button-hover-text, #0f0f12);

    transform: translateY(-2px);

    box-shadow: 0 10px 30px rgba(71, 207, 58, 0.3);

}



.gsap-btn:active {

    transform: translateY(0);

}



/* Extra text lines */

.gsap-extra-line {

    font-size: 1rem;

    line-height: 1.5;

    margin: 0 0 15px 0;

    opacity: 0; /* Handled by GSAP on start */

    font-weight: 400;

}



.gsap-extra-line:last-child {

    margin-bottom: 40px;

}

