*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}


body{
font-family:'Inter',sans-serif;
background:#fff;
color:#111;
overflow-x:hidden;
}

body{

    background:
    radial-gradient(
        circle at top left,
        rgba(124,58,237,.12),
        transparent 35%
    ),

    radial-gradient(
        circle at bottom right,
        rgba(168,85,247,.12),
        transparent 35%
    ),

    #ffffff;

}

/* Background Animation */

.blob{
position:fixed;
border-radius:50%;
filter:blur(120px);
z-index:-1;
opacity:.5;
}

.blob1{
width:300px;
height:300px;
background:#ddd;
top:10%;
left:5%;
animation:float1 10s infinite ease-in-out;
}

.blob2{
width:400px;
height:400px;
background:#f1f1f1;
right:5%;
bottom:10%;
animation:float2 12s infinite ease-in-out;
}

@keyframes float1{
50%{
transform:translateY(-50px);
}
}

@keyframes float2{
50%{
transform:translateY(50px);
}
}

/* Navbar */

.navbar{
position:fixed;
top:20px;
left:50%;
transform:translateX(-50%);
width:90%;
max-width:1200px;

display:flex;
justify-content:space-between;
align-items:center;

padding:20px 30px;

background:rgba(255,255,255,.8);
backdrop-filter:blur(20px);

border-radius:60px;

z-index:999;
}



.navbar a{
text-decoration:none;
color:#111;
font-weight:500;
}

/* Hero */

.hero{
min-height:100vh;

display:flex;
align-items:center;

padding:0 10%;
}

.hero h1{
font-size:clamp(4rem,10vw,8rem);
font-weight:900;
line-height:.9;
letter-spacing:-5px;
}

.hero h1 span{
color:#888;
}

.hero-text{
margin-top:25px;
max-width:600px;
font-size:20px;
color:#666;
}

.hero-btns{
margin-top:40px;
display:flex;
gap:15px;
}

.btn{
padding:16px 35px;
border-radius:50px;
text-decoration:none;
transition:.3s;
}

.btn-dark{
background:#111;
color:white;
}

.btn-light{
border:1px solid #ddd;
color:#111;
}

.btn:hover{
transform:translateY(-4px);
}

/* Marquee */

.marquee{
overflow:hidden;
border-top:1px solid #eee;
border-bottom:1px solid #eee;
padding:20px 0;
white-space:nowrap;
}

.marquee-content{
display:inline-block;
font-size:30px;
font-weight:700;
animation:marquee 20s linear infinite;
}

@keyframes marquee{
from{
transform:translateX(0);
}
to{
transform:translateX(-50%);
}
}

/* Sections */

.container{
max-width:1200px;
margin:auto;
padding:120px 20px;
}

.section-title{
font-size:60px;
margin-bottom:50px;
font-weight:800;
}

/* Services */

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
}

.card{
padding:40px;
border:1px solid #eee;
border-radius:30px;
transition:.4s;
}

.card:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.card span{
font-size:60px;
font-weight:900;
color:#ddd;
}

/* Portfolio */

.portfolio-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:25px;
}

.work{
overflow:hidden;
border-radius:30px;
}

.work img{
width:100%;
display:block;
transition:.6s;
}

.work:hover img{
transform:scale(1.08);
}

/* Contact */

.contact-box{
max-width:1200px;
margin:auto;

background:#111;
color:white;

padding:100px 40px;

border-radius:40px;

text-align:center;
}

.contact-box h2{
font-size:60px;
}

.contact-box p{
margin:20px 0;
color:#bbb;
}

.contact-box a{
display:inline-block;
padding:18px 35px;
background:white;
color:#111;
text-decoration:none;
border-radius:50px;
font-weight:700;
}

/* Footer */

footer{
padding:40px;
text-align:center;
color:#999;
}

.reveal{
    opacity:0;
    transform:translateY(80px);
    transition:all .8s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    padding:100px 10%;
}

.stat{
    text-align:center;
}

.stat h3{
    font-size:5rem;
    font-weight:900;
}

.cursor-glow{

    position:fixed;

    width:250px;
    height:250px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(0,0,0,.08),
        transparent
    );

    pointer-events:none;

    z-index:-1;

    transform:
    translate(-50%,-50%);
}




/* =========================
   TABLET
========================= */

@media (max-width: 991px){

    .navbar{
        padding:15px 20px;
    }

    .navbar ul{
        gap:15px;
    }

    .hero{
        padding:0 30px;
        text-align:center;
    }

    .hero-content{
        width:100%;
    }

    .hero h1{
        font-size:clamp(3rem,10vw,5rem);
    }

    .hero-text{
        margin:auto;
        margin-top:20px;
        font-size:18px;
    }

    .hero-btns{
        justify-content:center;
    }

    .section-title{
        font-size:42px;
    }

    .contact-box h2{
        font-size:42px;
    }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px){

    body{
        overflow-x:hidden;
    }

    /* Navbar */

    .navbar{

        width:95%;

        padding:15px 20px;

       /* flex-direction:column;*/

        gap:10px;

        border-radius:25px;
    }

    .navbar ul{

        flex-wrap:wrap;

        justify-content:center;

        gap:12px;
    }

    .navbar a{
        font-size:14px;
    }

    /* Hero */

    .hero{

        min-height:100vh;

        text-align:center;

        padding:120px 25px 80px;
    }

    .hero-subtitle{
        font-size:12px;
        letter-spacing:2px;
    }

   
    .hero h1{

    font-size:clamp(4rem,10vw,8rem);

    font-weight:900;

    background:
    linear-gradient(
        135deg,
        #111,
        #7c3aed
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

    .hero-text{

        font-size:16px;

        margin-top:20px;
    }

    .hero-btns{

        flex-direction:column;

        margin-top:30px;
    }

    .btn{

        width:100%;

        text-align:center;
    }

    /* Marquee */

    .marquee-content{
        font-size:18px;
    }

    /* Section */

    .container{
        padding:80px 20px;
    }

    .section-title{

        font-size:2.2rem;

        margin-bottom:35px;
    }

    /* Services */

    .service-grid{
        grid-template-columns:1fr;
    }

    .card{
        padding:30px;
    }

    .card span{
        font-size:50px;
    }

    /* Portfolio */

    .portfolio-grid{
        grid-template-columns:1fr;
    }

    .work img{
        height:auto;
    }

    /* Stats */

    .stats{

        grid-template-columns:1fr;

        gap:40px;
    }

    .stat h3{
        font-size:3rem;
    }

    /* Contact */

    .contact-box{

        padding:60px 25px;

        border-radius:25px;
    }

    .contact-box h2{

        font-size:2rem;

        line-height:1.2;
    }

    .contact-box p{
        font-size:15px;
    }

    .contact-box a{

        width:100%;

        text-align:center;
    }

    /* Footer */

    footer{
        font-size:14px;
    }

    /* Blob Effect */

    .blob1,
    .blob2{
        width:180px;
        height:180px;
    }

}

/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 480px){

    .hero h1{
       /* font-size:2.4rem;*/
    }

    .hero-text{
        font-size:15px;
    }

    .section-title{
        font-size:1.8rem;
    }

    .contact-box h2{
        font-size:1.8rem;
    }

    .stat h3{
        font-size:2.5rem;
    }

}

.btn-dark{

    background:
    linear-gradient(135deg, #46316b, #855bad);

    color:white;

    border:none;

    box-shadow:
    0 15px 40px rgba(124,58,237,.25);

}

.btn-dark:hover{

    transform:
    translateY(-5px);

    box-shadow:
    0 25px 60px rgba(124,58,237,.35);

}

.card{

    background:
    rgba(255,255,255,.8);

    backdrop-filter:blur(15px);

    border:
    1px solid rgba(124,58,237,.08);

}

.card:hover{

    border-color:#7c3aed;

}

.card span{

    color:#7c3aed;

    opacity:.12;

}

.contact-box a{

    background:white;

    color:#7c3aed;

    font-weight:700;

}

.marquee{

    background:
    linear-gradient(90deg, #6b6870, #dabff4);

    color:white;

}

.blob1{
    background:#7c3aed;
}

.blob2{
    background:#c084fc;
}

.section-desc{
    color:#64748b;
    margin-bottom:50px;
    font-size:18px;
}

.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
    gap:30px;
}

.work-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:30px;
    overflow:hidden;
    transition:.4s;
}

.work-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.work-image{
    overflow:hidden;
}

.work-image img{
    width:100%;
    height:250px;
    object-fit:cover;
    transition:.5s;
}

.work-card:hover img{
    transform:scale(1.05);
}

.work-content{
    padding:25px;
}

.work-tag{
    display:inline-block;
    padding:6px 14px;
    border-radius:50px;
    background:#ede9fe;
    color:#7c3aed;
    font-size:13px;
    font-weight:600;
    margin-bottom:15px;
}

.work-content h3{
    margin-bottom:15px;
    font-size:24px;
}

.work-content p{
    color:#64748b;
    line-height:1.7;
    margin-bottom:20px;
}

.work-content ul{
    list-style:none;
    margin-bottom:25px;
}

.work-content ul li{
    margin-bottom:8px;
    color:#334155;
}

.work-btn{
    display:inline-block;
    padding:12px 24px;
    border-radius:50px;
    background:linear-gradient(135deg, #614592, #8967aa);
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.about{
    padding:120px 0;
}

.about-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:60px;
    align-items:center;
}

.about-label{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(124,58,237,.1);

    color:#7c3aed;

    font-size:14px;

    font-weight:700;

    margin-bottom:20px;
}

.about .section-title{

    font-size:3.5rem;

    line-height:1.1;

    margin-bottom:25px;
}

.about-text{

    font-family:'Anuphan',sans-serif;

    color:#64748b;

    font-size:18px;

    line-height:1.9;

    margin-bottom:30px;
}

.skill-tags{

    display:flex;

    flex-wrap:wrap;

    gap:12px;
}

.skill-tags span{

    padding:10px 18px;

    border-radius:50px;

    background:#fff;

    border:1px solid #e5e7eb;

    font-weight:600;
}

.about-cards{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;
}

.about-card{

    background:white;

    padding:35px;

    border-radius:25px;

    border:1px solid #eee;

    text-align:center;

    transition:.4s;
}

.about-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(124,58,237,.12);
}

.about-card h3{

    font-size:3rem;

    color:#8360c0;

    margin-bottom:10px;
}

.about-card p{

    color:#64748b;
}

/* Mobile */

@media(max-width:768px){

    .about-grid{
        grid-template-columns:1fr;
    }

    .about .section-title{
        font-size:2.3rem;
    }

    .about-cards{
        grid-template-columns:1fr;
    }

}

#loader{

    position:fixed;
    inset:0;

    background:#0f172a;

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:99999;

    transition:1s;
}

.loader-content{
    text-align:center;
}

.loader-content h1{

    font-size:4rem;

    font-weight:900;

    letter-spacing:5px;

    background:linear-gradient(
        135deg,
        #fff,
        #a855f7
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.loader-content p{

    margin-top:20px;

    color:#94a3b8;

    letter-spacing:2px;

    text-transform:uppercase;
}

.loader-line{

    width:250px;

    height:3px;

    background:rgba(255,255,255,.08);

    margin:25px auto;

    border-radius:50px;

    overflow:hidden;
}

.loader-line span{

    display:block;

    height:100%;

    width:40%;

    background:linear-gradient(
        90deg,
        #7c3aed,
        #c084fc
    );

    animation:loaderMove 1.5s infinite;
}

@keyframes loaderMove{

    from{
        transform:translateX(-150%);
    }

    to{
        transform:translateX(400%);
    }

}
```css
.pricing{
    padding:120px 0;
}

.pricing-label{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(124,58,237,.1);

    color:#7c3aed;

    font-size:14px;

    font-weight:700;

    margin-bottom:20px;
}

.pricing-desc{

    color:#64748b;

    margin-bottom:50px;

    max-width:700px;
}

.pricing-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;
}

.pricing-card{

    position:relative;

    background:white;

    border:1px solid #eee;

    border-radius:30px;

    padding:40px;

    transition:.4s;
}

.pricing-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 25px 50px rgba(124,58,237,.15);
}

.featured{

    border:2px solid #7c3aed;

    transform:scale(1.03);
}

.badge{

    position:absolute;

    top:20px;
    right:20px;

    padding:6px 14px;

    border-radius:30px;

    background:#7c3aed;

    color:white;

    font-size:12px;

    font-weight:700;
}

.pricing-card h3{

    font-size:1.6rem;

    margin-bottom:20px;
}

.price{

    font-size:2rem;

    font-weight:900;

    color:#6a578a;

    margin-bottom:25px;
}

.pricing-card ul{

    list-style:none;
}

.pricing-card li{

    padding:10px 0;

    color:#475569;

    border-bottom:1px solid #f1f5f9;
}

.pricing-card li:last-child{
    border:none;
}

@media(max-width:768px){

    .featured{
        transform:none;
    }

    .price{
        font-size:2.3rem;
    }

}

.sold-text{
    margin-top:15px;
    font-size:14px;
    font-weight:600;
    color:#7c3aed;
    letter-spacing:.3px;
}

.contact-box{
    text-align:center;
}

.contact-buttons{
    margin-top:30px;
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

/* base button */
.contact-buttons .btn{
    padding:14px 25px;
    border-radius:50px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
    min-width:140px;
}

/* FACEBOOK */
.btn.fb{
    background:#1877f2;
    color:white;
    box-shadow:0 10px 25px rgba(24,119,242,.3);
}

.btn.fb:hover{
    transform:translateY(-5px);
}

/* LINE */
.btn.line{
    background:#00c300;
    color:white;
    box-shadow:0 10px 25px rgba(0,195,0,.25);
}

.btn.line:hover{
    transform:translateY(-5px);
}

/* FASTWORK */
.btn.fastwork{
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:white;
    box-shadow:0 10px 25px rgba(124,58,237,.25);
}

.btn.fastwork:hover{
    transform:translateY(-5px);
}


.menu-toggle{
    display:none;
    font-size:28px;
    cursor:pointer;
}

.menu-toggle{
    display:none;
    font-size:30px;
    cursor:pointer;
    font-weight:bold;
}

.nav-menu{
    display:flex;
    gap:30px;
    list-style:none;
}

@media(max-width:768px){

    .navbar{
        flex-wrap:wrap;
    }

    .menu-toggle{
        display:block;
    }

    .nav-menu{

        display:none;

        width:100%;

        flex-direction:column;

        gap:15px;

        margin-top:20px;

        text-align:center;
    }

    .nav-menu.active{
        display:flex;
    }

}

