/* ===== Reset & Base ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --navy: #0a1628;
  --navy-2: #0f1f3a;
  --navy-3: #16294f;
  --gold: #d4a548;
  --gold-2: #e8c170;
  --teal: #2ec4b6;
  --white: #f8f9fa;
  --gray: #8895a7;
  --gray-2: #4a5d75;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 8px 32px rgba(0,0,0,0.15);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.25);
  --max-w: 1200px;
  --font-display: 'Noto Serif SC', serif;
  --font-body: 'Noto Sans SC', sans-serif;
  --font-mono: 'Space Grotesk', monospace;
}
html { scroll-behavior:smooth; }
body {
  font-family: var(--font-body);
  background: var(--navy);
  color: var(--white);
  line-height: 1.6;
  overflow-x: hidden;
}

/* ===== Navbar ===== */
#navbar {
  position: fixed; top:0; left:0; right:0; z-index:100;
  padding: 16px 0;
  transition: all .3s ease;
}
#navbar.scrolled {
  background: rgba(10,22,40,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 12px 0;
}
.nav-inner {
  max-width: var(--max-w); margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-brand {
  font-family: var(--font-display); font-weight:900; font-size:20px;
  color: var(--gold-2); letter-spacing:1px;
}
.nav-links { display:flex; gap:32px; }
.nav-links a {
  color: var(--white); text-decoration:none; font-size:14px; font-weight:400;
  opacity:.8; transition:opacity .2s;
}
.nav-links a:hover { opacity:1; color:var(--gold-2); }
.nav-cta {
  padding:8px 20px; border-radius:100px; background:var(--gold);
  color:var(--navy); text-decoration:none; font-weight:700; font-size:13px;
  transition:all .2s;
}
.nav-cta:hover { background:var(--gold-2); transform:translateY(-1px); }

/* ===== Hero ===== */
#hero {
  position: relative; min-height:100vh; display:flex; align-items:center;
  justify-content:center; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  filter: brightness(0.35) saturate(1.2);
}
.hero-overlay {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at center, rgba(10,22,40,0.4) 0%, rgba(10,22,40,0.85) 70%, rgba(10,22,40,0.98) 100%);
}
.hero-content {
  position:relative; z-index:2; text-align:center; max-width:800px; padding:0 24px;
  animation: heroFade .8s ease-out;
}
@keyframes heroFade { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
.hero-badge {
  display:inline-block; padding:6px 18px; border-radius:100px;
  background: rgba(212,165,72,0.12); border:1px solid rgba(212,165,72,0.3);
  color: var(--gold-2); font-size:13px; font-weight:500; letter-spacing:1px;
  margin-bottom:24px;
}
#heroTitle {
  font-family: var(--font-display); font-weight:900;
  font-size: clamp(36px, 6vw, 64px); line-height:1.15;
  color: var(--white); margin-bottom:16px;
  text-shadow: 0 4px 20px rgba(0,0,0,0.5);
}
.hero-subtitle {
  font-size: clamp(16px, 2.5vw, 22px); color: var(--gold-2);
  font-weight:500; margin-bottom:12px;
}
.hero-desc {
  font-size:15px; color:var(--gray); max-width:600px; margin:0 auto 32px;
  line-height:1.8;
}
.hero-flags {
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:36px;
}
.flag-chip {
  display:flex; align-items:center; gap:8px; padding:8px 16px;
  border-radius:100px; border:1.5px solid; background:rgba(255,255,255,0.03);
  font-size:13px; font-weight:500;
}
.flag-code {
  font-family:var(--font-mono); font-size:11px; font-weight:700;
  padding:2px 6px; border-radius:4px; background:rgba(255,255,255,0.1);
}
.hero-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-primary {
  padding:14px 32px; border-radius:100px; background:var(--gold);
  color:var(--navy); text-decoration:none; font-weight:700; font-size:15px;
  display:inline-flex; align-items:center; gap:8px;
  transition:all .2s; box-shadow:0 4px 20px rgba(212,165,72,0.3);
}
.btn-primary:hover { background:var(--gold-2); transform:translateY(-2px); }
.btn-ghost {
  padding:14px 32px; border-radius:100px; background:transparent;
  color:var(--white); text-decoration:none; font-weight:500; font-size:15px;
  border:1.5px solid rgba(255,255,255,0.2);
  display:inline-flex; align-items:center; gap:8px; transition:all .2s;
}
.btn-ghost:hover { border-color:var(--gold-2); color:var(--gold-2); }
.hero-scroll-hint {
  position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
  color:var(--gray); font-size:24px; animation:bounce 2s infinite; z-index:2;
}
@keyframes bounce { 0%,100% { transform:translateX(-50%) translateY(0); } 50% { transform:translateX(-50%) translateY(8px); } }

/* ===== Sections ===== */
section { padding:100px 24px; }
.section-header { text-align:center; max-width:700px; margin:0 auto 60px; }
.section-label {
  font-family:var(--font-mono); font-size:13px; font-weight:700;
  color:var(--gold); letter-spacing:3px; margin-bottom:12px;
}
.section-title {
  font-family:var(--font-display); font-weight:900;
  font-size: clamp(28px, 4vw, 42px); color:var(--white); margin-bottom:16px;
}
.section-desc { font-size:16px; color:var(--gray); line-height:1.7; }

/* ===== Platform Cards ===== */
#platforms { background: var(--navy); }
.platform-grid {
  max-width:var(--max-w); margin:0 auto;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(500px, 1fr));
  gap:28px;
}
.platform-card {
  background: linear-gradient(135deg, var(--navy-2) 0%, var(--navy-3) 100%);
  border-radius: var(--radius); overflow:hidden;
  border:1px solid rgba(255,255,255,0.06);
  transition:all .3s ease; position:relative;
}
.platform-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background: var(--card-color); border-radius:var(--radius) var(--radius) 0 0;
}
.platform-card:hover {
  transform:translateY(-6px); box-shadow:var(--shadow-lg);
  border-color: var(--card-color);
}
.card-header {
  padding:24px 28px; display:flex; align-items:center; gap:16px;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.card-logo {
  width:64px; height:64px; border-radius:14px; overflow:hidden;
  background:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:center;
  flex-shrink:0; padding:8px;
}
.card-logo img { max-width:100%; max-height:100%; object-fit:contain; }
.card-title-area { flex:1; }
.card-title {
  font-family:var(--font-display); font-weight:900; font-size:24px;
  color:var(--white); margin-bottom:4px;
}
.card-country {
  font-size:13px; color:var(--card-color); font-weight:600;
  display:flex; align-items:center; gap:6px;
}
.card-tagline {
  padding:16px 28px; font-size:14px; color:var(--gray);
  line-height:1.6; font-style:italic;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.card-description {
  padding:20px 28px; font-size:14px; color:var(--gray); line-height:1.8;
}
.card-market-info {
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
  padding:0 28px 20px;
}
.market-info-item {
  background:rgba(255,255,255,0.03); border-radius:var(--radius-sm);
  padding:12px 14px;
}
.market-info-label { font-size:11px; color:var(--gray); margin-bottom:4px; text-transform:uppercase; letter-spacing:1px; }
.market-info-value { font-size:15px; color:var(--white); font-weight:700; }
.market-info-detail { font-size:12px; color:var(--gray-2); margin-top:2px; }

.card-features {
  padding:0 28px;
}
.card-features-label {
  font-size:12px; color:var(--card-color); font-weight:700;
  text-transform:uppercase; letter-spacing:1px; margin-bottom:12px;
}
.card-features ul { list-style:none; }
.card-features li {
  padding:8px 0; font-size:13px; color:var(--gray);
  display:flex; align-items:flex-start; gap:10px;
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.card-features li i { color:var(--card-color); font-size:18px; flex-shrink:0; margin-top:2px; }

.card-footer {
  padding:20px 28px; display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,0.06);
}
.card-price-area { display:flex; flex-direction:column; }
.card-price { font-family:var(--font-mono); font-size:28px; font-weight:700; color:var(--gold-2); }
.card-price-note { font-size:12px; color:var(--gray); margin-top:2px; }
.card-cta {
  padding:10px 24px; border-radius:100px;
  background:var(--card-color); color:#fff; text-decoration:none;
  font-weight:700; font-size:14px; transition:all .2s;
  display:inline-flex; align-items:center; gap:6px; border:none; cursor:pointer;
}
.card-cta:hover { filter:brightness(1.15); transform:translateY(-1px); }

/* ===== About ===== */
#about { background: var(--navy-2); }
.about-inner { max-width:var(--max-w); margin:0 auto; }
.about-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:24px;
}
.about-card {
  background:rgba(255,255,255,0.03); border-radius:var(--radius);
  padding:32px 24px; border:1px solid rgba(255,255,255,0.06);
  transition:all .3s;
}
.about-card:hover { transform:translateY(-4px); border-color:var(--gold); }
.about-card i { font-size:40px; color:var(--gold); margin-bottom:16px; display:block; }
.about-card h3 {
  font-family:var(--font-display); font-size:20px; font-weight:700;
  color:var(--white); margin-bottom:10px;
}
.about-card p { font-size:14px; color:var(--gray); line-height:1.7; }

/* ===== Contact ===== */
#contact { background: var(--navy); }
.wechat-grid {
  max-width:var(--max-w); margin:0 auto;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px;
}
.wechat-card {
  background: linear-gradient(135deg, var(--navy-2), var(--navy-3));
  border-radius:var(--radius); padding:32px 24px; text-align:center;
  border:1px solid rgba(255,255,255,0.06); transition:all .3s;
}
.wechat-card:hover { transform:translateY(-4px); border-color:var(--gold); box-shadow:var(--shadow); }
.wechat-avatar {
  width:72px; height:72px; border-radius:50%; margin:0 auto 16px;
  background:linear-gradient(135deg, var(--gold), var(--gold-2));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:28px; font-weight:900; color:var(--navy);
}
.wechat-name { font-size:18px; font-weight:700; color:var(--white); margin-bottom:4px; }
.wechat-role { font-size:13px; color:var(--gold-2); margin-bottom:16px; }
.wechat-id-box {
  background:rgba(255,255,255,0.05); border-radius:var(--radius-sm);
  padding:12px 16px; display:flex; align-items:center; justify-content:center; gap:8px;
  margin-bottom:12px;
}
.wechat-id-box i { color:var(--teal); font-size:20px; }
.wechat-id { font-family:var(--font-mono); font-size:15px; font-weight:500; color:var(--white); }
.wechat-note { font-size:12px; color:var(--gray); }
.wechat-copy-btn {
  margin-top:12px; padding:8px 20px; border-radius:100px;
  background:rgba(46,196,182,0.15); border:1px solid var(--teal);
  color:var(--teal); font-size:13px; font-weight:600; cursor:pointer;
  transition:all .2s;
}
.wechat-copy-btn:hover { background:var(--teal); color:var(--navy); }
.wechat-copy-btn.copied { background:var(--teal); color:var(--navy); }

/* ===== Footer ===== */
footer { background:#050d18; padding:48px 24px; text-align:center; border-top:1px solid rgba(255,255,255,0.04); }
.footer-inner { max-width:var(--max-w); margin:0 auto; }
.footer-brand { font-family:var(--font-display); font-weight:900; font-size:20px; color:var(--gold-2); margin-bottom:8px; }
.footer-desc { font-size:14px; color:var(--gray); margin-bottom:16px; }
.footer-copy { font-size:12px; color:var(--gray-2); }

/* ===== Paid Tiers ===== */
.card-paid-tiers {
  padding: 0 28px 20px;
}
.paid-tiers-label {
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
  color: var(--card-color); margin-bottom: 14px;
  display: flex; align-items: center; gap: 6px;
}
.paid-tiers-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.paid-tier-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px; padding: 20px 18px; display: flex; flex-direction: column;
  transition: all .3s; position: relative; overflow: hidden;
}
.paid-tier-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--card-color); opacity: 0.6;
}
.paid-tier-card:hover {
  transform: translateY(-3px); border-color: var(--card-color);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.paid-tier-card:first-child::before { opacity: 0.4; }
.paid-tier-card:last-child::before { opacity: 1; }
.paid-tier-card:last-child {
  background: linear-gradient(135deg, rgba(212,165,72,0.08), rgba(255,255,255,0.04));
  border-color: rgba(212,165,72,0.25);
}
.tier-header { margin-bottom: 14px; }
.tier-name {
  font-family: var(--font-display); font-size: 18px; font-weight: 700;
  color: var(--white); margin-bottom: 6px;
}
.tier-price {
  font-family: var(--font-mono); font-size: 24px; font-weight: 700;
  color: var(--gold-2);
}
.tier-price-note {
  font-size: 12px; color: var(--gray); margin-top: 2px;
}
.tier-features {
  list-style: none; flex: 1; margin-bottom: 16px;
}
.tier-features li {
  padding: 6px 0; font-size: 12px; color: var(--gray);
  display: flex; align-items: flex-start; gap: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.tier-features li i { color: var(--card-color); font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.tier-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 20px; border-radius: 100px;
  background: var(--card-color); color: #fff; text-decoration: none;
  font-weight: 700; font-size: 13px; transition: all .2s; width: fit-content;
}
.tier-cta:hover { filter: brightness(1.15); transform: translateY(-1px); }

@media (max-width: 600px) {
  .paid-tiers-grid { grid-template-columns: 1fr; }
}

/* ===== Referral Banner ===== */
.referral-banner {
  position: fixed; top: 70px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, var(--teal), #1db5a7);
  color: var(--navy); padding: 10px 24px; border-radius: 100px;
  font-size: 14px; font-weight: 600; z-index: 95;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 6px 24px rgba(46,196,182,0.3);
  animation: slideDown .4s ease-out;
}
.referral-banner i { font-size: 20px; }
.referral-banner strong { font-weight: 800; }
.referral-close {
  background: none; border: none; color: var(--navy); cursor: pointer;
  font-size: 16px; opacity: 0.6; padding: 0; display: flex; align-items: center;
}
.referral-close:hover { opacity: 1; }
@keyframes slideDown { from { opacity: 0; transform: translateX(-50%) translateY(-20px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }

/* ===== Admin FAB ===== */
.admin-fab {
  position:fixed; bottom:24px; right:24px; z-index:90;
  width:48px; height:48px; border-radius:50%;
  background:rgba(15,31,58,0.9); border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
  color:var(--gray); font-size:22px; text-decoration:none;
  transition:all .2s; backdrop-filter:blur(8px);
}
.admin-fab:hover { color:var(--gold-2); border-color:var(--gold-2); }

/* ===== Toast ===== */
.toast {
  position:fixed; bottom:80px; left:50%; transform:translateX(-50%);
  background:var(--teal); color:var(--navy); padding:12px 24px;
  border-radius:100px; font-weight:700; font-size:14px; z-index:200;
  opacity:0; pointer-events:none; transition:all .3s;
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(-4px); }

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .nav-links { display:none; }
  section { padding:64px 20px; }
  .platform-grid { grid-template-columns:1fr; }
  .platform-card { max-width:100%; }
  .card-header { padding:20px; }
  .card-tagline, .card-description, .card-features, .card-market-info, .card-footer { padding-left:20px; padding-right:20px; }
  .hero-flags { gap:8px; }
  .flag-chip { padding:6px 12px; font-size:12px; }
}
