:root {
  --purple: #7B4FB5;
  --purple-light: #9B6FD5;
  --purple-pale: #F5F0FF;
  --purple-deep: #5A2D9A;
  --purple-dark: #3A1570;
  --green: #4CAF50;
  --green-dark: #388E3C;
  --white: #FFFFFF;
  --off-white: #FAF8FF;
  --text-dark: #1A1030;
  --text-mid: #4A3860;
  --text-light: #8A7AA0;
  --border: #E2D5F5;
  --shadow: rgba(107,63,180,0.13);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter','Noto Sans SC',sans-serif; color:var(--text-dark); background:var(--white); line-height:1.7; }
.lang-zh { display:none; } .lang-en { display:block; }
body.zh .lang-zh { display:block; } body.zh .lang-en { display:none; }
span.lang-zh { display:none; } span.lang-en { display:inline; }
body.zh span.lang-zh { display:inline; } body.zh span.lang-en { display:none; }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-bottom:2px solid var(--purple-pale);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:70px; }
.nav-logo { display:flex;align-items:center;gap:12px;text-decoration:none; }
.nav-logo img { height:42px;width:auto; }
.nav-logo .logo-text { font-size:15px;font-weight:700;color:var(--purple-dark);line-height:1.2; }
.nav-logo small { display:block;font-size:11px;font-weight:400;color:var(--text-light); }
.nav-links { display:flex;align-items:center;gap:24px;list-style:none; }
.nav-links a { text-decoration:none;font-size:13.5px;font-weight:500;color:var(--text-mid);transition:color 0.2s; }
.nav-links a:hover,.nav-links a.active { color:var(--purple); }
.nav-right { display:flex;align-items:center;gap:10px; }
.nav-lang { display:flex;gap:5px; }
.lang-btn { padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;border:2px solid var(--purple);transition:all 0.2s;background:transparent;color:var(--purple); }
.lang-btn.active { background:var(--purple);color:white; }
.nav-cta { background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:white!important;padding:10px 22px!important;border-radius:24px;font-weight:700!important;font-size:13px!important;box-shadow:0 4px 14px var(--shadow); }

/* PAGE HERO */
.page-hero { margin-top:70px;background:linear-gradient(150deg,#F5F0FF 0%,#EAD8FF 50%,#D8BBFF 100%);padding:70px 5% 60px;position:relative;overflow:hidden; }
.page-hero::before { content:'';position:absolute;top:-80px;right:-80px;width:480px;height:480px;background:radial-gradient(circle,rgba(123,79,181,0.18) 0%,transparent 70%);border-radius:50%; }
.page-hero::after { content:'';position:absolute;bottom:-60px;left:5%;width:300px;height:300px;background:radial-gradient(circle,rgba(76,175,80,0.1) 0%,transparent 70%);border-radius:50%; }
.page-hero-inner { max-width:1200px;margin:0 auto;position:relative;z-index:1; }
.hero-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(123,79,181,0.12);border:1px solid rgba(123,79,181,0.3);border-radius:20px;padding:7px 18px;font-size:12.5px;font-weight:700;color:var(--purple-dark);margin-bottom:20px; }
.page-hero h1 { font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,50px);font-weight:600;color:var(--purple-dark);line-height:1.2;margin-bottom:16px; }
.page-hero p { font-size:15.5px;color:var(--text-mid);max-width:620px;line-height:1.85; }

/* SECTIONS */
section { padding:80px 5%; }
.section-inner { max-width:1200px;margin:0 auto; }
.section-tag { display:inline-block;background:var(--purple-pale);color:var(--purple);font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:5px 16px;border-radius:20px;margin-bottom:14px; }
.section-title { font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,38px);font-weight:600;color:var(--purple-dark);line-height:1.25;margin-bottom:8px; }
.section-desc { font-size:15px;color:var(--text-mid);max-width:600px;margin-top:12px;line-height:1.85; }
.green-label { display:inline-block;background:var(--green);color:white;font-size:13px;font-weight:700;padding:5px 16px;border-radius:20px;margin-bottom:12px; }

/* BUTTONS */
.btn-primary { background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:white;padding:14px 34px;border-radius:30px;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px var(--shadow);transition:all 0.25s;border:none;cursor:pointer;display:inline-block;font-family:inherit; }
.btn-primary:hover { transform:translateY(-2px);box-shadow:0 14px 32px var(--shadow); }
.btn-outline { background:white;color:var(--purple);padding:14px 32px;border-radius:30px;font-size:15px;font-weight:700;text-decoration:none;border:2px solid var(--purple);transition:all 0.25s;display:inline-block; }
.btn-outline:hover { background:var(--purple-pale);transform:translateY(-2px); }
.btn-green { background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;padding:14px 34px;border-radius:30px;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(76,175,80,0.3);transition:all 0.25s;border:none;cursor:pointer;display:inline-block; }
.btn-green:hover { transform:translateY(-2px); }

/* QR SECTION */
.qr-section { background:linear-gradient(135deg,var(--purple-dark),var(--purple-deep));padding:60px 5%;text-align:center; }
.qr-inner { max-width:1000px;margin:0 auto; }
.qr-title { font-family:'Playfair Display',serif;font-size:28px;color:white;margin-bottom:8px; }
.qr-sub { font-size:14px;color:rgba(255,255,255,0.75);margin-bottom:40px; }
.qr-grid { display:flex;justify-content:center;gap:30px;flex-wrap:wrap; }
.qr-item { background:white;border-radius:16px;padding:20px;text-align:center;min-width:140px; }
.qr-item img { width:120px;height:120px;object-fit:contain;display:block;margin:0 auto 10px; }
.qr-item p { font-size:12px;font-weight:700;color:var(--purple-dark);line-height:1.4; }
.qr-item small { font-size:11px;color:var(--text-light); }

/* FOOTER */
footer { background:var(--purple-dark);color:rgba(255,255,255,0.8);padding:55px 5% 30px; }
.footer-top { max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.1); }
.footer-logo { display:flex;align-items:center;gap:10px;margin-bottom:14px; }
.footer-logo img { height:36px;width:auto;object-fit:contain;background:white;border-radius:6px;padding:3px; }
.footer-logo span { font-size:14px;font-weight:700;color:white; }
.footer-logo small { display:block;font-size:11px;color:rgba(255,255,255,0.5); }
.footer-brand p { font-size:13px;line-height:1.85;max-width:250px;color:rgba(255,255,255,0.7); }
.footer-col h4 { font-size:13px;font-weight:700;color:white;margin-bottom:16px;letter-spacing:0.03em; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:10px; }
.footer-col li { font-size:12.5px; }
.footer-col a { color:rgba(255,255,255,0.6);text-decoration:none;transition:color 0.2s; }
.footer-col a:hover { color:#C9A8FF; }
.footer-bottom { max-width:1200px;margin:28px auto 0;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:rgba(255,255,255,0.38);flex-wrap:wrap;gap:10px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08); }
.ndis-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:20px;padding:7px 18px;font-size:12px;font-weight:700;color:#C9A8FF; }

/* SHARED CARD STYLES */
.card { background:white;border-radius:20px;border:1px solid var(--border);transition:all 0.3s; }
.card:hover { transform:translateY(-5px);box-shadow:0 18px 48px var(--shadow); }
.card-top-bar { height:4px;background:linear-gradient(90deg,var(--purple),var(--green));border-radius:20px 20px 0 0; }

@media(max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .nav-links{display:none;}
  .qr-grid{gap:16px;}
  .qr-item img{width:90px;height:90px;}
}

/* ── HAMBURGER MOBILE MENU ── */
.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:6px; background:none; border:none; z-index:200;
}
.hamburger span {
  display:block; width:26px; height:3px;
  background:var(--purple); border-radius:3px; transition:all 0.3s;
}
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,6px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-6px); }

.mobile-menu {
  display:none; position:fixed; top:70px; left:0; right:0;
  background:white; border-bottom:2px solid var(--border);
  padding:16px 6% 24px; z-index:99;
  box-shadow:0 8px 32px rgba(0,0,0,0.12);
  flex-direction:column;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  display:block; padding:13px 0; font-size:15px; font-weight:600;
  color:var(--text-mid); text-decoration:none;
  border-bottom:1px solid var(--border);
}
.mobile-menu a:last-of-type { border-bottom:none; }
.mobile-menu a.active, .mobile-menu a:hover { color:var(--purple); }
.mobile-cta-btn {
  display:block; margin-top:14px;
  background:linear-gradient(135deg,var(--purple),var(--purple-deep));
  color:white !important; text-align:center;
  padding:13px 20px; border-radius:30px; border:none;
  font-size:15px; font-weight:700; text-decoration:none;
}
.mobile-lang-row {
  display:flex; gap:8px; margin-top:12px;
}
.mobile-lang-row button {
  flex:1; padding:10px; border-radius:20px; font-size:13px; font-weight:700;
  cursor:pointer; border:2px solid var(--purple); background:transparent; color:var(--purple);
  font-family:inherit;
}
.mobile-lang-row button.active { background:var(--purple); color:white; }

@media(max-width:900px){
  .hamburger { display:flex; }
  .nav-right .nav-lang { display:none; }
}
