/* ===== CSS Reset & Base ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans SC',sans-serif;background:#0f0f1a;color:#e0e0e0;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#f0c040;text-decoration:none;transition:color .3s ease}
a:hover{color:#f5d86a}
img,svg{display:block;max-width:100%;height:auto}
ul{list-style:none}
input,textarea,button{font-family:inherit;outline:none}

/* ===== Variables ===== */
:root{--primary:#1a1a2e;--secondary:#16213e;--accent:#f0c040;--accent-light:#f5d86a;--text:#e0e0e0;--text-dark:#1a1a2e;--bg:#0f0f1a;--card-bg:rgba(255,255,255,0.05);--glass:rgba(255,255,255,0.08);--shadow:0 8px 32px rgba(0,0,0,0.3);--radius:16px;--transition:0.3s ease}

/* ===== Utility ===== */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section-title{font-size:2.2rem;font-weight:700;margin-bottom:16px;color:#fff;letter-spacing:-0.02em}
.section-subtitle{font-size:1.1rem;color:#aaa;max-width:700px;margin-bottom:48px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);padding:32px;border:1px solid rgba(255,255,255,0.08);box-shadow:var(--shadow);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 40px rgba(240,192,64,0.15)}
.accent-text{color:var(--accent)}
.btn{display:inline-block;padding:14px 36px;border-radius:50px;font-weight:600;font-size:1rem;background:var(--accent);color:var(--text-dark);border:none;cursor:pointer;transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.btn:hover{background:var(--accent-light);transform:scale(1.02);box-shadow:0 4px 20px rgba(240,192,64,0.3);color:var(--text-dark)}
.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.btn-outline:hover{background:var(--accent);color:var(--text-dark)}

/* ===== Scroll Animation (Intersection Observer fallback) ===== */
.section,.card,.hero,.about-grid,.products-grid,.services-grid,.testimonials-grid{opacity:0;transform:translateY(30px);animation:fadeUp .6s ease forwards}
.section:nth-child(1),.hero{animation-delay:.1s}
.section:nth-child(2){animation-delay:.2s}
.section:nth-child(3){animation-delay:.3s}
.section:nth-child(4){animation-delay:.4s}
.section:nth-child(5){animation-delay:.5s}
.section:nth-child(6){animation-delay:.6s}
.section:nth-child(7){animation-delay:.7s}
.card:nth-child(1){animation-delay:.1s}
.card:nth-child(2){animation-delay:.2s}
.card:nth-child(3){animation-delay:.3s}
.card:nth-child(4){animation-delay:.4s}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}

/* ===== Header ===== */
header{position:sticky;top:0;z-index:100;background:rgba(15,15,26,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.06);padding:16px 0;transition:background .3s ease}
.nav{display:flex;align-items:center;justify-content:space-between}
.logo{font-size:1.6rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:10px}
.logo svg{width:36px;height:36px}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{color:#ccc;font-weight:500;font-size:.95rem;position:relative;transition:color .3s ease}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}
.nav-links a:hover::after{width:100%}
.nav-links a:hover{color:#fff}

/* ===== Hero ===== */
.hero{padding:120px 0 80px;text-align:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#0f0f1a 0%,#1a1a2e 40%,#16213e 70%,#0f0f1a 100%);background-size:400% 400%;animation:gradientShift 12s ease infinite}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.hero::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(240,192,64,0.08) 0%,transparent 50%);pointer-events:none}
.hero h1{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:24px;color:#fff;letter-spacing:-0.03em;text-shadow:0 2px 20px rgba(240,192,64,0.1)}
.hero p{font-size:1.25rem;color:#bbb;max-width:700px;margin:0 auto 40px}
.hero-badges{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.hero-badges span{background:var(--glass);padding:8px 20px;border-radius:50px;font-size:.9rem;color:#ddd;border:1px solid rgba(255,255,255,0.06);transition:background .3s ease,color .3s ease;cursor:default}
.hero-badges span:hover{background:rgba(240,192,64,0.15);color:#fff}

/* ===== About ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-text h2{font-size:2.2rem;color:#fff;margin-bottom:20px}
.about-text p{margin-bottom:16px;color:#ccc}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.stat-item{text-align:center}
.stat-number{font-size:2.8rem;font-weight:800;color:var(--accent);line-height:1.2}
.stat-label{color:#999;font-size:.95rem;margin-top:4px}

/* ===== Products ===== */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.product-card{text-align:center}
.product-card svg{width:56px;height:56px;margin:0 auto 16px;transition:transform .3s ease}
.product-card:hover svg{transform:scale(1.1) rotate(5deg)}
.product-card h3{font-size:1.3rem;color:#fff;margin-bottom:8px}
.product-card p{color:#aaa;font-size:.95rem}

/* ===== Services ===== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.service-card{padding:32px;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.service-card:hover{transform:translateY(-6px);border-color:var(--accent);background:rgba(240,192,64,0.05)}
.service-card h3{color:#fff;margin-bottom:12px;font-size:1.2rem}
.service-card p{color:#aaa;font-size:.95rem}

/* ===== Testimonials ===== */
.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.testimonial-card{padding:32px;position:relative}
.testimonial-card::before{content:'"';font-size:4rem;color:var(--accent);opacity:.3;position:absolute;top:8px;left:20px;font-family:serif;line-height:1}
.testimonial-card p{color:#ccc;font-style:italic;margin-bottom:16px;position:relative;z-index:1}
.testimonial-author{color:var(--accent);font-weight:600}

/* ===== FAQ ===== */
.faq-item{border-bottom:1px solid rgba(255,255,255,0.08);padding:20px 0;cursor:pointer;transition:background .3s ease;border-radius:8px}
.faq-item:hover{background:rgba(255,255,255,0.02)}
.faq-question{font-size:1.1rem;font-weight:600;color:#fff;display:flex;justify-content:space-between;align-items:center;user-select:none}
.faq-question::after{content:'+';font-size:1.5rem;color:var(--accent);transition:transform .3s ease,color .3s ease}
.faq-item.active .faq-question::after{transform:rotate(45deg);color:var(--accent-light)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;color:#aaa;padding-top:0}
.faq-item.active .faq-answer{max-height:300px;padding-top:16px}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact-info h3{color:#fff;margin-bottom:16px}
.contact-info p{color:#aaa;margin-bottom:8px}
.contact-info a{color:var(--accent)}
.contact-grid .card form input,.contact-grid .card form textarea{transition:border-color .3s ease,box-shadow .3s ease}
.contact-grid .card form input:focus,.contact-grid .card form textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(240,192,64,0.15)}

/* ===== Footer ===== */
footer{border-top:1px solid rgba(255,255,255,0.06);padding:48px 0 24px;margin-top:40px;background:rgba(15,15,26,0.95)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-brand p{color:#888;margin-top:12px;font-size:.9rem}
.footer-links h4{color:#fff;margin-bottom:16px;font-size:1rem}
.footer-links ul{list-style:none}
.footer-links li{margin-bottom:8px}
.footer-links a{color:#888;font-size:.9rem;transition:color .3s ease}
.footer-links a:hover{color:var(--accent)}
.footer-bottom{margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.05);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-bottom p{color:#666;font-size:.85rem}
.footer-bottom a{color:#888;font-size:.85rem;margin-left:16px;transition:color .3s ease}
.footer-bottom a:hover{color:var(--accent)}

/* ===== Dark Mode Support (already dark, but ensure) ===== */
@media (prefers-color-scheme:light){body{background:#0f0f1a;color:#e0e0e0}header{background:rgba(15,15,26,0.85)}}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .grid-2,.about-grid,.contact-grid{grid-template-columns:1fr}
  .grid-3,.products-grid,.services-grid{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero h1{font-size:2.8rem}
}
@media (max-width:768px){
  .hero h1{font-size:2.2rem}
  .section-title{font-size:1.8rem}
  .grid-3,.products-grid,.services-grid,.testimonials-grid{grid-template-columns:1fr}
  .grid-4{grid-template-columns:1fr}
  .nav-links{display:none}
  .stats{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero{padding:80px 0 40px}
  .section{padding:48px 0}
  .hero p{font-size:1.05rem}
  .hero-badges span{font-size:.8rem;padding:6px 14px}
  .contact-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-bottom a{margin:0 8px}
  .logo{font-size:1.3rem}
  .logo svg{width:30px;height:30px}
}