/* 招生落地页专用样式(Mandarin with Tóng)。
   —— 由已批准的设计稿 temp/landing-preview.html 落地而来:暖米纸底 / 水墨黑 / 朱砂印章 / 青瓷点缀。
   —— 这份样式表**只被 landing.html 引入**,不加载 app.css(DaisyUI),因此本页无 DaisyUI。
   —— 即便如此,所有自定义类**一律加 `lp-` 前缀**(并整体收在 body.lp 作用域下),避免日后若混入
      app.css 时撞上 DaisyUI 的 .card/.btn/.step/.price 等组件类把布局压坏(本仓踩过)。 */

:root{
  --lp-paper:#FAF6EF; --lp-surface:#FFFDFA; --lp-ink:#211E1A; --lp-muted:#726B60;
  --lp-cinnabar:#C1402C; --lp-cinnabar-ink:#A5341F; --lp-celadon:#3F6B58;
  --lp-hair:#E7DECF; --lp-hair-soft:#F0E9DC; --lp-shadow:26 24 20;
}
:root:not([data-theme="light"]){ color-scheme: light; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --lp-paper:#15120F; --lp-surface:#1E1A16; --lp-ink:#ECE5D9; --lp-muted:#A39A8B;
    --lp-cinnabar:#E06B53; --lp-cinnabar-ink:#EA7B63; --lp-celadon:#82B79D;
    --lp-hair:#322B23; --lp-hair-soft:#282219; --lp-shadow:0 0 0; color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --lp-paper:#15120F; --lp-surface:#1E1A16; --lp-ink:#ECE5D9; --lp-muted:#A39A8B;
  --lp-cinnabar:#E06B53; --lp-cinnabar-ink:#EA7B63; --lp-celadon:#82B79D;
  --lp-hair:#322B23; --lp-hair-soft:#282219; --lp-shadow:0 0 0; color-scheme: dark;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body.lp{
  margin:0; background:var(--lp-paper); color:var(--lp-ink);
  font-family:"Avenir Next","Segoe UI",-apple-system,system-ui,"Helvetica Neue",Arial,sans-serif;
  font-size:17px; line-height:1.65; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
}
.lp .lp-serif{ font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif; }
.lp .lp-han{ font-family:"Songti SC","STSong","Noto Serif SC",serif; }
.lp a{ color:var(--lp-celadon); text-underline-offset:3px; text-decoration-thickness:1px; }

.lp .lp-wrap{ width:min(1080px,92vw); margin-inline:auto; }
.lp section{ padding-block:clamp(3.5rem,8vw,6rem); }
.lp .lp-eyebrow{
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--lp-cinnabar); font-weight:700; margin:0 0 1rem;
}
.lp h1,.lp h2,.lp h3{ text-wrap:balance; margin:0; }
.lp h2.lp-serif{ font-size:clamp(1.7rem,3.4vw,2.5rem); font-weight:600; line-height:1.12; letter-spacing:-.01em; }
.lp .lp-lede{ color:var(--lp-muted); font-size:1.06rem; max-width:56ch; }

/* ---- seal / 印章 brand device ---- */
.lp .lp-seal{
  display:inline-grid; place-items:center; inline-size:2.1em; block-size:2.1em;
  color:var(--lp-surface); background:var(--lp-cinnabar);
  border-radius:6px; font-weight:700; line-height:1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 1px 0 rgba(var(--lp-shadow),.25);
  transform:rotate(-3deg);
}
.lp .lp-seal.lp-lg{ inline-size:3.4rem; block-size:3.4rem; font-size:1.7rem; border-radius:9px; }

/* ---- top nav ---- */
.lp header.lp-nav{ position:sticky; top:0; z-index:20;
  background:color-mix(in srgb, var(--lp-paper) 88%, transparent);
  backdrop-filter:saturate(1.2) blur(9px);
  border-bottom:1px solid var(--lp-hair);
}
.lp .lp-nav-in{ display:flex; align-items:center; gap:1.4rem; padding-block:.85rem; }
.lp .lp-brand{ display:flex; align-items:center; gap:.6rem; font-weight:700; letter-spacing:.01em; text-decoration:none; color:var(--lp-ink); }
.lp .lp-brand .lp-seal{ font-size:.9rem; }
.lp .lp-nav-links{ margin-left:auto; display:flex; gap:1.5rem; align-items:center; }
.lp .lp-nav-links a{ color:var(--lp-muted); text-decoration:none; font-size:.94rem; font-weight:600; }
.lp .lp-nav-links a:hover{ color:var(--lp-ink); }
.lp .lp-btn{
  --lp-bg:var(--lp-cinnabar); --lp-fg:#fff;
  display:inline-flex; align-items:center; gap:.5rem; justify-content:center;
  background:var(--lp-bg); color:var(--lp-fg); border:1px solid transparent;
  font:inherit; font-weight:700; font-size:.95rem; line-height:1;
  padding:.72rem 1.15rem; border-radius:8px; text-decoration:none; cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
  box-shadow:0 1px 0 rgba(var(--lp-shadow),.18);
}
.lp .lp-btn:hover{ transform:translateY(-1px); background:var(--lp-cinnabar-ink); }
.lp .lp-btn.lp-ghost{ --lp-bg:transparent; --lp-fg:var(--lp-ink); border-color:var(--lp-hair); box-shadow:none; }
.lp .lp-btn.lp-ghost:hover{ background:var(--lp-surface); border-color:var(--lp-muted); }
.lp .lp-btn.lp-sm{ padding:.55rem .9rem; font-size:.9rem; }
.lp .lp-nav-links .lp-btn{ color:#fff; }

/* ---- language switcher(复用 langswitch partial 的类名,这里给它落地页的皮) ---- */
.lp .lang-switch{ position:relative; }
.lp .lang-switch > summary{
  list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:.35rem;
  color:var(--lp-muted); font-size:.9rem; font-weight:600; padding:.35rem .5rem; border-radius:7px;
}
.lp .lang-switch > summary::-webkit-details-marker{ display:none; }
.lp .lang-switch > summary:hover{ color:var(--lp-ink); }
.lp .lang-globe{ inline-size:1.05rem; block-size:1.05rem; }
.lp .lang-menu{
  position:absolute; right:0; top:calc(100% + .4rem); min-width:9rem; padding:.35rem;
  background:var(--lp-surface); border:1px solid var(--lp-hair); border-radius:10px;
  box-shadow:0 18px 40px -28px rgba(var(--lp-shadow),.7); z-index:30;
}
.lp .lang-opt{ display:block; padding:.45rem .6rem; border-radius:7px; text-decoration:none;
  color:var(--lp-ink); font-size:.9rem; font-weight:600; }
.lp .lang-opt:hover{ background:var(--lp-hair-soft); }
.lp .lang-opt.active{ color:var(--lp-cinnabar); }

/* ---- hero ---- */
.lp .lp-hero{ padding-top:clamp(2.5rem,5vw,4rem); }
.lp .lp-hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.lp .lp-hero h1{ font-size:clamp(2.4rem,6vw,4rem); font-weight:600; line-height:1.04; letter-spacing:-.02em; margin:.4rem 0 1.1rem; }
.lp .lp-hero h1 em{ font-style:normal; color:var(--lp-cinnabar); }
.lp .lp-cta-row{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.lp .lp-fine{ font-size:.85rem; color:var(--lp-muted); margin-top:1rem; }
.lp .lp-glyph{
  position:relative; aspect-ratio:1; border-radius:16px;
  background:
    radial-gradient(120% 120% at 30% 20%, color-mix(in srgb,var(--lp-cinnabar) 8%, var(--lp-surface)) 0%, var(--lp-surface) 55%);
  border:1px solid var(--lp-hair); display:grid; place-items:center; overflow:hidden;
  box-shadow:0 24px 60px -40px rgba(var(--lp-shadow),.6);
}
.lp .lp-glyph .lp-char{ font-size:clamp(9rem,26vw,17rem); line-height:.8; color:var(--lp-ink); }
.lp .lp-glyph .lp-py{ position:absolute; top:1.1rem; left:1.3rem; font-size:1.05rem; color:var(--lp-muted); letter-spacing:.02em; }
.lp .lp-glyph .lp-gloss{ position:absolute; bottom:1.1rem; right:1.3rem; font-size:.9rem; color:var(--lp-muted); font-style:italic; }
.lp .lp-glyph .lp-seal{ position:absolute; bottom:1.2rem; left:1.3rem; }

/* ---- portrait avatar image ---- */
.lp .lp-portrait img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ---- trust strip ---- */
.lp .lp-trust{ border-block:1px solid var(--lp-hair); background:var(--lp-hair-soft); }
.lp .lp-trust .lp-wrap{ display:flex; flex-wrap:wrap; gap:.6rem 2.4rem; padding-block:1.1rem; align-items:center; }
.lp .lp-trust span{ font-size:.9rem; color:var(--lp-muted); font-weight:600; display:flex; align-items:center; gap:.5rem; }
.lp .lp-trust b{ color:var(--lp-ink); }
.lp .lp-dot{ inline-size:5px; block-size:5px; border-radius:50%; background:var(--lp-cinnabar); display:inline-block; }

/* ---- steps ---- */
.lp .lp-head{ max-width:60ch; margin-bottom:2.6rem; }
.lp .lp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.lp .lp-step{ position:relative; padding:1.6rem 1.4rem; background:var(--lp-surface); border:1px solid var(--lp-hair); border-radius:14px; }
.lp .lp-step .lp-n{ font-family:"Songti SC","STSong",serif; font-size:1rem; color:var(--lp-cinnabar); font-weight:700;
  letter-spacing:.05em; display:block; margin-bottom:.7rem; }
.lp .lp-step h3{ font-size:1.12rem; font-weight:700; margin-bottom:.35rem; }
.lp .lp-step p{ margin:0; color:var(--lp-muted); font-size:.96rem; }

/* ---- available slots(在"how it works"下方,若接到档期) ---- */
.lp .lp-slots{ margin-top:2rem; padding:1.4rem 1.5rem; background:var(--lp-surface); border:1px solid var(--lp-hair); border-radius:14px; }
.lp .lp-slots-title{ font-weight:700; font-size:1rem; margin:0 0 .9rem; }
.lp .lp-slots-list{ display:flex; flex-wrap:wrap; gap:.6rem; }
.lp .lp-slot{ font-variant-numeric:tabular-nums; font-size:.92rem; font-weight:600; color:var(--lp-ink);
  background:var(--lp-hair-soft); border:1px solid var(--lp-hair); border-radius:8px; padding:.5rem .8rem; }
.lp .lp-slots-note{ margin:.9rem 0 0; font-size:.82rem; color:var(--lp-muted); }

/* ---- pricing ---- */
.lp .lp-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; align-items:stretch; }
.lp .lp-card{ display:flex; flex-direction:column; padding:1.7rem 1.5rem; background:var(--lp-surface);
  border:1px solid var(--lp-hair); border-radius:16px; }
.lp .lp-card.lp-feature{ border-color:var(--lp-cinnabar); box-shadow:0 0 0 1px var(--lp-cinnabar), 0 20px 50px -38px rgba(var(--lp-shadow),.7); }
.lp .lp-tag{ align-self:flex-start; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  color:#fff; background:var(--lp-cinnabar); padding:.28rem .55rem; border-radius:5px; margin-bottom:.9rem; }
.lp .lp-card .lp-kind{ font-weight:700; font-size:1.15rem; }
.lp .lp-card .lp-dur{ color:var(--lp-muted); font-size:.88rem; margin-top:.15rem; }
.lp .lp-price{ margin:1rem 0 .2rem; display:flex; align-items:baseline; gap:.35rem; flex-wrap:wrap; }
.lp .lp-price .lp-amt{ font-family:"Iowan Old Style",Palatino,Georgia,serif; font-size:2.3rem; font-weight:600; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.lp .lp-price .lp-orig{ color:var(--lp-muted); text-decoration:line-through; font-size:1rem; }
.lp .lp-price .lp-per{ color:var(--lp-muted); font-size:.9rem; }
.lp .lp-save{ color:var(--lp-celadon); font-size:.85rem; font-weight:700; }
.lp .lp-card p.lp-desc{ color:var(--lp-muted); font-size:.95rem; margin:.7rem 0 1.3rem; }
.lp .lp-card .lp-btn{ margin-top:auto; }

/* ---- about ---- */
.lp .lp-about{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.lp .lp-portrait{ aspect-ratio:4/5; border-radius:16px; border:1px solid var(--lp-hair); overflow:hidden; position:relative;
  background:linear-gradient(160deg, color-mix(in srgb,var(--lp-celadon) 18%, var(--lp-surface)), var(--lp-surface)); display:grid; place-items:center; }
.lp .lp-portrait .lp-han{ font-size:6rem; color:color-mix(in srgb,var(--lp-celadon) 70%, var(--lp-ink)); }
.lp .lp-portrait .lp-ph{ position:absolute; bottom:.7rem; left:.8rem; font-size:.72rem; color:var(--lp-muted); background:color-mix(in srgb,var(--lp-surface) 70%,transparent); padding:.2rem .5rem; border-radius:5px; }
.lp .lp-about blockquote{ margin:0; }
.lp .lp-about .lp-q{ font-size:1.15rem; line-height:1.5; }
.lp .lp-about .lp-sig{ margin-top:1.1rem; font-weight:700; }
.lp .lp-about .lp-sig span{ color:var(--lp-muted); font-weight:500; }

/* ---- faq ---- */
.lp .lp-faq{ display:grid; gap:.2rem; max-width:78ch; }
.lp .lp-faq details{ border-bottom:1px solid var(--lp-hair); padding:1rem 0; }
.lp .lp-faq summary{ cursor:pointer; font-weight:700; font-size:1.05rem; list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.lp .lp-faq summary::-webkit-details-marker{ display:none; }
.lp .lp-faq summary::after{ content:"＋"; color:var(--lp-cinnabar); font-weight:700; }
.lp .lp-faq details[open] summary::after{ content:"－"; }
.lp .lp-faq details p{ color:var(--lp-muted); margin:.7rem 0 0; }

/* ---- cta band + footer ---- */
.lp .lp-band{ background:var(--lp-ink); color:var(--lp-paper); border-radius:20px; padding:clamp(2rem,5vw,3.2rem);
  display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem; justify-content:space-between; }
.lp .lp-band h2{ color:var(--lp-paper); font-size:clamp(1.5rem,3vw,2.1rem); font-weight:600; max-width:20ch; }
.lp .lp-band .lp-btn{ --lp-bg:var(--lp-cinnabar); }
.lp footer{ border-top:1px solid var(--lp-hair); }
.lp .lp-foot{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; padding-block:2.6rem; }
.lp .lp-foot h4{ margin:0 0 .7rem; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--lp-muted); }
.lp .lp-foot a{ color:var(--lp-ink); text-decoration:none; display:block; margin-bottom:.4rem; font-size:.95rem; }
.lp .lp-foot a:hover{ color:var(--lp-cinnabar); }
.lp .lp-qr{ inline-size:96px; block-size:96px; border-radius:10px; border:1px dashed var(--lp-muted); display:grid; place-items:center;
  color:var(--lp-muted); font-size:.7rem; text-align:center; background:var(--lp-surface); }
.lp .lp-legal{ border-top:1px solid var(--lp-hair); padding-block:1.3rem; color:var(--lp-muted); font-size:.82rem;
  display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; align-items:center; }

.lp .lp-reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
.lp .lp-reveal.lp-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .lp .lp-reveal{ opacity:1; transform:none; transition:none; } .lp .lp-btn:hover{ transform:none; } }

@media (max-width:820px){
  .lp .lp-hero-grid{ grid-template-columns:1fr; } .lp .lp-glyph{ order:-1; max-width:340px; }
  .lp .lp-steps,.lp .lp-cards,.lp .lp-foot{ grid-template-columns:1fr; }
  .lp .lp-about{ grid-template-columns:1fr; } .lp .lp-portrait{ max-width:280px; }
  .lp .lp-nav-links a:not(.lp-btn):not(.lang-opt){ display:none; }
}
