.comm-hero { background: var(--sanctuary); padding: calc(var(--header-h) + 100px) 40px 120px; text-align: center; position: relative; overflow: hidden; }
.comm-hero-wm { position: absolute; font-family: var(--font-display-zh); font-size: 580px; line-height: 1; color: var(--moonstone); opacity: 0.03; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; user-select: none; z-index: 0; }
.comm-hero-inner { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; }
.comm-eyebrow { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.22em; color: var(--gold); text-transform: uppercase; margin-bottom: 20px; }
.comm-gold-rule { display: block; width: 60px; height: 0.5px; background: var(--gold); margin: 0 auto 32px; }
.comm-title { font-family: var(--font-display-zh); font-size: 80px; color: var(--moonstone); letter-spacing: 0.1em; line-height: 1; margin-bottom: 20px; font-weight: 400; }
.comm-title-label { font-family: var(--font-label); font-size: 11px; letter-spacing: 0.2em; color: var(--stone); text-transform: uppercase; margin-bottom: 40px; }
.comm-tagline { font-family: var(--font-body-zh); font-size: 20px; color: var(--moonstone); opacity: 0.8; line-height: 1.85; }
.comm-tagline em { display: block; font-family: var(--font-body-en); font-size: 16px; color: var(--stone); margin-top: 10px; opacity: 0.85; }
.comm-path { background: var(--parchment); padding: 100px 40px 0; border-top: 0.5px solid var(--stone); }
.comm-path-head { text-align: center; max-width: 640px; margin: 0 auto 56px; }
.comm-path-eyebrow { font-family: var(--font-ui-zh); font-size: 12px; letter-spacing: 0.2em; color: var(--gold); margin-bottom: 16px; }
.comm-path-title { font-family: var(--font-display-zh); font-size: 40px; color: var(--ink); letter-spacing: 0.08em; margin-bottom: 14px; font-weight: 400; }
.comm-path-sub { font-family: var(--font-body-zh); font-size: 15px; color: var(--charcoal); opacity: 0.7; line-height: 1.85; }
.path-rail { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 0.5px solid var(--stone); max-width: var(--max-width); margin: 0 auto; }
.path-node { display: block; padding: 28px 20px 24px; border-left: 0.5px solid var(--stone); text-decoration: none; color: var(--ink); transition: background 0.35s ease; }
.path-node:first-child { border-left: none; }
.path-node:hover { background: var(--gold-wash); }
.path-node:hover .path-name { color: var(--gold-deep); }
.path-num { display: block; font-family: var(--font-display-en); font-size: 26px; color: var(--gold); letter-spacing: 0.06em; margin-bottom: 10px; }
.path-name { display: block; font-family: var(--font-display-zh); font-size: 21px; color: var(--ink); letter-spacing: 0.06em; margin-bottom: 8px; font-weight: 400; transition: color 0.3s; }
.path-desc { display: block; font-family: var(--font-body-zh); font-size: 13px; color: var(--charcoal); opacity: 0.6; line-height: 1.7; }
.path-content { display: block; }
.path-node--final .path-name { color: var(--charcoal); }
.tier-section { position: relative; overflow: hidden; padding: 120px 40px; }
.tier-01 { background: var(--parchment); }
.tier-02 { background: var(--vellum); }
.tier-03 { background: var(--parchment); }
.tier-04 { background: var(--sanctuary); border-top-color: rgba(200,188,168,0.15); }
.tier-wm { position: absolute; font-family: var(--font-display-zh); font-size: 380px; line-height: 1; color: var(--stone); opacity: 0.1; right: -20px; top: 50%; transform: translateY(-50%); pointer-events: none; user-select: none; z-index: 0; }
.tier-wm--dark { color: var(--gold); opacity: 0.05; }
.tier-inner { position: relative; z-index: 1; max-width: 840px; margin: 0 auto; }
.tier-header { text-align: center; margin-bottom: 60px; }
.tier-inv { display: block; font-family: var(--font-label); font-size: 10px; letter-spacing: 0.26em; color: var(--stone); text-transform: uppercase; margin-bottom: 22px; }
.tier-inv--dark { color: var(--stone); opacity: 0.55; }
.tier-title-row { display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 16px; }
.tier-num { font-family: var(--font-display-en); font-size: 56px; color: var(--gold); line-height: 1; letter-spacing: 0.04em; }
.tier-vr { display: block; width: 0.5px; height: 64px; background: var(--gold); opacity: 0.65; flex-shrink: 0; }
.tier-vr--dim { opacity: 0.35; }
.tier-name { font-family: var(--font-display-zh); font-size: 56px; color: var(--ink); font-weight: 400; letter-spacing: 0.08em; line-height: 1; }
.tier-name--light { color: var(--moonstone); }
.tier-sub { font-family: var(--font-body-en); font-size: 17px; color: var(--stone); margin: 0; }
.tier-sub--dark { color: var(--stone); opacity: 0.65; }
.tier-prose { text-align: center; max-width: 640px; margin: 0 auto 52px; }
.tier-prose p { font-family: var(--font-body-zh); font-size: 16px; color: var(--charcoal); line-height: 1.95; margin-bottom: 18px; }
.tier-prose p:last-child { margin-bottom: 0; }
.tier-prose--dark p { color: var(--moonstone); opacity: 0.8; }
.tier-statement { font-family: var(--font-display-zh); font-size: 24px; color: var(--moonstone) !important; letter-spacing: 0.06em; opacity: 1 !important; line-height: 1.5; }
.tier-benefits-wrap { margin-bottom: 48px; }
.benefits-label { font-family: var(--font-ui-zh); font-size: 24px; letter-spacing: 0.06em; color: var(--gold); text-align: center; margin-bottom: 28px; }
.benefits-label--dim { color: var(--stone); opacity: 0.7; }
.tier-benefits { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 40px; max-width: 720px; margin: 0 auto; }
.tier-benefits li { font-family: var(--font-body-zh); font-size: 15px; color: var(--charcoal); line-height: 1.7; padding-left: 22px; position: relative; }
.tier-benefits li::before { content: '—'; position: absolute; left: 0; color: var(--stone); font-family: var(--font-body-en); font-size: 14px; }
.tier-benefits--dark li { color: var(--moonstone); opacity: 0.78; }
.tier-benefits--dark li::before { color: var(--stone); opacity: 0.5; }
.disc-num { font-family: var(--font-display-en); font-size: 1.1em; color: var(--gold); letter-spacing: 0.02em; }
.tier-discounts { display: flex; gap: 0; justify-content: center; margin: 0 auto 48px; max-width: 480px; border-top: 0.5px solid rgba(200,188,168,0.2); border-bottom: 0.5px solid rgba(200,188,168,0.2); padding: 32px 0; }
.discount-item { flex: 1; text-align: center; border-left: 0.5px solid rgba(200,188,168,0.2); }
.discount-item:first-child { border-left: none; }
.discount-label { display: block; font-family: var(--font-ui-zh); font-size: 11px; letter-spacing: 0.18em; color: var(--stone); opacity: 0.7; margin-bottom: 8px; }
.discount-val { display: block; font-family: var(--font-display-zh); font-size: 38px; color: var(--gold); letter-spacing: 0.04em; font-weight: 400; }
.talents-panel { border: 0.5px solid rgba(200,188,168,0.25); padding: 48px 56px; margin: 0 auto 48px; max-width: 740px; text-align: left; }
.talents-label { font-family: var(--font-ui-zh); font-size: 28px; letter-spacing: 0.1em; color: var(--gold); text-align: center; margin-bottom: 40px; }
.talents-subtitle { font-family: var(--font-body-zh); font-size: 15px; line-height: 1.9; color: var(--stone); text-align: center; margin: 0 0 36px; opacity: 0.8; }
.talents-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 28px; }
.talents-list li { display: flex; flex-direction: column; gap: 8px; }
.talent-heading { display: flex; align-items: baseline; gap: 12px; }
.talent-name { font-family: var(--font-body-zh); font-size: 22px; color: var(--moonstone); letter-spacing: 0.06em; }
.talent-sep { color: var(--stone); opacity: 0.4; font-size: 16px; }
.talent-role { font-family: var(--font-ui-zh); font-size: 16px; color: var(--gold); letter-spacing: 0.06em; }
.talent-desc { font-family: var(--font-body-zh); font-size: 15px; line-height: 1.8; color: var(--stone); margin: 0; padding-left: 2px; }
.tier-bridge { text-align: center; padding-top: 52px; max-width: 640px; margin: 0 auto; }
.bridge-rule { width: 48px; height: 0.5px; background: var(--stone); margin: 0 auto 28px; }
.bridge-rule--dim { background: rgba(200,188,168,0.5); }
.bridge-statement { font-family: var(--font-display-zh); font-size: 20px; color: var(--ink); letter-spacing: 0.04em; line-height: 1.5; margin-bottom: 10px; }
.bridge-note { font-family: var(--font-body-zh); font-size: 15px; color: var(--charcoal); opacity: 0.75; line-height: 1.85; margin-bottom: 20px; }
.bridge-next { font-family: var(--font-body-zh); font-size: 16px; color: var(--charcoal); line-height: 1.9; }
.tier-next-name { letter-spacing: 0.06em; color: var(--ink); }
.bridge-closing { font-family: var(--font-display-zh); font-size: 19px; color: var(--moonstone); opacity: 0.8; letter-spacing: 0.04em; line-height: 1.65; }
.comm-cta { background: var(--temple-night); padding: 120px 40px; text-align: center; border-top: 0.5px solid rgba(200,188,168,0.15); }
.comm-cta-inner { max-width: 640px; margin: 0 auto; }
.comm-cta-eyebrow { font-family: var(--font-ui-zh); font-size: 12px; letter-spacing: 0.2em; color: var(--gold); margin-bottom: 20px; }
.comm-cta-head { font-family: var(--font-display-zh); font-size: 52px; color: var(--moonstone); letter-spacing: 0.1em; margin-bottom: 20px; font-weight: 400; }
.comm-cta-desc { font-family: var(--font-body-zh); font-size: 16px; color: var(--moonstone); opacity: 0.65; line-height: 1.9; margin-bottom: 44px; }
.comm-btn-cta { display: inline-block; font-family: var(--font-ui-zh); font-size: 13px; letter-spacing: 0.14em; background: var(--gold); color: var(--ink); padding: 16px 44px; transition: background 0.3s ease, transform 0.15s ease; cursor: pointer; text-decoration: none; }
.comm-btn-cta:hover { background: var(--gold-deep); }
.comm-btn-cta:active { transform: scale(0.97); }
@media (max-width: 900px) {
  .comm-hero { padding: calc(var(--header-h) + 72px) 32px 80px; }
  .comm-title { font-size: 58px; }
  .comm-tagline { font-size: 17px; }
  .comm-path { padding: 72px 32px 0; }
  .comm-path-title { font-size: 32px; }
  .path-rail { grid-template-columns: 1fr 1fr; }
  .path-node { display: flex; align-items: flex-start; gap: 16px; }
  .path-num { margin-bottom: 0; flex-shrink: 0; }
  .path-content { flex: 1; }
  .path-node:nth-child(3) { border-left: none; }
  .path-node:nth-child(3), .path-node:nth-child(4) { border-top: 0.5px solid var(--stone); }
  .tier-section { padding: 88px 32px; }
  .tier-name, .tier-num { font-size: 44px; }
  .tier-vr { height: 52px; }
  .tier-wm { font-size: 260px; }
  .tier-benefits { grid-template-columns: 1fr; }
  .tier-discounts { max-width: 360px; }
  .talents-panel { padding: 36px 32px; max-width: 100%; }
  .talents-label { font-size: 24px; }
}
@media (max-width: 600px) {
  .comm-hero { padding: calc(var(--header-h) + 48px) 24px 64px; }
  .comm-title { font-size: 44px; letter-spacing: 0.06em; }
  .comm-tagline { font-size: 16px; }
  .comm-hero-wm { font-size: 320px; }
  .comm-path { padding: 56px 24px 0; }
  .comm-path-title { font-size: 28px; }
  .path-rail { grid-template-columns: 1fr; border-top: none; }
  .path-node { display: flex; align-items: flex-start; gap: 20px; border-left: none; border-top: 0.5px solid var(--stone); padding: 24px 20px; }
  .path-node:first-child { border-top: none; }
  .path-num { font-size: 28px; margin-bottom: 0; flex-shrink: 0; width: 48px; }
  .path-content { flex: 1; }
  .tier-section { padding: 72px 24px; }
  .tier-inner { max-width: 100%; }
  .tier-title-row { gap: 14px; }
  .tier-num { font-size: 36px; }
  .tier-name { font-size: 36px; }
  .tier-vr { height: 44px; }
  .tier-wm { font-size: 200px; right: -10px; }
  .tier-prose { max-width: 100%; }
  .tier-benefits { max-width: 100%; }
  .comm-cta { padding: 80px 24px; }
  .comm-cta-head { font-size: 36px; }
  .tier-discounts { flex-direction: column; gap: 0; padding: 0; border: none; max-width: 100%; }
  .discount-item { border-left: none; border-top: 0.5px solid rgba(200,188,168,0.2); padding: 20px 0; }
  .discount-item:first-child { border-top: none; }
  .talents-panel { padding: 28px 20px; max-width: 100%; }
  .talents-label { font-size: 22px; }
  .talents-subtitle { text-align: left; }
  .talent-name { font-size: 19px; }
  .talent-role { font-size: 14px; }
  .tier-bridge { max-width: 100%; }
}