/* ========================= */
/* GLOBAL */
/* ========================= */

body{
background:#14080c;
color:white;
font-family:Poppins;
text-align:center;
overflow-x:hidden;
}

/* ========================= */
/* PAGE SECTIONS */
/* ========================= */

.page{
display:none;
padding:80px 20px 220px 20px;
max-width:1000px;
margin:auto;
}

#landing{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
gap:20px;
padding-bottom:200px; /* prevents overlap with preview buttons */
}

/* ========================= */
/* TITLE */
/* ========================= */

.main-title{
font-family:'Dancing Script',cursive;
font-size:3rem;
color:#ff5ca8;
margin-top:60px;
}

/* ========================= */
/* INTRO TEXT */
/* ========================= */

.intro-text{
max-width:520px;
margin:auto;
margin-top:20px;
opacity:0.9;
font-size:18px;
line-height:1.6;
}

/* ========================= */
/* MAIN IMAGE */
/* ========================= */

.main-img{
width:200px;
margin-top:30px;
}

/* ========================= */
/* BUTTON */
/* ========================= */

.primary-btn{
background:#ff2f80;
padding:14px 30px;
border-radius:40px;
border:none;
color:white;
font-weight:600;
margin-top:30px;
box-shadow:0 0 25px rgba(255,0,120,0.6);
cursor:pointer;
transition:0.3s;
}

.primary-btn:hover{
transform:translateY(-4px);
box-shadow:0 0 40px rgba(255,0,120,0.9);
}

/* ========================= */
/* REASON CARDS */
/* ========================= */

.reason-card{

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

max-width:400px;
margin:35px auto;

padding:35px 45px;

background:#1b0a10;
border-radius:24px;

box-shadow:
0 0 12px #ff2f80,
0 0 35px rgba(255,47,128,0.4);

gap:40px;

transition:0.3s;

}

.reason-card:hover{
transform:translateY(-5px);
box-shadow:
0 0 18px #ff2f80,
0 0 45px rgba(255,47,128,0.7);
}

/* alternate layout */

.reason-card:nth-child(even){
flex-direction:row-reverse;
}

.reason-card:nth-of-type(even){
flex-direction:row-reverse;
}

/* reason image */

.reason-card img{
width:150px;
height:auto;
border-radius:12px;
}

/* reason text */

.reason-card h3{
font-size:24px;
margin-bottom:10px;
}

.reason-card p{
font-size:17px;
line-height:1.6;
opacity:0.9;
}

/* ========================= */
/* PHOTO CARDS */
/* ========================= */

.photo-grid{

display:flex;
flex-wrap:wrap;
justify-content:center;
gap:35px;

margin-top:40px;

}

.photo-card{

background:#1a0a10;
padding:20px;

border-radius:18px;

width:210px;

box-shadow:0 0 20px rgba(255,50,120,0.4);

transition:0.3s;

}

.photo-card:hover{
transform:translateY(-5px);
box-shadow:0 0 35px rgba(255,50,120,0.7);
}

.photo-card img{
width:100%;
border-radius:15px;
}

.photo-card p{
margin-top:10px;
font-size:16px;
}

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

.letter-box{

max-width:600px;
margin:auto;

background:#1b0a10;

padding:40px;

border-radius:20px;

box-shadow:0 0 30px rgba(255,50,120,0.4);

font-size:18px;
line-height:1.7;

text-align:left;

}

/* ========================= */
/* MOBILE RESPONSIVE */
/* ========================= */

@media (max-width:768px){

.page{
padding:60px 15px 220px 15px;
}

.main-title{
font-size:2.2rem;
margin-top:30px;
}

.intro-text{
font-size:15px;
max-width:90%;
}

.main-img{
width:160px;
margin-top:20px;
}

.primary-btn{
padding:12px 26px;
font-size:15px;
margin-top:20px;
}

/* reason cards stack vertically */

.reason-card{

flex-direction:column !important;
text-align:center;

padding:25px 20px;
gap:18px;

max-width:95%;

}

.reason-card img{
width:70px;
}

.reason-card h3{
font-size:20px;
}

.reason-card p{
font-size:14px;
line-height:1.5;
}

/* photo cards */

.photo-grid{
gap:18px;
}

.photo-card{
width:150px;
padding:15px;
}

.photo-card p{
font-size:13px;
}

/* letter */

.letter-box{

max-width:650px;
margin:auto;

background:#1b0a10;

padding:45px;

border-radius:20px;

box-shadow:0 0 30px rgba(255,50,120,0.4);

text-align:left;

line-height:1.8;

font-size:18px;

}

/* spacing between paragraphs */

.letter-box p{
margin-bottom:16px;
}

@media (max-width:768px){

.letter-box{

padding:28px 22px;
letter-spacing:0.3px;
font-size:15px;

line-height:1.7;

}

}