/* === Variables === */
:root {
  --emerald: #10b981;
  --emerald-dark: #059669;
  --teal: #14b8a6;
  --dark: #0a0a0f;
  --dark-2: #12121a;
  --dark-3: #1a1a26;
  --dark-4: #242432;
  --text: #d4d4dc;
  --text-muted: #7c7c8a;
  --white: #f8f8fc;
  --border: rgba(255,255,255,0.06);
  --radius: 18px;
  --radius-sm: 10px;
  --transition: all 0.3s ease;
  --glow: 0 0 60px rgba(16,185,129,0.15);
}

/* === Reset === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--dark);color:var(--text);line-height:1.7;overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:var(--transition)}
ul{list-style:none}
img{max-width:100%;display:block}
.container{max-width:1160px;margin:0 auto;padding:0 20px}

/* === Header === */
#header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(10,10,15,0.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
#header .container{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:'Sora',sans-serif;font-size:1.4rem;font-weight:700;color:var(--white)}
#navbar ul{display:flex;gap:26px}
#navbar a{font-size:0.87rem;font-weight:500;color:var(--text-muted)}
#navbar a:hover,#navbar a.active{color:var(--emerald)}
.header-btn{padding:9px 20px;border-radius:50px;font-size:0.82rem;font-weight:600;background:var(--emerald);color:#fff}
.header-btn:hover{background:var(--emerald-dark)}
.mobile-toggle{display:none;background:none;border:none;font-size:1.6rem;color:#fff;cursor:pointer}

/* === Common === */
section{padding:100px 0}
.tag{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--emerald);margin-bottom:10px}
.tag.center{display:block;text-align:center}
.sec-title{font-family:'Sora',sans-serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;color:var(--white);text-align:center;margin-bottom:50px}
.btn-main{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:50px;font-weight:600;font-size:0.9rem;background:var(--emerald);color:#fff;border:none;cursor:pointer;transition:var(--transition)}
.btn-main:hover{background:var(--emerald-dark);transform:translateY(-2px);box-shadow:var(--glow)}
.btn-line{display:inline-flex;align-items:center;gap:6px;padding:14px 24px;font-weight:600;font-size:0.9rem;color:var(--text-muted);border:1px solid var(--border);border-radius:50px}
.btn-line:hover{border-color:var(--emerald);color:var(--emerald)}

/* === Hero === */
#hero{min-height:100vh;display:flex;align-items:center;text-align:center;position:relative;padding-top:100px}
#hero .container{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:50px;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);font-size:0.78rem;font-weight:500;color:var(--emerald);margin-bottom:28px}
#hero h1{font-family:'Sora',sans-serif;font-size:clamp(2.5rem,6vw,4.2rem);font-weight:800;line-height:1.1;color:var(--white);margin-bottom:24px}
.text-glow{color:var(--emerald);text-shadow:0 0 40px rgba(16,185,129,0.4)}
.hero-sub{font-size:1.05rem;color:var(--text-muted);max-width:580px;margin:0 auto 36px}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-bg-elements{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(80px)}
.orb-1{width:500px;height:500px;background:rgba(16,185,129,0.12);top:-150px;right:-100px;animation:drift 12s ease-in-out infinite}
.orb-2{width:400px;height:400px;background:rgba(20,184,166,0.08);bottom:-100px;left:-100px;animation:drift 10s ease-in-out infinite reverse}
.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:60px 60px}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-20px)}}

/* === About === */
#about{background:var(--dark-2)}
.about-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-img{position:relative;border-radius:var(--radius);overflow:hidden}
.about-img img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.experience-badge{position:absolute;bottom:20px;right:20px;background:var(--emerald);color:#fff;padding:16px 20px;border-radius:var(--radius-sm);text-align:center}
.experience-badge span{font-family:'Sora',sans-serif;font-size:1.8rem;font-weight:800;display:block}
.experience-badge small{font-size:0.7rem;text-transform:uppercase;letter-spacing:1px;opacity:0.9}
.about-content h2{font-family:'Sora',sans-serif;font-size:1.8rem;font-weight:700;color:var(--white);margin-bottom:16px}
.about-content>p{color:var(--text-muted);margin-bottom:24px}
.about-stats{display:flex;gap:30px;margin-bottom:24px;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.about-stats div{text-align:center}
.about-stats strong{display:block;font-family:'Sora',sans-serif;font-size:1.5rem;color:var(--white)}
.about-stats span{font-size:0.78rem;color:var(--text-muted)}
.check-list li{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:0.9rem}
.check-list i{color:var(--emerald)}

/* === Services === */
#services{background:var(--dark)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--dark-2);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;transition:var(--transition)}
.service-card:hover{border-color:rgba(16,185,129,0.3);transform:translateY(-4px);box-shadow:var(--glow)}
.sc-icon{width:52px;height:52px;border-radius:14px;background:rgba(16,185,129,0.1);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--emerald);margin-bottom:18px}
.service-card h3{font-family:'Sora',sans-serif;font-size:1.1rem;font-weight:600;color:var(--white);margin-bottom:10px}
.service-card p{font-size:0.88rem;color:var(--text-muted)}

/* === Pricing === */
#pricing{background:var(--dark-2)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.price-card{background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;text-align:center;position:relative;transition:var(--transition)}
.price-card:hover{border-color:rgba(16,185,129,0.2)}
.price-card.featured{border-color:var(--emerald);box-shadow:var(--glow)}
.popular-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--emerald);color:#fff;padding:4px 14px;border-radius:50px;font-size:0.7rem;font-weight:600}
.price-card h4{font-family:'Sora',sans-serif;font-size:1.1rem;color:var(--white);margin-bottom:12px}
.price{font-family:'Sora',sans-serif;font-size:2.4rem;font-weight:800;color:var(--white);margin-bottom:24px}
.price span{font-size:0.9rem;font-weight:400;color:var(--text-muted)}
.price-card ul{margin-bottom:28px}
.price-card li{padding:8px 0;font-size:0.88rem;display:flex;align-items:center;justify-content:center;gap:8px}
.price-card li i{color:var(--emerald)}
.price-card li.muted{color:var(--text-muted)}
.price-card li.muted i{color:var(--text-muted)}
.btn-card{display:inline-block;padding:12px 28px;border-radius:50px;font-weight:600;font-size:0.85rem;border:1px solid var(--emerald);color:var(--emerald)}
.btn-card:hover{background:var(--emerald);color:#fff}

/* === Team === */
#team{background:var(--dark)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.team-member{border-radius:var(--radius);overflow:hidden;background:var(--dark-2);border:1px solid var(--border);transition:var(--transition)}
.team-member:hover{border-color:rgba(16,185,129,0.2);transform:translateY(-4px)}
.team-member img{width:100%;height:260px;object-fit:cover}
.member-info{padding:20px;text-align:center}
.member-info h4{font-family:'Sora',sans-serif;font-size:1rem;color:var(--white);margin-bottom:4px}
.member-info span{font-size:0.8rem;color:var(--text-muted);display:block;margin-bottom:12px}
.member-social{display:flex;gap:8px;justify-content:center}
.member-social a{width:32px;height:32px;border-radius:50%;background:var(--dark-3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:0.8rem}
.member-social a:hover{background:var(--emerald);color:#fff}

/* === Gallery === */
#gallery{background:var(--dark-2)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery-item{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:1;cursor:pointer;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.gallery-item:hover img{transform:scale(1.08)}

/* === FAQ === */
#faq{background:var(--dark)}
.faq-wrapper{max-width:700px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 0;background:none;border:none;cursor:pointer;font-size:0.95rem;font-weight:500;color:var(--white);text-align:left;font-family:inherit}
.faq-q i{color:var(--emerald);transition:var(--transition)}
.faq-item.active .faq-q i{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease}
.faq-item.active .faq-a{max-height:200px}
.faq-a p{padding-bottom:20px;font-size:0.88rem;color:var(--text-muted)}

/* === Contact === */
#contact{background:var(--dark-2)}
.contact-wrapper{display:grid;grid-template-columns:1fr 1.5fr;gap:50px}
.ci-item{display:flex;gap:14px;margin-bottom:24px}
.ci-item i{width:44px;height:44px;border-radius:12px;background:rgba(16,185,129,0.1);display:flex;align-items:center;justify-content:center;color:var(--emerald);font-size:1.1rem;flex-shrink:0}
.ci-item h4{font-size:0.9rem;color:var(--white);margin-bottom:2px}
.ci-item p{font-size:0.85rem;color:var(--text-muted)}
.contact-form{display:flex;flex-direction:column;gap:14px}
.form-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form input,.contact-form textarea{width:100%;padding:13px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--dark-3);color:#fff;font-family:inherit;font-size:0.9rem;transition:var(--transition)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--emerald)}
.contact-form button{align-self:flex-start}

/* === Footer === */
footer{background:var(--dark);border-top:1px solid var(--border);padding:60px 0 0}
.footer-inner{display:flex;justify-content:space-between;padding-bottom:40px}
.footer-inner .logo{font-size:1.3rem;margin-bottom:12px;display:block}
.footer-inner>div:first-child p{font-size:0.88rem;color:var(--text-muted);max-width:300px;margin-bottom:16px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:34px;height:34px;border-radius:50%;background:var(--dark-3);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:0.85rem}
.footer-social a:hover{background:var(--emerald);color:#fff}
.footer-links h4{font-size:0.88rem;color:var(--white);margin-bottom:14px}
.footer-links a{display:block;font-size:0.85rem;color:var(--text-muted);margin-bottom:8px}
.footer-links a:hover{color:var(--emerald)}
.footer-bottom{border-top:1px solid var(--border);padding:18px 0;text-align:center;font-size:0.8rem;color:var(--text-muted)}

/* === Scroll Top === */
.scroll-btn{position:fixed;bottom:28px;right:28px;width:42px;height:42px;border-radius:50%;background:var(--emerald);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;visibility:hidden;transition:var(--transition);z-index:999}
.scroll-btn.active{opacity:1;visibility:visible}
.scroll-btn:hover{background:var(--emerald-dark);transform:translateY(-3px)}

/* === Responsive === */
@media(max-width:1024px){
  .about-wrapper,.contact-wrapper{grid-template-columns:1fr}
  .services-grid,.pricing-grid,.team-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .footer-inner{flex-direction:column;gap:30px}
}
@media(max-width:768px){
  #navbar{position:fixed;top:68px;left:0;width:100%;background:var(--dark-2);padding:20px;border-bottom:1px solid var(--border);transform:translateY(-120%);opacity:0;visibility:hidden;transition:var(--transition)}
  #navbar.active{transform:translateY(0);opacity:1;visibility:visible}
  #navbar ul{flex-direction:column;gap:14px}
  .mobile-toggle{display:block}
  .header-btn{display:none}
  .services-grid,.pricing-grid,.team-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .form-duo{grid-template-columns:1fr}
  section{padding:70px 0}
  .about-stats{flex-wrap:wrap;gap:20px}
}
