*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
overflow:hidden;
background:#25040d;
color:white;
height:100vh;
position:relative;
}

/* PARTICLES */

.particles{
position:fixed;
width:100%;
height:100%;
z-index:-2;

background:
radial-gradient(
rgba(255,255,255,.08) 1px,
transparent 1px
);

background-size:40px 40px;

animation:particlesMove 35s linear infinite;
}

@keyframes particlesMove{
from{
transform:translate(0,0);
}
to{
transform:translate(-300px,-300px);
}
}

/* SCREENS */


.screen{
position:absolute;
top:0;
left:100%;

width:100%;
height:100vh;

display:flex;
justify-content:center;
align-items:center;

padding:40px;

background:linear-gradient(
135deg,
#25040d,
#4c0c1d,
#7c2335
);

overflow:hidden;

opacity:0;

transition:left 1s ease,
opacity 1s ease;
}
.screen.active{
left:0;
opacity:1;
z-index:10;
}


/* BACKGROUND GLOW */

.hero-bg{
position:absolute;
inset:0;
z-index:-1;
pointer-events:none;
}

.bg2{
right:-100px;
top:-50px;
}

.bg3{
left:-100px;
bottom:-50px;
}

/* GLASS CARD */

.glass-card{
position:relative;
z-index:2;

width:430px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.12);

border-radius:35px;

padding:30px;

text-align:center;

box-shadow:
0 20px 60px rgba(0,0,0,.45);

animation:floatCard 4s ease-in-out infinite;
}

@keyframes floatCard{
0%{
transform:translateY(0);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0);
}
}

/* PHOTO */

.photo-box{
width:250px;
height:320px;

margin:auto;

overflow:hidden;

border-radius:25px;
}

.photo-box img{
width:100%;
height:100%;

object-fit:cover;

transition:.6s;
}

.photo-box:hover img{
transform:scale(1.08);
}

/* TITLES */

h1{
font-size:3.2rem;
margin-top:25px;
}

h2{
font-size:4rem;
margin-bottom:25px;
}

.chapter{
color:#e6b8c5;

letter-spacing:3px;

text-transform:uppercase;
}

p{
margin-top:15px;

line-height:2;

font-size:1.2rem;

color:#f6dde3;
}

/* BUTTON */

button{
margin-top:30px;

padding:15px 35px;

border:none;

border-radius:40px;

background:#d88ea1;

color:white;

font-size:16px;

cursor:pointer;

transition:.4s;
}

button:hover{
transform:translateY(-5px);

box-shadow:
0 10px 25px rgba(216,142,161,.45);
}

/* STORY CARD */

.story-card{
position:relative;
z-index:2;

max-width:850px;

text-align:center;

padding:40px;
}

/* RESPONSIVE */

@media(max-width:768px){

h1{
font-size:2.2rem;
}

h2{
font-size:2.7rem;
}

p{
font-size:1rem;
}

.glass-card{
width:95%;
}

.photo-box{
width:220px;
height:280px;
}

}
.screen{
position:absolute;
top:0;
left:100%;

width:100%;
height:100vh;

display:flex;

justify-content:center;
align-items:center;

padding:40px;

background:
linear-gradient(
135deg,
#25040d,
#4c0c1d,
#7c2335
);

overflow:hidden;

opacity:0;

transition:
left 1s ease,
opacity 1s ease;
}
/* ==========================

        SCREEN 4

========================== */



.bg4{

background:

linear-gradient(

135deg,

#8b5cf6 0%,

#5b7cff 45%,

#ff6b8b 100%

);



right:-120px;

bottom:-120px;



width:420px;

height:420px;



opacity:.75;



filter:blur(90px);



border-radius:50%;

}



.before-us-container{



position:relative;

z-index:2;



width:100%;

max-width:1300px;



display:flex;

justify-content:center;

align-items:center;



gap:80px;

padding:20px;

}



.before-us-text{



max-width:650px;

text-align:center;

}



.before-us-text h2{



font-size:4rem;



margin:20px 0;



color:#fff;



font-weight:700;



letter-spacing:1px;



text-shadow:

0 10px 30px rgba(0,0,0,.28);

}



.before-us-text p{



color:rgba(255,255,255,.92);



font-size:1.08rem;



line-height:2;



letter-spacing:.4px;



text-shadow:

0 4px 10px rgba(0,0,0,.18);

}



.child-photo{



width:270px;

height:330px;



overflow:hidden;



border-radius:30px;



padding:10px;



background:

rgba(255,255,255,.12);



backdrop-filter:blur(22px);



border:

1px solid rgba(255,255,255,.22);



box-shadow:

0 25px 60px rgba(20,20,60,.25);



transition:.45s ease;

}



.child-photo img{



width:100%;

height:100%;



object-fit:cover;



border-radius:22px;



transition:.5s ease;

}



.child-photo:hover{



transform:

translateY(-10px)

scale(1.03);



box-shadow:

0 35px 70px rgba(20,20,60,.35);

}



.child-photo:hover img{



transform:scale(1.08);

}



.left-photo{



transform:

rotate(-6deg);



animation:

floatLeft 5s ease-in-out infinite;

}



.right-photo{



transform:

rotate(6deg);



animation:

floatRight 5s ease-in-out infinite;

}



@keyframes floatLeft{



0%{

transform:

rotate(-6deg)

translateY(0px);

}



50%{

transform:

rotate(-6deg)

translateY(-15px);

}



100%{

transform:

rotate(-6deg)

translateY(0px);

}



}



@keyframes floatRight{



0%{

transform:

rotate(6deg)

translateY(0px);

}



50%{

transform:

rotate(6deg)

translateY(-15px);

}



100%{

transform:

rotate(6deg)

translateY(0px);

}



}



@media(max-width:1000px){



.before-us-container{



flex-direction:column;



gap:40px;

}



.child-photo{



width:240px;

height:300px;

}



.before-us-text h2{



font-size:3rem;

}



}



@media(max-width:600px){



.before-us-text h2{



font-size:2.4rem;

}



.before-us-text p{



font-size:1rem;

line-height:1.8;

}



.child-photo{



width:210px;

height:270px;

}



}

/* ==========================

        SCREEN 5

========================== */



.bg5{

background:

linear-gradient(

135deg,

#6d5dfc 0%,

#5b8cff 45%,

#ff6b9d 100%

);



left:-120px;

top:-120px;



width:420px;

height:420px;



opacity:.72;



filter:blur(90px);



border-radius:50%;

}



.little-things{



position:relative;

z-index:2;



width:100%;

max-width:1200px;



text-align:center;



padding:20px;

}



.little-things .chapter{



display:inline-block;



padding:8px 20px;



border-radius:30px;



background:rgba(255,255,255,.10);



border:1px solid rgba(255,255,255,.18);



backdrop-filter:blur(15px);



color:rgba(255,255,255,.95);



font-size:.95rem;



letter-spacing:2px;



text-transform:uppercase;

}



.little-things h2{



margin-top:18px;



font-size:3.8rem;



color:#fff;



font-weight:700;



letter-spacing:1px;



text-shadow:

0 8px 25px rgba(0,0,0,.30);

}



.things-grid{



margin-top:50px;



display:grid;



grid-template-columns:

repeat(3,1fr);



gap:28px;

}



.thing-card{



display:flex;



flex-direction:column;



justify-content:center;



align-items:center;



min-height:200px;



padding:30px;



font-size:2.8rem;



border-radius:28px;



background:

rgba(255,255,255,.10);



backdrop-filter:

blur(22px);



border:

1px solid rgba(255,255,255,.18);



box-shadow:

0 18px 45px rgba(18,25,60,.22);



transition:

all .45s ease;



cursor:pointer;

}



.thing-card p{



margin-top:18px;



font-size:1rem;



line-height:1.8;



color:

rgba(255,255,255,.94);



font-weight:500;

}



.thing-card:hover{



transform:

translateY(-12px)

scale(1.04);



background:

rgba(255,255,255,.16);



border-color:

rgba(255,255,255,.28);



box-shadow:

0 28px 55px rgba(18,25,60,.35);

}



.thing-card:hover p{



color:#fff;

}



@media(max-width:1000px){



.things-grid{



grid-template-columns:

repeat(2,1fr);



}



}



@media(max-width:700px){



.little-things h2{



font-size:2.8rem;

}



.things-grid{



grid-template-columns:1fr;



gap:22px;

}



.thing-card{



min-height:170px;



font-size:2.4rem;

}



.thing-card p{



font-size:.95rem;

}



}

/* ==========================

        SCREEN 6

========================== */



.bg6{



background:

linear-gradient(

135deg,

#ff6b8b 0%,

#7b61ff 45%,

#5b8cff 100%

);



right:-120px;

top:100px;



width:430px;

height:430px;



opacity:.72;



filter:blur(90px);



border-radius:50%;

}



.memory-wall{



position:relative;

z-index:2;



width:100%;

max-width:1400px;



text-align:center;



display:flex;

flex-direction:column;

align-items:center;



padding:20px;

}



.memory-wall h2{



font-size:3.8rem;



margin-top:15px;



color:#fff;



font-weight:700;



letter-spacing:1px;



text-shadow:

0 8px 25px rgba(0,0,0,.28);

}



.photo-grid{



margin-top:45px;



display:grid;



grid-template-columns:

repeat(5,1fr);



gap:22px;



height:430px;



overflow-y:auto;



padding:10px 15px 10px 5px;

}



.photo-grid img{



width:100%;

height:220px;



object-fit:cover;



padding:8px;



background:

rgba(255,255,255,.10);



backdrop-filter:

blur(18px);



border:

1px solid rgba(255,255,255,.18);



border-radius:22px;



cursor:pointer;



transition:

all .45s ease;



box-shadow:

0 15px 35px rgba(20,20,60,.20);

}



.photo-grid img:nth-child(odd){



transform:

rotate(-2deg);

}



.photo-grid img:nth-child(even){



transform:

rotate(2deg);

}



.photo-grid img:hover{



transform:

translateY(-10px)

scale(1.08)

rotate(0deg);



box-shadow:

0 28px 60px rgba(20,20,60,.35);



border-color:

rgba(255,255,255,.35);

}



.photo-grid::-webkit-scrollbar{



width:8px;

}



.photo-grid::-webkit-scrollbar-track{



background:

rgba(255,255,255,.06);



border-radius:20px;

}



.photo-grid::-webkit-scrollbar-thumb{



background:

linear-gradient(

180deg,

#7b61ff,

#ff6b8b

);



border-radius:20px;

}



.photo-grid::-webkit-scrollbar-thumb:hover{



background:

linear-gradient(

180deg,

#8d74ff,

#ff7ea1

);

}



@media(max-width:1100px){



.photo-grid{



grid-template-columns:

repeat(3,1fr);



height:500px;

}



}



@media(max-width:800px){



.photo-grid{



grid-template-columns:

repeat(2,1fr);



gap:18px;

}



.photo-grid img{



height:240px;

}



.memory-wall h2{



font-size:2.8rem;

}



}



@media(max-width:500px){



.photo-grid{



grid-template-columns:1fr;

}



.photo-grid img{



height:260px;

}



}
/* ==========================
        SCREEN 7
========================== */

#screen7{
    position: relative;
    overflow: auto;

    background:
        linear-gradient(
            rgba(45,0,18,.45),
            rgba(45,0,18,.45)
        ),
        url("images/photo5.jpg");

    background-size: cover;   /* use cover if you want it to fill */
    background-position: center;
    background-repeat: no-repeat;
    background-color: #2d0012;
}

/* Hide old hero background if present */
#screen7 .hero-bg{
    display:none;
}

.whatif{
    position:relative;
    z-index:2;

    width:90%;
    max-width:900px;

    margin:auto;

    min-height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
}

.chapter{
    color:#ffd8e3;
    letter-spacing:4px;
    text-transform:uppercase;
}

.whatif h2{
    color:white;
    font-size:3rem;
    margin:15px 0 20px;
    text-shadow:0 0 20px rgba(0,0,0,.8);
}

#typewriter{
    min-height:180px;
    white-space:pre-line;
    color:white;
    font-size:1.25rem;
    line-height:1.6;
    max-width:700px;
    text-shadow:0 0 10px rgba(0,0,0,.8);
}

#typewriter::after{
    content:"|";
    animation:blink .8s infinite;
}

@keyframes blink{
    50%{
        opacity:0;
    }
}

#nextBtn7{
    opacity:0;
    pointer-events:none;
    margin-top:35px;
    transition:.5s;
}

#nextBtn7.show{
    opacity:1;
    pointer-events:auto;

}
/* ======================================================
                    SCREEN 8
====================================================== */

#screen8{
    position:absolute;
    inset:0;

    display:block !important;

    overflow-y:auto;
    overflow-x:hidden;

    padding:40px;

    background:radial-gradient(circle at top,#4d1731 0%,#2b0918 45%,#130208 100%);
}

/* Header */

.memory-header{
    text-align:center;
    margin-bottom:40px;
}

.memory-header .chapter{
    color:#ffd9e7;
    letter-spacing:6px;
    text-transform:uppercase;
    font-size:.9rem;
}

.memory-header h2{
    margin:18px 0;
    font-size:3.3rem;
    color:white;
}

.memory-header p{
    color:#ffe4ed;
    font-size:1.1rem;
}

/* ================= GALLERY ================= */

.memory-grid{

    width:100%;
    max-width:1500px;

    margin:40px auto;

    display:grid;

    grid-template-columns:
    repeat(auto-fill,minmax(120px,1fr));

    gap:18px;

}

/* ================= POLAROID ================= */

.memory{

    background:#fff;

    padding:8px 8px 25px;

    position:relative;

    border-radius:4px;

    box-shadow:
    0 8px 20px rgba(0,0,0,.25);

    transition:.3s;

    cursor:pointer;

}

.memory:nth-child(odd){
    transform:rotate(-2deg);
}

.memory:nth-child(even){
    transform:rotate(2deg);
}

.memory:nth-child(3n){
    transform:rotate(-1deg);
}

.memory:nth-child(5n){
    transform:rotate(3deg);
}

.memory:hover{

    transform:
    scale(1.08)
    rotate(0deg);

    z-index:99;

}

.memory img{

    width:100%;
    height:auto;
    display:block;

    border-radius:2px;

}

/* Tape */

.memory::before{

    content:"";

    position:absolute;

    top:-7px;
    left:50%;

    width:40px;
    height:14px;

    transform:
    translateX(-50%)
    rotate(-6deg);

    background:
    rgba(255,245,185,.75);

}

/* ================= PREVIEW ================= */

.memory-preview{

    position:fixed;

    inset:0;

    display:none;

    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.85);

    z-index:999;

}

.memory-preview.show{

    display:flex;

}

.memory-preview img{

    max-width:90%;
    max-height:90%;

    border-radius:8px;

}

#closePreview{

    position:absolute;

    right:30px;
    top:20px;

    font-size:45px;

    color:white;

    cursor:pointer;

}

/* Continue */

#nextBtn8{

    display:block;

    margin:50px auto;

}

/* Mobile */

@media(max-width:900px){

.memory-grid{

    grid-template-columns:
    repeat(auto-fill,minmax(90px,1fr));

}

.memory-header h2{

    font-size:2.3rem;

}

}
/* ======================================================
                    SCREEN 9
====================================================== */

#screen9{

    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    background:
    radial-gradient(circle at top,
    #1b1b1b 0%,
    #0b0b0b 70%,
    #000 100%);

    overflow:hidden;

}

/* Background Glow */

.letter-bg{

    position:absolute;
    inset:0;

    background:
    radial-gradient(circle,
    rgba(255,255,255,.04),
    transparent 70%);

    animation:bgGlow 8s ease-in-out infinite;

}

@keyframes bgGlow{

0%,100%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

}

/* ==========================
        LETTER
========================== */

.letter-paper{

    width:760px;
    max-width:90%;

    height:78vh;

    background:#fffaf1;

    color:#333;

    border-radius:10px;

    padding:55px;

    box-shadow:
    0 35px 80px rgba(0,0,0,.55);

    transform:
    translateY(120px)
    rotate(.8deg);

    opacity:0;

    animation:
    letterEnter 1.6s ease forwards,
    floatLetter 5s ease-in-out infinite 1.6s;

    overflow:hidden;

    position:relative;

}

/* Paper Texture */

.letter-paper::before{

    content:"";

    position:absolute;
    inset:0;

    background:
    repeating-linear-gradient(

        transparent,

        transparent 29px,

        rgba(0,0,0,.03) 30px

    );

    pointer-events:none;

}

/* Slide Up */

@keyframes letterEnter{

to{

opacity:1;

transform:
translateY(0)
rotate(.3deg);

}

}

/* Floating */

@keyframes floatLetter{

0%,100%{

transform:
translateY(0)
rotate(.3deg);

}

50%{

transform:
translateY(-10px)
rotate(.3deg);

}

}

/* ==========================
        HEADER
========================== */

.letter-top{

    display:flex;

    justify-content:flex-end;

    margin-bottom:35px;

}

.letter-date{

    color:#777;

    font-size:1rem;

    font-style:italic;

}

/* ==========================
        BODY
========================== */

.letter-body{

    height:500px;

    overflow-y:auto;

    padding-right:10px;

}

.letter-body::-webkit-scrollbar{

    width:6px;

}

.letter-body::-webkit-scrollbar-thumb{

    background:#d2c6b8;

    border-radius:20px;

}

/* Typewriter */

#letterType{

    white-space:pre-line;

    color:#333;

    font-size:1.25rem;

    line-height:2.1;

    letter-spacing:.2px;

    font-family:
    "Georgia",
    serif;

}

/* Cursor */

#letterType::after{

    content:"";

    display:inline-block;

    width:2px;

    height:22px;

    background:#444;

    margin-left:3px;

    animation:cursorBlink .8s infinite;

    vertical-align:middle;

}

@keyframes cursorBlink{

50%{

opacity:0;

}

}

/* ==========================
        SIGNATURE
========================== */

.letter-sign{

    margin-top:35px;

    text-align:right;

    opacity:0;

    transition:1s;

}

.letter-sign.show{

    opacity:1;

}

.letter-sign p{

    color:#666;

    font-size:1rem;

    margin-bottom:8px;

}

.letter-sign h3{

    font-size:2rem;

    font-weight:400;

}

/* ==========================
        BUTTON
========================== */

#nextBtn9{

    margin-top:35px;

    opacity:0;

    pointer-events:none;

    transition:1s;

}

#nextBtn9.show{

    opacity:1;

    pointer-events:auto;

}

/* ==========================
        MOBILE
========================== */

@media(max-width:768px){

.letter-paper{

width:95%;
padding:30px;
height:82vh;

}

#letterType{

font-size:1rem;
line-height:1.8;

}

}