/* Leizu public-site revamp. Keeps the existing teaching, payment, and booking systems intact. */
:root {
  --leizu-surface: color-mix(in srgb, var(--paper-deep) 78%, transparent);
  --leizu-panel: color-mix(in srgb, var(--paper) 91%, var(--mulberry-leaf) 9%);
  --leizu-deep: color-mix(in srgb, var(--mulberry-deep) 84%, #111 16%);
  --leizu-line: color-mix(in srgb, var(--rule) 82%, transparent);
}
body.leizu-revamp {
  background-image:
    radial-gradient(circle at 8% 4%, color-mix(in srgb, var(--mulberry-leaf) 15%, transparent), transparent 32rem),
    radial-gradient(circle at 96% 28%, color-mix(in srgb, var(--mulberry-fruit) 11%, transparent), transparent 30rem),
    linear-gradient(180deg, color-mix(in srgb, var(--paper) 98%, var(--mulberry-leaf) 2%), var(--paper));
}
.leizu-site-nav {
  width:min(1200px, calc(100% - 4rem));
  margin:1.25rem auto 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 1rem;
  border:1px solid var(--leizu-line);
  border-radius:999px;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(14px);
  position:relative;
  z-index:30;
  font-family:var(--mono, monospace);
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.leizu-site-nav .leizu-mark {
  color:var(--mulberry-deep);
  font-family:var(--display, Georgia, serif);
  font-size:1.1rem;
  font-style:italic;
  letter-spacing:.02em;
  text-transform:none;
  white-space:nowrap;
}
.leizu-site-nav .leizu-nav-links {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.85rem;
}
.leizu-site-nav a {
  color:var(--ink-soft);
  border:0;
  text-decoration:none;
  padding:.25rem 0;
}
.leizu-site-nav a:hover,
.leizu-site-nav a:focus-visible { color:var(--mulberry-deep); }
.leizu-site-nav .leizu-nav-zh {
  color:var(--paper);
  background:var(--mulberry-deep);
  border-radius:999px;
  padding:.45rem .75rem;
  letter-spacing:.04em;
  text-transform:none;
  font-family:var(--han-tc, var(--display, serif));
}
.leizu-site-nav .leizu-nav-zh:hover,
.leizu-site-nav .leizu-nav-zh:focus-visible { color:var(--paper); background:var(--mulberry-fruit); }

/* Main academy page */
.leizu-home .page { max-width:1240px; padding-left:2.25rem; padding-right:2.25rem; }
.leizu-home header.masthead {
  padding:clamp(4rem, 8vw, 7.5rem) 0 clamp(3rem, 6vw, 5.5rem);
  border:0;
  text-align:left;
  position:relative;
}
.leizu-home .masthead::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--rule), transparent);
}
.leizu-home .masthead-grid {
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap:clamp(2rem, 6vw, 6rem);
  align-items:end;
}
.leizu-home .hero-kicker,
.leizu-home .section-kicker {
  font-family:var(--mono, monospace);
  font-size:.7rem;
  letter-spacing:.16em;
  color:var(--accent);
  text-transform:uppercase;
  margin-bottom:1rem;
}
.leizu-home .masthead-han {
  font-size:clamp(3.4rem, 8vw, 6.75rem);
  margin-bottom:.5rem;
  letter-spacing:.08em;
}
.leizu-home .masthead-en {
  font-size:clamp(2.25rem, 4.8vw, 4.75rem);
  margin-bottom:1.25rem;
}
.leizu-home .masthead-rule { display:none; }
.leizu-home .masthead-sub {
  max-width:48rem;
  margin:0;
  font-size:clamp(1.22rem, 2.1vw, 1.65rem);
  line-height:1.48;
  color:var(--ink);
  font-style:normal;
}
.leizu-home .hero-actions {
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin:2rem 0 0;
}
.leizu-home .hero-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:.78rem 1.1rem;
  border:1px solid var(--mulberry-deep);
  border-radius:.25rem;
  text-decoration:none;
  font-family:var(--display, Georgia, serif);
  font-size:1.08rem;
  font-weight:500;
  color:var(--paper);
  background:var(--mulberry-deep);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.leizu-home .hero-button:hover,
.leizu-home .hero-button:focus-visible { color:var(--paper); background:var(--mulberry-fruit); transform:translateY(-2px); }
.leizu-home .hero-button.secondary { color:var(--mulberry-deep); background:transparent; }
.leizu-home .hero-button.secondary:hover,
.leizu-home .hero-button.secondary:focus-visible { color:var(--paper); background:var(--mulberry-deep); }
.leizu-home .hero-button.chinese {
  background:var(--mulberry-fruit);
  border-color:var(--mulberry-fruit);
  font-family:var(--han-tc, var(--display, serif));
}
.leizu-home .hero-button.chinese:hover,
.leizu-home .hero-button.chinese:focus-visible { background:var(--mulberry-deep); }
.leizu-home .hero-aside {
  padding:1.7rem;
  border:1px solid var(--leizu-line);
  border-radius:.5rem;
  background:linear-gradient(145deg, var(--leizu-panel), var(--paper-deep));
}
.leizu-home .hero-aside-title {
  font-size:1.55rem;
  line-height:1.15;
  font-style:italic;
  margin-bottom:.8rem;
  color:var(--ink);
}
.leizu-home .hero-aside p { color:var(--ink-soft); font-size:1.05rem; line-height:1.55; }
.leizu-home .hero-facts {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  margin-top:3rem;
  border-top:1px solid var(--leizu-line);
  border-bottom:1px solid var(--leizu-line);
}
.leizu-home .hero-fact { padding:1rem 1.05rem 1.1rem; border-right:1px solid var(--leizu-line); }
.leizu-home .hero-fact:last-child { border-right:0; }
.leizu-home .hero-fact strong { display:block; color:var(--mulberry-deep); font-size:1.2rem; font-weight:500; line-height:1.15; }
.leizu-home .hero-fact span { display:block; margin-top:.3rem; font-size:.88rem; color:var(--ink-soft); line-height:1.35; }
.leizu-home .masthead-meta { justify-content:flex-start; gap:.55rem 1rem; margin-top:1.8rem; font-size:.64rem; }
.leizu-home .masthead-meta > span:nth-of-type(3),
.leizu-home .masthead-meta > .masthead-meta-sep,
.leizu-home .masthead-meta > a { display:none; }

.leizu-home section.chapter { padding:clamp(3.5rem, 7vw, 6.5rem) 0; }
.leizu-home .chapter-num { margin-bottom:.8rem; }
.leizu-home .chapter-title { max-width:54rem; margin-bottom:1.35rem; }
.leizu-home .chapter-prose { padding:0; max-width:54rem; font-size:1.23rem; }
.leizu-home .chapter-prose p { margin-bottom:1rem; }
.leizu-home .chapter-prose .dropcap::first-letter { font-size:4rem; }
.leizu-home .academy-intro {
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(17rem,.95fr);
  gap:2.5rem;
  align-items:start;
}
.leizu-home .academy-promise {
  padding:1.5rem;
  border-left:3px solid var(--mulberry-leaf);
  background:var(--leizu-surface);
  font-size:1.1rem;
  color:var(--ink-soft);
  line-height:1.6;
}
.leizu-home .academy-promise strong { color:var(--ink); font-weight:500; }
.leizu-home .elements-grid { grid-template-columns:repeat(5, minmax(0, 1fr)); gap:.8rem; margin-top:2.1rem; }
.leizu-home .element-card { min-height:16rem; padding:1.45rem 1.15rem; border:1px solid var(--leizu-line); border-top:3px solid var(--mulberry-leaf); background:var(--leizu-panel); }
.leizu-home .element-card:hover { transform:translateY(-5px); }
.leizu-home .element-card .glyph { font-size:3rem; }
.leizu-home .element-card .element-name { font-size:1.35rem; }
.leizu-home .element-card .element-desc { font-size:.98rem; line-height:1.5; }
.leizu-home #subjects { scroll-margin-top:2rem; }
.leizu-home .catalogue-lead {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.4rem;
}
.leizu-home .catalogue-lead .chapter-prose { margin:0; }
.leizu-home .catalogue-note { font-size:.97rem; max-width:23rem; color:var(--ink-soft); }
.leizu-home .route-selector { margin:1.6rem 0; padding:.8rem; background:var(--leizu-surface); border:1px solid var(--leizu-line); border-radius:.5rem; }
.leizu-home .route-btn { border-radius:999px; }
.leizu-home #pillars-container { margin-top:1.3rem; }
.leizu-home .format-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem; margin-top:2rem; }
.leizu-home .format-card { border:1px solid var(--leizu-line); border-radius:.5rem; background:var(--leizu-panel); padding:1.5rem; }
.leizu-home .format-card::before { display:none; }
.leizu-home .format-name { color:var(--mulberry-deep); font-size:1.55rem; }
.leizu-home .format-desc { font-size:1.05rem; line-height:1.55; }
.leizu-home #pricing { scroll-margin-top:2rem; }
.leizu-home .fee { margin-top:2rem; }
.leizu-home .tier-grid { gap:1rem; }
.leizu-home .card { padding:1.65rem; border-radius:.5rem; border:1px solid var(--leizu-line); background:var(--leizu-panel); box-shadow:none; }
.leizu-home .card.flag { border-width:1px; border-color:var(--mulberry-fruit); background:linear-gradient(155deg, var(--leizu-panel), color-mix(in srgb, var(--mulberry-fruit) 8%, var(--paper))); }
.leizu-home .card .tier-name { font-size:1.7rem; }
.leizu-home .card .desc { font-size:1.06rem; line-height:1.5; }
.leizu-home .card .holds { font-size:.98rem; }
.leizu-home .buy,
.leizu-home .go { min-height:2.75rem; display:inline-flex; align-items:center; padding:.65rem 1rem; border-radius:.25rem; }
.leizu-home .fee-close { border-top:1px solid var(--leizu-line); padding-top:1.35rem; }
.leizu-home .policy-block { max-width:56rem; margin:2rem 0 0; padding:1.4rem 1.5rem; border-left:3px solid var(--accent); background:var(--leizu-surface); }
.leizu-home .teacher-prose { border-top:1px solid var(--leizu-line); padding-top:1.4rem; }
.leizu-home .faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1.75rem; }
.leizu-home .faq-item { padding:1.1rem 1.15rem; border:1px solid var(--leizu-line); background:var(--leizu-panel); }
.leizu-home .faq-q { font-size:1.25rem; color:var(--ink); }
.leizu-home .faq-a { margin-top:.55rem; font-size:1rem; line-height:1.5; color:var(--ink-soft); }
.leizu-home .scholar-cta { background:linear-gradient(120deg, var(--leizu-surface), transparent); border-radius:.5rem; padding-left:2rem; padding-right:2rem; }
.leizu-home .consultation-card { border-radius:.5rem; box-shadow:none; }
.leizu-home .contact-block { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.leizu-home .contact-side { border:1px solid var(--leizu-line); padding:1.2rem; background:var(--leizu-panel); }
.leizu-home .contact-side.contact-zh-cta { background:color-mix(in srgb, var(--mulberry-fruit) 10%, var(--paper)); border-color:color-mix(in srgb, var(--mulberry-fruit) 65%, var(--rule)); }
.leizu-home .contact-side .btn-book { background:var(--mulberry-fruit); color:var(--paper); border:0; border-radius:.25rem; }

/* Supporting pages share the same clear entry point. */
.leizu-revamp .page { position:relative; }
.leizu-revamp .crumb { margin-top:2.25rem; }
.leizu-revamp .masthead { position:relative; }
.leizu-revamp .masthead::after { content:""; display:block; width:100%; height:1px; background:var(--leizu-line); margin-top:2.25rem; }
.leizu-revamp .masthead-sub { max-width:42rem; }
.leizu-revamp main > .lead { font-size:1.45rem; line-height:1.45; color:var(--ink); max-width:44rem; }
.leizu-revamp main h2 { margin-top:3.25rem; padding-top:1rem; border-top:1px solid var(--leizu-line); }
.leizu-revamp .callout,
.leizu-revamp .form-wrap,
.leizu-revamp .fee-fine,
.leizu-revamp .policy-block { border-radius:.45rem; }
.leizu-revamp .policies { max-width:820px; }
.leizu-revamp .policy { padding:1.6rem; border:1px solid var(--leizu-line); border-radius:.45rem; background:var(--leizu-panel); margin-bottom:1rem; }
.leizu-revamp .policy h2 { border:0; padding:0; margin-top:.45rem; }
.leizu-revamp .policies-footer { margin-top:3.5rem; }

@media (max-width:900px) {
  .leizu-site-nav { width:min(100% - 2rem, 1200px); border-radius:.5rem; align-items:flex-start; }
  .leizu-site-nav .leizu-nav-links { justify-content:flex-start; }
  .leizu-home .masthead-grid,
  .leizu-home .academy-intro { grid-template-columns:1fr; }
  .leizu-home .elements-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .leizu-home .hero-aside { max-width:44rem; }
}
@media (max-width:640px) {
  .leizu-site-nav { margin-top:.7rem; padding:.8rem; gap:.75rem; }
  .leizu-site-nav .leizu-mark { width:100%; }
  .leizu-site-nav .leizu-nav-links { gap:.5rem .8rem; font-size:.6rem; }
  .leizu-site-nav .leizu-nav-zh { padding:.35rem .55rem; }
  .leizu-home .page { padding-left:1.25rem; padding-right:1.25rem; }
  .leizu-home header.masthead { padding-top:3.2rem; }
  .leizu-home .hero-facts { grid-template-columns:1fr; }
  .leizu-home .hero-fact { border-right:0; border-bottom:1px solid var(--leizu-line); }
  .leizu-home .hero-fact:last-child { border-bottom:0; }
  .leizu-home .hero-actions { display:grid; grid-template-columns:1fr; }
  .leizu-home .hero-button { width:100%; }
  .leizu-home .elements-grid,
  .leizu-home .format-grid,
  .leizu-home .faq-list,
  .leizu-home .contact-block { grid-template-columns:1fr; }
  .leizu-home .catalogue-lead { display:block; }
  .leizu-home .catalogue-note { margin-top:1rem; }
  .leizu-home .scholar-cta { padding-left:1.25rem; padding-right:1.25rem; }
}

/* The course selector captures intent. It does not quote retired bundle prices. */
.leizu-home .selection-notice {
  margin:0;
  max-width:25rem;
  color:var(--mulberry-fruit);
  font-size:.94rem;
  line-height:1.35;
}
.leizu-home .selection-notice[hidden] { display:none; }
.leizu-home .pricing-amount-block { min-width:0; }
.leizu-home .pricing-per-session { max-width:29rem; }
