@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:Inter,sans-serif;
color:#f8f6f1;

background:
linear-gradient(
rgba(6,23,17,.55),
rgba(10,34,26,.65)
),
url("../assets/flower-bg.webp");

background-size:cover;
background-position: 70% center;
background-repeat:no-repeat;
background-attachment:fixed;

min-height:100vh;
overflow-x:hidden;
position:relative;

}
.bg-image{

position:fixed;
inset:0;

background:url("../assets/flower-bg.webp");
background-size:cover;
background-position:center;

filter:blur(10px);
transform:scale(1.05);

opacity:.45;

z-index:-3;

}
@media (max-width:768px){

body{

background-position: 80% center;

}

}
/* BACKGROUND GLOW */

body::before{

content:"";

position:fixed;

width:800px;
height:800px;

top:-350px;
right:-250px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(255,255,255,.05),
transparent 70%
);

filter:blur(120px);

z-index:-1;

}

body::after{

content:"";

position:fixed;

width:700px;
height:700px;

bottom:-250px;
left:-250px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(255,255,255,.04),
transparent 70%
);

filter:blur(120px);

z-index:-1;

}

a{
text-decoration:none;
color:inherit;
}

/* ========================= */
/* NAVBAR */
/* ========================= */

nav{

width:94%;
max-width:1700px;

margin:24px auto;

padding:24px 38px;

display:flex;
justify-content:space-between;
align-items:center;

background:
rgba(255,255,255,.025);

border:
1px solid rgba(255,255,255,.06);

backdrop-filter:
blur(24px);

border-radius:32px;

}

.logo{

font-family:
Inter,
sans-serif;

font-size:36px;

font-weight:700;

letter-spacing:-1px;
background:linear-gradient(
90deg,
#ffffff,
#d9d2c3
);

background-clip:text;
-webkit-background-clip:text;

color:transparent;
-webkit-text-fill-color:transparent;

}
.nav-links{

display:flex;
align-items:center;
gap:20px;

}

.nav-links a{

font-weight:600;

}

.btn{

background:#f4efe5;

color:#0f231c;

padding:16px 30px;

border-radius:999px;

font-weight:700;

transition:.3s;

}

.btn:hover{

transform:translateY(-3px);

}

/* ========================= */
/* HERO */
/* ========================= */

.hero{

display:flex;

justify-content:center;
align-items:center;

padding:80px 8%;

}

.glass{

max-width:760px;

padding:60px;

border-radius:36px;

background:
rgba(255,255,255,.025);

border:
1px solid rgba(255,255,255,.06);

backdrop-filter:
blur(20px);

box-shadow:
0 20px 60px rgba(0,0,0,.25);

position:relative;

overflow:hidden;

}

.glass::before{

content:"";

position:absolute;

width:400px;
height:400px;

top:-200px;
right:-200px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(255,255,255,.06),
transparent 70%
);

}

.small{

font-size:12px;

font-weight:600;

letter-spacing:6px;

text-transform:uppercase;

color:
rgba(255,255,255,.55);

margin-bottom:24px;

}

h1{

font-family:
"Playfair Display",
serif;

font-size:
clamp(62px,6vw,96px);

font-weight:600;

line-height:.95;

letter-spacing:-2px;

max-width:700px;

}

.description{

font-size:20px;

line-height:1.8;

margin-top:24px;

max-width:620px;

color:
rgba(255,255,255,.75);

}

.hero-btn{

display:inline-flex;

align-items:center;
justify-content:center;

padding:18px 36px;

margin-top:36px;

background:linear-gradient(
180deg,
#e7a35f,
#c97735
);

color:#fff;

font-weight:700;

border-radius:999px;

box-shadow:
0 12px 35px rgba(233,154,81,.35);

transition:.3s;

}

.hero-btn:hover{

transform:translateY(-4px);

box-shadow:
0 18px 45px rgba(233,154,81,.45);

}

/* ========================= */
/* SECTIONS */
/* ========================= */

.section-divider{

width:120px;
height:1px;

background:
rgba(255,255,255,.15);

margin:80px auto;

}

.templates{
padding:100px 8% 50px;
}

.flow{
padding:60px 8% 100px;
}

.templates h2,
.flow h2{

font-family:
"Playfair Display",
serif;

font-size:56px;

font-weight:600;

margin-bottom:40px;

}

/* ========================= */
/* CARDS */
/* ========================= */

.cards{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:24px;

}

.card{

padding:36px;

border-radius:30px;

background:
rgba(255,255,255,.025);

border:
1px solid rgba(255,255,255,.06);

backdrop-filter:
blur(20px);

transition:.35s;


}

.card h3{

font-size:28px;

font-weight:700;

margin-bottom:12px;

}

.card p{

line-height:1.8;

color:
rgba(255,255,255,.72);

}

.card:hover{

transform:translateY(-8px);
border-color:rgba(255,255,255,.15);

}

/* ========================= */
/* STEPS */
/* ========================= */

.steps{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(220px,1fr));

gap:20px;

}

.steps div{

padding:26px;

border-radius:24px;

background:
rgba(255,255,255,.025);

border:
1px solid rgba(255,255,255,.06);

font-weight:600;

transition:.3s;

}

.steps div:hover{

transform:
translateY(-5px);

}

/* ========================= */
/* FOOTER */
/* ========================= */

footer{

padding:70px 20px;

text-align:center;

color:
rgba(255,255,255,.55);

}

/* ========================= */
/* MOBILE */
/* ========================= */

@media(max-width:900px){

.logo{

font-size:30px;

letter-spacing:4px;

}

nav{

padding:18px 24px;

}

.glass{

padding:40px 28px;

}

h1{

font-size:58px;

line-height:1;

}

.description{

font-size:18px;

}

.hero-btn{

width:100%;

}

.templates h2,
.flow h2{

font-size:42px;

}

}
.glass,
.card,
.steps div{

animation:fadeUp .8s ease forwards;

}

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(30px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* ========================= */
/* PREMIUM UPGRADE */
/* ========================= */

.glass{

background:
linear-gradient(
180deg,
rgba(255,255,255,.035),
rgba(255,255,255,.02)
);

}

/* ========================= */
/* SECTION POLISH */
/* ========================= */

.templates,
.flow{

max-width:1600px;

margin:auto;

}

.templates h2,
.flow h2{

position:relative;

display:inline-block;

}

.templates h2::after,
.flow h2::after{

content:"";

position:absolute;

left:0;
bottom:-12px;

width:80px;
height:2px;

background:
rgba(255,255,255,.18);

}

/* ========================= */
/* TEMPLATE CARDS */
/* ========================= */

.card{

position:relative;

overflow:hidden;

box-shadow:
0 10px 30px rgba(0,0,0,.12);

}

.card::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:2px;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.45),
transparent
);

}

.card:hover{

transform:
translateY(-10px);

background:
rgba(255,255,255,.04);

border-color:
rgba(255,255,255,.15);

box-shadow:
0 20px 50px rgba(0,0,0,.25);

}

/* ========================= */
/* HOW IT WORKS */
/* ========================= */

.step{

min-height:120px;

display:flex;
flex-direction:column;
justify-content:flex-end;

position:relative;

overflow:hidden;

}

.step::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:2px;

background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.35),
transparent
);

}

.step span{

display:block;

font-size:13px;

font-weight:700;

letter-spacing:2px;

opacity:.55;

margin-bottom:10px;

}

.step h3{

font-size:28px;

font-weight:700;

line-height:1.1;

}

.step:hover{

transform:
translateY(-8px);

background:
rgba(255,255,255,.04);

border-color:
rgba(255,255,255,.12);

}

/* ========================= */
/* BUTTONS */
/* ========================= */

.hero-btn,
.btn{

box-shadow:
0 10px 30px rgba(0,0,0,.15);

}

.hero-btn:hover,
.btn:hover{

box-shadow:
0 20px 50px rgba(255,255,255,.08);

}

/* ========================= */
/* FOOTER */
/* ========================= */

footer{

margin-top:80px;

padding:80px 20px;

border-top:
1px solid rgba(255,255,255,.06);

}

/* ========================= */
/* STAGGER ANIMATION */
/* ========================= */

.card:nth-child(1){
animation-delay:.1s;
}

.card:nth-child(2){
animation-delay:.2s;
}

.card:nth-child(3){
animation-delay:.3s;
}

.step:nth-child(1){
animation-delay:.1s;
}

.step:nth-child(2){
animation-delay:.2s;
}

.step:nth-child(3){
animation-delay:.3s;
}

.step:nth-child(4){
animation-delay:.4s;
}

.step:nth-child(5){
animation-delay:.5s;
}

/* ========================= */
/* MOBILE FIX */
/* ========================= */

@media screen and (max-width: 768px){

nav{
    width:95%;
    padding:16px;
    flex-wrap:wrap;
    gap:12px;
}

.logo{
    font-size:22px;
    letter-spacing:1px;
}

.nav-links{
    width:100%;
    justify-content:center;
    gap:12px;
}

.btn{
    padding:12px 20px;
    font-size:14px;
}

.hero{
    padding:40px 20px;
}

.glass{
    width:100%;
    padding:30px 20px;
    border-radius:24px;
}

.small{
    font-size:10px;
    letter-spacing:3px;
}

h1{
    font-size:42px;
    line-height:1.05;
    letter-spacing:-1px;
}

.description{
    font-size:16px;
    line-height:1.7;
}

.hero-btn{
    width:100%;
    text-align:center;
}

.templates,
.flow{
    padding-left:20px;
    padding-right:20px;
}

.templates h2,
.flow h2{
    font-size:34px;
}

.cards{
    grid-template-columns:1fr;
}

.steps{
    grid-template-columns:1fr;
}

.card,
.step{
    padding:24px;
}

body{
    overflow-x:hidden;
}

}
.menu-toggle{
    display:none;
    background:none;
    border:none;
    color:white;
    font-size:32px;
    cursor:pointer;
}

@media (max-width:768px){

nav{
    padding:18px 24px;
}

.menu-toggle{
    display:block;
}

.nav-links{
    display:none;
    width:100%;
    flex-direction:column;
    margin-top:20px;
    gap:16px;
}

.nav-links.active{
    display:flex;
}

.logo{
    font-size:28px;
}

}
@media (max-width:768px){

.menu-toggle{
    display:block;
    background:none;
    border:none;
    color:#fff;
    font-size:32px;
    cursor:pointer;
}

.nav-links{
    max-height:0;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    width:100%;

    gap:16px;

    opacity:0;

    transition:
    max-height .4s ease,
    opacity .3s ease,
    margin-top .3s ease;

    margin-top:0;
}

.nav-links.active{
    max-height:300px;
    opacity:1;
    margin-top:20px;
}

}
.nav-links{
    transform:translateY(-15px);
}

.nav-links.active{
    transform:translateY(0);
}
.floating-blur{
position:fixed;
border-radius:50%;
filter:blur(100px);
pointer-events:none;
z-index:-1;
animation:float 12s ease-in-out infinite;
}

.blur-1{
width:300px;
height:300px;
background:rgba(255,220,180,.12);
top:10%;
left:-100px;
}

.blur-2{
width:400px;
height:400px;
background:rgba(255,190,200,.08);
bottom:-150px;
right:-100px;
animation-delay:2s;
}

.blur-3{
width:250px;
height:250px;
background:rgba(255,255,255,.05);
top:50%;
right:20%;
animation-delay:4s;
}

@keyframes float{

0%,100%{
transform:translateY(0);
}

50%{
transform:translateY(-30px);
}

}
.hero-btn{
position:relative;
overflow:hidden;
}

.hero-btn::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:50%;
height:100%;
background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.35),
transparent
);
transition:.8s;
}

.hero-btn:hover::before{
left:150%;
}
/* Chrome, Edge, Safari */
::-webkit-scrollbar{
display:none;
}

/* Firefox */
html{
scrollbar-width:none;
}

/* IE */
body{
-ms-overflow-style:none;
}

/* --- PAG-AAYOS NG LEGAL PAGES (ABOUT/PRIVACY/TERMS) --- */
.legal-container {
    max-width: 900px;
    margin: 40px auto;
    padding: 60px;
    color: #f8f6f1;
}

.legal-container h1 {
    font-family: "Playfair Display", serif;
    font-size: 48px;
    margin-bottom: 30px;
}

.legal-container h2 {
    font-family: "Playfair Display", serif;
    font-size: 28px;
    margin-top: 30px;
    margin-bottom: 15px;
    color: #e7a35f; /* Accent color mo */
}

.legal-container p {
    font-size: 18px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 20px;
}

.legal-container ul {
    margin-left: 20px;
    margin-bottom: 20px;
}

.legal-container li {
    font-size: 18px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
}