/* 首页 · 淡墨宣纸 */
:root {
  --paper: #f8f3e7;
  --paper-2: #fdfaf2;
  --ink: #2b241d;
  --ink-2: #5a5044;
  --ink-3: #94836a;
  --line: #e2d5bb;
  --red: #a8302a;
  --red-2: #8c2620;
  --gold: #b89147;
  --kai: "STKaiti", "Kaiti SC", "KaiTi", "楷体", "Songti SC", serif;
  --serif: "Songti SC", "STSong", "Source Han Serif SC", "SimSun", serif;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  color-scheme: light;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-text-size-adjust: 100%;
}

.page {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
  min-height: 100vh;
  overflow: hidden;
  padding-bottom: 28px;
  background:
    radial-gradient(circle at 78% 12%, rgba(214, 158, 120, .18), transparent 42%),
    radial-gradient(circle at 12% 96%, rgba(150, 160, 145, .16), transparent 46%),
    linear-gradient(180deg, #faf6ec 0%, #f7f1e3 55%, #f4eddc 100%);
}

/* ---------- 背景装饰 ---------- */
.deco-mountain {
  position: absolute;
  left: 50%;
  bottom: -18px;
  width: 128%;
  transform: translateX(-50%);
  opacity: .5;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 26%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 26%, #000 100%);
}
.deco-sun {
  position: absolute;
  top: 128px;
  right: 34px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(196, 84, 66, .34), rgba(196, 84, 66, .10) 62%, transparent 72%);
  pointer-events: none;
  z-index: 0;
}
.deco-plum {
  position: absolute;
  top: -52px;
  left: -58px;
  width: 196px;
  opacity: .78;
  pointer-events: none;
  z-index: 1;
}

/* ---------- 顶栏 ---------- */
.topbar {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 16px 20px 8px;
}
.brand-mark { height: 30px; width: auto; display: block; }
.seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 4px;
  background: var(--red);
  color: #fdf6e6;
  font-family: var(--serif);
  font-size: 11px;
  line-height: 1.05;
  letter-spacing: 0;
  text-align: center;
  writing-mode: vertical-rl;
  padding: 2px 0;
  box-shadow: 0 1px 3px rgba(120, 40, 30, .35);
}
.brand-en {
  font-size: 11px;
  letter-spacing: .28em;
  color: var(--ink-3);
  margin-left: 2px;
}
.hamburger {
  margin-left: auto;
  appearance: none;
  border: 0;
  background: none;
  width: 30px;
  height: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}
.hamburger i {
  display: block;
  height: 2px;
  background: var(--ink);
  border-radius: 1px;
  opacity: .8;
}

/* ---------- 导航 ---------- */
.nav {
  position: relative;
  z-index: 3;
  display: flex;
  gap: 4px;
  padding: 4px 24px 0;
  border-bottom: 1px solid rgba(226, 213, 187, .7);
  margin-bottom: 6px;
}
.nav a {
  flex: 1;
  text-align: center;
  text-decoration: none;
  color: var(--ink-2);
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: .12em;
  padding: 10px 0 11px;
  position: relative;
}
.nav a.on { color: var(--red); font-weight: 600; }
.nav a.on::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 30px;
  height: 2px;
  margin-left: -15px;
  background: var(--red);
  border-radius: 1px;
}

/* ---------- 主标题 ---------- */
.hero {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 26px 0 6px;
}
.hero-wrap {
  position: relative;
  display: inline-block;
}
.hero-title {
  display: block;
  width: 196px;
  height: auto;
  margin: 0 auto;
}
.hero-seal {
  position: absolute;
  right: -30px;
  top: 6px;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  background: var(--red);
  color: #fdf6e6;
  font-family: var(--serif);
  font-size: 12px;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.08;
  padding: 3px 0;
  box-shadow: 0 2px 5px rgba(120, 40, 30, .3);
  transform: rotate(-2deg);
}
.hero-sub {
  margin: 16px 0 0;
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: .34em;
  text-indent: .34em;
  color: var(--ink-2);
}

/* ---------- 四宫格 ---------- */
.entries {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  padding: 26px 22px 0;
}
.entry {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 18px 8px 16px;
  text-decoration: none;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 253, 246, .92), rgba(252, 247, 236, .78));
  box-shadow: 0 2px 10px rgba(120, 96, 60, .07);
  transition: transform .16s ease, box-shadow .16s ease;
}
.entry:active { transform: translateY(1px) scale(.994); box-shadow: 0 1px 5px rgba(120, 96, 60, .12); }
.entry.hot { border-color: rgba(168, 48, 42, .55); box-shadow: 0 3px 14px rgba(168, 48, 42, .13); }
.entry::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(160, 130, 85, .28);
  border-radius: 7px;
  pointer-events: none;
}
.entry.hot::before { border-color: rgba(168, 48, 42, .26); }
.entry.hot::after { content: none; }
.entry .ico {
  width: 58px;
  height: 58px;
  margin-bottom: 6px;
  color: #3a322a;
  opacity: .82;
}
.entry .ico svg { width: 100%; height: 100%; display: block; }
.entry b {
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: .12em;
  text-indent: .12em;
  line-height: 1.2;
}
.entry i {
  font-style: normal;
  font-size: 12px;
  letter-spacing: .18em;
  color: var(--ink-3);
}

/* ---------- 主按钮 ---------- */
.cta-wrap {
  position: relative;
  z-index: 2;
  padding: 30px 26px 10px;
  display: flex;
  justify-content: center;
}
.cta {
  position: relative;
  display: block;
  width: 100%;
  max-width: 300px;
  text-align: center;
  text-decoration: none;
  padding: 15px 0;
  border-radius: 8px;
  color: #fdf3de;
  font-family: var(--serif);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: .3em;
  text-indent: .3em;
  background: linear-gradient(180deg, #b03a30, #8d221c);
  border: 2px solid #c9a568;
  box-shadow:
    inset 0 0 0 1px rgba(255, 220, 160, .35),
    0 6px 16px rgba(120, 40, 30, .32);
}
.cta::before,
.cta::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border: 2px solid #c9a568;
  border-radius: 50%;
  background: var(--paper);
  opacity: .9;
}
.cta::before { left: -7px; }
.cta::after { right: -7px; }

.footnote {
  position: relative;
  z-index: 2;
  margin-top: 16px;
  text-align: center;
  font-size: 10.5px;
  letter-spacing: .14em;
  color: #a8977a;
}

@media (max-width: 360px) {
  .hero-title { width: 176px; }
  .entry b { font-size: 22px; }
  .entry .ico { width: 50px; height: 50px; }
}


/* 顶部柔化：让梅枝在文字后面淡出 */
.topbar, .nav {
  background: linear-gradient(180deg, rgba(250, 246, 236, .96) 30%, rgba(250, 246, 236, .55) 75%, rgba(250, 246, 236, 0));
}
.nav { border-bottom: 1px solid rgba(226, 213, 187, .7); }


/* ---------- 侧边抽屉 ---------- */
.drawer-mask {
  position: fixed;
  inset: 0;
  background: rgba(43, 36, 29, .32);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
  z-index: 40;
}
.drawer-mask.open { opacity: 1; pointer-events: auto; }

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 252px;
  max-width: 76vw;
  height: 100%;
  background: linear-gradient(180deg, #fdfaf2, #f6efdf);
  border-left: 1px solid var(--line);
  box-shadow: -8px 0 26px rgba(90, 70, 40, .18);
  transform: translateX(102%);
  transition: transform .26s cubic-bezier(.3, .8, .3, 1);
  z-index: 41;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.drawer.open { transform: none; }
.drawer h3 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: .24em;
  color: var(--red);
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}
.drawer a {
  text-decoration: none;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: .14em;
  padding: 12px 2px;
  border-bottom: 1px dashed rgba(226, 213, 187, .8);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.drawer a span { font-size: 11px; color: var(--ink-3); letter-spacing: .04em; font-family: var(--sans); }
.drawer .drawer-foot {
  margin-top: auto;
  font-size: 10.5px;
  color: var(--ink-3);
  line-height: 1.9;
  letter-spacing: .06em;
}


/* 品牌链接 */
.brand-link { display: inline-flex; align-items: center; text-decoration: none; }
