/* ====== Dream Fireworks VI · Song Yingjia ====== */
:root {
  --red: #C00000;
  --deep-red: #8B0000;
  --gold: #E0A000;
  --deep-gold: #C08000;
  --bright-gold: #FFD700;
  --light-gold: #FFF8E7;
  --white: #FFFFFF;
  --black: #1A1A1A;
  --gray: #666666;
  --light-gray: #F5F5F5;
  --dark-bg: #0D0D0D;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top: 80px; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--black);
  line-height: 1.7;
  background: var(--white);
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* ====== Nav ====== */
.nav { position: fixed; top:0; left:0; right:0; z-index:1000; background: transparent; transition: all 0.3s ease; padding: 16px 0; }
.nav.scrolled { background: rgba(13,13,13,0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 2px 20px rgba(0,0,0,0.3); padding: 8px 0; }
.nav-inner { display: flex; align-items: center; justify-content: space-between; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-icon { font-size: 28px; }
.logo-text { font-size: 20px; font-weight: 700; color: var(--white); letter-spacing: -0.5px; }
.nav-links { display: flex; list-style: none; gap: 32px; align-items: center; }
.nav-links a { color: rgba(255,255,255,0.85); text-decoration: none; font-size: 15px; font-weight: 500; transition: color 0.2s; }
.nav-links a:hover { color: var(--bright-gold); }
.nav-cta { background: var(--gold) !important; color: var(--black) !important; padding: 10px 20px !important; border-radius: 8px !important; font-weight: 600 !important; }
.nav-cta:hover { background: var(--bright-gold) !important; transform: translateY(-1px); }
.nav-toggle { display: none; background:none; border:none; color:var(--white); font-size:28px; cursor:pointer; }

/* ====== Hero ====== */
.hero { min-height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden; background: var(--dark-bg); }
.hero-bg { position: absolute; inset:0;
  background: radial-gradient(ellipse at 30% 20%, rgba(192,0,0,0.3) 0%, transparent 60%),
              radial-gradient(ellipse at 70% 80%, rgba(224,160,0,0.2) 0%, transparent 50%),
              radial-gradient(circle at 50% 50%, rgba(255,215,0,0.05) 0%, transparent 70%); }
.hero-bg::after { content:''; position:absolute; inset:0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='0.3' fill='%23ffffff10'/%3E%3C/svg%3E"); opacity:0.5; }
.hero-content { position:relative; z-index:2; padding: 120px 24px 80px; max-width: 900px; margin: 0 auto; text-align: center; }
.hero-badge { display:inline-block; background:rgba(224,160,0,0.15); border:1px solid rgba(224,160,0,0.3); color:var(--bright-gold); padding:8px 20px; border-radius:50px; font-size:14px; font-weight:500; margin-bottom:24px; }
.hero-title { font-size:clamp(40px, 7vw, 72px); font-weight:900; color:var(--white); line-height:1.15; margin-bottom:20px; letter-spacing:-1px; }
.gold-text { background:linear-gradient(135deg, var(--bright-gold), var(--gold), var(--deep-gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-subtitle { font-size:18px; color:rgba(255,255,255,0.7); line-height:1.8; margin-bottom:36px; }
.hero-cta-group { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:60px; }
.btn-primary { display:inline-block; background:linear-gradient(135deg, var(--red), var(--deep-red)); color:var(--white); padding:16px 36px; border-radius:12px; font-size:16px; font-weight:700; text-decoration:none; transition:all 0.3s; border:none; cursor:pointer; box-shadow:0 4px 20px rgba(192,0,0,0.4); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(192,0,0,0.6); }
.btn-outline { display:inline-block; background:transparent; color:var(--white); padding:16px 36px; border-radius:12px; font-size:16px; font-weight:600; text-decoration:none; border:2px solid rgba(255,255,255,0.3); transition:all 0.3s; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); transform:translateY(-2px); }
.hero-stats { display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.stat { text-align:center; }
.stat-num { font-size:36px; font-weight:800; color:var(--bright-gold); line-height:1; }
.stat-label { font-size:14px; color:rgba(255,255,255,0.5); margin-top:6px; text-transform:uppercase; letter-spacing:1px; }

/* ====== Yingjia Banner ====== */
.yingjia-banner { background:linear-gradient(180deg, var(--dark-bg) 0%, var(--white) 100%); padding:0 0 80px; }
.yingjia-card { background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.08); display:grid; grid-template-columns:1.2fr 0.8fr; overflow:hidden; border:1px solid var(--light-gold); }
.yingjia-left { padding:48px; }
.yingjia-label { display:inline-block; background:var(--light-gold); color:var(--deep-gold); padding:4px 14px; border-radius:20px; font-size:13px; font-weight:600; margin-bottom:12px; }
.yingjia-name { font-size:32px; font-weight:900; color:var(--black); margin-bottom:16px; }
.yingjia-title { font-size:18px; color:var(--gray); font-weight:400; }
.yingjia-desc { font-size:16px; color:var(--gray); line-height:1.8; margin-bottom:20px; }
.yingjia-tags { display:flex; flex-wrap:wrap; gap:10px; }
.yingjia-tags span { background:var(--light-gray); padding:6px 14px; border-radius:20px; font-size:13px; font-weight:500; }
.yingjia-right { background:linear-gradient(135deg, var(--red), var(--deep-red)); padding:48px; display:flex; align-items:center; }
.yingjia-contact-mini { display:flex; flex-direction:column; gap:12px; width:100%; }
.yingjia-btn { display:block; text-align:center; padding:16px 24px; border-radius:10px; font-size:15px; font-weight:600; text-decoration:none; transition:all 0.2s; }
.yingjia-btn.phone { background:var(--white); color:var(--red); }
.yingjia-btn.wa { background:#25D366; color:var(--white); }
.yingjia-btn.email { background:rgba(255,255,255,0.15); color:var(--white); border:1px solid rgba(255,255,255,0.3); }
.yingjia-btn.quote { background:var(--bright-gold); color:var(--black); }
.yingjia-btn:hover { transform:translateY(-2px); box-shadow:0 4px 15px rgba(0,0,0,0.2); }

/* ====== Sections ====== */
.section { padding:100px 0; }
.section-label { display:inline-block; font-size:12px; font-weight:700; letter-spacing:3px; color:var(--gold); margin-bottom:12px; text-transform:uppercase; }
.section-title { font-size:clamp(28px, 4vw, 42px); font-weight:900; color:var(--black); margin-bottom:12px; letter-spacing:-0.5px; }
.section-desc { font-size:17px; color:var(--gray); margin-bottom:40px; max-width:700px; }

/* ====== Six Pillars ====== */
.pillars { background:var(--light-gray); }
.pillar-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:40px; }
.pillar-card { background:var(--white); padding:36px; border-radius:16px; transition:all 0.3s; border:1px solid transparent; }
.pillar-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.08); border-color:var(--light-gold); }
.pillar-icon { font-size:40px; margin-bottom:16px; }
.pillar-card h3 { font-size:20px; font-weight:700; margin-bottom:10px; color:var(--black); }
.pillar-card p { font-size:15px; color:var(--gray); line-height:1.7; }

/* ====== Products ====== */
.products { background:var(--white); }
.product-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:40px; }
.product-card { background:var(--light-gray); border-radius:16px; padding:24px; text-decoration:none; transition:all 0.3s; position:relative; overflow:hidden; color:inherit; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.1); }
.product-img { width:100%; height:120px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:48px; margin-bottom:16px; }
.product-card h3 { font-size:18px; font-weight:700; color:var(--black); margin-bottom:8px; }
.product-card p { font-size:14px; color:var(--gray); line-height:1.6; }
.product-tag { position:absolute; top:16px; right:16px; background:var(--red); color:var(--white); padding:3px 10px; border-radius:20px; font-size:11px; font-weight:700; }

/* ====== Markets ====== */
.markets { background:var(--light-gray); }
.market-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:40px; }
.market-card { background:var(--white); padding:32px; border-radius:16px; transition:all 0.3s; border:1px solid transparent; }
.market-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.08); border-color:var(--light-gold); }
.market-icon { font-size:36px; margin-bottom:12px; }
.market-card h3 { font-size:20px; font-weight:700; color:var(--black); margin-bottom:8px; }
.market-card p { font-size:14px; color:var(--gray); line-height:1.7; }

/* ====== Certs ====== */
.certs { background:linear-gradient(135deg, var(--dark-bg), #1a0a0a); color:var(--white); }
.certs .section-title { color:var(--white); }
.cert-grid { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:40px; }
.cert-item { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); padding:16px 28px; border-radius:12px; font-size:16px; font-weight:600; }
.cert-icon { margin-right:8px; }

/* ====== FAQ ====== */
.faq { background:var(--white); }
.faq-grid { max-width:800px; margin:40px auto 0; display:flex; flex-direction:column; gap:12px; }
.faq-item { background:var(--light-gray); border-radius:12px; padding:0; overflow:hidden; border:1px solid transparent; transition:border-color 0.2s; }
.faq-item[open] { border-color:var(--light-gold); }
.faq-item summary { padding:20px 24px; font-size:17px; font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; font-size:22px; color:var(--gold); transition:transform 0.2s; }
.faq-item[open] summary::after { content:"−"; transform:rotate(0); }
.faq-item p { padding:0 24px 20px; font-size:15px; color:var(--gray); line-height:1.8; }

/* ====== About ====== */
.about { background:var(--light-gray); }
.about-content { max-width:800px; margin-top:32px; }
.about-content p { font-size:17px; color:var(--gray); margin-bottom:16px; line-height:1.9; }
.about-highlight { color:var(--red) !important; font-weight:700 !important; font-size:20px !important; border-left:4px solid var(--gold); padding-left:20px; }

/* ====== Contact ====== */
.contact { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:48px; margin-top:40px; }
.contact-person { display:flex; align-items:center; gap:20px; margin-bottom:32px; }
.contact-avatar { width:72px; height:72px; background:linear-gradient(135deg, var(--red), var(--gold)); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:36px; color:var(--white); flex-shrink:0; }
.contact-person h3 { font-size:24px; font-weight:800; color:var(--black); }
.contact-person p { color:var(--gray); font-size:15px; }
.contact-methods { display:flex; flex-direction:column; gap:12px; }
.contact-method { display:flex; align-items:center; gap:16px; padding:16px; border-radius:12px; text-decoration:none; color:var(--black); background:var(--light-gray); transition:all 0.2s; }
.contact-method:hover { background:var(--light-gold); transform:translateX(4px); }
.cm-icon { font-size:24px; flex-shrink:0; }
.contact-method strong { display:block; font-size:15px; margin-bottom:2px; }
.contact-method div:not(.cm-icon) { font-size:14px; color:var(--gray); }

.contact-form-wrapper { background:var(--light-gray); border-radius:20px; padding:36px; }
.contact-form { display:flex; flex-direction:column; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-form input, .contact-form select, .contact-form textarea {
  padding:14px 16px; border:2px solid #E0E0E0; border-radius:10px; font-size:15px;
  font-family:inherit; background:var(--white); transition:border-color 0.2s; width:100%;
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline:none; border-color:var(--gold); }
.contact-form textarea { resize:vertical; min-height:100px; }

/* ====== Footer ====== */
.footer { background:var(--dark-bg); color:rgba(255,255,255,0.7); padding:60px 0 30px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; margin-bottom:40px; }
.footer-col h4 { color:var(--white); font-size:16px; font-weight:700; margin-bottom:16px; }
.footer-col p { font-size:14px; line-height:1.8; }
.footer-col a { display:block; color:rgba(255,255,255,0.5); text-decoration:none; font-size:14px; padding:4px 0; transition:color 0.2s; }
.footer-col a:hover { color:var(--bright-gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:24px; text-align:center; font-size:13px; color:rgba(255,255,255,0.3); }
.footer-bottom a:hover { color:var(--bright-gold); }

/* ====== Responsive ====== */
@media (max-width: 900px) {
  .nav-links { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(13,13,13,0.98); flex-direction:column; justify-content:center; gap:24px; font-size:20px; }
  .nav-links.open { display:flex; }
  .nav-toggle { display:block; position:relative; z-index:1001; }
  .hero-stats { gap:24px; }
  .yingjia-card { grid-template-columns:1fr; }
  .yingjia-left, .yingjia-right { padding:32px; }
  .pillar-grid, .market-grid { grid-template-columns:1fr 1fr; }
  .product-grid { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
}
@media (max-width: 500px) {
  .pillar-grid, .product-grid, .market-grid, .footer-grid { grid-template-columns:1fr; }
  .hero-cta-group { flex-direction:column; }
}
