/*
================================================
YOTSAWAT.COM
GeneratePress Child Theme
Version : 1.0
================================================
*/

/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Inter",sans-serif;
    color:#111;
    background:#fff;
    line-height:1.6;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
    text-decoration:none;
}

/* ==========================================
   HEADER
========================================== */

.site-header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

    background:transparent;

    transition:.35s ease;

}

.site-header.header-scrolled{

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.94),
            rgba(248,248,248,.94)
        );

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    border-bottom:1px solid #efefef;

}

.inside-header{
    background:transparent !important;
}

/* ==========================================
   NAVIGATION
========================================== */

/* Navigation Background */

.main-navigation{
    background:transparent !important;
}

/* ==========================================
   HERO MENU
========================================== */

.main-navigation .main-nav ul li a,
.main-navigation .menu > li > a{

    color:#fff;
    transition:.3s;

}

/* ==========================================
   SCROLL MENU
========================================== */

.site-header.header-scrolled .main-navigation .main-nav ul li a,
.site-header.header-scrolled .main-navigation .menu > li > a{

    color:#111 !important;

}

.site-header.header-scrolled .main-navigation .main-nav ul li a:hover,
.site-header.header-scrolled .main-navigation .menu > li > a:hover{

    color:#666 !important;

}

/* ==========================================
   SUB MENU
========================================== */

.site-header.header-scrolled .main-navigation .main-nav ul ul li a{

    color:#111 !important;

}

.site-header.header-scrolled .main-navigation .main-nav ul ul li a:hover{

    color:#666 !important;

}

/* ==========================================
   MOBILE MENU BUTTON
========================================== */

.site-header.header-scrolled .main-navigation .menu-toggle,
.site-header.header-scrolled .main-navigation .menu-toggle *{

    color:#111 !important;

}

/* ==========================================
   MOBILE MENU PANEL
========================================== */

.main-navigation.toggled,
.main-navigation.toggled .inside-navigation,
.main-navigation.toggled .main-nav{

    background:rgba(255,255,255,.96) !important;

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

}

.main-navigation.toggled .main-nav ul li a{

    color:#666 !important;

}

.main-navigation.toggled .main-nav ul li a:hover{

    color:#fff !important;

}

/* ==========================================
   HERO
========================================== */

.hero{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;

}

.hero-image{

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero-content{

    position:absolute;

    top:77%;

    left:50%;

    transform:translateX(-50%);

    text-align:center;

    color:#fff;

    width:90%;
	
	z-index:2;

}

.hero-content h1{

    font-size:39px;

    font-weight:300;

    margin-bottom:15px;

}

.hero-content h2{

    font-size:22px;

    font-weight:300;

    margin-top:20px;

    color:#fff;

}

.hero-content p{

    font-size:15px;

    margin-bottom:15px;

}

.hero-button{

    position:absolute;

    left:50%;

    bottom:32px;

    transform:translateX(-50%);

    display:inline-block;

    padding:16px 40px;

    background:#fff;

    color:#111;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

    z-index:10;

}

.hero-button:hover{

    background:#111;

    color:#fff;

}
.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.05);

}

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

@media (max-width:768px){

.hero-content h1{

    font-size:42px;

}

.hero-content p{

    font-size:18px;

}

.hero-button{

    padding:14px 28px;

}

}
/* ==========================
   MENU
========================== */

.main-navigation {

    width: 100%;

}

.main-nav {

    display: flex;

    justify-content: center;

}

.main-nav ul {

    justify-content: center;

}

/* ==========================
   intro
========================== */
.intro{

    position:relative;

    overflow:hidden;

    padding:140px 30px;

    text-align:center;

    background:
        radial-gradient(circle at top left,
        rgba(255,70,0,.08),
        transparent 35%),

        radial-gradient(circle at bottom right,
        rgba(255,180,0,.05),
        transparent 40%),

        linear-gradient(
        180deg,
        #ffffff 0%,
        #fafafa 55%,
        #f3f3f3 100%);

}

.intro::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(255,80,0,.08),
    transparent 70%);

    top:-350px;

    left:-250px;

}

.intro::after{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(255,170,0,.05),
    transparent 70%);

    right:-250px;

    bottom:-250px;

}

.intro .container{

    max-width:760px;

    margin:auto;

    background:transparent;

    box-shadow:none;

    position:relative;

    z-index:5;

}

.intro h2{

    font-size:39px;

    font-weight:300;

    margin-bottom:30px;

}

.intro h2 span{

    font-weight:500;

    letter-spacing:1px;

}

.intro p{

    font-size:22px;

    line-height:1.8;

    color:#555;

    margin-bottom:50px;

}

.btn{

    display:inline-block;

    padding:16px 40px;

    border:2px solid #111;

    border-radius:50px;

    color:#111;

    transition:.3s;

}

.btn:hover{

    background:#111;

    color:#fff;

}

/* ==========================================
   SERVICES
========================================== */

.services{

    padding:140px 30px;

    background:
        radial-gradient(
            circle at top center,
            rgba(255,255,255,.95),
            transparent 45%
        ),

        linear-gradient(
            180deg,
            #ffffff 0%,
            #fafafa 25%,
            #f5f5f5 60%,
            #f1f1f1 100%
        );

}
.services .container{

    background:transparent;

    max-width:1200px;

    margin:auto;

}

.services h2{

    text-align:center;

    font-size:52px;

    font-weight:300;

    margin-bottom:80px;

}

.service-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

}

.service-card{

    padding:45px;

    border:1px solid #e9e9e9;

    border-radius:24px;

    background:#fff;

    transition:.35s;

}

.service-card:hover{

    transform:translateY(-8px);

    border-color:#111;

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

}

.service-card h3{

    font-size:32px;

    font-weight:600;

    margin-bottom:25px;

}

.service-card p{

    color:#666;

    line-height:1.9;

    margin-bottom:35px;

}

.service-card a{

    display:inline-block;

    font-weight:600;

    color:#111;

}

.service-card a:hover{

    color:#c40000;

}

/* ==========================================
   CONTACT CTA
========================================== */

.contact-cta{

    position:relative;

    overflow:hidden;

    padding:140px 30px;

    text-align:center;

    background:
        radial-gradient(circle at top right,
        rgba(255,90,0,.08),
        transparent 35%),

        radial-gradient(circle at bottom left,
        rgba(255,190,0,.06),
        transparent 40%),

        linear-gradient(
        180deg,
        #ffffff 0%,
        #fafafa 100%);

}

.contact-cta .container{

    background:transparent;

    max-width:760px;

    margin:auto;

    position:relative;

    z-index:2;

}

.contact-cta h2{

    font-size:56px;

    font-weight:300;

    color:#111;

    margin-bottom:30px;

}

.contact-cta p{

    color:#555;

    font-size:22px;

    line-height:1.8;

    margin-bottom:50px;

}

.contact-cta .btn{

    display:inline-block;

    padding:18px 44px;

    border:2px solid #111;

    border-radius:50px;

    background:transparent;

    color:#111;

    font-weight:600;

    transition:.3s;

}

.contact-cta .btn:hover{

    background:#111;

    color:#fff;

}

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

@media (max-width:991px){

    .service-grid{

        grid-template-columns:1fr;

    }

    .services h2{

        font-size:40px;

    }

    .contact-cta h2{

        font-size:42px;

    }

}

@media (max-width:768px){

    .services{

        padding:90px 20px;

    }

    .contact-cta{

        padding:90px 20px;

    }

    .service-card{

        padding:35px;

    }

    .service-card h3{

        font-size:28px;

    }

    .contact-cta p{

        font-size:18px;

    }

}

/* ==========================================
   FOOTER
========================================== */

.footer{

    padding:90px 30px;

    background:#111;

    text-align:center;

}

.footer .container{
    
	background:transparent;
   
   max-width:1200px;

    margin:auto;

}

.footer h2{

    color:#fff;

    font-size:42px;

    font-weight:300;

    letter-spacing:2px;

    margin-bottom:20px;

}

.footer p{

    color:#9a9a9a;

    font-size:22px;

    font-weight:300;

    margin-bottom:50px;

}

.footer small{

    color:#666;

    font-size:14px;

    letter-spacing:1px;

}

@media (max-width:768px){

    .footer{

        padding:70px 20px;

    }

    .footer h2{

        font-size:32px;

    }

    .footer p{

        font-size:18px;

    }

}