:root{--c-primary:#b93a2b;}
/* =========================================================
   翰墨轩·文化艺术馆  HANMO ART
   东方水墨极简 · 静态企业站点样式
   完全本地化：仅使用本地 fonts/ 与 images/ 资源
   ========================================================= */

/* ---------- 字体（本地 woff2） ---------- */
@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/playfair-1.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/playfair-0.woff2") format("woff2");
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}

/* ---------- 设计变量 ---------- */
:root {
  --paper: #f7f4ee;      /* 宣纸底 */
  --ink: #1a1a1a;        /* 墨黑 */
  --cinnabar: var(--c-primary, #b93a2b);   /* 朱砂红（极少量点缀） */
  --gray: #6b6b6b;       /* 中灰 */
  --line: #d9d3c7;       /* 细分隔线 */
  --line-soft: #ece6da;

  --serif-cn: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --sans-cn: -apple-system, BlinkMacSystemFont, "PingFang SC",
             "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --display: "Playfair Display", Georgia, serif;

  --maxw: 1180px;
}

/* ---------- 重置 ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans-cn);
  font-size: 16px;
  line-height: 1.85;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; }

/* ---------- 通用版式 ---------- */
.section { padding: 110px 28px; }
.section.tight { padding: 80px 28px; }
.wrap { max-width: var(--maxw); margin: 0 auto; }
.narrow { max-width: 720px; margin: 0 auto; text-align: center; }
.text-center { text-align: center; }

.eyebrow {
  font-family: var(--serif-cn);
  font-size: 13px;
  letter-spacing: 6px;
  color: var(--gray);
  text-transform: none;
}

.divider { height: 1px; background: var(--line); border: 0; max-width: var(--maxw); margin: 0 auto; }

/* 竖排装饰英文 */
.v-en {
  writing-mode: vertical-rl;
  font-family: var(--display);
  font-style: italic;
  letter-spacing: 6px;
  color: var(--gray);
  font-size: 14px;
}

/* 段落 */
.lead { color: var(--gray); font-size: 16px; line-height: 2; }
.lead + .lead { margin-top: 18px; }

/* ---------- 区块标题（编号 + 衬线大标题 + 细线） ---------- */
.sec-head { text-align: center; margin-bottom: 64px; }
.sec-num {
  font-family: var(--display);
  font-style: italic;
  color: var(--cinnabar);
  font-size: 14px;
  letter-spacing: 4px;
}
.sec-title {
  font-family: var(--serif-cn);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 5px;
  margin-top: 10px;
}
.sec-line { width: 48px; height: 1px; background: var(--ink); margin: 20px auto 0; }
.sec-head .sub { color: var(--gray); font-size: 15px; margin-top: 16px; }

/* ---------- 按钮 ---------- */
.btn {
  display: inline-block;
  padding: 14px 44px;
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  font-family: var(--serif-cn);
  letter-spacing: 4px;
  font-size: 15px;
  cursor: pointer;
  transition: background .3s, color .3s, border-color .3s;
  border-radius: 0;
}
.btn:hover { background: var(--ink); color: var(--paper); }
.btn-accent { border-color: var(--cinnabar); color: var(--cinnabar); }
.btn-accent:hover { background: var(--cinnabar); color: #fff; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247, 244, 238, 0.94);
  backdrop-filter: saturate(120%) blur(6px);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  position: relative;
  max-width: var(--maxw);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 28px;
}
.logo { display: flex; align-items: baseline; gap: 12px; }
.logo-mark {
  font-family: var(--serif-cn);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 3px;
}
.logo-en {
  font-family: var(--display);
  font-style: italic;
  font-size: 13px;
  color: var(--gray);
  letter-spacing: 2px;
}

.nav-list { display: flex; gap: 32px; align-items: center; }
.nav-link {
  position: relative;
  font-family: var(--serif-cn);
  font-size: 15px;
  letter-spacing: 2px;
  padding: 6px 0;
  color: var(--ink);
  transition: color .25s;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 0; height: 1px;
  background: var(--cinnabar);
  transition: width .3s;
}
.nav-link:hover { color: var(--cinnabar); }
.nav-link:hover::after { width: 100%; }
.nav-link.current { color: var(--cinnabar); }
.nav-link.current::after { width: 100%; }

/* 汉堡菜单 */
.hamburger {
  display: none;
  width: 44px; height: 40px;
  background: none;
  border: 1px solid var(--line);
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.hamburger span {
  display: block;
  width: 20px; height: 1.5px;
  background: var(--ink);
  transition: transform .3s, opacity .3s;
}
.hamburger.active span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* =========================================================
   移动端导航（下拉）
   ========================================================= */
@media (max-width: 880px) {
  .hamburger { display: flex; }
  .nav {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
  }
  .nav.open { max-height: 80vh; }
  .nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 28px 22px;
  }
  .nav-link {
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
    font-size: 16px;
  }
  .nav-link::after { display: none; }
}

/* =========================================================
   HERO（首页）
   ========================================================= */
.hero { padding: 96px 28px 110px; }
.hero-inner { max-width: var(--maxw); margin: 0 auto; }
.hero-eyebrow {
  font-family: var(--serif-cn);
  font-size: 13px;
  letter-spacing: 8px;
  color: var(--gray);
  text-align: center;
}
.hero-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin: 40px 0 36px;
}
.hero-title {
  font-family: var(--serif-cn);
  font-size: clamp(48px, 9vw, 92px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 10px;
  text-align: center;
}
.hero-sub {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
  color: var(--gray);
  font-size: 16px;
  line-height: 2;
}
.hero-img {
  margin: 64px auto 0;
  max-width: 1000px;
  width: 100%;
  filter: grayscale(100%) contrast(.92) brightness(1.02);
}

/* =========================================================
   横幅（内页）
   ========================================================= */
.banner {
  padding: 120px 28px 72px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.banner .sec-num { display: block; }
.banner h1 {
  font-family: var(--serif-cn);
  font-size: clamp(36px, 6vw, 52px);
  letter-spacing: 10px;
  font-weight: 700;
  margin-top: 12px;
}
.banner p {
  color: var(--gray);
  max-width: 640px;
  margin: 20px auto 0;
  font-size: 15px;
}

/* =========================================================
   网格 & 卡片
   ========================================================= */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }

.card img,
.thumb img { filter: grayscale(100%) contrast(.92); transition: filter .5s, transform .6s; }
.card:hover img,
.thumb:hover img { filter: grayscale(55%) contrast(1); }

/* 服务卡 */
.svc-card { border: 1px solid var(--line); background: var(--paper); padding: 0 0 30px; }
.svc-card .svc-img { overflow: hidden; }
.svc-card .svc-img img { width: 100%; }
.svc-card .svc-num {
  font-family: var(--display);
  font-style: italic;
  color: var(--cinnabar);
  font-size: 14px;
  letter-spacing: 3px;
  padding: 26px 28px 0;
}
.svc-card h3 {
  font-family: var(--serif-cn);
  font-size: 21px;
  letter-spacing: 3px;
  font-weight: 600;
  padding: 8px 28px 0;
}
.svc-card p { color: var(--gray); font-size: 15px; padding: 12px 28px 0; }

/* 关于图文 */
.about-row { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.about-row.reverse { direction: rtl; }
.about-row.reverse > * { direction: ltr; }
.about-row img { filter: grayscale(100%) contrast(.92); width: 100%; }
.about-text .eyebrow { display: block; margin-bottom: 14px; }
.about-text h2 {
  font-family: var(--serif-cn);
  font-size: 30px;
  letter-spacing: 4px;
  font-weight: 700;
  line-height: 1.5;
}
.about-text .body { color: var(--gray); margin-top: 22px; font-size: 15.5px; }

/* 价值三栏 */
.value-card { text-align: center; padding: 40px 28px; border: 1px solid var(--line); }
.value-card .v-num {
  font-family: var(--display);
  font-style: italic;
  color: var(--cinnabar);
  font-size: 15px;
}
.value-card h3 {
  font-family: var(--serif-cn);
  font-size: 20px;
  letter-spacing: 3px;
  margin: 14px 0 12px;
  font-weight: 600;
}
.value-card p { color: var(--gray); font-size: 14.5px; }

/* 数据统计 */
.stats { display: flex; justify-content: center; gap: 70px; flex-wrap: wrap; text-align: center; }
.stat .num {
  font-family: var(--display);
  font-weight: 400;
  font-size: 56px;
  line-height: 1;
}
.stat .label { color: var(--gray); font-size: 14px; letter-spacing: 4px; margin-top: 14px; }

/* 作品网格（portfolio） */
.work-card { position: relative; overflow: hidden; cursor: pointer; background: var(--ink); }
.work-card.hidden { display: none; }
.work-card img {
  width: 100%;
  filter: grayscale(100%) contrast(.9);
  transition: transform .7s ease, filter .5s ease;
}
.work-card:hover img { transform: scale(1.05); filter: grayscale(35%) contrast(1); }
.work-meta {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 24px 22px;
  background: linear-gradient(to top, rgba(26,26,26,.85), rgba(26,26,26,0));
  color: var(--paper);
  transform: translateY(10px);
  opacity: 0;
  transition: transform .4s ease, opacity .4s ease;
}
.work-card:hover .work-meta { transform: none; opacity: 1; }
.work-cat {
  font-family: var(--display);
  font-style: italic;
  font-size: 12px;
  letter-spacing: 2px;
  color: #e7b9b1;
}
.work-title {
  font-family: var(--serif-cn);
  font-size: 19px;
  letter-spacing: 2px;
  font-weight: 600;
  margin-top: 4px;
}

/* 最新动态（首页 news 小卡） */
.news-mini { border-top: 1px solid var(--line); }
.news-mini a { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 24px 0; align-items: center; }
.news-mini .nm-thumb { overflow: hidden; }
.news-mini img { filter: grayscale(100%); width: 100%; }
.news-mini .nm-date { font-family: var(--display); font-style: italic; color: var(--cinnabar); font-size: 13px; letter-spacing: 2px; }
.news-mini .nm-title { font-family: var(--serif-cn); font-size: 18px; letter-spacing: 1px; font-weight: 600; margin-top: 4px; }
.news-mini a:hover .nm-title { color: var(--cinnabar); }

/* 底部 CTA */
.cta { text-align: center; padding: 100px 28px; border-top: 1px solid var(--line); }
.cta h2 { font-family: var(--serif-cn); font-size: 30px; letter-spacing: 5px; font-weight: 700; }
.cta p { color: var(--gray); max-width: 560px; margin: 18px auto 0; }

/* 流程步骤 */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; counter-reset: step; }
.step { border-top: 1px solid var(--ink); padding-top: 22px; }
.step .s-no {
  font-family: var(--display);
  font-style: italic;
  color: var(--cinnabar);
  font-size: 16px;
}
.step h4 { font-family: var(--serif-cn); font-size: 18px; letter-spacing: 2px; font-weight: 600; margin: 10px 0 10px; }
.step p { color: var(--gray); font-size: 14.5px; }

/* 时间线 */
.timeline { position: relative; max-width: 780px; margin: 0 auto; padding-left: 30px; }
.timeline::before {
  content: "";
  position: absolute;
  left: 6px; top: 8px; bottom: 8px;
  width: 1px;
  background: var(--line);
}
.tl-item { position: relative; padding: 0 0 42px 30px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before {
  content: "";
  position: absolute;
  left: 0; top: 7px;
  width: 13px; height: 13px;
  background: var(--paper);
  border: 1px solid var(--ink);
}
.tl-year { font-family: var(--display); font-size: 22px; color: var(--cinnabar); }
.tl-title { font-family: var(--serif-cn); font-size: 18px; font-weight: 600; letter-spacing: 1px; margin: 4px 0 8px; }
.tl-desc { color: var(--gray); font-size: 15px; }

/* 团队 */
.team-card { text-align: center; }
.team-card img { filter: grayscale(100%) contrast(.92); width: 100%; }
.team-card h4 { font-family: var(--serif-cn); font-size: 18px; letter-spacing: 2px; margin-top: 18px; font-weight: 600; }
.team-card .role { color: var(--cinnabar); font-family: var(--display); font-style: italic; font-size: 13px; letter-spacing: 1px; margin-top: 4px; }

/* =========================================================
   NEWS 页
   ========================================================= */
.filter { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.filter-label { text-align: center; color: var(--gray); font-size: 13px; letter-spacing: 3px; margin-bottom: 16px; }
.filter-btn {
  padding: 8px 24px;
  border: 1px solid var(--line);
  background: transparent;
  font-family: var(--serif-cn);
  letter-spacing: 2px;
  font-size: 14px;
  cursor: pointer;
  color: var(--ink);
  transition: background .25s, color .25s, border-color .25s;
}
.filter-btn:hover, .filter-btn.active { border-color: var(--ink); background: var(--ink); color: var(--paper); }

.news-item {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 34px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.news-item .news-thumb { overflow: hidden; }
.news-item img { filter: grayscale(100%); width: 100%; transition: filter .5s; }
.news-item:hover img { filter: grayscale(40%); }
.news-date { font-family: var(--display); font-style: italic; color: var(--cinnabar); font-size: 14px; letter-spacing: 2px; }
.news-title { font-family: var(--serif-cn); font-size: 22px; font-weight: 600; letter-spacing: 1px; margin: 6px 0 12px; }
.news-title:hover { color: var(--cinnabar); }
.news-excerpt { color: var(--gray); font-size: 15px; }
.news-tag { display: inline-block; margin-top: 14px; font-size: 12px; letter-spacing: 2px; color: var(--gray); border: 1px solid var(--line); padding: 3px 12px; }

.pagination { display: flex; justify-content: center; gap: 10px; margin-top: 44px; }
.page-btn {
  width: 42px; height: 42px;
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--display);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  transition: background .25s, color .25s;
}
.page-btn:hover, .page-btn.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* =========================================================
   CONTACT 页
   ========================================================= */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.contact-info h3 { font-family: var(--serif-cn); font-size: 20px; letter-spacing: 2px; font-weight: 600; margin-bottom: 22px; }
.info-row { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.info-row .ic { flex: 0 0 auto; color: var(--cinnabar); }
.info-row .it { font-size: 15px; }
.info-row .it b { font-family: var(--serif-cn); font-weight: 600; letter-spacing: 1px; display: block; margin-bottom: 2px; }
.info-row .it span { color: var(--gray); }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 14px; letter-spacing: 2px; color: var(--ink); font-family: var(--serif-cn); }
.field input, .field textarea {
  background: transparent;
  border: 1px solid var(--line);
  padding: 12px 14px;
  font-family: var(--sans-cn);
  font-size: 15px;
  color: var(--ink);
  border-radius: 0;
  transition: border-color .25s;
}
.field input:focus, .field textarea:focus { outline: none; border-color: var(--ink); }
.field textarea { resize: vertical; min-height: 130px; }
.form-note { font-size: 13px; color: var(--gray); margin-top: 14px; }

/* 营业时间 */
.hours { margin-top: 50px; }
.hours table { width: 100%; border-collapse: collapse; }
.hours td { padding: 13px 4px; border-bottom: 1px solid var(--line); font-size: 15px; }
.hours td:last-child { text-align: right; font-family: var(--display); }
.hours tr:first-child td { font-family: var(--serif-cn); letter-spacing: 2px; color: var(--ink); }

/* 地图占位（纯样式 + 内联 SVG，无外链） */
.map {
  position: relative;
  height: 320px;
  margin-top: 50px;
  border: 1px solid var(--line);
  background:
    repeating-linear-gradient(0deg, transparent, transparent 39px, var(--line-soft) 39px, var(--line-soft) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, var(--line-soft) 39px, var(--line-soft) 40px),
    var(--paper);
  overflow: hidden;
}
.map .map-pin {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -100%);
}
.map .map-label {
  position: absolute;
  top: calc(50% + 10px); left: 50%;
  transform: translateX(-50%);
  font-family: var(--serif-cn);
  letter-spacing: 2px;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  padding: 4px 12px;
  border: 1px solid var(--ink);
  white-space: nowrap;
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer {
  background: var(--ink);
  color: #e9e4da;
  padding: 70px 28px 28px;
}
.footer-inner {
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: 44px;
}
.footer-col h4 {
  font-family: var(--serif-cn);
  font-size: 15px;
  letter-spacing: 3px;
  margin-bottom: 20px;
  color: #fff;
  font-weight: 600;
}
.footer-col a, .footer-col p {
  color: #b7b0a3;
  font-size: 14px;
  line-height: 2.1;
  display: block;
  transition: color .25s;
}
.footer-col a:hover { color: var(--cinnabar); }
.footer-brand .logo-mark { color: #fff; }
.footer-brand .logo-en { color: #9a948a; }
.footer-brand p { margin-top: 16px; font-size: 14px; }
.footer-bottom {
  max-width: var(--maxw);
  margin: 48px auto 0;
  padding-top: 24px;
  border-top: 1px solid #383838;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #8d877c;
  flex-wrap: wrap;
  gap: 10px;
}

/* =========================================================
   滚动淡入
   ========================================================= */
.fade-in { opacity: 1; transform: none; transition: opacity .9s ease, transform .9s ease; }
.fade-in.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .fade-in { opacity: 1; transform: none; transition: none; }
}

/* =========================================================
   响应式
   ========================================================= */
@media (max-width: 980px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4, .steps { grid-template-columns: repeat(2, 1fr); }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .section { padding: 80px 22px; }
  .banner { padding: 96px 22px 56px; }
  .hero { padding: 72px 22px 80px; }
  .about-row, .about-row.reverse,
  .contact-grid, .form-grid { grid-template-columns: 1fr; gap: 32px; direction: ltr; }
  .hero-main { gap: 22px; }
}

@media (max-width: 560px) {
  .grid-2, .grid-3, .grid-4, .steps { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; gap: 34px; }
  .news-item { grid-template-columns: 1fr; gap: 14px; }
  .news-mini a { grid-template-columns: 96px 1fr; gap: 16px; }
  .stats { gap: 40px; }
  .stat .num { font-size: 46px; }
  .sec-title { font-size: 27px; }
  .footer-bottom { flex-direction: column; }
}


/* ===== CMS helpers ===== */
.form-alert{padding:12px 16px;border-radius:8px;margin:0 0 16px;font-size:.92rem;line-height:1.6}
.form-alert-ok{background:rgba(46,160,67,.08);border:1px solid rgba(46,160,67,.35);color:#2ea043}
.form-alert-err{background:rgba(220,53,69,.08);border:1px solid rgba(220,53,69,.35);color:#dc3545}
.form-alert ul{margin:0;padding-left:18px}
.cms-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:44px 0 0}
.cms-pager a,.cms-pager span{min-width:38px;padding:8px 13px;border:1px solid rgba(128,128,128,.35);border-radius:6px;text-align:center;text-decoration:none;color:inherit}
.cms-pager .active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.detail-page{max-width:1100px;margin:0 auto;padding:72px 24px}
.detail-media{width:100%;max-height:520px;object-fit:cover;border-radius:14px;margin-bottom:26px;display:block}
.detail-title{font-size:clamp(26px,3vw,38px);line-height:1.3;margin-bottom:12px}
.detail-meta{color:#777;font-size:.95rem;margin-bottom:20px}
.detail-body{line-height:1.9;color:#444}
.detail-body p{margin-bottom:1em}
.detail-body img{max-width:100%;height:auto;border-radius:10px}
.detail-back{display:inline-block;margin-top:28px;padding:11px 26px;border:1px solid rgba(128,128,128,.4);border-radius:999px;text-decoration:none;color:inherit}
/* ===== 深色 banner 标题白字（避免 h1 与背景同色不可读） ===== */
.banner--ink h1,.banner--purple h1,.banner--coral h1{color:#fff}
/* ===== 阅读全文按钮（硬边 neo-brutalist 风格） ===== */
.news-item .more{display:inline-block;margin-top:14px;padding:10px 20px;background:var(--c-ink);color:#fff;border:var(--border-2);box-shadow:var(--shadow-sm);font-family:var(--font-en);font-weight:800;font-size:.85rem;letter-spacing:.02em;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.news-item .more:hover{background:var(--c-coral);transform:translate(-2px,-2px);box-shadow:var(--shadow)}
/* ===== 留言板一行一个 input（01 翰墨轩） ===== */
.form-grid{grid-template-columns:1fr}
