/* ==========================================================================
   sheet/kit.css — 组件层：外壳、按钮、卡片、表格、表单、页脚
   命名前缀 mc-；状态类只允许 is-in / mc-anim 由脚本添加
   ========================================================================== */

/* ---------- 跳转链接 ---------- */
.mc-skip {
  position: fixed;
  left: 16px;
  top: -60px;
  z-index: 120;
  padding: 10px 18px;
  background: var(--mc-ink);
  color: var(--mc-white);
  font-size: 13px;
  border-radius: var(--mc-pill);
  transition: top var(--mc-t) var(--mc-ease);
}

.mc-skip:focus {
  top: 16px;
}

/* ---------- 顶栏 ---------- */
.mc-head {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(251, 246, 241, 0.9);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--mc-line-soft);
}

.mc-head__bar {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2vw, 28px);
  max-width: var(--mc-shell);
  margin-inline: auto;
  padding: 12px var(--mc-gutter);
}

.mc-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
}

.mc-brand__mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--mc-ink);
  color: var(--mc-white);
  font-family: var(--mc-serif);
  font-size: 13px;
  letter-spacing: 0.08em;
}

.mc-brand__mark::after {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--mc-tint);
  border: 2px solid var(--mc-paper);
}

.mc-brand__type {
  display: flex;
  flex-direction: column;
  font-family: var(--mc-serif);
  font-size: 17px;
  letter-spacing: 0.16em;
  line-height: 1.1;
}

.mc-brand__sub {
  margin-top: 5px;
  font-family: var(--mc-mono);
  font-size: 8.5px;
  letter-spacing: 0.22em;
  color: var(--mc-ink-3);
  text-transform: uppercase;
}

.mc-nav {
  display: flex;
  flex: 1;
  justify-content: center;
  gap: clamp(10px, 1.5vw, 22px);
}

.mc-nav__link {
  position: relative;
  padding: 6px 0;
  font-size: 13.5px;
  letter-spacing: 0.06em;
  color: var(--mc-ink-2);
  white-space: nowrap;
}

.mc-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--mc-tint);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--mc-t) var(--mc-ease);
}

.mc-nav__link:hover::after,
.mc-nav__link[aria-current="page"]::after {
  transform: scaleX(1);
}

.mc-nav__link[aria-current="page"] {
  color: var(--mc-ink);
}

.mc-head__act {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
}

/* ---------- 按钮 ---------- */
.mc-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: var(--mc-pill);
  background: var(--mc-ink);
  color: var(--mc-white);
  font-size: 13px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  transition: background var(--mc-t) var(--mc-ease), color var(--mc-t) var(--mc-ease),
    border-color var(--mc-t) var(--mc-ease), transform var(--mc-t) var(--mc-ease);
}

.mc-cta:hover {
  background: var(--mc-tint);
  transform: translateY(-1px);
}

.mc-cta--line {
  background: transparent;
  border-color: var(--mc-line);
  color: var(--mc-ink);
}

.mc-cta--line:hover {
  background: transparent;
  border-color: var(--mc-tint);
  color: var(--mc-tint);
}

.mc-cta--ghost {
  background: var(--mc-white);
  border-color: var(--mc-line);
  color: var(--mc-ink);
}

.mc-cta--ghost:hover {
  background: var(--mc-white);
  border-color: var(--mc-tint);
  color: var(--mc-tint);
}

.mc-cta--block {
  display: flex;
  width: 100%;
}

.mc-cta--lg {
  padding: 15px 28px;
  font-size: 14px;
}

/* ---------- 汉堡与抽屉 ---------- */
.mc-burger {
  display: none;
  position: relative;
  width: 42px;
  height: 42px;
  border: 1px solid var(--mc-line);
  border-radius: 50%;
}

.mc-burger span {
  position: absolute;
  left: 50%;
  width: 16px;
  height: 1px;
  background: var(--mc-ink);
  transform: translateX(-50%);
}

.mc-burger span:nth-child(1) {
  top: 17px;
}

.mc-burger span:nth-child(2) {
  bottom: 17px;
}

.mc-drawer {
  position: fixed;
  inset: 0;
  z-index: 110;
  overflow-y: auto;
  background: var(--mc-ink);
  color: var(--mc-white);
}

.mc-drawer__panel {
  display: flex;
  flex-direction: column;
  max-width: var(--mc-shell);
  margin-inline: auto;
  padding: 18px var(--mc-gutter) 44px;
}

.mc-drawer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 253, 250, 0.16);
}

.mc-drawer__close {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 253, 250, 0.28);
  border-radius: 50%;
  font-family: var(--mc-mono);
  font-size: 15px;
  color: var(--mc-white);
}

.mc-drawer__list {
  display: grid;
  margin-top: 22px;
}

.mc-drawer__link {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 253, 250, 0.14);
  font-family: var(--mc-serif);
  font-size: clamp(19px, 4.6vw, 26px);
  letter-spacing: 0.04em;
}

.mc-drawer__link em {
  font-family: var(--mc-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: rgba(255, 253, 250, 0.45);
}

.mc-drawer__foot {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.mc-drawer__foot .mc-cta {
  background: var(--mc-white);
  color: var(--mc-ink);
}

.mc-drawer__foot .mc-cta--line {
  background: transparent;
  color: var(--mc-white);
  border-color: rgba(255, 253, 250, 0.32);
}

.mc-drawer__note {
  margin-top: 20px;
  font-size: 12px;
  line-height: 1.8;
  color: rgba(255, 253, 250, 0.55);
}

/* ---------- 版式骨架 ---------- */
.mc-shell {
  width: 100%;
  max-width: var(--mc-shell);
  margin-inline: auto;
  padding-inline: var(--mc-gutter);
}

.mc-band {
  position: relative;
  padding-block: var(--mc-band);
}

.mc-band--tight {
  padding-block: calc(var(--mc-band) * 0.6);
}

.mc-band--paper {
  background: var(--mc-paper-2);
}

.mc-band--ink {
  background: var(--mc-ink);
  color: rgba(255, 253, 250, 0.78);
}

.mc-band__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: clamp(28px, 4vw, 52px);
}

.mc-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--mc-ink-3);
}

.mc-eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: var(--mc-tint);
}

.mc-title {
  font-size: clamp(26px, 3.5vw, 42px);
  line-height: 1.18;
}

.mc-lede {
  max-width: 64ch;
  margin-top: 16px;
  font-size: clamp(14.5px, 1.5vw, 17px);
  line-height: 1.88;
  color: var(--mc-ink-2);
}

.mc-rule {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-block: clamp(26px, 3.6vw, 44px);
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mc-ink-3);
}

.mc-rule::before,
.mc-rule::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--mc-line);
}

.mc-grid {
  display: grid;
  gap: clamp(14px, 2vw, 24px);
}

.mc-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mc-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mc-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mc-split {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  align-items: start;
  gap: clamp(24px, 4vw, 58px);
}

.mc-act {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 26px;
}

.mc-act--flush {
  margin-top: 0;
}

/* ---------- 深色区块内的元素反转 ---------- */
.mc-band--ink .mc-eyebrow,
.mc-band--ink .mc-rule,
.mc-band--ink .mc-stat__label,
.mc-band--ink .mc-ledger__key {
  color: rgba(255, 253, 250, 0.5);
}

.mc-band--ink .mc-title,
.mc-band--ink .mc-step__title,
.mc-band--ink .mc-look__title,
.mc-band--ink .mc-cal__name {
  color: var(--mc-white);
}

.mc-band--ink .mc-lede,
.mc-band--ink .mc-look__text,
.mc-band--ink .mc-step__text,
.mc-band--ink .mc-stat__num {
  color: rgba(255, 253, 250, 0.74);
}

.mc-band--ink .mc-ledger,
.mc-band--ink .mc-faq,
.mc-band--ink .mc-faq__q {
  border-color: rgba(255, 253, 250, 0.2);
}

.mc-band--ink .mc-ledger__row,
.mc-band--ink .mc-faq__a {
  border-bottom-color: rgba(255, 253, 250, 0.12);
}

.mc-band--ink .mc-ledger__val,
.mc-band--ink .mc-faq__a {
  color: rgba(255, 253, 250, 0.78);
}

.mc-band--ink .mc-tag {
  border-color: rgba(255, 253, 250, 0.26);
  color: rgba(255, 253, 250, 0.76);
}

/* ---------- 卡片 ---------- */
.mc-look {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding: clamp(20px, 2.4vw, 30px);
  background: var(--mc-white);
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  transition: transform var(--mc-t) var(--mc-ease), border-color var(--mc-t) var(--mc-ease),
    box-shadow var(--mc-t) var(--mc-ease);
}

.mc-look:hover {
  transform: translateY(-4px);
  border-color: var(--mc-tint);
  box-shadow: var(--mc-shadow-soft);
}

.mc-look__no {
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  color: var(--mc-tint);
}

.mc-look__title {
  font-size: 19px;
}

.mc-look__text {
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--mc-ink-2);
}

.mc-look__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
  padding-top: 6px;
}

.mc-look__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--mc-line-soft);
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.16em;
  color: var(--mc-ink);
}

.mc-look__more::after {
  content: "\2192";
  transition: transform var(--mc-t) var(--mc-ease);
}

.mc-look:hover .mc-look__more::after {
  transform: translateX(4px);
}

/* ---------- 标签 ---------- */
.mc-tag {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-pill);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--mc-ink-2);
}

.mc-tag--solid {
  background: var(--mc-ink);
  border-color: var(--mc-ink);
  color: var(--mc-white);
}

.mc-tag--tint {
  border-color: var(--mc-tint);
  color: var(--mc-tint);
}

.mc-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-pill);
  font-family: var(--mc-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mc-ink-2);
}

.mc-badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-tint);
}

/* ---------- 数字 ---------- */
.mc-stat {
  padding-top: 15px;
  border-top: 1px solid var(--mc-line);
}

.mc-stat__num {
  font-family: var(--mc-serif);
  font-size: clamp(30px, 3.8vw, 44px);
  line-height: 1;
}

.mc-stat__unit {
  margin-left: 4px;
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: var(--mc-ink-3);
}

.mc-stat__label {
  margin-top: 9px;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  color: var(--mc-ink-3);
}

/* ---------- 规格表 ---------- */
.mc-ledger {
  display: grid;
  border-top: 1px solid var(--mc-line);
}

.mc-ledger__row {
  display: grid;
  grid-template-columns: minmax(88px, 0.62fr) minmax(0, 1fr);
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--mc-line-soft);
}

.mc-ledger__key {
  padding-top: 3px;
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mc-ink-3);
}

.mc-ledger__val {
  font-size: 14px;
  line-height: 1.72;
}

/* ---------- 流程 ---------- */
.mc-step {
  position: relative;
  margin-left: 17px;
  padding-left: 46px;
  padding-bottom: 26px;
  border-left: 1px solid var(--mc-line-soft);
}

.mc-step:last-child {
  padding-bottom: 0;
  border-left-color: transparent;
}

.mc-step__no {
  position: absolute;
  left: -18px;
  top: 0;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--mc-line);
  border-radius: 50%;
  background: var(--mc-white);
  font-family: var(--mc-mono);
  font-size: 11px;
  color: var(--mc-tint);
}

.mc-step__title {
  font-size: 17px;
  margin-bottom: 6px;
}

.mc-step__text {
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--mc-ink-2);
}

/* ---------- 引文 ---------- */
.mc-quote {
  position: relative;
  padding: clamp(24px, 3vw, 40px);
  background: var(--mc-white);
  border: 1px solid var(--mc-line);
}

.mc-quote::before {
  content: "\201C";
  position: absolute;
  left: 20px;
  top: 18px;
  font-family: var(--mc-serif);
  font-size: 62px;
  line-height: 1;
  color: var(--mc-tint);
  opacity: 0.32;
}

.mc-quote__text {
  padding-left: 26px;
  font-family: var(--mc-serif);
  font-size: clamp(16px, 1.9vw, 21px);
  line-height: 1.72;
}

.mc-quote__by {
  margin-top: 14px;
  padding-left: 26px;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  color: var(--mc-ink-3);
}

/* ---------- 折叠问答 ---------- */
.mc-faq {
  border-top: 1px solid var(--mc-line);
}

.mc-faq__q {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 0;
  border-bottom: 1px solid var(--mc-line-soft);
  font-family: var(--mc-serif);
  font-size: 16.5px;
  cursor: pointer;
  list-style: none;
}

.mc-faq__q::-webkit-details-marker {
  display: none;
}

.mc-faq__q::after {
  content: "+";
  font-family: var(--mc-mono);
  font-size: 17px;
  line-height: 1;
  color: var(--mc-tint);
}

.mc-faq[open] .mc-faq__q::after {
  content: "\2013";
}

.mc-faq__a {
  padding: 0 0 18px;
  max-width: 74ch;
  font-size: 13.5px;
  line-height: 1.9;
  color: var(--mc-ink-2);
}

/* ---------- 提示块 ---------- */
.mc-note {
  padding: 17px 21px;
  background: var(--mc-white);
  border: 1px solid var(--mc-line);
  border-left: 3px solid var(--mc-tint);
  font-size: 13px;
  line-height: 1.85;
  color: var(--mc-ink-2);
}

.mc-note__title {
  margin-bottom: 6px;
  font-family: var(--mc-serif);
  font-size: 15px;
  color: var(--mc-ink);
}

.mc-inline {
  color: var(--mc-tint-deep);
  border-bottom: 1px solid var(--mc-line);
  transition: border-color var(--mc-t) var(--mc-ease);
}

.mc-inline:hover {
  border-bottom-color: var(--mc-tint);
}

/* ---------- 资讯条目 ---------- */
.mc-newsitem {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 20px;
  padding: 21px 0;
  border-bottom: 1px solid var(--mc-line-soft);
}

.mc-newsitem__date {
  padding-top: 5px;
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  color: var(--mc-ink-3);
}

.mc-newsitem__title {
  font-family: var(--mc-serif);
  font-size: 18.5px;
  margin-bottom: 6px;
  transition: color var(--mc-t) var(--mc-ease);
}

.mc-newsitem:hover .mc-newsitem__title {
  color: var(--mc-tint-deep);
}

.mc-newsitem__text {
  font-size: 13.5px;
  line-height: 1.82;
  color: var(--mc-ink-2);
}

/* ---------- 图版（纯 CSS） ---------- */
.mc-media {
  position: relative;
  overflow: hidden;
  min-height: 240px;
  border: 1px solid var(--mc-line);
  background: radial-gradient(120% 92% at 18% 8%, #fff 0%, rgba(255, 253, 250, 0) 58%),
    linear-gradient(150deg, var(--mc-blush) 0%, var(--mc-paper-2) 48%, var(--mc-mint) 100%);
}

.mc-media[data-tone="plum"] {
  background: radial-gradient(120% 92% at 80% 6%, #fff 0%, rgba(255, 253, 250, 0) 56%),
    linear-gradient(200deg, #c9aeba 0%, var(--mc-paper-2) 52%, #b9a7c9 100%);
}

.mc-media[data-tone="gold"] {
  background: radial-gradient(140% 100% at 30% 100%, #f6e2c6 0%, rgba(255, 253, 250, 0) 62%),
    linear-gradient(160deg, #ead4b2 0%, var(--mc-paper) 58%, #d8c2c8 100%);
}

.mc-media[data-tone="mint"] {
  background: radial-gradient(120% 92% at 70% 20%, #fff 0%, rgba(255, 253, 250, 0) 60%),
    linear-gradient(170deg, #d7e5dc 0%, var(--mc-paper-2) 60%, #e6d3c6 100%);
}

.mc-media::after {
  content: "";
  position: absolute;
  right: -12%;
  top: -18%;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(29, 21, 24, 0.16);
  box-shadow: inset 0 0 0 12px rgba(255, 253, 250, 0.24);
}

.mc-media__cap {
  position: absolute;
  left: 14px;
  bottom: 12px;
  font-family: var(--mc-mono);
  font-size: 9.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(29, 21, 24, 0.52);
}

/* ---------- 人物卡 ---------- */
.mc-profile {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px;
  background: var(--mc-white);
  border: 1px solid var(--mc-line);
}

.mc-profile__face {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 1px solid var(--mc-line);
  border-radius: 50%;
  background: linear-gradient(158deg, var(--mc-blush), var(--mc-paper-3));
  font-family: var(--mc-serif);
  font-size: 21px;
  color: var(--mc-ink);
}

.mc-profile__name {
  font-family: var(--mc-serif);
  font-size: 18px;
}

.mc-profile__role {
  font-family: var(--mc-mono);
  font-size: 9.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mc-tint);
}

.mc-profile__bio {
  font-size: 12.5px;
  line-height: 1.8;
  color: var(--mc-ink-2);
}

/* ---------- 档期表 ---------- */
.mc-cal {
  border: 1px solid var(--mc-line);
  background: var(--mc-white);
}

.mc-cal__row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 132px;
  align-items: baseline;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--mc-line-soft);
  transition: background var(--mc-t) var(--mc-ease);
}

.mc-cal__row:last-child {
  border-bottom: 0;
}

.mc-cal__row:hover {
  background: var(--mc-paper-2);
}

.mc-cal__time {
  font-family: var(--mc-mono);
  font-size: 11.5px;
  letter-spacing: 0.08em;
  color: var(--mc-tint);
}

.mc-cal__name {
  font-family: var(--mc-serif);
  font-size: 16px;
}

.mc-cal__meta {
  font-size: 11.5px;
  letter-spacing: 0.06em;
  text-align: right;
  color: var(--mc-ink-3);
}

/* ---------- 方案卡 ---------- */
.mc-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: clamp(22px, 2.6vw, 32px);
  background: var(--mc-white);
  border: 1px solid var(--mc-line);
}

.mc-plan__name {
  font-family: var(--mc-serif);
  font-size: 21px;
}

.mc-plan__badge {
  position: absolute;
  top: 0;
  right: 0;
  padding: 5px 12px;
  background: var(--mc-tint);
  color: var(--mc-white);
  font-family: var(--mc-mono);
  font-size: 9.5px;
  letter-spacing: 0.16em;
}

.mc-plan__list {
  display: grid;
  gap: 9px;
}

.mc-plan__item {
  position: relative;
  padding-left: 17px;
  font-size: 13px;
  line-height: 1.78;
  color: var(--mc-ink-2);
}

.mc-plan__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.66em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mc-tint);
  opacity: 0.72;
}

/* ---------- 表单 ---------- */
.mc-form {
  display: grid;
  gap: 15px;
}

.mc-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.mc-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.mc-field--wide {
  grid-column: 1 / -1;
}

.mc-field__label {
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mc-ink-3);
}

.mc-field__input {
  padding: 12px 14px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-radius);
  background: var(--mc-white);
  font-size: 14px;
  transition: border-color var(--mc-t) var(--mc-ease);
}

.mc-field__input:focus {
  outline: none;
  border-color: var(--mc-tint);
}

textarea.mc-field__input {
  min-height: 118px;
  resize: vertical;
}

.mc-field__hint {
  font-size: 11.5px;
  line-height: 1.7;
  color: var(--mc-ink-3);
}

.mc-form__act {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.mc-form__note {
  font-size: 11.5px;
  line-height: 1.75;
  color: var(--mc-ink-3);
}

.mc-notice {
  padding: 12px 16px;
  border: 1px dashed var(--mc-tint);
  border-radius: var(--mc-radius);
  background: rgba(194, 55, 79, 0.05);
  font-size: 12.5px;
  line-height: 1.75;
  color: var(--mc-tint-deep);
}

/* ---------- 翻页 ---------- */
.mc-pager {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 38px;
}

.mc-pager__link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 17px 21px;
  background: var(--mc-white);
  border: 1px solid var(--mc-line);
  transition: border-color var(--mc-t) var(--mc-ease);
}

.mc-pager__link:hover {
  border-color: var(--mc-tint);
}

.mc-pager__dir {
  font-family: var(--mc-mono);
  font-size: 9.5px;
  letter-spacing: 0.2em;
  color: var(--mc-ink-3);
}

/* ---------- 字条 ---------- */
.mc-strip {
  display: flex;
  flex-wrap: wrap;
  padding: 15px 0;
  border-block: 1px solid var(--mc-line);
  font-family: var(--mc-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mc-ink-3);
}

.mc-strip__item {
  display: flex;
  align-items: center;
}

.mc-strip__item + .mc-strip__item::before {
  content: "/";
  margin-inline: 14px;
  color: var(--mc-tint);
}

/* ---------- 筛选按钮 ---------- */
.mc-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.mc-filter__btn {
  padding: 8px 16px;
  border: 1px solid var(--mc-line);
  border-radius: var(--mc-pill);
  font-size: 12.5px;
  letter-spacing: 0.06em;
  color: var(--mc-ink-2);
  transition: background var(--mc-t) var(--mc-ease), color var(--mc-t) var(--mc-ease),
    border-color var(--mc-t) var(--mc-ease);
}

.mc-filter__btn:hover {
  border-color: var(--mc-tint);
  color: var(--mc-tint);
}

.mc-filter__btn[aria-pressed="true"] {
  background: var(--mc-ink);
  border-color: var(--mc-ink);
  color: var(--mc-white);
}

/* ---------- 页脚 ---------- */
.mc-foot {
  padding-block: clamp(46px, 6vw, 82px) 26px;
  background: var(--mc-ink);
  color: rgba(255, 253, 250, 0.76);
}

.mc-foot__top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr);
  gap: clamp(28px, 4vw, 62px);
}

.mc-foot__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  border: 1px solid rgba(255, 253, 250, 0.28);
  border-radius: 50%;
  font-family: var(--mc-mono);
  font-size: 8.5px;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-align: center;
  color: rgba(255, 253, 250, 0.68);
}

.mc-foot__brand .mc-brand__type {
  color: var(--mc-white);
}

.mc-foot__brand .mc-brand__mark {
  background: var(--mc-white);
  color: var(--mc-ink);
}

.mc-foot__brand .mc-brand__sub {
  color: rgba(255, 253, 250, 0.45);
}

.mc-foot__note {
  max-width: 54ch;
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.9;
  color: rgba(255, 253, 250, 0.55);
}

.mc-foot__cols {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.mc-foot__col {
  min-width: 0;
}

.mc-foot__h {
  margin-bottom: 11px;
  font-family: var(--mc-mono);
  font-size: 9.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 253, 250, 0.45);
}

.mc-foot__link {
  display: block;
  padding: 4px 0;
  font-size: 13px;
  color: rgba(255, 253, 250, 0.76);
  transition: color var(--mc-t) var(--mc-ease);
}

.mc-foot__link:hover {
  color: var(--mc-white);
}

.mc-foot__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-top: clamp(32px, 4vw, 56px);
  padding-top: 20px;
  border-top: 1px solid rgba(255, 253, 250, 0.14);
  font-size: 11.5px;
  letter-spacing: 0.06em;
  color: rgba(255, 253, 250, 0.5);
}

/* ---------- 滚动揭示（脚本挂钩，渐进增强） ---------- */
.mc-anim {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.72s var(--mc-ease), transform 0.72s var(--mc-ease);
}

.mc-anim.is-in {
  opacity: 1;
  transform: none;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1080px) {
  .mc-nav {
    display: none;
  }

  .mc-burger {
    display: block;
  }

  .mc-head__act .mc-cta--line {
    display: none;
  }

  .mc-head__bar {
    justify-content: space-between;
  }
}

@media (max-width: 980px) {
  .mc-grid--3,
  .mc-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mc-split,
  .mc-foot__top {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .mc-grid--2,
  .mc-grid--3,
  .mc-grid--4,
  .mc-form__row,
  .mc-pager {
    grid-template-columns: 1fr;
  }

  .mc-foot__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mc-newsitem {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .mc-cal__row {
    grid-template-columns: 80px minmax(0, 1fr);
    row-gap: 4px;
  }

  .mc-cal__meta {
    grid-column: 2;
    text-align: left;
  }

  .mc-ledger__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .mc-head__act .mc-cta--ghost {
    display: none;
  }
}

/* 窄屏兜底：360px 一类机型不出现横向滚动条 */
@media (max-width: 420px) {
  .mc-head__bar {
    gap: 10px;
  }

  .mc-brand__type {
    font-size: 15px;
    letter-spacing: 0.1em;
  }

  .mc-brand__sub {
    display: none;
  }

  .mc-head__act .mc-cta {
    padding-inline: 14px;
    letter-spacing: 0.06em;
  }
}

@media (max-width: 360px) {
  .mc-brand__mark {
    width: 34px;
    height: 34px;
    font-size: 11px;
  }

  .mc-head__act .mc-cta {
    padding-inline: 11px;
    font-size: 12px;
  }
}
