/* ===========================
   RESET
=========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Pretendard',sans-serif;
background:#ffffff;
color:#222;
line-height:1.7;
overflow-x:hidden;

}

a{

text-decoration:none;
color:inherit;

}

ul{

list-style:none;

}

img{

max-width:100%;

}

/* ===========================
CONTAINER
=========================== */

.container{

width:90%;
max-width:1280px;
margin:auto;

}

/* ===========================
HEADER
=========================== */

header{

position:fixed;
top:0;
left:0;
width:100%;
padding:22px 0;
z-index:999;
transition:.4s;

}

header.scrolled{

background:white;
box-shadow:0 8px 30px rgba(0,0,0,.08);

}

header .container{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-size:34px;
font-weight:800;
letter-spacing:-1px;
color:white;

}

header.scrolled .logo{

color:#5b2ca0;

}

.logo span{

color:#8d4cff;

}

nav ul{

display:flex;
gap:40px;

}

nav a{

color:white;
font-weight:500;
transition:.3s;

}

header.scrolled nav a{

color:#333;

}

nav a:hover{

color:#8d4cff;

}

.btn{

padding:14px 28px;
border-radius:40px;
font-weight:700;
transition:.35s;

}

.btn.primary{

background:#8d4cff;
color:white;

}

.btn.secondary{

border:2px solid white;
color:white;

}

.btn:hover{

transform:translateY(-3px);

box-shadow:0 15px 30px rgba(141,76,255,.25);

}

/* ===========================
HERO
=========================== */

.hero{

height:100vh;

background:

linear-gradient(rgba(45,16,89,.65),

rgba(45,16,89,.65)),

url("https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?auto=format&fit=crop&w=2000&q=80");

background-size:cover;

background-position:center;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

position:relative;

color:white;

}

.hero-content{

z-index:5;

max-width:900px;

}

.hero h1{

font-size:72px;

line-height:1.1;

font-weight:800;

margin-bottom:30px;

}

.hero p{

font-size:22px;

opacity:.9;

margin-bottom:45px;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

}

.scroll{

position:absolute;

bottom:35px;

left:50%;

transform:translateX(-50%);

letter-spacing:4px;

font-size:12px;

opacity:.8;

animation:updown 1.8s infinite;

}

@keyframes updown{

0%{

transform:translate(-50%,0);

}

50%{

transform:translate(-50%,10px);

}

100%{

transform:translate(-50%,0);

}

}

/* ===========================
SECTION
=========================== */

.section{

padding:120px 0;

}

.gray{

background:#f7f8fc;

}

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title span{

display:inline-block;

color:#8d4cff;

font-weight:700;

letter-spacing:2px;

margin-bottom:15px;

}

.section-title h2{

font-size:48px;

margin-bottom:20px;

}

.section-title p{

font-size:18px;

color:#777;

}

/* ===========================
ABOUT
=========================== */

.about-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.about-card{

padding:45px;

border-radius:20px;

background:white;

box-shadow:0 10px 35px rgba(0,0,0,.05);

transition:.35s;

}

.about-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 50px rgba(141,76,255,.15);

}

.about-card h3{

font-size:28px;

margin-bottom:15px;

color:#5b2ca0;

}

/* ===========================
PRODUCTS
=========================== */

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.card{

background:white;

padding:45px 35px;

border-radius:22px;

text-align:center;

transition:.35s;

box-shadow:0 12px 35px rgba(0,0,0,.06);

}

.card:hover{

transform:translateY(-12px);

box-shadow:0 25px 60px rgba(141,76,255,.18);

}

.icon{

font-size:50px;

margin-bottom:20px;

}

.card h3{

font-size:28px;

margin-bottom:15px;

color:#5b2ca0;

}

.card p{

color:#777;

}

/* ===========================
WHY
=========================== */

.why-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.why-item{

background:white;

padding:45px;

border-radius:20px;

text-align:center;

box-shadow:0 12px 35px rgba(0,0,0,.05);

transition:.3s;

}

.why-item:hover{

transform:translateY(-10px);

}

.number-box{

width:70px;

height:70px;

margin:auto;

margin-bottom:25px;

background:linear-gradient(135deg,#6f39d9,#9d63ff);

color:white;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:24px;

font-weight:700;

}

/* ===========================
STATISTICS
=========================== */

.stats{

background:linear-gradient(135deg,#4f2288,#8d4cff);

padding:100px 0;

color:white;

}

.stats .container{

display:grid;

grid-template-columns:repeat(4,1fr);

text-align:center;

gap:20px;

}

.stat h2{

font-size:60px;

font-weight:800;

margin-bottom:10px;

}

.stat p{

font-size:18px;

opacity:.9;

}

/* ===========================
CONTACT
=========================== */

.contact{

background:#fafafa;

}

.contact-form{

max-width:700px;

margin:auto;

display:flex;

flex-direction:column;

gap:20px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

padding:18px;

border:1px solid #ddd;

border-radius:12px;

font-size:16px;

font-family:inherit;

transition:.3s;

}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

outline:none;

border-color:#8d4cff;

box-shadow:0 0 0 4px rgba(141,76,255,.12);

}

.submit-btn{

background:linear-gradient(135deg,#6f39d9,#9d63ff);

color:white;

padding:18px;

border:none;

border-radius:12px;

font-size:18px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.submit-btn:hover{

transform:translateY(-4px);

box-shadow:0 20px 40px rgba(111,57,217,.25);

}

/* ===========================
FOOTER
=========================== */

footer{

background:#17142a;

color:white;

padding:80px 0 30px;

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

gap:50px;

margin-bottom:50px;

}

.footer-grid h3{

font-size:32px;

margin-bottom:15px;

}

.footer-grid h4{

margin-bottom:20px;

}

.footer-grid li{

margin-bottom:12px;

color:#ccc;

}

.copyright{

text-align:center;

border-top:1px solid rgba(255,255,255,.1);

padding-top:25px;

color:#999;

}

/* ===========================
RESPONSIVE
=========================== */

@media(max-width:1024px){

.cards,
.about-grid,
.why-grid,
.stats .container{

grid-template-columns:repeat(2,1fr);

}

.hero h1{

font-size:54px;

}

}

@media(max-width:768px){

header nav{

display:none;

}

.hero{

padding:0 20px;

}

.hero h1{

font-size:42px;

}

.hero p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

}

.cards,
.about-grid,
.why-grid,
.stats .container,
.footer-grid{

grid-template-columns:1fr;

}

.section{

padding:80px 0;

}

.section-title h2{

font-size:34px;

}

.logo{

font-size:28px;

}

.btn{

padding:12px 22px;

}

}