/* ===========================
   TO MY FUTURE SELF
   Imagine Shelter
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:wght@600;700&display=swap');

body{
    margin:0;
    font-family:Inter,sans-serif;
    background:linear-gradient(180deg,#08111F 0%,#0E1A2D 100%);
    color:#F8F5EF;
}

/* NAVBAR */

.future-navbar{
    position:sticky;
    top:0;
    z-index:100;
    backdrop-filter:blur(12px);
    background:rgba(8,17,31,.85);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.future-nav-container{
    max-width:1200px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 30px;
}

.future-navbar a{
    color:white;
    text-decoration:none;
    margin-left:28px;
    transition:.3s;
}

.future-navbar a:hover{
    color:#F2C14E;
}

/* HERO */

.future-hero{

    position:relative;
    overflow:hidden;

    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:40px;
    
    background:linear-gradient(
        rgba(8,17,31,.88),
        rgba(8,17,31,.88)
    );

}


.future-content{

    max-width:760px;

    position:relative;

    z-index:5;

}

.future-candle{
    font-size:70px;
    animation:flicker 3s infinite;
}

@keyframes flicker{

0%{transform:scale(1);}
25%{transform:scale(1.03);}
50%{transform:scale(.98);}
75%{transform:scale(1.04);}
100%{transform:scale(1);}

}

.future-content h1{

font-family:"Playfair Display",serif;
font-size:62px;
margin:20px 0;

}

.future-subtitle{

font-size:22px;
color:#F2C14E;
margin-bottom:25px;

}

.future-description{

font-size:19px;
line-height:1.8;
color:#C9D3DD;

}

.future-button{

display:inline-block;
margin-top:40px;
padding:16px 36px;
border-radius:50px;
background:#F2C14E;
color:#08111F;
font-weight:700;
text-decoration:none;
transition:.35s;

}

.future-button:hover{

transform:translateY(-4px);
box-shadow:0 0 30px rgba(242,193,78,.4);

}

/* LETTER */

.future-letter-section{

padding:100px 20px;

}

.future-card{

max-width:850px;
margin:auto;
background:#102032;
padding:45px;
border-radius:24px;
border:1px solid rgba(255,255,255,.08);

box-shadow:0 20px 60px rgba(0,0,0,.35);

}

.future-card h2{

font-family:"Playfair Display",serif;
text-align:center;
margin-bottom:35px;

}

.future-card input,
.future-card textarea,
.future-card select{

width:100%;
margin-bottom:22px;
padding:18px;
border-radius:16px;
background:#162A40;
border:none;
color:white;
font-size:16px;
box-sizing:border-box;

}

.future-card textarea{

resize:none;

}

.future-card button{

width:100%;
padding:18px;
border:none;
border-radius:18px;
background:#89A88D;
font-size:18px;
font-weight:600;
cursor:pointer;
transition:.3s;

}

.future-card button:hover{

background:#98B89D;
transform:translateY(-2px);

}

/* CANDLE */

.future-candle-section{

padding:90px 20px;
text-align:center;

}

.light-button{

margin-top:25px;
padding:18px 40px;
font-size:20px;
background:#F2C14E;
color:#08111F;
border:none;
border-radius:50px;
cursor:pointer;
transition:.3s;

}

.light-button:hover{

box-shadow:0 0 35px rgba(242,193,78,.5);

}

/* COMMUNITY */

.future-community{

padding:100px 20px;

}

.future-community h2{

text-align:center;
font-family:"Playfair Display",serif;
margin-bottom:60px;

}

.future-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
max-width:1200px;
margin:auto;

}

.hope-card{

background:#102032;
padding:30px;
border-radius:20px;
transition:.3s;
border:1px solid rgba(255,255,255,.08);

}

.hope-card:hover{

transform:translateY(-8px);

}

.hope-card span{

font-size:40px;

}

.hope-card p{

line-height:1.8;
color:#D7DFE8;

}

/* FOOTER */

.future-footer{

padding:90px 20px;
text-align:center;
color:#B8C5D4;

}

#candleMessage{

margin-top:20px;
text-align:center;
font-size:18px;
font-weight:500;
min-height:30px;

}

/* ===========================
   FLOATING CANDLE SKY
=========================== */
#candle-sky{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    overflow:hidden;

    pointer-events:none;

    z-index:0;

}

.floating-candle{

    position:absolute;
    font-size:26px;

    will-change:transform;

    animation:floatUp 8s ease-in-out infinite;

    filter:drop-shadow(0 0 10px rgba(255,210,120,.7));

    opacity:.85;

}

.future-content{

    max-width:760px;

    position:relative;

    z-index:5;

}

@keyframes floatUp{

    0%{

        transform:
            translateY(0px)
            translateX(0px);

    }

    25%{

        transform:
            translateY(-10px)
            translateX(8px);

    }

    50%{

        transform:
            translateY(-25px)
            translateX(-6px);

    }

    75%{

        transform:
            translateY(-12px)
            translateX(10px);

    }

    100%{

        transform:
            translateY(0px)
            translateX(0px);

    }

}

.flash{

    animation:flashGlow .8s ease;

}

@keyframes flashGlow{

0%{

background:#08111F;

}

50%{

background:#13253F;

}

100%{

background:#08111F;

}

}

.future-navbar,
.future-hero,
.future-letter-section,
.future-candle-section,
.future-community,
.future-footer{

    position:relative;
    z-index:2;

}

/* ===========================
   LETTER SUCCESS
=========================== */

.success-card{

    text-align:center;

    padding:60px 30px;

    animation:fadeIn 1.2s ease;

}

.success-candle{

    font-size:70px;

    animation:flicker 3s infinite;

    margin-bottom:25px;

}

.success-card h2{

    font-family:"Playfair Display",serif;

    font-size:42px;

    margin-bottom:20px;

}

.success-card p{

    font-size:20px;

    color:#C9D3DD;

    line-height:1.8;

}

@keyframes fadeIn{

from{

opacity:0;
transform:translateY(40px);

}

to{

opacity:1;
transform:translateY(0);

}

}

/* ============================
   HOPE ANIMATION
============================ */

#hopeOverlay{

    position:fixed;

    inset:0;

    background:rgba(3,8,18,.88);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    pointer-events:none;

    transition:opacity .8s;

    z-index:9999;

}

#hopeOverlay.show{

    opacity:1;

}

.hopeText{

    color:white;

    font-size:34px;

    font-family:"Playfair Display",serif;

    text-align:center;

    max-width:700px;

    line-height:1.5;

    animation:hopeFade 2s ease;

}

@keyframes hopeFade{

0%{

opacity:0;
transform:translateY(30px);

}

40%{

opacity:1;

}

100%{

opacity:1;
transform:translateY(0);

}

}

.rising-candle{

    position:fixed;

    left:50%;

    bottom:80px;

    transform:translateX(-50%);

    font-size:42px;

    z-index:99999;

    filter:drop-shadow(0 0 20px rgba(255,220,120,.9));

    animation:riseToSky 3s ease-in forwards;

}

@keyframes riseToSky{

0%{

transform:translate(-50%,0) scale(.7);

opacity:0;

}

20%{

opacity:1;

}

100%{

transform:translate(-50%,-110vh) scale(1.1);

opacity:0;

}

}

/* ============================
   SKY GLOW
============================ */

.sky-glow{

    animation:skyGlow 2.5s ease;

}

@keyframes skyGlow{

0%{

filter:brightness(1);

}

40%{

filter:brightness(1.12);

}

100%{

filter:brightness(1);

}

}