
/* RESET */

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

html{
scroll-behavior:smooth;
}

:root{
--bg:#ffffff;
--card:#f5f5f5;
--text:#111111;
--soft:#777777;
--border:rgba(0,0,0,.08);
}

body.dark{
--bg:#1d2129;
--card:#0b0b0b;
--text:#ffffff;
--soft:#9d9d9d;
--border:rgba(255,255,255,.08);
}

body{
font-family:'Inter',sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.7;
overflow-x:hidden;
transition:.3s;
}

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

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

.container{
width:100%;
max-width:1280px;
margin:auto;
padding-inline:24px;
}

/* HEADER */

.main-header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;
background:rgba(255,255,255,.8);
backdrop-filter:blur(12px);
border-bottom:1px solid var(--border);
}

body.dark .main-header{
background:rgba(0,0,0,.8);
}

.header-wrap{
height:74px;
display:flex;
align-items:center;
justify-content:space-between;
}

.left-nav{
display:flex;
align-items:center;
gap:20px;
}

.logo{
font-size:28px;
font-weight:700;
letter-spacing:2px;
}

.desktop-nav{
display:flex;
gap:34px;
}

.desktop-nav a{
font-size:15px;
color:var(--soft);
transition:.3s;
}

.desktop-nav a:hover{
color:var(--text);
}

.right-nav{
display:flex;
align-items:center;
gap:18px;
}

.theme-btn{
width:46px;
height:46px;
border:none;
background:transparent;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
border-radius:999px;
color:var(--text);
position:relative;
}

.theme-btn svg{
position:absolute;
transition:.25s;
}

.sun-icon{
opacity:0;
transform:scale(.6);
}

body.dark .moon-icon{
opacity:0;
transform:scale(.6);
}

body.dark .sun-icon{
opacity:1;
transform:scale(1);
}

.menu-btn{
display:none;
font-size:32px;
cursor:pointer;
}

/* MOBILE MENU */

.mobile-menu{
position:fixed;
top:0;
left:-100%;
width:100%;
height:100vh;
background:var(--bg);
z-index:999999;
padding:30px 24px;
transition:.4s ease;
overflow-y:auto;
}

.mobile-menu.active{
left:0;
}

.close-btn{
font-size:34px;
margin-bottom:40px;
cursor:pointer;
}

.mobile-nav{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px;
margin-bottom:40px;
}

.mobile-nav a{
font-size:24px;
font-weight:600;
}

.mobile-contact{
margin-top:30px;
color:var(--soft);
}

.mobile-contact p{
margin-bottom:10px;
font-size:15px;
}

.mobile-social{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px;
margin-top:40px;
}

.mobile-social a{
font-size:15px;
color:var(--soft);
}

/* HERO */
.hero{
padding:180px 0 120px;
}

.hero-grid{
display:grid;
grid-template-columns:1.4fr .8fr;
gap:60px;
align-items:center;
}

.hero h1{
font-size:82px;
line-height:1.05;
margin-bottom:28px;
}

.hero p{
font-size:20px;
color:var(--soft);
margin-bottom:40px;
}

.hero-right{
display:flex;
flex-direction:column;
gap:24px;
}

.hero-card{
background:var(--card);
border:1px solid var(--border);
padding:34px;
border-radius:28px;
}

.hero-badge{
font-size:13px;
letter-spacing:2px;
text-transform:uppercase;
color:var(--soft);
margin-bottom:18px;
}

.hero-card h3{
font-size:48px;
margin-bottom:14px;
}

.hero-card p{
font-size:16px;
margin:0;
}

/* MOBILE */

@media(max-width:768px){

.hero-grid{
grid-template-columns:1fr;
}

.hero h1{
font-size:48px;
}

.hero p{
font-size:17px;
}

}

.btn{
padding:15px 26px;
border-radius:100px;
font-size:15px;
font-weight:600;
display:inline-block;
transition:.3s;
}

.btn-primary{
background:var(--text);
color:var(--bg);
}

.btn-primary:hover{
transform:translateY(-2px);
}

.btn-secondary{
border:1px solid var(--border);
}

/* SECTION */

.section{
padding:100px 0;
}

.section-title{
font-size:42px;
margin-bottom:16px;
text-align:center;
}

.section-desc{
color:var(--soft);

margin-bottom:50px;
text-align:center;
}

/* FEATURES */

.features{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.feature-card{
background:var(--card);
border:1px solid var(--border);
padding:34px;
border-radius:26px;
}

.feature-card h3{
font-size:24px;
margin-bottom:14px;
}

.feature-card p{
color:var(--soft);
}

/* PRICING */

.pricing{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.price-card{
background:var(--card);
border:1px solid var(--border);
padding:36px;
border-radius:28px;
}

.price-card h3{
font-size:28px;
margin-bottom:14px;
}

.price{
font-size:52px;
font-weight:700;
margin-bottom:20px;
}

.price span{
font-size:16px;
color:var(--soft);
}

.price-card ul{
list-style:none;
margin-bottom:30px;
}

.price-card li{
margin-bottom:12px;
color:var(--soft);
}

/* FAQ */

.faq-item{
border-bottom:1px solid var(--border);
padding:24px 0;
}

.faq-question{
display:flex;
align-items:center;
justify-content:space-between;
cursor:pointer;
gap:20px;
}

.faq-icon{
width:26px;
height:26px;
position:relative;
flex-shrink:0;
}

.faq-icon::before,
.faq-icon::after{
content:"";
position:absolute;
top:50%;
left:50%;
width:18px;
height:2px;
background:var(--text);
transition:.3s ease;
transform:translate(-50%,-50%);
}

.faq-icon::after{
transform:translate(-50%,-50%) rotate(90deg);
}

.faq-item.active .faq-icon::after{
transform:translate(-50%,-50%) rotate(0deg);
opacity:0;
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:.4s ease;
color:var(--soft);
}

.faq-answer p{
padding-top:18px;
}

.faq-item.active .faq-answer{
max-height:300px;
}

/* CTA */

.cta{
padding:120px 0;
background:var(--card);
text-align:center;
}

.cta h2{
font-size:56px;
margin-bottom:20px;
}

.cta p{
color:var(--soft);
margin-bottom:34px;
}

/* FOOTER */

.footer-modern{
padding:90px 0 30px;
border-top:1px solid var(--border);
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr 1fr;
gap:50px;
}

.footer-about h3{
font-size:26px;
margin-bottom:18px;
}

.footer-about p{
color:var(--soft);
line-height:1.8;
margin-bottom:10px;
}

.footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.footer-links h4{
margin-bottom:12px;
font-size:18px;
}

.footer-links a{
color:var(--soft);
transition:.3s;
}

.footer-links a:hover{
color:var(--text);
}

.footer-bottom{
margin-top:60px;
padding-top:24px;
border-top:1px solid var(--border);
text-align:center;
color:var(--soft);
font-size:14px;
}

/* MOBILE */

@media(max-width:768px){

.desktop-nav{
display:none;
}

.menu-btn{
display:block;
}

.logo{
font-size:22px;
}

.hero{
padding:140px 0 80px;
}

.hero h1{
font-size:48px;
}

.hero p{
font-size:17px;
}

.section{
padding:80px 0;
}

.section-title{
font-size:34px;
text-align:center;
}

.features,
.pricing,
.footer-grid{
grid-template-columns:1fr;
}

.cta{
padding:90px 0;
}

.cta h2{
font-size:38px;
}

.mobile-nav{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.footer-grid{
grid-template-columns:1fr 1fr;
gap:34px 24px;
}

.footer-about{
grid-column:1/-1;
}

.footer-links{
gap:12px;
}

.footer-links h4{
font-size:16px;
margin-bottom:10px;
}

.footer-links a{
font-size:14px;
}

.footer-about h3{
font-size:22px;
}

.footer-about p{
font-size:14px;
line-height:1.7;
}

.footer-bottom{
margin-top:40px;
font-size:13px;
}

}
