Skip to content

placidefinance-jinguel.html #296

@Placide224

Description

@Placide224
<title>PlacideFinance (PF) • Signature</title> <style> @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
    :root {
        --bg: #0A0A0A;
        --accent: #9F1239;
    }
    
    body {
        margin: 0;
        background: var(--bg);
        color: white;
        font-family: 'Inter', sans-serif;
        height: 100vh;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .container { position: relative; width: 100%; height: 100%; }
    
    .phase {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        opacity: 0;
        transition: opacity 1.2s ease;
    }
    
    .text {
        font-size: 3.8rem;
        font-weight: 600;
        letter-spacing: -0.02em;
        opacity: 0;
        transform: scale(0.9);
        filter: blur(6px);
        transition: all 1.8s cubic-bezier(0.23, 1, 0.32, 1);
        margin: 20px 0;
    }
    
    .text.active {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
    
    .signature {
        font-size: 6.5rem;
        font-weight: 700;
        letter-spacing: -0.05em;
        opacity: 0;
        transform: scale(0.85);
        transition: all 2.4s cubic-bezier(0.23, 1, 0.32, 1);
    }
    
    .signature.active { opacity: 1; transform: scale(1); }
    
    .subtitle {
        font-size: 1.9rem;
        font-weight: 500;
        letter-spacing: 0.1em;
        margin-top: 30px;
        opacity: 0;
        transition: opacity 2s ease;
    }
    
    .subtitle.active { opacity: 0.9; }
    
    .line {
        position: absolute;
        bottom: 15%;
        width: 0;
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--accent), transparent);
        box-shadow: 0 0 20px var(--accent);
        transition: width 4s cubic-bezier(0.23, 1, 0.32, 1);
    }
    
    .line.active {
        width: 480px;
        left: 50%;
        margin-left: -240px;
    }
</style>
Start from nothing.
Build systems, not ideas.
Turn problems into solutions.
Execution over motivation.
    <!-- Phase 2 -->
    <div id="phase2" class="phase">
        <div id="brand" class="signature">PLACIDEFINANCE</div>
        <div style="font-size:3rem; font-weight:600; margin-top:-15px;">(PF)</div>
        <div id="sub" class="subtitle">Systems over noise.</div>
        <div class="line" id="line"></div>
    </div>
</div>

<script>
    const texts = [document.getElementById('t1'), document.getElementById('t2'), document.getElementById('t3'), document.getElementById('t4')];
    let index = 0;

    function startPhase1() {
        document.getElementById('phase1').style.opacity = 1;
        texts.forEach(t => t.classList.remove('active'));
        index = 0;
        showText();
    }

    function showText() {
        if (index > 0) texts[index-1].classList.remove('active');
        if (index < texts.length) {
            texts[index].classList.add('active');
            index++;
            setTimeout(showText, 3800);
        } else {
            setTimeout(() => {
                document.getElementById('phase1').style.opacity = 0;
                setTimeout(() => {
                    document.getElementById('phase1').style.display = 'none';
                    document.getElementById('phase2').style.display = 'flex';
                    document.getElementById('phase2').style.opacity = 1;
                    startPhase2();
                }, 1000);
            }, 1500);
        }
    }

    function startPhase2() {
        document.getElementById('brand').classList.add('active');
        document.getElementById('line').classList.add('active');
        setTimeout(() => document.getElementById('sub').classList.add('active'), 1400);
        setTimeout(resetAll, 8000);
    }

    function resetAll() {
        document.getElementById('phase2').style.opacity = 0;
        setTimeout(() => {
            document.getElementById('phase2').style.display = 'none';
            document.getElementById('brand').classList.remove('active');
            document.getElementById('line').classList.remove('active');
            document.getElementById('sub').classList.remove('active');
            startPhase1();
        }, 1200);
    }

    window.onload = startPhase1;

    // Appuie sur R pour relancer
    document.addEventListener('keydown', e => { if (e.key.toLowerCase() === 'r') resetAll(); });
</script>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions