/* ==========================================================================
 * site/css/site.css —— 全站唯一样式文件（零构建、无预处理器、无外部依赖）
 * 分区顺序固定：1 Tokens / 2 Reset & Base / 3 Layout / 4 Components /
 *               5 Pages / 6 Responsive / 7 A11y & Motion
 * 断点固定：640 / 1024 / 1280（不写成 CSS 变量，只在 @media 中出现）
 * 约定：色值只在 :root 定义；class 用 mc- + BEM；状态 is-*；JS 钩子 data-mc-*。
 * ========================================================================== */

/* ===== 1. Tokens ===== */
:root {
  /* 颜色（design-spec §9.2，全站唯一硬编码色值处） */
  --mc-color-bg:#FFFFFF;
  --mc-color-surface:#FFFFFF;
  --mc-color-surface-alt:#F7F8F9;
  --mc-color-media:#F2F3F4;
  --mc-color-scrim:#141A1F;
  --mc-color-ink-900:#141A1F;
  --mc-color-ink-800:#222A31;
  --mc-color-ink-700:#333C45;
  --mc-color-ink-600:#4A5560;
  --mc-color-ink-500:#636D77;
  --mc-color-ink-400:#98A1A9;
  --mc-color-ink-300:#C2C8CE;
  --mc-color-ink-200:#DDE1E5;
  --mc-color-ink-100:#EEF0F2;
  --mc-color-ink-50:#F7F8F9;
  --mc-color-border:#636D77;
  --mc-color-border-subtle:#DDE1E5;
  --mc-color-primary:#1C4E6E;
  --mc-color-primary-hover:#133B54;
  --mc-color-primary-active:#0E2C40;
  --mc-color-primary-soft:#EAF2F7;
  --mc-color-on-primary:#FFFFFF;
  --mc-color-focus:#1C4E6E;
  --mc-color-focus-inverse:#FFFFFF;
  --mc-color-success:#1E7A4C; --mc-color-success-bg:#E8F5EE; --mc-color-success-ink:#125B38;
  --mc-color-warning:#8A5A00; --mc-color-warning-bg:#FFF4E0; --mc-color-warning-ink:#6B4400;
  --mc-color-danger:#B3261E; --mc-color-danger-bg:#FDECEA; --mc-color-danger-ink:#8C1D18;
  --mc-color-info:#1C4E6E; --mc-color-info-bg:#EAF2F7; --mc-color-info-ink:#133B54;
  --mc-color-disabled-bg:#EEF0F2; --mc-color-disabled-ink:#636D77;

  /* 间距 8pt 基准 */
  --mc-space-1:4px;  --mc-space-2:8px;  --mc-space-3:12px; --mc-space-4:16px;
  --mc-space-5:24px; --mc-space-6:32px; --mc-space-7:40px; --mc-space-8:48px;
  --mc-space-9:64px; --mc-space-10:80px; --mc-space-11:96px; --mc-space-12:128px;

  /* 布局（手机 <640 为基准，@media 逐级覆盖） */
  --mc-section-gap:48px;
  --mc-page-pad:16px;
  --mc-content-max:100%;
  --mc-content-wide:100%;
  --mc-content-text:100%;
  --mc-grid-gap:12px;
  --mc-grid-cols:4;
  --mc-gallery-cols:2;
  --mc-division-cols:1;
  --mc-card-pad:12px;
  --mc-header-h:56px;
  --mc-bottom-bar-h:100px;
  --mc-btn-min-h:48px;
  --mc-tap-min:44px;

  /* 字体栈（GDPR：零外部字体） */
  --mc-font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mc-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  /* 字号（移动端值；≥1024 覆盖为桌面值） */
  --mc-fs-h1:32px; --mc-fs-h2:28px; --mc-fs-h3:22px;
  --mc-fs-h4:18px; --mc-fs-h5:16px; --mc-fs-h6:14px;
  --mc-fs-lead:17px; --mc-fs-body:16px; --mc-fs-small:15px;
  --mc-fs-disclaimer:15px; --mc-fs-caption:14px; --mc-fs-button:16px;
  --mc-fs-label:13px; --mc-fs-footnote:13px;

  /* 行高 / 字重 / 字距 */
  --mc-lh-1:1.15; --mc-lh-2:1.2;  --mc-lh-3:1.3;  --mc-lh-4:1.4;  --mc-lh-5:1.45;
  --mc-lh-6:1.5;  --mc-lh-7:1.6;  --mc-lh-8:1.7;  --mc-lh-9:1.75;
  --mc-fw-regular:400; --mc-fw-medium:500; --mc-fw-semibold:600; --mc-fw-bold:700;
  --mc-ls-tight:-0.02em; --mc-ls-h2:-0.015em; --mc-ls-h3:-0.01em;
  --mc-ls-normal:0; --mc-ls-caption:0.01em; --mc-ls-label:0.04em;

  /* 形态 / 层级 / 动效 */
  --mc-radius-sm:4px; --mc-radius-md:6px; --mc-radius-lg:8px; --mc-radius-pill:999px;
  --mc-border-w:1px; --mc-border-focus:3px;
  --mc-shadow-card:0 4px 16px rgba(20,26,31,0.08);
  --mc-z-header:100; --mc-z-bottom:200; --mc-z-drawer:210; --mc-z-lightbox:1000;
  --mc-motion-fast:120ms; --mc-motion-base:200ms; --mc-ease:ease-out;
}

/* ===== 2. Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;}
body{margin:0;background:var(--mc-color-bg);color:var(--mc-color-ink-800);
  font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);
  padding-bottom:var(--mc-bottom-bar-h);}
body.is-locked{overflow:hidden;}
h1,h2,h3,h4,h5,h6{margin:0 0 var(--mc-space-4);color:var(--mc-color-ink-900);text-wrap:balance;}
h1{font:var(--mc-fw-bold) var(--mc-fs-h1)/var(--mc-lh-1) var(--mc-font-sans);letter-spacing:var(--mc-ls-tight);}
h2{font:var(--mc-fw-bold) var(--mc-fs-h2)/var(--mc-lh-2) var(--mc-font-sans);letter-spacing:var(--mc-ls-h2);}
h3{font:var(--mc-fw-semibold) var(--mc-fs-h3)/var(--mc-lh-3) var(--mc-font-sans);letter-spacing:var(--mc-ls-h3);}
h4{font:var(--mc-fw-semibold) var(--mc-fs-h4)/var(--mc-lh-4) var(--mc-font-sans);}
p{margin:0 0 var(--mc-space-4);text-wrap:pretty;}
ul,ol{margin:0 0 var(--mc-space-4);padding-left:var(--mc-space-6);}
li{margin-bottom:var(--mc-space-2);}
a{color:var(--mc-color-primary-hover);}
img{max-width:100%;}
button,select{font:inherit;}
[hidden]{display:none;}
/* 意/法长词由 lang 属性驱动词典断字，禁止 word-break:break-all */
html[lang="it"] p,html[lang="fr"] p,html[lang="it"] li,html[lang="fr"] li,
html[lang="it"] .mc-btn,html[lang="fr"] .mc-btn{
  hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;word-break:normal;
}

/* ===== 3. Layout ===== */
.mc-container{width:100%;max-width:var(--mc-content-max);margin-inline:auto;padding-inline:var(--mc-page-pad);}
.mc-container--wide{max-width:var(--mc-content-wide);}
.mc-section{margin-top:var(--mc-section-gap);}
.mc-text-col{max-width:var(--mc-content-text);}
.mc-gallery{display:grid;grid-template-columns:repeat(var(--mc-gallery-cols),minmax(0,1fr));
  gap:var(--mc-grid-gap);align-items:stretch;}
.mc-stack{display:flex;flex-direction:column;gap:var(--mc-space-4);}
.mc-btn-group{display:flex;flex-wrap:wrap;gap:var(--mc-space-3);}

/* ===== 4. Components ===== */
/* 4.1 按钮 —— 不设 height / max-height / ellipsis / uppercase */
.mc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--mc-space-2);
  font:var(--mc-fw-semibold) var(--mc-fs-button)/var(--mc-lh-3) var(--mc-font-sans);
  letter-spacing:0.005em;padding:12px 16px;min-height:var(--mc-btn-min-h);
  border-radius:var(--mc-radius-md);text-align:center;white-space:normal;overflow-wrap:break-word;
  border:var(--mc-border-w) solid transparent;cursor:pointer;text-decoration:none;
  transition:background-color var(--mc-motion-fast) var(--mc-ease),
             border-color var(--mc-motion-fast) var(--mc-ease),
             box-shadow var(--mc-motion-base) var(--mc-ease);}
.mc-btn--primary{background:var(--mc-color-primary);color:var(--mc-color-on-primary);}
.mc-btn--primary:hover{background:var(--mc-color-primary-hover);}
.mc-btn--primary:active{background:var(--mc-color-primary-active);transform:translateY(1px);}
.mc-btn--secondary{background:var(--mc-color-surface);color:var(--mc-color-primary-hover);border-color:var(--mc-color-border);}
.mc-btn--secondary:hover{background:var(--mc-color-primary-soft);border-color:var(--mc-color-primary);}
.mc-btn--secondary:active{background:var(--mc-color-ink-200);}
.mc-btn--text{background:transparent;color:var(--mc-color-primary);text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;padding:8px 4px;min-height:var(--mc-tap-min);}
.mc-btn--text:hover{color:var(--mc-color-primary-hover);background:var(--mc-color-primary-soft);}
.mc-btn.is-disabled,.mc-btn[aria-disabled="true"],.mc-btn:disabled,
.mc-btn.is-disabled:hover,.mc-btn[aria-disabled="true"]:hover,.mc-btn:disabled:hover{
  background:var(--mc-color-disabled-bg);color:var(--mc-color-disabled-ink);
  border-color:var(--mc-color-border-subtle);cursor:not-allowed;opacity:1;text-decoration:none;transform:none;}
.mc-btn svg{flex:0 0 auto;}
.mc-btn[aria-busy="true"]{cursor:progress;}

/* 4.2 页眉 / 文字标 / 导航 / 语言切换器 / 汉堡 / 抽屉 */
.mc-header{position:sticky;top:0;z-index:var(--mc-z-header);height:var(--mc-header-h);
  background:var(--mc-color-surface);border-bottom:var(--mc-border-w) solid var(--mc-color-border-subtle);}
.mc-header__inner{display:flex;align-items:center;justify-content:space-between;
  gap:var(--mc-space-5);height:100%;}
.mc-header__right{display:flex;align-items:center;gap:var(--mc-space-4);}
.mc-brand{display:inline-flex;flex-direction:column;gap:var(--mc-space-1);
  color:var(--mc-color-ink-900);font:var(--mc-fw-bold) 17px/1.2 var(--mc-font-sans);
  letter-spacing:-0.01em;text-decoration:none;white-space:normal;max-width:200px;overflow-wrap:break-word;}
.mc-brand::after{content:"";display:block;width:24px;height:2px;
  background:var(--mc-color-primary);border-radius:2px;}
.mc-brand--long{font-size:var(--mc-fs-body);}
.mc-nav-desktop{display:none;align-items:center;gap:var(--mc-space-6);}
.mc-nav__link{display:inline-flex;align-items:center;min-height:var(--mc-tap-min);padding:8px 12px;
  font:var(--mc-fw-medium) 15px/1.4 var(--mc-font-sans);color:var(--mc-color-ink-700);
  text-decoration:none;border-radius:var(--mc-radius-sm);white-space:nowrap;}
.mc-nav__link:hover{color:var(--mc-color-primary);background:var(--mc-color-ink-50);}
.mc-nav__link.is-current{color:var(--mc-color-primary);font-weight:var(--mc-fw-semibold);
  border-bottom:2px solid var(--mc-color-primary);}
.mc-lang{display:inline-flex;align-items:center;border:var(--mc-border-w) solid var(--mc-color-border);
  border-radius:var(--mc-radius-md);overflow:visible;}
.mc-lang__item{min-width:var(--mc-tap-min);min-height:var(--mc-tap-min);padding:0 10px;
  display:inline-flex;align-items:center;justify-content:center;
  font:var(--mc-fw-semibold) 14px/1 var(--mc-font-sans);letter-spacing:var(--mc-ls-label);
  text-transform:uppercase;color:var(--mc-color-ink-600);text-decoration:none;
  border-right:1px solid var(--mc-color-ink-300);}
.mc-lang__item:last-child{border-right:0;}
.mc-lang__item:hover{background:var(--mc-color-ink-50);color:var(--mc-color-primary);}
.mc-lang__item.is-current{background:var(--mc-color-primary-soft);color:var(--mc-color-primary);
  font-weight:var(--mc-fw-bold);}
.mc-lang__item:focus-visible{outline-offset:-2px;}
.mc-hamburger{display:inline-flex;align-items:center;justify-content:center;
  width:var(--mc-tap-min);height:var(--mc-tap-min);background:transparent;border:0;
  color:var(--mc-color-ink-800);cursor:pointer;border-radius:var(--mc-radius-sm);}
.mc-drawer{display:none;position:fixed;inset:0;z-index:var(--mc-z-drawer);
  background:var(--mc-color-surface);padding:var(--mc-page-pad);overflow-y:auto;}
.mc-drawer.is-open{display:flex;flex-direction:column;}
.mc-drawer__top{display:flex;align-items:center;justify-content:space-between;
  min-height:var(--mc-header-h);gap:var(--mc-space-4);}
.mc-drawer__close{display:inline-flex;align-items:center;justify-content:center;
  width:var(--mc-tap-min);height:var(--mc-tap-min);background:transparent;border:0;
  color:var(--mc-color-ink-800);cursor:pointer;}
.mc-drawer__lang{margin:var(--mc-space-4) 0;}
.mc-drawer__lang .mc-lang__item{min-width:56px;min-height:48px;}
.mc-drawer__nav{display:flex;flex-direction:column;}
.mc-drawer__link{display:flex;align-items:center;min-height:56px;padding:12px 8px;
  font:var(--mc-fw-medium) 17px/1.4 var(--mc-font-sans);color:var(--mc-color-ink-800);
  text-decoration:none;border-bottom:1px solid var(--mc-color-border-subtle);}
.mc-drawer__link.is-current{color:var(--mc-color-primary);font-weight:var(--mc-fw-semibold);
  border-left:3px solid var(--mc-color-primary);}
.mc-drawer__link:hover{background:var(--mc-color-ink-50);}
.mc-drawer__cta{margin-top:var(--mc-space-5);display:flex;flex-direction:column;gap:var(--mc-space-3);}
.mc-drawer__copy{margin-top:auto;padding-top:var(--mc-space-5);
  font:var(--mc-fw-regular) var(--mc-fs-footnote)/var(--mc-lh-6) var(--mc-font-sans);
  color:var(--mc-color-ink-600);}

/* 4.3 筛选器：chip / select / 结果计数 / 说明行 */
.mc-chips{display:flex;flex-wrap:wrap;gap:var(--mc-space-2);}
.mc-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:var(--mc-tap-min);padding:10px 14px;border:1px solid var(--mc-color-border);
  border-radius:var(--mc-radius-pill);background:var(--mc-color-surface);
  color:var(--mc-color-ink-700);font:var(--mc-fw-medium) 15px/1.3 var(--mc-font-sans);
  text-align:center;white-space:normal;overflow-wrap:break-word;hyphens:none;cursor:pointer;
  transition:background-color var(--mc-motion-fast) var(--mc-ease),
             border-color var(--mc-motion-fast) var(--mc-ease);}
.mc-chip svg{display:none;flex:0 0 auto;}
.mc-chip:hover{background:var(--mc-color-primary-soft);border-color:var(--mc-color-primary);
  color:var(--mc-color-primary-hover);}
.mc-chip.is-active{background:var(--mc-color-primary);color:var(--mc-color-on-primary);
  border-color:var(--mc-color-primary);box-shadow:inset 0 -2px 0 var(--mc-color-primary-active);}
.mc-chip.is-active svg{display:inline;}
.mc-chip[aria-disabled="true"]{background:var(--mc-color-ink-50);color:var(--mc-color-ink-500);
  border-color:var(--mc-color-border-subtle);cursor:not-allowed;}
.mc-filters{margin:0;padding:0;border:0;min-width:0;}
.mc-filters__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--mc-space-3);
  margin-top:var(--mc-space-5);}
.mc-field{display:flex;flex-direction:column;gap:var(--mc-space-2);min-width:0;flex:1 1 320px;}
.mc-field__label{font:var(--mc-fw-semibold) var(--mc-fs-label)/var(--mc-lh-6) var(--mc-font-sans);
  color:var(--mc-color-ink-600);}
.mc-select-wrap{position:relative;}
.mc-select-wrap::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;
  border-right:2px solid var(--mc-color-ink-600);border-bottom:2px solid var(--mc-color-ink-600);
  transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.mc-select{width:100%;min-height:var(--mc-btn-min-h);padding:12px 40px 12px 16px;
  border:1px solid var(--mc-color-border);border-radius:var(--mc-radius-md);
  background:var(--mc-color-surface);color:var(--mc-color-ink-800);
  font:var(--mc-fw-regular) 15px/1.5 var(--mc-font-sans);appearance:none;}
.mc-select:hover{border-color:var(--mc-color-primary);}
.mc-select:disabled{background:var(--mc-color-disabled-bg);color:var(--mc-color-disabled-ink);
  border-color:var(--mc-color-border-subtle);}
.mc-result-count{flex:1 1 auto;align-self:center;margin:0;
  font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-500);font-variant-numeric:tabular-nums;}
.mc-breadcrumb{font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-500);margin:0 0 var(--mc-space-4);overflow-wrap:break-word;}
.mc-note{background:var(--mc-color-info-bg);border-left:3px solid var(--mc-color-info);
  color:var(--mc-color-info-ink);padding:12px 16px;border-radius:var(--mc-radius-md);
  font:var(--mc-fw-regular) var(--mc-fs-small)/var(--mc-lh-8) var(--mc-font-sans);}

/* 4.4 卡片 / 图井 —— aspect-ratio 1/1 + object-fit:contain，不裁切 */
.mc-card{display:flex;flex-direction:column;background:var(--mc-color-surface);
  border:1px solid var(--mc-color-border-subtle);border-radius:var(--mc-radius-lg);overflow:hidden;
  transition:border-color var(--mc-motion-fast) var(--mc-ease),
             box-shadow var(--mc-motion-base) var(--mc-ease);}
.mc-card:hover{border-color:var(--mc-color-primary);box-shadow:var(--mc-shadow-card);}
.mc-card:focus-within{outline:var(--mc-border-focus) solid var(--mc-color-focus);outline-offset:2px;}
.mc-card__media{display:block;width:100%;aspect-ratio:1/1;background:var(--mc-color-media);
  border:0;padding:0;margin:0;cursor:pointer;min-height:var(--mc-tap-min);overflow:hidden;
  border-radius:var(--mc-radius-lg) var(--mc-radius-lg) 0 0;}
.mc-card__media img{display:block;width:100%;height:100%;object-fit:contain;}
.mc-card__media--empty{background:var(--mc-color-media);}
.mc-card__body{padding:var(--mc-card-pad);display:flex;flex-direction:column;
  gap:var(--mc-space-3);flex:1;}
.mc-card__title{margin:0;min-height:42px;
  font:var(--mc-fw-semibold) var(--mc-fs-h4)/var(--mc-lh-4) var(--mc-font-sans);
  color:var(--mc-color-ink-900);overflow-wrap:break-word;
  -webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
.mc-card__caption{margin:0;overflow-wrap:break-word;
  font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-500);font-variant-numeric:tabular-nums;}
.mc-card__actions{display:flex;flex-direction:column;gap:var(--mc-space-2);margin-top:auto;}
.mc-card__actions .mc-btn{width:100%;}
/* 分类入口卡原名必须完整可见，禁止截断 */
.mc-card--category .mc-card__title{display:block;-webkit-line-clamp:unset;overflow:visible;
  min-height:0;white-space:normal;hyphens:none;overflow-wrap:break-word;}

/* 4.5 分页器 */
.mc-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:var(--mc-space-2);margin-top:var(--mc-space-6);}
.mc-pager[hidden]{display:none;}
.mc-pager__btn{min-height:var(--mc-tap-min);}
.mc-pager__info{display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--mc-tap-min);font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-800);font-variant-numeric:tabular-nums;}

/* 4.6 空状态 / 错误提示 / 配置占位告警 */
.mc-empty{grid-column:1/-1;text-align:center;background:var(--mc-color-surface-alt);
  border-radius:var(--mc-radius-lg);padding:var(--mc-space-8) var(--mc-space-5);}
.mc-empty svg{color:var(--mc-color-ink-400);margin:0 auto var(--mc-space-4);display:block;}
.mc-empty p{font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);
  color:var(--mc-color-ink-800);}
.mc-alert{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--mc-space-3);
  padding:var(--mc-space-4);border-radius:var(--mc-radius-md);margin-bottom:var(--mc-space-5);}
.mc-alert[hidden]{display:none;}
.mc-alert svg{flex:0 0 auto;}
.mc-alert p{flex:1 1 200px;margin:0;color:inherit;
  font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);}
.mc-alert--danger{background:var(--mc-color-danger-bg);color:var(--mc-color-danger-ink);}
.mc-alert--warning{background:var(--mc-color-warning-bg);color:var(--mc-color-warning-ink);}
.mc-alert .mc-btn{flex:0 0 auto;}
.mc-noscript{background:var(--mc-color-surface-alt);padding:var(--mc-space-4);
  border-radius:var(--mc-radius-md);margin-top:var(--mc-space-6);
  font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-800);overflow-wrap:break-word;}
.mc-noscript a{color:var(--mc-color-primary-hover);}

/* 4.7 页脚 / 三语免责声明（不折叠、不小字灰化、不滚动容器） */
.mc-footer{background:var(--mc-color-surface-alt);border-top:1px solid var(--mc-color-border-subtle);
  padding:var(--mc-space-9) 0 var(--mc-space-6);margin-top:var(--mc-section-gap);}
.mc-footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--mc-space-5);}
.mc-footer__copy{margin:0;font:var(--mc-fw-regular) var(--mc-fs-footnote)/var(--mc-lh-6) var(--mc-font-sans);
  color:var(--mc-color-ink-600);}
.mc-footer__links{display:flex;flex-wrap:wrap;gap:var(--mc-space-2);}
.mc-footer__link{display:inline-flex;align-items:center;min-height:var(--mc-tap-min);padding:8px 4px;
  font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-700);text-decoration:none;}
.mc-footer__link:hover{color:var(--mc-color-primary);text-decoration:underline;}
.mc-disclaimer{margin-top:var(--mc-space-6);max-width:var(--mc-content-text);}
.mc-disclaimer__label{display:block;margin:0 0 var(--mc-space-1);
  font:var(--mc-fw-bold) var(--mc-fs-label)/var(--mc-lh-6) var(--mc-font-sans);
  letter-spacing:var(--mc-ls-label);color:var(--mc-color-ink-800);}
.mc-disclaimer__text{margin:0 0 var(--mc-space-4);white-space:normal;hyphens:auto;
  overflow-wrap:break-word;word-break:normal;
  font:var(--mc-fw-regular) var(--mc-fs-disclaimer)/var(--mc-lh-8) var(--mc-font-sans);
  color:var(--mc-color-ink-800);}
.mc-disclaimer--lightbox{max-width:none;margin-top:var(--mc-space-6);
  padding:var(--mc-space-4) 0 var(--mc-space-8);border-top:1px solid var(--mc-color-ink-700);}
.mc-disclaimer--lightbox .mc-disclaimer__label,
.mc-disclaimer--lightbox .mc-disclaimer__text{color:var(--mc-color-on-primary);}

/* 4.8 移动端底部常驻询盘条（含全站标语原文） */
.mc-bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:var(--mc-z-bottom);
  background:var(--mc-color-surface);border-top:1px solid var(--mc-color-border-subtle);
  padding-top:var(--mc-space-2);padding-bottom:var(--mc-space-2);
  padding-left:var(--mc-page-pad);padding-right:var(--mc-page-pad);
  display:flex;flex-direction:column;gap:var(--mc-space-2);}
.mc-bottom-bar[hidden]{display:none;}
.mc-bottom-bar__slogan{display:block;text-align:center;
  font:var(--mc-fw-semibold) var(--mc-fs-footnote)/var(--mc-lh-6) var(--mc-font-sans);
  color:var(--mc-color-primary-hover);text-decoration:underline;text-underline-offset:2px;
  overflow-wrap:break-word;}
.mc-bottom-bar__actions{display:flex;gap:var(--mc-space-2);}
.mc-bottom-bar__actions .mc-btn{flex:1;min-height:var(--mc-tap-min);}

/* 4.9 灯箱（原生 dialog，墨底 100% 不透明） */
.mc-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;
  margin:0;padding:0;border:0;background:var(--mc-color-scrim);color:var(--mc-color-on-primary);}
.mc-lightbox::backdrop{background:var(--mc-color-scrim);}
.mc-lightbox[hidden]{display:none;}
.mc-lightbox__inner{display:flex;flex-direction:column;min-height:100%;
  padding:var(--mc-space-4) var(--mc-page-pad) var(--mc-space-8);
  overflow-y:auto;overscroll-behavior:contain;}
.mc-lightbox__bar{display:flex;align-items:center;justify-content:space-between;
  gap:var(--mc-space-4);min-height:56px;}
.mc-lightbox__title{margin:0;overflow-wrap:break-word;color:var(--mc-color-on-primary);
  font:var(--mc-fw-semibold) var(--mc-fs-h4)/var(--mc-lh-4) var(--mc-font-sans);}
.mc-lightbox__close,.mc-lightbox__nav{display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;min-width:56px;min-height:56px;background:transparent;
  color:var(--mc-color-on-primary);border:0;border-radius:var(--mc-radius-md);cursor:pointer;}
.mc-lightbox__close:hover{background:var(--mc-color-ink-100);color:var(--mc-color-scrim);}
.mc-lightbox__nav:hover{background:var(--mc-color-ink-100);color:var(--mc-color-scrim);}
.mc-lightbox__nav[disabled]{color:var(--mc-color-ink-300);background:transparent;cursor:not-allowed;}
.mc-lightbox__stage{display:flex;align-items:center;justify-content:center;gap:var(--mc-space-2);
  min-height:0;touch-action:pan-y;}
.mc-lightbox__img{display:block;object-fit:contain;max-width:100%;max-height:calc(100dvh - 240px);}
.mc-lightbox__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--mc-space-2);
  font:var(--mc-fw-regular) var(--mc-fs-caption)/var(--mc-lh-7) var(--mc-font-sans);
  color:var(--mc-color-ink-300);font-variant-numeric:tabular-nums;}
.mc-lightbox__thumbs{display:flex;gap:var(--mc-space-2);overflow-x:auto;overscroll-behavior:contain;
  padding:var(--mc-space-2) 0;}
.mc-lightbox__thumbs[hidden]{display:none;}
.mc-lightbox__thumb{flex:0 0 56px;width:56px;height:56px;min-height:var(--mc-tap-min);padding:0;
  background:var(--mc-color-media);border:2px solid transparent;
  border-radius:var(--mc-radius-sm);cursor:pointer;overflow:hidden;}
.mc-lightbox__thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.mc-lightbox__thumb.is-current{border-color:var(--mc-color-primary);}
.mc-lightbox__cta{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:var(--mc-space-2);
  padding:var(--mc-space-3) 0;background:var(--mc-color-scrim);}
.mc-lightbox__cta .mc-btn{flex:1;}

/* 4.10 顶部联系条（12 内容页）：引导标签三语化，标语原文三语一致 */
.mc-contact-bar{background:var(--mc-color-primary);color:var(--mc-color-on-primary);
  border-bottom:1px solid var(--mc-color-primary-active);}
.mc-contact-bar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:var(--mc-space-2) var(--mc-space-4);min-height:var(--mc-tap-min);
  padding-top:var(--mc-space-2);padding-bottom:var(--mc-space-2);}
.mc-contact-bar__label{font:var(--mc-fw-medium) var(--mc-fs-label)/var(--mc-lh-6) var(--mc-font-sans);
  letter-spacing:var(--mc-ls-label);}
.mc-contact-bar__link{color:var(--mc-color-on-primary);
  font:var(--mc-fw-bold) var(--mc-fs-small)/var(--mc-lh-6) var(--mc-font-sans);
  text-decoration:underline;text-underline-offset:3px;overflow-wrap:break-word;}
.mc-contact-bar__link:hover{text-decoration-thickness:2px;}
.mc-contact-bar__link:focus-visible{outline:var(--mc-border-focus) solid var(--mc-color-focus-inverse);
  outline-offset:2px;}

/* 4.11 页脚标语（14 页全覆盖，灯箱/抽屉打开时的可见兜底） */
.mc-footer__contact{margin-top:var(--mc-space-5);display:flex;flex-wrap:wrap;
  align-items:baseline;gap:var(--mc-space-2) var(--mc-space-4);}
.mc-footer__contact-label{font:var(--mc-fw-semibold) var(--mc-fs-label)/var(--mc-lh-6) var(--mc-font-sans);
  letter-spacing:var(--mc-ls-label);color:var(--mc-color-ink-600);}
.mc-footer__contact-link{font:var(--mc-fw-bold) var(--mc-fs-body)/var(--mc-lh-6) var(--mc-font-sans);
  color:var(--mc-color-primary-hover);text-decoration:underline;text-underline-offset:3px;
  overflow-wrap:break-word;}
.mc-footer__contact-link:hover{color:var(--mc-color-primary);}

/* ===== 5. Pages ===== */
/* 5.1 首页 */
.mc-hero{background:linear-gradient(135deg,var(--mc-color-primary),var(--mc-color-primary-active));color:var(--mc-color-on-primary);padding:var(--mc-space-9) 0;}
.mc-hero__inner{max-width:var(--mc-content-wide);margin-inline:auto;padding-inline:var(--mc-page-pad);display:flex;flex-direction:column;gap:var(--mc-space-5);}
.mc-hero__eyebrow{margin:0;font:var(--mc-fw-semibold) var(--mc-fs-label)/var(--mc-lh-2) var(--mc-font-sans);letter-spacing:var(--mc-ls-label);text-transform:uppercase;color:rgba(255,255,255,.82);}
.mc-hero__title{margin:0;font:var(--mc-fw-bold) var(--mc-fs-h1)/var(--mc-lh-1) var(--mc-font-sans);letter-spacing:var(--mc-ls-tight);color:#fff;max-width:20ch;}
.mc-hero__lead{margin:0;font:var(--mc-fw-regular) var(--mc-fs-lead)/var(--mc-lh-9) var(--mc-font-sans);color:rgba(255,255,255,.92);max-width:62ch;}
.mc-hero .mc-btn-group{margin-top:var(--mc-space-2);}
.mc-hero .mc-btn--primary{background:#fff;color:var(--mc-color-primary-active);border-color:#fff;}
.mc-hero .mc-btn--primary:hover{background:rgba(255,255,255,.9);}
.mc-hero .mc-btn--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.mc-hero .mc-btn--secondary:hover{border-color:#fff;background:rgba(255,255,255,.1);}

.mc-map__figure{margin:0;}
.mc-map__img{display:block;width:100%;height:auto;border-radius:var(--mc-radius-lg);box-shadow:var(--mc-shadow-card);}
.mc-map__caption{margin:var(--mc-space-4) 0 0;text-align:center;color:var(--mc-color-ink-600);font:var(--mc-fw-regular) var(--mc-fs-small)/var(--mc-lh-8) var(--mc-font-sans);}

.mc-board-banner{margin:0 0 var(--mc-space-6);border-radius:var(--mc-radius-lg);overflow:hidden;box-shadow:var(--mc-shadow-card);}
.mc-board-banner img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;}

.mc-divisions{display:grid;grid-template-columns:repeat(var(--mc-division-cols),minmax(0,1fr));
  gap:var(--mc-grid-gap);align-items:stretch;}
.mc-division{display:flex;flex-direction:column;gap:var(--mc-space-3);padding:var(--mc-space-5);
  border:1px solid var(--mc-color-border-subtle);border-radius:var(--mc-radius-lg);
  background:var(--mc-color-surface);}
.mc-division--primary{border-color:var(--mc-color-primary);}
.mc-division--card{padding:0;overflow:hidden;}
.mc-division__photo{aspect-ratio:16/9;background:var(--mc-color-media);overflow:hidden;}
.mc-division__photo img{display:block;width:100%;height:100%;object-fit:cover;}
.mc-division--card .mc-division__body-wrap{display:flex;flex-direction:column;gap:var(--mc-space-3);padding:var(--mc-space-5);flex:1;}
.mc-division__kicker{margin:0;font:var(--mc-fw-semibold) var(--mc-fs-label)/var(--mc-lh-2) var(--mc-font-sans);letter-spacing:var(--mc-ls-label);text-transform:uppercase;color:var(--mc-color-primary);}
.mc-division__title{margin:0;font:var(--mc-fw-semibold) var(--mc-fs-h3)/var(--mc-lh-3) var(--mc-font-sans);}
.mc-division__body{margin:0;font:var(--mc-fw-regular) var(--mc-fs-small)/var(--mc-lh-8) var(--mc-font-sans);}
.mc-division__link{align-self:flex-start;margin-top:auto;}
.mc-division__media{aspect-ratio:4/3;background:var(--mc-color-media);border-radius:var(--mc-radius-sm) var(--mc-radius-sm) 0 0;overflow:hidden;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;}
.mc-division__media--single{grid-template-columns:1fr;}
.mc-division__media--icon{display:flex;align-items:center;justify-content:center;color:var(--mc-color-ink-400);}
.mc-division__media img{display:block;width:100%;height:100%;object-fit:contain;}
.mc-steps{display:grid;grid-template-columns:1fr;gap:var(--mc-space-4);}
.mc-step{padding:var(--mc-space-4);background:var(--mc-color-surface-alt);
  border-radius:var(--mc-radius-md);font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);}
.mc-closing{display:flex;flex-direction:column;gap:var(--mc-space-4);}
.mc-closing__lead{margin:0;font:var(--mc-fw-semibold) var(--mc-fs-h4)/var(--mc-lh-4) var(--mc-font-sans);}

/* 5.2 占位页（纯排版、无图位） */
.mc-placeholder__rule{width:24px;height:2px;background:var(--mc-color-primary);
  border-radius:2px;margin-bottom:var(--mc-space-5);}
.mc-placeholder__lead{font:var(--mc-fw-regular) var(--mc-fs-lead)/var(--mc-lh-9) var(--mc-font-sans);margin:0 0 var(--mc-space-5);}
.mc-placeholder__body{font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);}
.mc-placeholder__list{font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);}
.mc-placeholder__list li::marker{color:var(--mc-color-primary);}

/* 5.3 图库页 */
.mc-picks__intro{font:var(--mc-fw-regular) var(--mc-fs-small)/var(--mc-lh-8) var(--mc-font-sans);
  max-width:var(--mc-content-text);}
.mc-picks__note{margin-top:var(--mc-space-4);}

/* 5.4 根路由页 / 404 */
.mc-router,.mc-notfound{max-width:var(--mc-content-text);margin-inline:auto;text-align:center;
  padding-top:var(--mc-space-9);}
.mc-router__brand{display:inline-flex;flex-direction:column;align-items:center;gap:var(--mc-space-1);
  font:var(--mc-fw-bold) var(--mc-fs-h4)/var(--mc-lh-4) var(--mc-font-sans);
  color:var(--mc-color-ink-900);text-decoration:none;margin-bottom:var(--mc-space-7);}
.mc-router__brand::after{content:"";display:block;width:24px;height:2px;
  background:var(--mc-color-primary);border-radius:2px;}
.mc-router__desc{font:var(--mc-fw-regular) var(--mc-fs-body)/var(--mc-lh-9) var(--mc-font-sans);}
.mc-router__links{display:flex;flex-direction:column;gap:var(--mc-space-3);
  max-width:360px;margin:var(--mc-space-6) auto 0;}
.mc-router__link{display:flex;align-items:center;justify-content:space-between;min-height:56px;
  padding:12px 16px;border:1px solid var(--mc-color-border);border-radius:var(--mc-radius-lg);
  font:var(--mc-fw-semibold) 17px/1.4 var(--mc-font-sans);color:var(--mc-color-ink-800);
  text-decoration:none;}
.mc-router__link:hover{background:var(--mc-color-primary-soft);}
.mc-notfound__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--mc-space-3);
  margin-top:var(--mc-space-6);}
.mc-notfound__links a{min-height:var(--mc-tap-min);display:inline-flex;align-items:center;
  padding:8px 12px;color:var(--mc-color-primary-hover);}
.mc-mini-header{display:flex;align-items:center;justify-content:space-between;
  gap:var(--mc-space-4);padding:var(--mc-space-4) var(--mc-page-pad);
  border-bottom:1px solid var(--mc-color-border-subtle);}

/* ===== 6. Responsive（断点固定 640 / 1024 / 1280） ===== */
@media (min-width:640px){
  :root{
    --mc-section-gap:64px;--mc-page-pad:20px;--mc-grid-gap:20px;--mc-grid-cols:8;
    --mc-gallery-cols:3;--mc-division-cols:2;--mc-card-pad:16px;--mc-content-text:720px;
  }
  .mc-division:nth-child(3){grid-column:1/-1;}
}
@media (min-width:1024px){
  :root{
    --mc-section-gap:96px;--mc-page-pad:24px;--mc-grid-gap:24px;--mc-grid-cols:12;
    --mc-gallery-cols:4;--mc-division-cols:3;--mc-header-h:72px;
    --mc-content-max:1120px;--mc-content-wide:1280px;--mc-content-text:720px;
    --mc-fs-h1:48px;--mc-fs-h2:36px;--mc-fs-h3:26px;--mc-fs-h4:20px;
    --mc-fs-h5:17px;--mc-fs-h6:15px;--mc-fs-lead:18px;
  }
  .mc-nav-desktop{display:flex;}
  .mc-hamburger{display:none;}
  .mc-drawer.is-open{display:none;}
  .mc-bottom-bar,.mc-bottom-bar[hidden]{display:none;}
  body{padding-bottom:0;}
  .mc-hero{grid-template-columns:42% 58%;}
  .mc-division:nth-child(3){grid-column:auto;}
  .mc-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  .mc-brand{font-size:20px;max-width:none;white-space:nowrap;}
}
@media (min-width:1280px){
  :root{--mc-gallery-cols:5;}
}
@media (max-width:639px){
  .mc-btn-group>.mc-btn,.mc-lightbox__cta .mc-btn,.mc-drawer__cta .mc-btn{width:100%;}
  .mc-hero-grid__cell:nth-child(n+7){display:none;}
  .mc-pager__btn{flex:1 1 calc(50% - 4px);}
  .mc-pager__info{flex:1 1 100%;order:3;}
  .mc-footer{padding:var(--mc-space-8) 0 var(--mc-space-5);}
  .mc-contact-bar__inner{flex-direction:column;gap:0;text-align:center;}
  .mc-bottom-bar__slogan{font-size:var(--mc-fs-footnote);}
}
@media (max-width:359px){
  :root{--mc-gallery-cols:1;}
}

/* ===== 7. A11y & Motion ===== */
.mc-u-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.mc-skip-link{position:absolute;left:-9999px;top:0;z-index:1100;
  background:var(--mc-color-surface);color:var(--mc-color-primary-hover);
  padding:12px 16px;border:2px solid var(--mc-color-primary);border-radius:var(--mc-radius-md);}
.mc-skip-link:focus{left:var(--mc-space-4);top:var(--mc-space-4);}
:focus-visible{outline:var(--mc-border-focus) solid var(--mc-color-focus);outline-offset:2px;}
.mc-btn--primary:focus-visible,.mc-lightbox :focus-visible{
  outline:var(--mc-border-focus) solid var(--mc-color-focus-inverse);outline-offset:2px;
  box-shadow:0 0 0 6px var(--mc-color-focus);}
/* !important 仅此块内 3 处（design-spec §8.6 唯一豁免区） */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}
