:root {
    /* Premium Pastel Composition: Sky Blue & Coral on Deep Navy */
    --bg-base: #1e1b4b; /* Deep, dark navy/indigo */
    
    --text-primary: #e0f2fe; /* Soft pastel sky blue */
    --shadow-color: #fca5a5; /* Vibrant pastel coral shadow */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--bg-base);
    color: var(--text-primary);
    font-family: 'Cabinet Grotesk', sans-serif;
    min-height: 100dvh;
    overflow: hidden; 
}

/* The text overlay */
.loom-overlay {
    position: relative;
    z-index: 10;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    padding-left: 8vw;
    padding-bottom: 8vh;
}

/* Massive text container */
.tapestry-text {
    font-size: clamp(5rem, 15vw, 25rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.05em;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 2vw; 
    /* GSAP will animate opacity and transform on load */
}

/* Word wrappers */
.word {
    display: inline-block;
    cursor: crosshair;
    color: var(--text-primary);
    /* Isometric brutalist block shadow on bottom-left using the pastel color */
    text-shadow: -10px 10px 0px var(--shadow-color);
}

/* The signature */
.woven-sig {
    font-weight: 500;
    font-size: 1rem;
    color: var(--text-primary);
    opacity: 0.5;
    position: absolute;
    right: 4vw;
    bottom: 4vh;
}

@media (max-width: 768px) {
    .loom-overlay {
        padding-left: 2rem;
        padding-bottom: 10vh;
    }
    .tapestry-text {
        font-size: 25vw;
        gap: 0;
        flex-direction: column;
        align-items: flex-start;
    }
    .word {
        text-shadow: -5px 5px 0px var(--shadow-color);
    }
}
