:root {
  --gold: #A87246;
  --gold-light: #FFF0EC;
  --gold-pale: #FDEEE9;
  --gold-deep: #8A5A33;
  --dark: #E8BFB0;
  --dark-mid: #F0D2C6;
  --green: #4A7C59;
  --green-light: #6FAF82;
  --green-pale: #EEF6F1;
  --rose: #C4828A;
  --white: #FFFFFF;
  --off-white: #FEF7F3;
  --text-dark: #5C3A22;
  --text-mid: #7A5540;
  --text-light: #A6866E;
  --border: #EFD5C8;
  --shadow: rgba(168,114,70,0.18);
}
* { 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; }
/* 语言切换：默认英文，点「中文」后 body 加 .zh */
.lang-zh { display:none; } .lang-en { display:block; }
body.zh .lang-zh { display:block; } body.zh .lang-en { display:none; }
/* 行内元素必须保持 inline，否则会被挤到下一行造成排版错乱 */
span.lang-zh, small.lang-zh, label.lang-zh, a.lang-zh, em.lang-zh, strong.lang-zh { display:none; }
span.lang-en, small.lang-en, label.lang-en, a.lang-en, em.lang-en, strong.lang-en { display:inline; }
body.zh span.lang-zh, body.zh small.lang-zh, body.zh label.lang-zh,
body.zh a.lang-zh, body.zh em.lang-zh, body.zh strong.lang-zh { display:inline; }
body.zh span.lang-en, body.zh small.lang-en, body.zh label.lang-en,
body.zh a.lang-en, body.zh em.lang-en, body.zh strong.lang-en { display:none; }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(232,191,176,0.97);backdrop-filter:blur(12px);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:70px;border-bottom:1px solid rgba(201,169,110,0.3); }
.nav-logo { display:flex;align-items:center;gap:12px;text-decoration:none; }
.nav-logo img { height:40px;width:auto;object-fit:contain; }
.nav-logo .logo-text { font-size:14px;font-weight:700;color:#7A4A2A;line-height:1.2; }
.nav-logo small { display:block;font-size:10px;font-weight:400;color:#9A7358; }
.nav-links { display:flex;align-items:center;gap:22px;list-style:none; }
.nav-links a { text-decoration:none;font-size:13px;font-weight:600;color:#7A5540;transition:color 0.2s; }
.nav-links a:hover,.nav-links a.active { color:#8A5A33; }
.nav-links a.academy-link { color:#7A4A2A;border:1.5px solid #A87246;padding:5px 12px;border-radius:20px; }
.nav-links a.academy-link:hover { background:rgba(201,169,110,0.15); }
.nav-right { display:flex;align-items:center;gap:10px; }
.nav-lang { display:flex;gap:5px; }
.lang-btn { padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid #A87246;transition:all 0.2s;background:transparent;color:#8A5A33;font-family:inherit; }
.lang-btn.active { background:#A87246;color:#FFF3EC; }
.nav-book { background:linear-gradient(135deg,#A87246,#8A5A33);color:#FFF3EC!important;padding:9px 18px;border-radius:22px;font-weight:700;font-size:12px;text-decoration:none; }

/* HAMBURGER */
.hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;z-index:200; }
.hamburger > span { display:block;width:24px;height:2px;background:#8A5A33;border-radius:2px;transition:all 0.3s; }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
.mobile-menu { display:none;position:fixed;top:70px;left:0;right:0;background:#F0D2C6;border-bottom:1px solid rgba(201,169,110,0.3);padding:16px 6% 24px;z-index:99;flex-direction:column; }
.mobile-menu.open { display:flex; }
.mobile-menu a { display:block;padding:13px 0;font-size:15px;font-weight:600;color:#7A5540;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.08); }
.mobile-menu a:hover,.mobile-menu a.active { color:#8A5A33; }
.mobile-book-btn { display:block;margin-top:14px;background:linear-gradient(135deg,#A87246,#8A5A33);color:#FFF3EC!important;text-align:center;padding:14px;border-radius:30px;font-weight:700;font-size:15px; }
.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:1.5px solid #A87246;background:transparent;color:#8A5A33;font-family:inherit; }
.mobile-lang-row button.active { background:#A87246;color:#FFF3EC; }

/* PAGE HERO */
.page-hero { margin-top:70px;background:linear-gradient(150deg,var(--dark) 0%,var(--dark-mid) 55%,#FAE6DC 100%);padding:70px 5% 60px;position:relative;overflow:hidden; }
.page-hero::before { content:'';position:absolute;top:-60px;right:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(201,169,110,0.15) 0%,transparent 70%);border-radius:50%; }
.page-hero-inner { max-width:1200px;margin:0 auto;position:relative;z-index:1; }
.page-hero h1 { font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,48px);font-weight:600;color:#6B4020;line-height:1.2;margin-bottom:16px; }
.page-hero p { font-size:15px;color:#7A5540;max-width:600px;line-height:1.85; }
.hero-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.55);border:1.5px solid #A87246;border-radius:20px;padding:6px 16px;font-size:12px;font-weight:700;color:#7A4A2A;margin-bottom:20px; }

/* SECTIONS */
section { padding:80px 5%; }
.section-inner { max-width:1200px;margin:0 auto; }
.section-tag { background:#FDEEE9;color:#8A5A33;font-size:11.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:14px; }
body:not(.zh) .section-tag:not(.lang-zh) { display:inline-block; }
body.zh .section-tag:not(.lang-en) { display:inline-block; }
.section-title { font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,38px);font-weight:600;color:#6B4020;line-height:1.25;margin-bottom:8px; }
.section-title.light { color:#FFF3EC; }
.section-desc { font-size:15px;color:var(--text-mid);max-width:600px;margin-top:12px;line-height:1.85; }

/* BUTTONS */
.btn-gold { background:linear-gradient(135deg,#A87246,#8A5A33);color:#FFF3EC;padding:14px 32px;border-radius:30px;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(201,169,110,0.4);transition:all 0.25s;border:none;cursor:pointer;display:inline-block;font-family:inherit; }
.btn-gold:hover { transform:translateY(-2px);box-shadow:0 12px 32px rgba(201,169,110,0.5); }
.btn-outline-gold { background:transparent;color:#8A5A33;padding:14px 32px;border-radius:30px;font-size:15px;font-weight:700;text-decoration:none;border:2px solid #A87246;transition:all 0.25s;display:inline-block; }
.btn-outline-gold:hover { background:rgba(201,169,110,0.1);transform:translateY(-2px); }
.btn-outline-light { background:transparent;color:white;padding:14px 32px;border-radius:30px;font-size:15px;font-weight:700;text-decoration:none;border:2px solid rgba(255,255,255,0.5);transition:all 0.25s;display:inline-block; }
.btn-outline-light:hover { background:rgba(255,255,255,0.1);transform:translateY(-2px); }

/* FOOTER */
footer { background:#8A5A33;color:rgba(255,243,236,0.75);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(201,169,110,0.2); }
.footer-logo { display:flex;align-items:center;gap:10px;margin-bottom:14px; }
.footer-logo img { height:36px;width:auto;object-fit:contain; }
.footer-logo span { font-size:14px;font-weight:700;color:#FFE8D8; }
.footer-brand p { font-size:13px;line-height:1.85;max-width:240px; }
.footer-col h4 { font-size:12.5px;font-weight:700;color:#FFD9C0;margin-bottom:16px;letter-spacing:0.06em;text-transform:uppercase; }
.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,243,236,0.65);text-decoration:none;transition:color 0.2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { max-width:1200px;margin:24px auto 0;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:rgba(255,243,236,0.5);flex-wrap:wrap;gap:10px; }
.gold-badge { display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,217,192,0.35);border-radius:20px;padding:6px 14px;font-size:11px;font-weight:700;color:#FFD9C0; }

@media(max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .nav-links{display:none;}
  .nav-right .nav-lang{display:none;}
  .hamburger{display:flex;}
}
