/* ============================================================
   姹念 WabiNian · 品牌官网设计系统
   Design System v2.0 — 侘寂美学 · 编辑式留白
   ============================================================ */

:root{
  /* 色彩 — 侘寂自然美学（精炼版 v2.2） */
  --moss:#578d31;--moss-d:#3a4a22;--moss-l:#7d9154;--moss-mist:#eaf0e2;
  --paper:#f2f2f2;--cream:#f2f2f2;--warm:#f2f2f2;--sand:#f2f2f2;
  --ink:#26231e;--ink-2:#45403a;--ink-3:#6f675c;--ink-4:#9c9486;--ink-5:#bcb6a8;
  --clay:#a8694b;--clay-l:#c98e6e;
  --gold:#b08a3e;--gold-l:#d8b56a;--seal:#a8392b;--line:#e4dfd4;--line-d:#d4cec1;
  /* 字体 */
  --serif:'Noto Serif SC','Source Han Serif SC','STSong','Songti SC','SimSun',serif;
  --sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  /* 动效 */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  /* 排版比例 */
  --fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:24px;
  /* 间距尺度（8px 基准） */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:88px;--s8:120px;
  /* 圆角 */
  --r-s:10px;--r-m:16px;--r-l:24px;--r-pill:999px;
  /* 柔和暖调阴影（侘寂低透明度） */
  --sh-soft:0 10px 34px rgba(40,30,18,.07);
  --sh-card:0 6px 22px rgba(40,30,18,.05);
  --sh-lift:0 14px 40px rgba(40,30,18,.10);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;height:100%}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);
line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
overflow-x:hidden;min-height:100%;display:flex;flex-direction:column}

/* 纸纹 */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
mix-blend-mode:multiply}

::selection{background:var(--moss-mist);color:var(--moss-d)}

/* ============================================================ 导航 */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200}
/* 注意：页头不得使用 transform / will-change:transform / filter / backdrop-filter，
   否则会成为后代 position:fixed 元素（满屏下拉 .mega-panel、.mega-overlay、搜索层）的包含块，
   导致满屏下拉被压扁。原 hide-on-scroll 的 translateY 已随该交互一并移除。 */
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
.nav{position:relative;z-index:200;
padding:18px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;
transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease);
background:var(--paper);overflow:visible}
.nav.scrolled{background:var(--paper);padding:8px 48px;
box-shadow:0 10px 28px rgba(40,30,18,.12)}
/* 滚动时页头工具细条收起（宝马式整头缩小） */
.topbar{transition:height .35s var(--ease),opacity .3s var(--ease)}
.site-header.scrolled .topbar{height:0;min-height:0;opacity:0;overflow:hidden}
/* 华为式顶部 utility 细条 —— 高度按文字大小压到最小 */
.topbar{height:24px;background:var(--paper);
  font-size:12px;color:var(--ink-3);line-height:1}
.topbar__inner{max-width:none;margin:0;height:100%;padding:0 48px;display:flex;align-items:center;justify-content:space-between}
.topbar__left{letter-spacing:.04em;color:var(--ink-4);display:flex;align-items:center;min-width:0}
.topbar__left .brand-tag{font-size:12px;letter-spacing:.22em;color:var(--ink-3);white-space:nowrap;font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-block}
.topbar__right{display:flex;align-items:center;gap:14px}
.topbar__right a{color:var(--ink-3);text-decoration:none;transition:color .2s}
.topbar__right a:hover{color:var(--moss)}
.topbar__lang{color:var(--ink-4);letter-spacing:.06em;cursor:default}
.topbar__lang a{color:var(--ink-3);text-decoration:none;padding:2px 5px;border-radius:4px;transition:all .2s}
.topbar__group{color:var(--ink-3);text-decoration:none;padding:2px 5px;border-radius:4px;transition:all .2s}
.topbar__group:hover{color:var(--moss);background:var(--moss-mist)}
.topbar__group.active{color:var(--moss);font-weight:600}
.topbar__lang a.active{color:var(--moss);font-weight:600}
.topbar__lang a:hover{color:var(--moss);background:var(--moss-mist)}
@media(max-width:768px){.topbar{display:none}.topbar__inner{padding:0 20px}}
.nav .brand{flex:0 1 auto;min-width:0;display:flex;align-items:center;text-decoration:none;overflow:hidden;max-height:48px}
.nav .brand .nav-logo-img{height:36px!important;max-height:36px;width:auto;max-width:200px;object-fit:contain;transition:opacity .3s,height .35s var(--ease),max-height .35s var(--ease);display:block;flex:0 0 auto}
/* 滚动缩小：logo 渐缩 */
.nav.scrolled .brand .nav-logo-img{height:26px!important;max-height:26px}
.nav .brand:hover .nav-logo-img{opacity:.75}
/* 华为式：菜单项字重收紧；链接组以导航条水平中线为基准绝对居中，
   不受两侧品牌/图标宽度影响，任意视口下始终居中。
   注意：不可用 transform 居中——transform 会使后代 position:fixed 的满屏下拉
   退化为相对该容器定位（下拉被压扁）。改用 left:0/right:0 + margin auto。 */
.nav .links{position:absolute;left:0;right:0;margin:0 auto;
  flex:none;max-width:calc(100% - 360px);z-index:5;
  display:flex;justify-content:center;gap:32px;align-items:center;
  flex-wrap:nowrap;white-space:nowrap;pointer-events:none}
.nav .links > a, .nav .links > .has-mega, .nav .links .nav-a11y-trigger{pointer-events:auto}
.nav .links > a, .has-mega > a, .nav-a11y-trigger{font-size:15px;font-weight:500;color:#000;letter-spacing:.02em;
position:relative;transition:color .3s,font-size .3s var(--ease),transform .22s ease;text-decoration:none;padding:6px 0;cursor:pointer;
white-space:nowrap;flex-shrink:0}
/* 滚动缩小：菜单字号渐缩 */
.nav.scrolled .links > a, .nav.scrolled .has-mega > a, .nav.scrolled .nav-a11y-trigger{font-size:13.5px}
/* 鼠标指向放大（宝马式，1.25 倍，无下划线） */
.has-mega > a{display:inline-block}
/* 下拉指示小三角（纯 CSS 绘制，31 页共用，无 HTML 改动） */
.nav-caret{display:inline-block;vertical-align:middle;margin-left:5px;width:0;height:0;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;opacity:.55;
  transition:transform .25s var(--ease),opacity .2s}
.has-mega:hover .nav-caret,.has-mega:focus-within .nav-caret{transform:rotate(180deg);opacity:.9}
.nav .links > a:hover, .has-mega:hover > a, .nav-a11y-trigger:hover{transform:scale(1.5)}
.nav .links > .has-mega{flex:0 0 auto}
.nav .links > a:hover, .has-mega:hover > a, .nav-a11y-trigger:hover{color:#000}
.nav .links > a.active{color:#000}
.nav .staff-btn{font-size:12px;color:var(--ink-4);border:1px solid var(--line-d);
padding:6px 16px;border-radius:20px;transition:all .3s;text-decoration:none}
.nav .staff-btn:hover{color:var(--moss);border-color:var(--moss);background:var(--moss-mist)}

/* 导航右侧图标组 */
.nav-icons{flex:0 0 auto;display:flex;align-items:center;gap:4px}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
border:0;border-radius:0;color:#000;text-decoration:none;background:transparent;
-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;margin:0;
vertical-align:middle;transition:color .3s var(--ease),transform .22s ease;position:relative;cursor:pointer;flex:none}
.nav-icon::-moz-focus-inner{border:none;padding:0}
.nav-icon svg{flex:none;display:block;margin:auto}
.nav-icon:hover{color:#000;background:transparent;transform:scale(1.5)}
.nav-icon:focus,.nav-icon:focus-visible{outline:none}
.nav.scrolled .nav-icon{color:#000}
.nav.scrolled .nav-icon:hover{color:#000}


/* 下拉菜单 */
.dropdown-trigger{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:150px;
background:var(--cream);border:1px solid var(--line-d);border-radius:var(--r-s);
box-shadow:var(--sh-lift);opacity:0;pointer-events:none;transform:translateY(-6px);
transition:all .25s var(--ease);z-index:200;padding:6px 0;display:flex;flex-direction:column}
.dropdown-menu a{display:block;padding:10px 18px;font-size:11px;color:var(--ink-2);
text-decoration:none;letter-spacing:.04em;transition:background .2s,color .2s}
.dropdown-menu a:hover{color:var(--moss);background:var(--moss-mist)}
.dropdown-trigger:hover .dropdown-menu,
.dropdown-trigger:focus-within .dropdown-menu,
.dropdown-trigger[aria-expanded="true"] .dropdown-menu{
  opacity:1;pointer-events:auto;transform:translateY(0)}
.dropdown-trigger[aria-expanded="true"]{color:var(--moss);background:var(--moss-mist)}

/* ── Mega Menu 全宽大面板（华为式）── */
.has-mega{position:relative}
.has-mega::after{content:'';position:absolute;left:0;right:0;top:100%;height:46px;z-index:199}
.has-mega>a{cursor:pointer}
.mega-panel{position:fixed;top:90px;left:0;right:0;z-index:198;
  background:var(--paper);border-top:none;overflow-y:auto;max-height:calc(100vh - 90px);
  box-shadow:0 24px 64px rgba(30,24,16,.12);
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  pointer-events:none}
.mega-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
/* 华为式下拉：高度自适应内容，列标题 + 纯文字链接，行间距收紧 */
.mega-panel__inner{max-width:1240px;margin:0 auto;padding:40px 48px 44px}
.mega-panel__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.mega-col__title{font-size:16px;font-weight:700;color:#000;
  letter-spacing:.02em;margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid var(--line);display:block}
.mega-col__links{display:flex;flex-direction:column;gap:2px}
.mega-col__links a{display:block;padding:3px 0;font-size:15px;line-height:1.4;color:#333;
  text-decoration:none;letter-spacing:.02em;
  transition:color .2s}
.mega-col__links a:hover{color:var(--moss)}
.mega-col__links a.active{color:var(--moss);font-weight:600}
.mega-panel__close{position:absolute;top:20px;right:24px;width:36px;height:36px;
  border:none;background:transparent;font-size:22px;color:var(--ink-3);
  cursor:pointer;border-radius:50%;transition:all .2s;
  display:flex;align-items:center;justify-content:center;line-height:1}
.mega-panel__close:hover{background:var(--moss-mist);color:var(--moss)}

/* 品牌下拉：横向满屏 */
.has-mega[data-mega="brand"] .mega-panel__inner{max-width:100%;padding:44px max(40px,4vw) 48px}
.has-mega[data-mega="brand"] .mega-panel__grid--brand{grid-template-columns:repeat(4,1fr);gap:48px}
@media (max-width:960px){
  .has-mega[data-mega="brand"] .mega-panel__grid--brand{grid-template-columns:repeat(2,1fr);gap:32px}
}
.mega-col__links a .mega-col__sub{display:none}

/* 遮罩层 */
.mega-overlay{position:fixed;inset:0;top:0;z-index:197;
  background:rgba(30,24,16,.06);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s var(--ease),visibility .3s}
.mega-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}

/* 移动端隐藏 mega panel（保留折叠菜单） */

/* 移动端导航下拉（点按父项展开） */
.mm-group{display:flex;flex-direction:column;align-items:center}
.mm-parent{position:relative;padding-right:18px;display:inline-flex;align-items:center}
.mm-parent::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid var(--ink-3);transition:transform .25s var(--ease)}
.mm-group.open .mm-parent::after{transform:translateY(-50%) rotate(180deg)}
.mm-sub{max-height:0;overflow:hidden;opacity:0;
  transition:max-height .3s var(--ease),opacity .3s var(--ease);
  display:flex;flex-direction:column;align-items:center;gap:14px}
.mm-group.open .mm-sub{max-height:480px;opacity:1;margin:10px 0 4px}
.mm-sub a{font-family:var(--serif);font-size:20px;color:var(--ink-3);text-decoration:none;transition:color .2s}
.mm-sub a:hover{color:var(--moss)}

/* 购物车角标 */
.cart-icon{position:relative}
.cart-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;
background:var(--seal);color:#fff;font-size:10px;font-weight:600;
border-radius:8px;display:flex;align-items:center;justify-content:center;
padding:0 4px;line-height:1;transform:scale(0);transition:transform .3s var(--ease);
pointer-events:none}
.cart-badge.show{transform:scale(1)}

/* 门店信息面板 */
.dropdown-menu--store{right:-20px;min-width:300px;max-width:340px;padding:0}
.store-panel{padding:16px 18px 12px}
.store-panel__title{font-size:11px;font-weight:600;color:var(--ink-3);
letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;
padding-bottom:8px;border-bottom:1px solid var(--line-d)}
.store-panel__item{padding:10px 0;border-bottom:1px dashed var(--line-d)}
.store-panel__item:last-of-type{border-bottom:none}
.store-panel__item--coming{opacity:.7}
.store-panel__name{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:4px}
.coming-tag-sm{font-size:10px;font-weight:500;color:#fff;background:var(--clay);
padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}
.store-panel__addr{font-size:10.5px;color:var(--ink-3);line-height:1.5;margin-bottom:4px}
.store-panel__row{display:flex;gap:16px;font-size:9.5px;color:var(--ink-4);
margin-bottom:6px}
.store-panel__link{font-size:10px;color:var(--moss);text-decoration:none;
letter-spacing:.02em;transition:color .2s;display:inline-block}
.store-panel__link:hover{color:var(--moss-d);text-decoration:underline}
.store-panel__all{display:block;text-align:center;font-size:10.5px;font-weight:500;
color:var(--moss);text-decoration:none;padding:10px 0 2px;margin-top:4px;
border-top:1px solid var(--line-d);letter-spacing:.04em;transition:color .2s}
.store-panel__all:hover{color:var(--moss-d)}

/* 移动端菜单 */
.nav .menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav .menu-toggle span{width:22px;height:1.5px;background:var(--ink-2);transition:all .3s}
.nav .menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav .menu-toggle.open span:nth-child(2){opacity:0}
.nav .menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--cream);
display:flex;flex-direction:column;justify-content:center;align-items:center;
gap:32px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--serif);font-size:28px;color:var(--ink);
text-decoration:none;letter-spacing:.1em;transition:color .3s}
.mobile-menu a:hover{color:var(--moss)}

@media(max-width:768px){
  .nav{gap:12px;padding:16px 20px}
  .nav.scrolled{padding:12px 20px}
  .nav .links{display:none}
  .nav .staff-btn{display:none}
  .nav .menu-toggle{display:flex}
  /* 移动端图标组：缩小间距 */
  .nav-icons{gap:0;margin-left:8px}
  .nav-icon{width:36px;height:36px;padding:0}
  .nav-icon svg{width:20px;height:20px}
  /* 移动端隐藏 mega panel（保留折叠菜单） */
  .mega-panel,.mega-overlay{display:none!important}
  /* 移动端下拉菜单位置修正 */
  .dropdown-menu{right:-40px;min-width:140px}
}

/* ============================================================ Hero */
.hero{min-height:100vh;display:flex;flex-direction:column;
justify-content:center;align-items:center;position:relative;
background-color:var(--paper);
background-image:url('assets/hero-bg.png');
background-size:cover;background-position:center;background-repeat:no-repeat;
overflow:hidden}
.hero-inner{text-align:center;z-index:2;position:relative;padding:0 24px}
.hero h1{font-family:var(--serif);font-size:clamp(72px,14vw,160px);
font-weight:700;letter-spacing:.12em;color:var(--ink);
line-height:1;opacity:0;transform:translateY(30px);
animation:heroIn 1.2s var(--ease) .3s forwards}
.hero .en{font-family:var(--sans);font-size:clamp(14px,2.2vw,20px);
letter-spacing:.45em;color:var(--ink-3);margin-top:18px;
text-transform:uppercase;font-weight:300;
opacity:0;animation:heroIn 1s var(--ease) .7s forwards}
.hero .tag{font-family:var(--serif);font-size:clamp(16px,2.5vw,22px);
color:var(--moss);margin-top:40px;letter-spacing:.3em;
opacity:0;animation:heroIn 1s var(--ease) 1s forwards}
.hero .tag span{margin:0 12px;color:var(--ink-4);font-size:.7em;vertical-align:middle}
.hero .scroll{position:absolute;bottom:40px;left:50%;
transform:translateX(-50%);opacity:0;
animation:heroIn .8s var(--ease) 1.4s forwards,scrollHint 2s ease-in-out 2.2s infinite}
.hero .scroll svg{display:block;margin:0 auto}
.hero .scroll p{font-size:11px;color:var(--ink-4);letter-spacing:.2em;margin-top:8px;text-align:center}

/* 子页 Hero */
.page-hero{min-height:60vh;display:flex;flex-direction:column;
justify-content:center;align-items:center;position:relative;
background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);
overflow:hidden;padding-top:104px}
.page-hero h1{font-family:var(--serif);font-size:clamp(56px,10vw,120px);
font-weight:700;letter-spacing:.1em;color:var(--ink);
line-height:1;opacity:0;transform:translateY(30px);
animation:heroIn 1s var(--ease) .2s forwards}
.page-hero .en{font-family:var(--sans);font-size:clamp(13px,2vw,18px);
letter-spacing:.4em;color:var(--ink-3);margin-top:16px;
text-transform:uppercase;font-weight:300;
opacity:0;animation:heroIn .8s var(--ease) .5s forwards}
.page-hero .desc{font-size:15px;color:var(--ink-3);margin-top:24px;
max-width:560px;text-align:center;line-height:1.9;
opacity:0;animation:heroIn .8s var(--ease) .8s forwards}

/* 花瓣 */
.petals{position:absolute;inset:0;pointer-events:none;z-index:1}
.petal{position:absolute;width:10px;height:14px;
background:var(--moss-l);border-radius:50% 0 50% 0;
opacity:0;animation:petalFall linear infinite}
.petal:nth-child(1){left:10%;animation-duration:12s;animation-delay:0s}
.petal:nth-child(2){left:25%;animation-duration:16s;animation-delay:3s;background:var(--gold);width:8px;height:12px}
.petal:nth-child(3){left:45%;animation-duration:14s;animation-delay:6s;background:var(--moss)}
.petal:nth-child(4){left:65%;animation-duration:18s;animation-delay:2s;width:12px;height:16px}
.petal:nth-child(5){left:80%;animation-duration:13s;animation-delay:8s;background:var(--gold-l)}
.petal:nth-child(6){left:90%;animation-duration:15s;animation-delay:5s;width:9px;height:13px}
.petal:nth-child(7){left:55%;animation-duration:17s;animation-delay:10s;background:var(--gold)}

/* 装饰枝 */
.hero-branch{position:absolute;z-index:1;opacity:.12;pointer-events:none}
.hero-branch.left{left:-40px;top:15%;width:200px;height:400px}
.hero-branch.right{right:-40px;bottom:10%;width:200px;height:400px;transform:scaleX(-1)}

@keyframes heroIn{to{opacity:1;transform:translateY(0)}}
@keyframes scrollHint{0%,100%{transform:translateX(-50%) translateY(0)}
50%{transform:translateX(-50%) translateY(8px)}}
@keyframes petalFall{
0%{transform:translateY(-20px) rotate(0deg);opacity:0}
10%{opacity:.12}
90%{opacity:.1}
100%{transform:translateY(100vh) rotate(540deg);opacity:0}
}

/* ============================================================ 通用 Section */
section{position:relative;z-index:2;padding:120px 24px}
.container{max-width:1100px;margin:0 auto}
.container-narrow{max-width:760px;margin:0 auto}
.container-wide{max-width:1280px;margin:0 auto}

.section-title{font-family:var(--serif);font-size:clamp(56px,9vw,100px);
font-weight:700;color:var(--moss);letter-spacing:.05em;line-height:1;opacity:.9}
.section-sub{font-family:var(--sans);font-size:13px;color:var(--ink-4);
letter-spacing:.3em;text-transform:uppercase;margin-top:12px;font-weight:400}
.section-divider{width:48px;height:1px;background:var(--moss);
margin:32px 0;opacity:.3}
.section-intro{font-size:17px;line-height:2;color:var(--ink-3);
max-width:640px;margin-top:24px}

/* ============================================================ 哲学 */
.philosophy{background:var(--cream)}
.philosophy .layout{display:grid;grid-template-columns:1fr 1.6fr;
gap:60px;align-items:start;margin-top:48px}
.philosophy .glyphs{display:flex;flex-direction:column;gap:40px}
.philosophy .glyph{text-align:center}
.philosophy .glyph .ch{font-family:var(--serif);font-size:80px;
color:var(--moss);line-height:1;font-weight:700}
.philosophy .glyph .py{font-size:12px;color:var(--ink-4);
letter-spacing:.2em;margin-top:8px}
.philosophy .glyph .desc{font-size:14px;color:var(--ink-2);
margin-top:12px;line-height:1.7}
.philosophy .body{font-size:17px;line-height:2;color:var(--ink-2);letter-spacing:.02em}
.philosophy .body p{margin-bottom:24px}
.philosophy .body .lead{font-size:19px;color:var(--ink);font-weight:500;line-height:1.8}
.philosophy .body .quote{font-family:var(--serif);font-size:20px;
color:var(--moss);padding:24px 0 24px 28px;
border-left:2px solid var(--moss-mist);margin:32px 0;
line-height:1.8;letter-spacing:.05em}

@media(max-width:768px){
  .philosophy .layout{grid-template-columns:1fr;gap:32px}
  .philosophy .glyphs{flex-direction:row;justify-content:center;gap:60px}
  .philosophy .glyph .ch{font-size:60px}
}

/* ============================================================ 七大元素 */
.elements{background:var(--paper)}
.elem-grid{display:grid;grid-template-columns:repeat(4,1fr);
gap:20px;margin-top:56px}
.elem-card{text-align:center;padding:40px 20px;
background:var(--cream);border:1px solid var(--line);
border-radius:12px;transition:all .5s var(--ease)}
.elem-card:hover{box-shadow:0 1px 3px rgba(40,30,18,.05),0 12px 36px rgba(40,30,18,.12);
transform:translateY(-4px);border-color:var(--moss-mist)}
.elem-card .icon{width:48px;height:48px;margin:0 auto 16px;
color:var(--moss);opacity:.7;transition:all .5s var(--ease)}
.elem-card:hover .icon{opacity:1;transform:scale(1.1)}
.elem-card .icon svg{width:100%;height:100%;stroke:currentColor;fill:none;
stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.elem-card h4{font-family:var(--serif);font-size:18px;font-weight:700;
color:var(--ink);letter-spacing:.05em}
.elem-card p{font-size:12px;color:var(--ink-4);margin-top:6px;letter-spacing:.1em}
.elem-card:nth-child(7){grid-column:span 1}
.elem-card:nth-child(8){grid-column:span 1}
@media(max-width:768px){
  .elem-grid{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================ 业务卡片 */
.business{background:var(--paper)}
.biz-grid{display:grid;grid-template-columns:repeat(2,1fr);
gap:24px;margin-top:56px}
.biz-card{background:var(--cream);border:1px solid var(--line);
border-radius:16px;padding:40px 32px;transition:all .5s var(--ease);
position:relative;overflow:hidden}
.biz-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
background:var(--moss);transform:scaleX(0);transform-origin:left;
transition:transform .5s var(--ease)}
.biz-card:hover{box-shadow:0 1px 3px rgba(40,30,18,.05),0 12px 36px rgba(40,30,18,.12);
transform:translateY(-4px);border-color:var(--moss-mist)}
.biz-card:hover::before{transform:scaleX(1)}
.biz-card .icon{width:44px;height:44px;color:var(--moss);
margin-bottom:20px;opacity:.8;transition:all .5s var(--ease)}
.biz-card:hover .icon{opacity:1;transform:scale(1.08)}
.biz-card .icon svg{width:100%;height:100%;stroke:currentColor;fill:none;
stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.biz-card h3{font-family:var(--serif);font-size:22px;font-weight:700;
color:var(--ink);letter-spacing:.05em}
.biz-card .biz-tag{font-size:12px;color:var(--moss);letter-spacing:.15em;
margin-top:4px;margin-bottom:16px}
.biz-card p{font-size:14.5px;color:var(--ink-3);line-height:1.85}
.biz-card .biz-detail{margin-top:16px;padding-top:16px;
border-top:1px solid var(--line);font-size:13px;color:var(--ink-4);line-height:1.8}
@media(max-width:768px){
  .biz-grid{grid-template-columns:1fr;gap:16px}
  .biz-card{padding:32px 24px}
}

/* ============================================================ 东方美学 · 四美五感 */
.sense-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:56px}
.sense-card{text-align:center;padding:36px 18px;background:var(--paper);
border:1px solid var(--line);border-radius:14px;transition:all .5s var(--ease);
position:relative;overflow:hidden}
.sense-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
background:var(--gold);transform:scaleX(0);transform-origin:left;
transition:transform .5s var(--ease)}
.sense-card:hover{box-shadow:0 1px 3px rgba(40,30,18,.05),0 12px 36px rgba(40,30,18,.12);
transform:translateY(-4px);border-color:var(--moss-mist)}
.sense-card:hover::before{transform:scaleX(1)}
.sense-card .ch{font-family:var(--serif);font-size:30px;font-weight:700;
color:var(--ink);line-height:1}
.sense-card .en{font-size:11px;color:var(--ink-4);letter-spacing:.2em;margin-top:6px}
.sense-card .desc{margin-top:14px;font-size:13px;color:var(--ink-3);line-height:1.8}
@media(max-width:1024px){
  .sense-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .sense-strip{grid-template-columns:repeat(2,1fr);gap:12px}
  .sense-card{padding:28px 14px}
}

/* ============================================================ 造物网格 */
.creations{background:var(--cream)}
.creation-grid{display:grid;grid-template-columns:repeat(3,1fr);
gap:24px;margin-top:56px}
.creation-card{background:var(--paper);border:1px solid var(--line);
border-radius:16px;padding:36px 28px;transition:all .5s var(--ease);
position:relative;overflow:hidden}
.creation-card:hover{box-shadow:0 1px 3px rgba(40,30,18,.05),0 12px 36px rgba(40,30,18,.12);
transform:translateY(-4px)}
.creation-card .num{font-family:var(--serif);font-size:40px;
color:var(--moss-mist);font-weight:700;line-height:1;position:absolute;
top:20px;right:24px;transition:color .5s var(--ease)}
.creation-card:hover .num{color:var(--moss-l)}
.creation-card h4{font-family:var(--serif);font-size:20px;font-weight:700;
color:var(--ink);letter-spacing:.05em;margin-bottom:8px}
.creation-card .cat{font-size:12px;color:var(--gold);
letter-spacing:.15em;margin-bottom:16px}
.creation-card p{font-size:14px;color:var(--ink-3);line-height:1.85}
.creation-card .materials{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.creation-card .materials span{font-size:11px;color:var(--ink-4);
background:var(--warm);padding:3px 10px;border-radius:10px;letter-spacing:.05em}
@media(max-width:968px){
  .creation-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .creation-grid{grid-template-columns:1fr}
}

/* ============================================================ 荣誉 */
.honors{background:var(--paper)}
.honor-list{margin-top:56px;display:flex;flex-direction:column;gap:0}
.honor-item{display:flex;align-items:flex-start;gap:32px;
padding:32px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.honor-item:last-child{border-bottom:none}
.honor-item:hover{padding-left:16px}
.honor-item .year{font-family:var(--serif);font-size:32px;font-weight:700;
color:var(--moss);min-width:100px;line-height:1;letter-spacing:.02em}
.honor-item .content h4{font-family:var(--serif);font-size:20px;font-weight:700;
color:var(--ink);letter-spacing:.05em}
.honor-item .content .org{font-size:13px;color:var(--ink-4);
margin-top:4px;letter-spacing:.05em}
.honor-item .content p{font-size:14px;color:var(--ink-3);
margin-top:8px;line-height:1.8}
.honor-badge{display:inline-block;font-size:11px;color:var(--seal);
border:1px solid var(--seal);padding:2px 10px;border-radius:10px;
margin-left:12px;letter-spacing:.1em;vertical-align:middle}
@media(max-width:640px){
  .honor-item{flex-direction:column;gap:8px}
  .honor-item .year{font-size:24px}
}

/* ============================================================ 时间线 */
.timeline{margin-top:56px;position:relative;padding-left:40px}
.timeline::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;
width:1px;background:var(--line-d)}
.tl-item{position:relative;padding-bottom:40px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:'';position:absolute;left:-36px;top:6px;
width:13px;height:13px;border-radius:50%;background:var(--cream);
border:2px solid var(--moss);transition:all .4s var(--ease)}
.tl-item:hover::before{background:var(--moss);transform:scale(1.2)}
.tl-item .year{font-family:var(--serif);font-size:24px;font-weight:700;
color:var(--moss);letter-spacing:.05em}
.tl-item .title{font-size:16px;color:var(--ink);font-weight:500;margin-top:4px}
.tl-item .desc{font-size:14px;color:var(--ink-3);margin-top:8px;line-height:1.8}

/* ============================================================ 门店 */
.stores{background:var(--cream)}
.store-list{margin-top:48px;display:flex;flex-direction:column}
.store-item{display:flex;justify-content:space-between;align-items:center;
padding:28px 0;border-bottom:1px solid var(--line);
transition:padding .4s var(--ease)}
.store-item:last-child{border-bottom:none}
.store-item:hover{padding-left:16px}
.store-info .name{font-family:var(--serif);font-size:20px;font-weight:700;
color:var(--ink);letter-spacing:.05em}
.store-info .name .coming{font-size:12px;color:var(--gold);
background:var(--moss-mist);padding:2px 10px;border-radius:10px;
margin-left:12px;font-family:var(--sans);font-weight:400;letter-spacing:.1em}
.store-info .loc{font-size:14px;color:var(--ink-3);margin-top:6px;letter-spacing:.02em}
.store-info .desc{font-size:13px;color:var(--ink-4);margin-top:4px}
.store-item .arrow{font-size:20px;color:var(--ink-4);transition:all .4s var(--ease)}
.store-item:hover .arrow{color:var(--moss);transform:translateX(6px)}
@media(max-width:768px){
  .store-info .name{font-size:17px}
  .store-info .name .coming{font-size:10px}
  .store-info .loc{font-size:13px}
}

/* ============================================================ 展会 */
.expo{background:var(--paper)}
.expo-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.expo-card{background:var(--cream);border:1px solid var(--line);
border-radius:16px;padding:36px 28px;transition:all .5s var(--ease)}
.expo-card:hover{box-shadow:0 8px 32px rgba(40,30,18,.08);transform:translateY(-4px)}
.expo-card .expo-year{font-family:var(--serif);font-size:36px;font-weight:700;
color:var(--moss);line-height:1}
.expo-card .expo-name{font-family:var(--serif);font-size:17px;font-weight:700;
color:var(--ink);margin-top:12px;letter-spacing:.05em}
.expo-card .expo-loc{font-size:12px;color:var(--ink-4);margin-top:4px;letter-spacing:.1em}
.expo-card p{font-size:13.5px;color:var(--ink-3);margin-top:16px;line-height:1.85}
.expo-card .highlight{margin-top:12px;padding:10px 14px;background:var(--moss-mist);
border-radius:8px;font-size:12.5px;color:var(--moss-d);line-height:1.7}
@media(max-width:768px){.expo-grid{grid-template-columns:1fr}}

/* ============================================================ 团队 */
.team{background:var(--cream)}
.team-grid{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.team-card{background:var(--paper);border:1px solid var(--line);
border-radius:16px;padding:40px 32px;transition:all .5s var(--ease)}
.team-card:hover{box-shadow:0 8px 32px rgba(40,30,18,.06);transform:translateY(-2px)}
.team-card .role{font-size:12px;color:var(--moss);letter-spacing:.2em;
text-transform:uppercase;margin-bottom:12px}
.team-card h4{font-family:var(--serif);font-size:24px;font-weight:700;
color:var(--ink);letter-spacing:.05em}
.team-card .title{font-size:14px;color:var(--ink-3);margin-top:4px}
.team-card .bio{font-size:14.5px;color:var(--ink-2);margin-top:20px;line-height:1.9}
.team-card .skills{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.team-card .skills span{font-size:12px;color:var(--moss);
background:var(--moss-mist);padding:4px 12px;border-radius:10px;letter-spacing:.05em}
@media(max-width:640px){.team-grid{grid-template-columns:1fr}}

/* ============================================================ 数据统计 */
.stats{background:var(--paper);color:var(--ink);
padding:80px 24px;position:relative;z-index:2}
.stats-grid{max-width:1100px;margin:0 auto;
display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat-item{text-align:center}
.stat-item .num{font-family:var(--serif);font-size:clamp(36px,6vw,56px);
font-weight:700;color:#000;line-height:1}
.stat-item .label{font-size:13px;color:var(--ink-2);
margin-top:12px;letter-spacing:.15em}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:40px}}

/* ============================================================ CTA */
.cta{background:var(--paper);padding:100px 24px;text-align:center;position:relative;z-index:2}
.cta h2{font-family:var(--serif);font-size:clamp(32px,5vw,48px);
font-weight:700;color:var(--moss-d);letter-spacing:.05em;line-height:1.3}
.cta p{font-size:16px;color:var(--ink-3);margin-top:20px;line-height:1.9}
.cta-btn{display:inline-block;margin-top:36px;padding:14px 40px;
background:var(--moss);color:var(--cream);border-radius:30px;
font-size:15px;letter-spacing:.1em;text-decoration:none;
transition:all .4s var(--ease);border:none;cursor:pointer}
.cta-btn:hover{background:var(--moss-d);transform:translateY(-2px);
box-shadow:0 8px 24px rgba(40,30,18,.2)}

/* ============================================================ Footer */
footer{background:var(--paper);color:var(--ink);
padding:80px 24px 40px;position:relative;z-index:2;margin-top:auto}
.footer-inner{max-width:1100px;margin:0 auto;
display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:48px}
.footer-brand .seal{width:56px;height:56px;margin-bottom:20px}
.footer-brand .seal svg{width:100%;height:100%}
.footer-brand h4{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.1em;color:var(--ink)}
.footer-brand .en-name{font-size:12px;letter-spacing:.3em;
color:var(--ink-4);margin-top:4px}
.footer-brand .tagline{font-size:13px;color:var(--ink-3);
margin-top:12px;line-height:1.7}
.footer-col h5{font-size:12px;letter-spacing:.2em;
color:var(--ink-4);text-transform:uppercase;margin-bottom:16px}
.footer-col p{font-size:14px;color:var(--ink-3);line-height:2}
.footer-col a{color:var(--ink-3);transition:color .3s;display:block;text-decoration:none}
.footer-col a:hover{color:var(--moss)}
.footer-bottom{max-width:1100px;margin:48px auto 0;padding-top:24px;
border-top:1px solid var(--line-d);
display:flex;justify-content:space-between;align-items:center;
font-size:12px;color:var(--ink-4)}
.footer-bottom a{color:var(--ink-4);text-decoration:none}
.footer-bottom a:hover{color:var(--moss)}
@media(max-width:768px){
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:span 2}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
}

/* ============================================================ 回到顶部 */
.to-top{position:fixed;bottom:32px;right:32px;width:44px;height:44px;
background:var(--cream);border:1px solid var(--line);border-radius:50%;
display:flex;align-items:center;justify-content:center;cursor:pointer;
z-index:50;opacity:0;pointer-events:none;transition:all .4s var(--ease);
box-shadow:0 2px 12px rgba(0,0,0,.06)}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{background:var(--moss);border-color:var(--moss)}
.to-top:hover svg{stroke:var(--cream)}
.to-top svg{width:18px;height:18px;stroke:var(--moss);fill:none;
stroke-width:2;stroke-linecap:round;transition:stroke .3s}
@media(max-width:768px){
  .to-top{bottom:20px;right:20px;width:40px;height:40px}
}

/* 华为式「空气感」双层阴影（悬浮错觉）：近层模拟环境光，远层模拟主光源 */
.air-shadow{box-shadow:0 1px 3px rgba(40,30,18,.05),0 4px 24px rgba(40,30,18,.08)}

/* 通用卡片基类（可用于任意面板/卡片） */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);
padding:28px;box-shadow:0 1px 3px rgba(40,30,18,.05),0 4px 24px rgba(40,30,18,.08);
transition:transform .4s var(--ease),box-shadow .4s var(--ease)}

/* ============================================================ Scroll Reveal
   注：默认 .reveal 可见；当 JS 成功加载并给 <html> 加 .js 类后才初始隐藏，
   这样即使 main.js 加载失败/被禁用，内容也不会变成空白（SEO + 韧性）。 */
.js .reveal{opacity:0;transform:translateY(30px)}
.reveal{opacity:1;transform:translateY(0);
transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.d1{transition-delay:.1s}
.reveal.d2{transition-delay:.2s}
.reveal.d3{transition-delay:.3s}
.reveal.d4{transition-delay:.4s}

/* 正文排版密度（向华为 1.7 行高 + 0.02em 字距 靠拢） */
.prose p,.article-body p,.section-lead,.doc-body p{line-height:1.7;letter-spacing:.02em;margin:0 0 1.8rem}
.prose h2,.prose h3,.article-body h2,.article-body h3,.doc-body h2,.doc-body h3{
letter-spacing:.01em;margin:2.2rem 0 1rem}

/* ============================================================ 引导文字 */
.lead-text{font-size:18px;line-height:2.1;color:var(--ink-2);
letter-spacing:.02em;max-width:680px}
.lead-text p{margin-bottom:24px}
.lead-text .drop{font-family:var(--serif);font-size:56px;font-weight:700;
color:var(--moss);float:left;line-height:.9;margin:8px 12px 0 0}

/* ============================================================ 标签 */
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.tag-row span{font-size:12px;color:var(--moss);background:var(--moss-mist);
padding:4px 14px;border-radius:12px;letter-spacing:.05em}

/* ============================================================ 分隔图 */
.divider-branch{text-align:center;margin:60px 0;opacity:.15}
.divider-branch svg{width:120px;height:40px}

/* ============================================================ 子页面通用 */
.section{padding:120px 24px;position:relative;z-index:2}
.section-alt{background:var(--cream)}
.section-header{text-align:center;margin-bottom:64px}
.section-header .section-label{font-size:12px;color:var(--moss);
letter-spacing:.3em;text-transform:uppercase;margin-bottom:16px;font-weight:400}
.section-header h2{font-family:var(--serif);font-size:clamp(40px,7vw,72px);
font-weight:700;color:var(--ink);letter-spacing:.05em;line-height:1.1}
.section-header .section-lead{font-size:17px;color:var(--ink-3);
margin-top:16px;line-height:1.8}
.section-cta{background:var(--moss-mist);text-align:center}

/* page-hero 子页面变体 */
.hero-content{z-index:2;position:relative;text-align:center;padding:0 24px}
.hero-content .hero-label{font-size:12px;color:var(--moss);
letter-spacing:.4em;text-transform:uppercase;margin-bottom:20px;font-weight:400}
/* wecom 页 kicker（与 hero-label 同款） */
.hero-kicker{font-size:12px;color:var(--moss);
letter-spacing:.4em;text-transform:uppercase;margin-bottom:18px;font-weight:400}
.hero-content h1{font-family:var(--serif);font-size:clamp(48px,9vw,100px);
font-weight:700;letter-spacing:.1em;color:var(--ink);line-height:1.1;
opacity:0;transform:translateY(30px);
animation:heroIn 1s var(--ease) .2s forwards}
.hero-content .hero-sub{font-size:16px;color:var(--ink-3);
margin-top:24px;line-height:2;max-width:560px;margin-left:auto;margin-right:auto;
opacity:0;animation:heroIn .8s var(--ease) .6s forwards}
.scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
font-size:11px;color:var(--ink-4);letter-spacing:.2em;
opacity:0;animation:heroIn .8s var(--ease) 1s forwards,scrollHint 2s ease-in-out 1.8s infinite}

/* ============================================================ 内容布局 */
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.content-grid > div p{font-size:16px;line-height:2;color:var(--ink-2);margin-bottom:20px}
@media(max-width:768px){.content-grid{grid-template-columns:1fr;gap:32px}}

/* 数据行 */
.stat-row{display:flex;gap:32px;margin-bottom:24px}
.stat-block{text-align:center;flex:1}
.stat-block .stat-num{font-family:var(--serif);font-size:48px;font-weight:700;
color:var(--moss);line-height:1}
.stat-block .stat-label{font-size:13px;color:var(--ink-4);
margin-top:8px;letter-spacing:.1em}

/* 信息卡 */
.info-card{background:var(--cream);border:1px solid var(--line);
border-radius:12px;padding:28px 24px;transition:all .5s var(--ease)}
.info-card:hover{box-shadow:0 4px 20px rgba(40,30,18,.06)}
.info-card-title{font-family:var(--serif);font-size:16px;font-weight:700;
color:var(--moss);letter-spacing:.05em;margin-bottom:16px;
padding-bottom:12px;border-bottom:1px solid var(--line)}
.info-card-list{display:flex;flex-direction:column;gap:10px}
.info-card-list div{font-size:14px;color:var(--ink-3);line-height:1.7}
.info-card-link{display:inline-block;margin-top:16px;font-size:14px;
color:var(--moss);letter-spacing:.08em;font-weight:600;text-decoration:none;
transition:transform .3s var(--ease)}
.info-card-link:hover{transform:translateX(4px)}

/* 链接按钮 */
.btn-link{display:inline-block;font-size:15px;color:var(--moss);
letter-spacing:.1em;border:1px solid var(--moss);padding:12px 32px;
border-radius:30px;text-decoration:none;transition:all .4s var(--ease)}
.btn-link:hover{background:var(--moss);color:var(--cream);
transform:translateY(-2px);box-shadow:0 6px 20px rgba(40,30,18,.15)}

/* ============================================================ 流程图 */
.flow-diagram{display:flex;align-items:flex-start;justify-content:center;
gap:12px;flex-wrap:wrap}
.flow-item{text-align:center;flex:1;min-width:140px;max-width:200px;
padding:28px 16px;background:var(--cream);border:1px solid var(--line);
border-radius:12px;transition:all .5s var(--ease)}
.flow-item:hover{box-shadow:0 4px 20px rgba(40,30,18,.06);transform:translateY(-3px)}
.flow-num{font-family:var(--serif);font-size:28px;font-weight:700;
color:var(--moss-l);line-height:1;margin-bottom:12px}
.flow-title{font-family:var(--serif);font-size:16px;font-weight:700;
color:var(--ink);letter-spacing:.05em;margin-bottom:8px}
.flow-desc{font-size:13px;color:var(--ink-4);line-height:1.7}
.flow-arrow{font-size:24px;color:var(--ink-5);align-self:center;padding-top:20px}
@media(max-width:768px){
  .flow-diagram{flex-direction:column;align-items:center}
  .flow-arrow{transform:rotate(90deg);padding:8px 0}
  .flow-item{max-width:300px;width:100%}
}

/* ============================================================ 地图选店 */
.store-locator{display:grid;grid-template-columns:380px 1fr;min-height:560px;
background:var(--cream);border-radius:var(--r-l);overflow:hidden;
box-shadow:var(--sh-soft);margin:-40px auto 0;max-width:1200px;
position:relative;z-index:10}
.locator-panel{padding:32px 28px;background:#fff;display:flex;flex-direction:column;
gap:20px;border-right:1px solid var(--line-d)}
.locator-title{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);
margin:0;letter-spacing:.06em}
.locator-select{appearance:none;-webkit-appearance:none;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236f675c' fill='none' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
background-size:12px 8px;border:1px solid var(--line-d);border-radius:var(--r-s);
padding:12px 36px 12px 14px;font-size:14px;color:var(--ink-2);
font-family:var(--sans);cursor:pointer;transition:border-color .2s}
.locator-select:hover{border-color:var(--moss)}
.locator-select:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px var(--moss-mist)}

/* 门店信息卡片 */
.locator-card{flex:1;display:flex;flex-direction:column;gap:16px;
overflow-y:auto;padding-right:4px}
.locator-card::-webkit-scrollbar{width:4px}
.locator-card::-webkit-scrollbar-thumb{background:var(--line-d);border-radius:2px}
.lc-name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);
display:flex;align-items:center;gap:8px}
.lc-name .lc-tag{font-size:11px;font-weight:500;color:#fff;
background:var(--gold);padding:2px 8px;border-radius:10px;font-family:var(--sans);
letter-spacing:normal}
.lc-row{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;
color:var(--ink-2);line-height:1.7}
.lc-row svg{flex-shrink:0;margin-top:2px;color:var(--moss)}
.lc-row a{color:var(--moss);text-decoration:none;word-break:break-all}
.lc-row a:hover{text-decoration:underline}
.lc-actions{display:flex;gap:10px;margin-top:auto;padding-top:16px;
border-top:1px solid var(--line-d);flex-wrap:wrap}
.lc-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;
font-size:13px;font-family:var(--sans);border-radius:var(--r-s);
text-decoration:none;transition:all .25s var(--ease);cursor:pointer;
border:1px solid var(--line-d);color:var(--ink-2);background:#fff}
.lc-btn:hover{color:var(--moss);border-color:var(--moss);background:var(--moss-mist)}
.lc-btn.lc-btn-solid{background:var(--moss);color:#fff;border-color:var(--moss)}
.lc-btn.lc-btn-solid:hover{background:var(--moss-d);border-color:var(--moss-d);color:#fff}

/* 地图区域 */
.locator-map{position:relative;min-height:400px;background:#eaf0e2}
.locator-map iframe,.locator-map .tmap-container{
position:absolute;inset:0;width:100%;height:100%;border:none}
.map-placeholder{position:absolute;inset:0;display:flex;align-items:center;
justify-content:center;background:linear-gradient(135deg,#eaf0e2 0%,#dde8d0 100%)}
.map-loading{font-family:var(--serif);font-size:15px;color:var(--ink-4);
letter-spacing:.08em}

/* Leaflet 门店标记（侘寂风格） */
.store-pin .pin-dot{width:28px;height:38px;position:relative;display:flex;
  align-items:center;justify-content:center}
.store-pin .pin-dot::before{content:'';position:absolute;bottom:0;left:50%;
  transform:translateX(-50%);width:0;height:0;
  border-left:7px solid transparent;border-right:7px solid transparent;
  border-top:10px solid var(--moss)}
.store-pin .pin-dot::after{content:'';position:absolute;bottom:8px;left:50%;
  transform:translateX(-50%);width:22px;height:22px;border-radius:50%;
  background:var(--moss);border:2.5px solid var(--cream);box-shadow:0 2px 6px rgba(0,0,0,.2)}
.store-pin .pin-label{position:absolute;top:-4px;font-size:9px;font-weight:700;
  color:#fff;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.5);pointer-events:none}
/* 弹窗 */
.popup-store{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:#333}
.popup-store strong{font-size:15px;color:var(--moss-d);display:block;margin-bottom:4px}
.popup-store p{margin:3px 0;color:#555}
.popup-store .popup-desc{font-style:italic;color:#777;font-size:12.5px}
.popup-store .popup-links{margin-top:6px;padding-top:6px;border-top:1px dashed #ddd}
.popup-store .popup-links a{color:var(--moss);text-decoration:none;font-size:12px}
.popup-store .popup-links a:hover{text-decoration:underline}
/* 左侧信息卡片 */
.lc-name{font-size:17px;font-weight:700;color:var(--ink-1);font-family:var(--serif);
  margin-bottom:6px}
.lc-addr{font-size:13px;color:var(--ink-3);display:flex;align-items:flex-start;line-height:1.5;
  margin-bottom:6px}
.lc-meta{font-size:12.5px;color:var(--ink-4);margin-bottom:8px}
.lc-meta span{background:var(--moss-mist);padding:2px 8px;border-radius:999px;display:inline-block}
.lc-desc{font-size:13.5px;color:var(--ink-2);line-height:1.65;margin:0}
/* Leaflet 容器品牌适配 */
.leaflet-container{border-radius:0 12px 12px 0;font-family:var(--sans)}
@media(max-width:900px){
  .leaflet-container{border-radius:0 0 12px 12px}
}

@media(max-width:900px){
  .store-locator{grid-template-columns:1fr;min-height:auto;margin:-24px 16px 0}
  .locator-panel{border-right:none;border-bottom:1px solid var(--line-d);padding:24px 20px}
  .locator-map{min-height:360px}
}
@media(max-width:480px){
  .store-locator{margin:-16px 12px 0;border-radius:var(--r-m)}
  .locator-panel{padding:20px 16px;gap:14px}
  .locator-title{font-size:16px}
  .lc-actions{flex-direction:column}
  .lc-btn{justify-content:center}
  .locator-map{min-height:300px}
}
.store-block{display:grid;grid-template-columns:0.8fr 1.2fr;gap:60px;
align-items:center}
.store-block.reverse{grid-template-columns:1.2fr 0.8fr}
.store-block.reverse .store-visual{order:2}
.store-block.reverse .store-info{order:1}
.store-visual{position:relative}
.store-illust{border-radius:16px;overflow:hidden;background:var(--warm)}
.store-illust svg{width:100%;height:auto;display:block}
.store-badge{position:absolute;top:16px;left:16px;width:48px;height:48px;
background:var(--moss);color:var(--cream);border-radius:50%;
display:flex;align-items:center;justify-content:center;
font-family:var(--serif);font-size:18px;font-weight:700}
.store-info .section-label{font-size:12px;color:var(--moss);
letter-spacing:.3em;text-transform:uppercase;margin-bottom:12px}
.store-info h2{font-family:var(--serif);font-size:clamp(32px,5vw,48px);
font-weight:700;color:var(--ink);letter-spacing:.05em;line-height:1.1}
.store-info .coming-tag{display:inline-block;font-size:12px;color:var(--gold);
background:var(--moss-mist);padding:3px 12px;border-radius:10px;
margin-left:12px;font-family:var(--sans);font-weight:400;letter-spacing:.1em;
vertical-align:middle}
.store-meta{margin:24px 0 16px;display:flex;flex-direction:column;gap:8px}
.store-meta div{font-size:14px;color:var(--ink-3)}
.store-meta div strong{color:var(--ink);font-weight:500;
display:inline-block;width:60px;color:var(--moss)}
.store-map{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.map-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;
border-radius:999px;font-size:13px;letter-spacing:.08em;text-decoration:none;
border:1px solid var(--moss);color:var(--moss);background:transparent;
transition:all .35s var(--ease)}
.map-btn:hover{background:var(--moss-mist);transform:translateY(-1px)}
.map-btn-solid{background:var(--moss);color:var(--cream);
border-color:var(--moss);box-shadow:0 2px 10px rgba(40,30,18,.18)}
.map-btn-solid:hover{background:var(--moss-d);border-color:var(--moss-d);
box-shadow:0 4px 14px rgba(40,30,18,.25)}
.map-btn svg{width:14px;height:14px;flex-shrink:0}
.store-info p{font-size:15.5px;line-height:2;color:var(--ink-2);margin-bottom:16px}
/* ---- 门店照片轮播 + 灯箱（2026-08-21 恢复轮播可放大） ---- */
.store-photos{position:relative;margin-top:40px;border-radius:16px;
overflow:hidden;background:var(--warm);box-shadow:0 2px 12px rgba(60,50,40,.06)}
.sc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
scrollbar-width:none;-ms-overflow-style:none}
.sc-track::-webkit-scrollbar{display:none}
.store-photo{flex:0 0 100%;scroll-snap-align:center;margin:0;
aspect-ratio:4/3;overflow:hidden;background:var(--warm)}
.store-photo img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .5s var(--ease);cursor:zoom-in}
.store-photo:hover img{transform:scale(1.02)}
.sc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);
background:rgba(15,20,10,.35);color:#fff;font-size:26px;display:flex;
align-items:center;justify-content:center;cursor:pointer;line-height:1;
transition:all .3s var(--ease);backdrop-filter:blur(4px);
-webkit-backdrop-filter:blur(4px)}
.sc-arrow:hover{background:rgba(15,20,10,.6)}
.sc-arrow:disabled{opacity:0;cursor:default;pointer-events:none}
.sc-prev{left:14px}.sc-next{right:14px}
.sc-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
z-index:3;display:flex;gap:8px;padding:6px 14px;border-radius:999px;
background:rgba(15,20,10,.32)}
.sc-dot{width:8px;height:8px;border-radius:999px;border:none;padding:0;
background:rgba(255,255,255,.5);cursor:pointer;
transition:all .3s var(--ease)}
.sc-dot.on{background:#fff;width:22px}

/* ---- 灯箱 ---- */
.lb{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;
justify-content:center;background:rgba(10,9,7,.85);backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);transition:opacity .35s var(--ease),visibility .35s}
.lb[hidden]{display:none}
.lb-overlay{position:absolute;inset:0}
.lb-img{position:relative;z-index:2;max-width:90vw;max-height:85vh;
object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.45);
transition:opacity .2s}
.lb-close{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;
border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.35);
color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;
cursor:pointer;transition:all .3s var(--ease);line-height:1}
.lb-close:hover{background:rgba(200,60,50,.85);border-color:transparent}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
background:rgba(0,0,0,.3);color:#fff;font-size:28px;display:flex;
align-items:center;justify-content:center;cursor:pointer;
transition:all .3s var(--ease);line-height:1}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4)}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-prev:disabled,.lb-next:disabled{opacity:.15;cursor:not-allowed}
.lb-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
z-index:3;font-size:13px;color:rgba(255,255,255,.65);letter-spacing:.08em;
font-family:var(--sans);padding:6px 16px;border-radius:20px;
background:rgba(0,0,0,.3)}

@media(max-width:768px){
  .sc-arrow{width:38px;height:38px;font-size:21px}
  .sc-prev{left:8px}.sc-next{right:8px}
  .lb-img{max-width:95vw;max-height:80vh}
  .lb-prev,.lb-next{width:44px;height:44px;font-size:24px}
}

@media(max-width:768px){
  .store-block,.store-block.reverse{grid-template-columns:1fr;gap:32px}
  .store-block.reverse .store-visual{order:0}
  .store-block.reverse .store-info{order:1}
}

/* ============================================================ 子页 Footer 修正 */
.footer{background:var(--moss-d);color:var(--cream);
padding:80px 24px 40px;position:relative;z-index:2}
.footer .footer-col h4{font-family:var(--serif);font-size:20px;font-weight:700;
letter-spacing:.1em;color:var(--cream)}
.footer .footer-col .en-name{font-size:12px;letter-spacing:.3em;
color:rgba(255,255,255,.5);margin-top:4px}
.footer .footer-col .tagline{font-size:13px;color:rgba(255,255,255,.6);
margin-top:12px;line-height:1.7}

/* ============================================================
   响应式适配 — 多端全覆盖
   断点：1024px(平板) / 768px(手机) / 375px(小屏) / 横屏 / 大屏 / 打印
   ============================================================ */

/* === 平板 (769px-1024px) === */
@media(max-width:1024px){
  section,.section{padding:80px 24px}
  .container,.container-wide{max-width:900px}
  .nav{padding:18px 32px}
  .nav.scrolled{padding:12px 32px}
  .nav .links{gap:24px}
  .nav .links > a, .has-mega > a, .nav-a11y-trigger{font-size:13px}
  .philosophy .layout{grid-template-columns:1fr;gap:40px}
  .philosophy .glyphs{flex-direction:row;justify-content:center;gap:48px}
  .creation-grid{grid-template-columns:repeat(2,1fr)}
  .biz-grid{grid-template-columns:repeat(2,1fr)}
  .expo-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(4,1fr);gap:20px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:span 2}
  .store-block,.store-block.reverse{grid-template-columns:1fr;gap:32px}
  .store-block.reverse .store-visual{order:0}
  .store-block.reverse .store-info{order:1}
  .content-grid{grid-template-columns:1fr;gap:32px}
}

/* === 手机 (≤768px) === */
@media(max-width:768px){
  /* 导航 */
  .nav{padding:14px 20px}
  .nav.scrolled{padding:10px 20px}
  .nav .brand .nav-logo-img{height:30px!important;max-height:30px;max-width:180px}
  .nav .links{display:none}
  .nav .staff-btn{display:none}
  .nav .menu-toggle{display:flex;width:44px;height:44px;align-items:center;justify-content:center}

  /* 移动端菜单 */
  .mobile-menu a{font-size:24px}

  /* Section 间距 */
  section,.section{padding:64px 20px}
  .stats{padding:56px 20px}
  .cta{padding:64px 20px}
  footer,.footer{padding:56px 20px 32px}

  /* Container */
  .container,.container-narrow,.container-wide{padding:0 4px}

  /* Hero */
  .hero{min-height:90vh}
  .hero-inner{padding:0 20px}
  .hero h1{font-size:clamp(56px,18vw,96px)}
  .hero .tag{margin-top:28px;font-size:clamp(14px,3.5vw,18px)}
  .hero .scroll{bottom:24px}

  /* 子页 Hero */
  .page-hero{min-height:50vh;padding-top:70px}
  .hero-content h1{font-size:clamp(40px,12vw,72px)}
  .hero-content .hero-sub{font-size:14px;padding:0 16px}

  /* 装饰枝移动端隐藏 */
  .hero-branch{display:none}

  /* 哲学 */
  .philosophy .layout{gap:32px}
  .philosophy .glyphs{gap:40px}
  .philosophy .glyph .ch{font-size:56px}
  .philosophy .body{font-size:15px}
  .philosophy .body .lead{font-size:17px}
  .philosophy .body .quote{font-size:17px;padding:20px 0 20px 20px}

  /* 七大元素 */
  .elem-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .elem-card{padding:28px 16px}
  .elem-card .icon{width:40px;height:40px}
  .elem-card h4{font-size:16px}

  /* 造物网格 */
  .creation-grid{grid-template-columns:1fr;gap:16px}
  .creation-card{padding:28px 24px}
  .creation-card .num{font-size:32px}
  .creation-card h4{font-size:18px}

  /* 业务卡片 */
  .biz-grid{grid-template-columns:1fr;gap:16px}
  .biz-card{padding:28px 24px}
  .biz-card h3{font-size:20px}
  .biz-card .biz-detail{font-size:12px}

  /* 数据统计 */
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .stat-item .num{font-size:clamp(32px,8vw,44px)}
  .stat-item .label{font-size:12px}

  /* 门店列表 */
  .store-list{margin-top:32px}
  .store-item{padding:20px 0;flex-direction:column;align-items:flex-start;gap:4px}
  .store-item .arrow{display:none}
  .store-info .name{font-size:17px}

  /* 展会 */
  .expo-grid{grid-template-columns:1fr;gap:16px}
  .expo-card{padding:28px 24px}

  /* 团队 */
  .team-grid{grid-template-columns:1fr;gap:20px}
  .team-card{padding:28px 24px}

  /* 荣誉 */
  .honor-item{flex-direction:column;gap:8px;padding:24px 0}
  .honor-item .year{font-size:24px}
  .honor-item .content h4{font-size:18px}

  /* 时间线 */
  .timeline{padding-left:28px}
  .tl-item::before{left:-24px;width:11px;height:11px}
  .tl-item .year{font-size:20px}

  /* CTA */
  .cta h2{font-size:clamp(26px,6vw,36px)}
  .cta p{font-size:14px}
  .cta-btn{padding:12px 32px;font-size:14px;min-height:44px;display:inline-flex;align-items:center}

  /* Footer */
  .footer-inner{grid-template-columns:1fr;gap:28px;text-align:left}
  .footer-brand{grid-column:span 1}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center;font-size:11px}

  /* 回到顶部 */
  .to-top{bottom:16px;right:16px;width:40px;height:40px}

  /* 子页面通用 */
  .section-header{margin-bottom:40px}
  .section-header h2{font-size:clamp(32px,8vw,52px)}
  .section-header .section-lead{font-size:15px}

  /* 内容布局 */
  .content-grid{gap:28px}

  /* 流程图 */
  .flow-diagram{flex-direction:column;align-items:center}
  .flow-arrow{transform:rotate(90deg);padding:6px 0}
  .flow-item{max-width:280px;width:100%;padding:20px 16px}

  /* 门店详情 */
  .store-block,.store-block.reverse{grid-template-columns:1fr;gap:28px}
  .store-info h2{font-size:clamp(28px,7vw,40px)}
  .store-meta div{font-size:13px}

  /* 链接按钮 */
  .btn-link{padding:10px 28px;font-size:14px;min-height:44px;display:inline-flex;align-items:center}

  /* 引导文字 */
  .lead-text{font-size:15px}
  .lead-text .drop{font-size:44px}

  /* 信息卡 */
  .info-card{padding:20px 18px}

  /* 数据行 */
  .stat-row{gap:20px}
  .stat-block .stat-num{font-size:36px}

  /* 标签 */
  .tag-row span{font-size:11px;padding:3px 10px}

  /* 分隔图 */
  .divider-branch{margin:40px 0}
}

/* === 小屏手机 (≤375px) === */
@media(max-width:375px){
  section,.section{padding:48px 16px}
  .hero h1{font-size:52px}
  .hero .tag{font-size:13px;letter-spacing:.2em}
  .elem-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr;gap:24px}
  .creation-card{padding:24px 20px}
  .biz-card{padding:24px 20px}
  .mobile-menu a{font-size:22px}
  .nav .brand .nav-logo-img{height:28px!important;max-height:28px;max-width:160px}
  .footer-inner{padding:0}
}

/* === 安全区适配 (iPhone刘海/底部横条) === */
@supports(padding:max(0px,env(safe-area-inset-top))){
  .nav{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .nav.scrolled{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .hero .scroll{bottom:max(24px,env(safe-area-inset-bottom))}
  .to-top{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}
  footer,.footer{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(32px,env(safe-area-inset-bottom))}
  .mobile-menu{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
}

/* === 横屏手机 === */
@media(max-height:480px) and (orientation:landscape){
  .hero{min-height:100vh}
  .hero h1{font-size:clamp(48px,10vw,72px)}
  .mobile-menu{justify-content:flex-start;padding-top:60px}
}

/* === 大屏优化 (>1280px) === */
@media(min-width:1281px){
  .container{max-width:1200px}
  .container-wide{max-width:1400px}
  section,.section{padding:140px 32px}
}

/* === 打印 === */
@media print{
  .nav,.to-top,.menu-toggle,.mobile-menu,.petals,.hero-branch,
  .topbar,.scroll-hint,.site-search,.a11y-toolbar,.cn-fab,.cn-panel,
  .reading-progress,.skip-link,footer,.footer{display:none!important}
  section{padding:24px 0}
  body{background:#fff;color:#000}
}

/* 移动端点按高亮（去除默认灰闪，常规实用细节） */
a,button,[role="button"],input,select,textarea{-webkit-tap-highlight-color:transparent}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal,.js .reveal{opacity:1;transform:none}
}

/* ============================================================ 键盘焦点环（无障碍） */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,.menu-toggle:focus-visible{
  outline:2px solid var(--moss);outline-offset:3px;border-radius:4px}

/* ============================================================ 跳转主内容链接 */
.skip-link{position:absolute;top:-120%;left:20px;z-index:200;
background:var(--moss);color:var(--cream);padding:10px 20px;border-radius:8px;
font-size:14px;letter-spacing:.05em;text-decoration:none;transition:top .25s var(--ease)}
.skip-link:focus{top:16px}

/* ============================================================ 产品目录 */
.prod-page{background:var(--paper)}
.prod-stats{display:flex;gap:48px;justify-content:center;flex-wrap:wrap;
margin-top:48px;padding:32px;background:var(--cream);border-radius:16px}
.prod-stat{text-align:center}
.prod-stat .num{font-family:var(--serif);font-size:42px;color:var(--moss);
font-weight:700;line-height:1}
.prod-stat .lbl{font-size:12px;color:var(--ink-4);letter-spacing:.15em;margin-top:8px}
.prod-manufacturer{display:flex;gap:40px;align-items:center;
margin-top:48px;padding:40px;background:var(--cream);border-radius:16px;flex-wrap:wrap}
.prod-manufacturer .qr{width:120px;height:120px;border-radius:12px;
border:1px solid var(--line);overflow:hidden;flex-shrink:0}
.prod-manufacturer .qr img{width:100%;height:100%;object-fit:contain;background:#fff}
.prod-manufacturer .info h3{font-family:var(--serif);font-size:20px;
color:var(--ink);margin-bottom:12px}
.prod-manufacturer .info p{font-size:13px;color:var(--ink-3);line-height:1.8}
.prod-manufacturer .info p span{color:var(--ink-4);margin-right:8px}
.prod-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;
padding:24px 0;position:sticky;top:70px;z-index:50;
background:rgba(244,243,238,.95);backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.prod-search{flex:1;min-width:200px;padding:10px 20px;border:1px solid var(--line-d);
border-radius:24px;font-size:14px;background:var(--cream);color:var(--ink);
outline:none;transition:border-color .3s;font-family:var(--sans)}
.prod-search:focus{border-color:var(--moss)}
.prod-cats{display:flex;gap:8px;flex-wrap:wrap}
.prod-cat{padding:6px 16px;border:1px solid var(--line-d);border-radius:20px;
font-size:13px;color:var(--ink-3);cursor:pointer;transition:all .3s;
background:transparent;white-space:nowrap;font-family:var(--sans)}
.prod-cat:hover{color:var(--moss);border-color:var(--moss)}
.prod-cat.active{background:var(--moss);color:#fff;border-color:var(--moss)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
gap:24px;padding:32px 0}
.prod-card{background:var(--cream);border-radius:12px;overflow:hidden;
cursor:pointer;transition:all .4s var(--ease);border:1px solid transparent}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08);
border-color:var(--line)}
.prod-card .img-wrap{aspect-ratio:1;background:var(--warm);position:relative;overflow:hidden}
.prod-card .img-wrap img{width:100%;height:100%;object-fit:cover;
transition:transform .6s var(--ease)}
.prod-card:hover .img-wrap img{transform:scale(1.05)}
.prod-card .no-img{display:flex;align-items:center;justify-content:center;
height:100%;background:linear-gradient(135deg,#f3efe7 0%,#e9e3d8 100%)}
.prod-card .no-img .ph-leaf{width:48px;height:48px;opacity:.65}
.prod-modal .detail-img .no-img{min-height:320px;border-radius:14px}
.prod-card .badge{position:absolute;top:8px;right:8px;padding:3px 8px;
border-radius:4px;font-size:10px;letter-spacing:.1em;font-weight:600}
.prod-card .badge.gs1{background:var(--moss);color:#fff}
.prod-card .body{padding:16px}
.prod-card .name{font-size:14px;color:var(--ink);line-height:1.5;
font-weight:500;display:-webkit-box;-webkit-line-clamp:2;
-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.prod-card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.prod-card .price{font-family:var(--serif);font-size:16px;color:var(--seal);font-weight:600}
.prod-card .price small{font-size:11px;color:var(--ink-4);font-weight:400}
.prod-card .cat-tag{font-size:11px;color:var(--ink-4);letter-spacing:.05em}
.prod-card .barcode{font-size:10px;color:var(--ink-5);font-family:monospace;margin-top:4px}
.prod-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:32px 0;flex-wrap:wrap}
.prod-pagination .pag-info{font-size:13px;color:var(--ink-4);margin-right:8px}
.prod-pagination .pag-num{width:36px;height:36px;border:1px solid var(--line-d);border-radius:8px;background:var(--cream);color:var(--ink);cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.prod-pagination .pag-num:hover{border-color:var(--moss);color:var(--moss)}
.prod-pagination .pag-num.active{background:var(--moss);color:#fff;border-color:var(--moss)}
.prod-pagination .pag-btn{height:36px;padding:0 14px;border:1px solid var(--line-d);border-radius:8px;background:var(--cream);color:var(--ink);cursor:pointer;font-size:13px;transition:all .15s}
.prod-pagination .pag-btn:hover{border-color:var(--moss);color:var(--moss)}
.prod-modal{position:fixed;inset:0;z-index:200;display:none;
align-items:center;justify-content:center;padding:24px}
.prod-modal.open{display:flex}
.prod-modal .overlay{position:absolute;inset:0;background:rgba(26,26,26,.6);
backdrop-filter:blur(4px)}
.prod-modal .panel{position:relative;z-index:2;background:var(--cream);
border-radius:20px;max-width:720px;width:100%;max-height:85vh;overflow-y:auto;padding:0}
.prod-modal .close{position:absolute;top:16px;right:16px;z-index:3;
width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.9);
font-size:18px;cursor:pointer;color:var(--ink-3);display:flex;
align-items:center;justify-content:center;transition:all .3s}
.prod-modal .close:hover{background:var(--ink);color:#fff}
.prod-modal .detail{display:grid;grid-template-columns:1fr 1fr;gap:0}
.prod-modal .detail-img{background:var(--warm);aspect-ratio:1;display:flex;
align-items:center;justify-content:center;overflow:hidden}
.prod-modal .detail-img img{width:100%;height:100%;object-fit:contain}
.prod-modal .detail-img .no-img{font-family:var(--serif);font-size:48px;color:var(--ink-5)}
.prod-modal .detail-info{padding:40px 32px}
.prod-modal .detail-info h2{font-family:var(--serif);font-size:24px;
color:var(--ink);line-height:1.4;margin-bottom:16px}
.prod-modal .detail-info .cat{font-size:12px;color:var(--moss);
letter-spacing:.15em;margin-bottom:20px}
.prod-modal .detail-info .price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:24px}
.prod-modal .detail-info .price-row .price{font-family:var(--serif);
font-size:32px;color:var(--seal);font-weight:700}
.prod-modal .detail-info .spec-box{padding:16px;background:var(--paper);
border-radius:8px;margin-bottom:16px}
.prod-modal .detail-info .spec-box p{font-size:13px;color:var(--ink-2);line-height:1.8}
.prod-modal .detail-info .spec-box p span{color:var(--ink-4);margin-right:8px}
.prod-modal .detail-info .qr-box{display:flex;gap:16px;align-items:center;
margin-top:20px;padding:16px;background:var(--paper);border-radius:8px}
.prod-modal .detail-info .qr-box img{width:80px;height:80px;background:#fff;border-radius:4px}
.prod-modal .detail-info .qr-box p{font-size:12px;color:var(--ink-3);line-height:1.6}
.prod-modal .detail-info .qr-box p strong{color:var(--ink);display:block;margin-bottom:4px}
@media(max-width:768px){
  .prod-stats{gap:24px;padding:20px}
  .prod-stat .num{font-size:32px}
  .prod-manufacturer{flex-direction:column;text-align:center;padding:24px}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .prod-card .body{padding:10px}
  .prod-card .name{font-size:12px;min-height:36px}
  .prod-card .price{font-size:14px}
  .prod-modal .detail{grid-template-columns:1fr}
  .prod-modal .detail-info{padding:24px 20px}
  .prod-toolbar{top:56px}
  .prod-search{min-width:140px}
}

/* ============================================================ 企微咨询页 */
.wecom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;
max-width:920px;margin:0 auto 72px;align-items:stretch}
.wecom-card{background:var(--cream);border:1px solid var(--line);
border-radius:16px;padding:32px 28px;position:relative;
transition:all .5s var(--ease);text-align:center;
display:flex;flex-direction:column;align-items:center;min-height:0}
.wecom-card:hover{box-shadow:0 12px 40px rgba(40,30,18,.08);
transform:translateY(-4px);border-color:var(--line-d)}
.wecom-card__body{flex:1 1 auto;display:flex;flex-direction:column;
align-items:center;width:100%;min-height:0}
.wecom-badge{display:inline-block;font-size:12px;letter-spacing:.15em;
color:var(--moss);background:var(--moss-mist);padding:5px 16px;
border-radius:20px;margin-bottom:16px}
.wecom-card h3{font-family:var(--serif);font-size:22px;font-weight:700;
color:var(--ink);letter-spacing:.08em;margin-bottom:12px}
.wecom-desc{font-size:14px;color:var(--ink-3);line-height:1.8;margin-bottom:24px;max-width:360px}
.qr-wrap{background:#fff;border:1px solid var(--line);
border-radius:12px;padding:16px;margin:0 auto 16px;width:220px;height:260px;
display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;gap:8px}
.wecom-card .qr-img{max-width:188px;max-height:188px;width:auto;height:auto;
display:block;border-radius:8px;image-rendering:auto;object-fit:contain}
.qr-tip{font-size:12px;color:var(--ink-4);line-height:1.7;margin-top:12px;letter-spacing:.05em}
.qr-remote{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.qr-remote .qr-img{background:#fff}
.qr-remote.fallback .qr-img{display:none}
.qr-remote.fallback::before{content:'二维码加载中…';display:flex;align-items:center;
justify-content:center;width:100%;height:100%;font-size:13px;color:var(--ink-4)}
.wecom-btn{display:inline-block;font-size:15px;letter-spacing:.1em;
color:var(--moss);border:1px solid var(--moss);padding:12px 36px;
border-radius:30px;text-decoration:none;transition:all .4s var(--ease);margin-top:auto}
.wecom-btn:hover{background:var(--moss);color:var(--cream);
transform:translateY(-2px);box-shadow:0 6px 20px rgba(40,30,18,.15)}
.wecom-btn.primary{background:var(--moss);color:var(--cream)}
.wecom-btn.primary:hover{background:var(--moss-d)}
.wecom-staff{max-width:640px;margin:0 auto 40px;text-align:center;
background:var(--moss-mist);border-radius:16px;padding:36px 28px}
.wecom-staff p{font-size:15px;color:var(--ink-2);line-height:1.9;margin-bottom:20px}
.wecom-staff .cta-btn{margin-top:0}
.wecom-back{text-align:center}
.wecom-back a{font-size:14px;color:var(--ink-3);letter-spacing:.08em;
text-decoration:none;transition:color .3s}
.wecom-back a:hover{color:var(--moss)}
.mobile-only{display:none}
@media(max-width:768px){
  .mobile-only{display:inline}
  .wecom-grid{grid-template-columns:1fr;gap:24px}
  .wecom-card{padding:28px 20px}
  .qr-wrap{width:200px;height:236px;padding:14px}
  .wecom-card .qr-img{max-width:160px;max-height:160px}
}

/* ============================================================ 应用场景系列 */
.prod-scenarios{background:var(--cream);border-radius:16px;padding:28px 32px;margin:32px 0 8px}
.sc-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.sc-head h3{font-family:var(--serif);font-size:19px;color:var(--ink);margin:0}
.sc-head .sc-sub{font-size:12px;color:var(--ink-4);letter-spacing:.05em}
.sc-tags{display:flex;gap:8px;flex-wrap:wrap}
.sc-tag{padding:8px 18px;border:1px solid var(--line-d);border-radius:20px;
font-size:13px;color:var(--ink-2);cursor:pointer;transition:all .3s;
background:transparent;white-space:nowrap;font-family:var(--sans)}
.sc-tag:hover{color:var(--moss);border-color:var(--moss);transform:translateY(-1px)}
.sc-tag.active{background:var(--moss);color:#fff;border-color:var(--moss);
box-shadow:0 4px 12px rgba(40,30,18,.25)}
.sc-tag.sc-na{opacity:.55;cursor:default}
.sc-tag.sc-na:hover{color:var(--ink-4);border-color:var(--line-d);transform:none}
.sc-elements{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;
padding-top:18px;border-top:1px dashed var(--line)}
.sc-elements .el-lbl{font-size:12px;color:var(--ink-4);letter-spacing:.1em;
align-self:center;margin-right:4px;white-space:nowrap}
.el-chip{padding:5px 14px;border-radius:20px;font-size:12px;color:var(--seal);
background:rgba(122,88,60,.08);border:1px solid rgba(122,88,60,.18);
white-space:nowrap;cursor:help}
.el-chip:hover{background:rgba(122,88,60,.14)}
.sc-crafts{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}
.cr-box{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}
.cr-chip{padding:4px 12px;border-radius:16px;font-size:11px;color:var(--moss);
background:rgba(40,30,18,.08);border:1px solid rgba(40,30,18,.2);white-space:nowrap}
@media(max-width:768px){
  .prod-scenarios{padding:20px}
  .sc-tag{font-size:12px;padding:6px 12px}
}

/* ============================================================
   响应式加固层（2026-08-16）
   全站通用修复：图片流体、触摸目标、文字溢出、窄屏适配
   ============================================================ */

/* 图片永远不溢出容器 */
img{max-width:100%;height:auto}
.nav-logo-img{height:36px!important;max-height:36px;width:auto!important;max-width:200px}

/* 触摸目标最小 44×44（WCAG 2.5.8） */
a,button,[role="button"],.map-btn,.btn-link,.cta-btn,.wecom-btn,
.thumb,.showcase-prev,.showcase-next,.lb-close,.lb-prev,.lb-next,
.prod-cat,.sc-tag{min-height:44px;min-width:44px;display:inline-flex;
align-items:center;justify-content:center}
/* 文字链接/标签例外：保持自然尺寸 */
a:not(.map-btn):not(.btn-link):not(.cta-btn):not(.wecom-btn):not(.thumb),
.prod-cat,.sc-tag{min-height:auto;min-width:auto;display:inline}

/* 长文字换行 */
h1,h2,h3,.store-info h2,.section-title{overflow-wrap:break-word;word-break:break-word}
.store-info p,.philosophy .body p,.biz-card p{overflow-wrap:break-word}

/* about 页公司信息标签窄屏收窄 */
@media(max-width:480px){
  .info-card-list strong[style*="width:80px"]{width:60px!important}
}

/* QR 码响应式 */
.qr-img{max-width:200px;width:100%;height:auto}
@media(max-width:420px){.qr-img{max-width:160px}}

/* 导航品牌小屏截断 */
@media(max-width:400px){
  .nav .brand .nav-logo-img{height:24px!important;max-height:24px;max-width:140px}
}

/* footer 多列防溢 */
.footer-col a{word-break:break-all}

/* 产品卡片名称高度一致 */
.prod-card .name{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;
overflow:hidden}

/* ── 双语辅助文字 (Bilingual) ── */
.bi{font-family:var(--sans);font-weight:400;color:var(--ink-4);
letter-spacing:.14em;text-transform:uppercase;line-height:1}
/* 导航：中文 + 英文小字竖排 */
.nav .links a{display:flex;flex-direction:column;align-items:center;
justify-content:center;gap:1px;line-height:1.1}
.nav .links a .bi{font-size:10px;margin-top:1px}
/* 移动菜单 */
.mobile-menu a{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.mobile-menu a .bi{font-size:11px}
/* 标题内英文 */
h2 .bi,h3 .bi,h4 .bi{display:block;font-size:.36em;margin-top:.35em;
letter-spacing:.14em;color:var(--ink-4);font-weight:400}
h4 .bi{font-size:11px}
/* 按钮/链接内英文 */
.cta-btn .bi{font-size:.72em;margin-left:.5em;letter-spacing:.08em}
/* 门店面板 */
.store-panel__name .bi{font-size:11px;font-weight:400;color:var(--ink-3);
margin-left:6px;letter-spacing:.06em;text-transform:none}
.store-panel__addr .bi{display:block;font-size:11px;margin-top:2px;
letter-spacing:.02em;text-transform:none}
.store-panel__row .bi{font-size:9.5px;margin-left:4px;text-transform:none}
.store-panel__link .bi,.store-panel__all .bi{font-size:10px;margin-left:4px}
/* footer */
.footer-col a .bi{display:block;font-size:10px;color:rgba(255,255,255,.45);
margin-top:1px;letter-spacing:.06em}
.footer-col h5 .bi{font-size:10px;margin-left:6px;color:rgba(255,255,255,.4)}


/* ============================================================ 全站搜索浮层（一体化卡片式 · 全站单一来源） */
.site-search{position:fixed;inset:0;z-index:99997;display:none}
.site-search.is-open{display:block;animation:ssFade .18s ease both}
@keyframes ssFade{from{opacity:0}to{opacity:1}}
.site-search__backdrop{position:absolute;inset:0;background:rgba(244,243,238,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.site-search__panel{position:absolute;top:12vh;left:50%;transform:translateX(-50%);
  width:min(680px,92vw);max-height:78vh;display:flex;flex-direction:column;
  background:var(--paper,#fff);border-radius:18px;overflow:hidden;
  border:1px solid var(--line,#e4dfd4);box-shadow:0 24px 80px rgba(40,30,18,.18)}
.site-search__head{display:flex;align-items:center;gap:12px;padding:16px 20px;
  border-bottom:1px solid var(--line,#e4dfd4);color:var(--ink-2)}
.site-search__head svg{display:block;flex:0 0 auto;width:22px;height:22px;color:var(--ink-3)}
.site-search__input{flex:1;min-width:0;border:0;outline:0;background:transparent;
  font-size:16px;color:var(--ink-1);font-family:var(--sans);padding:4px 2px;letter-spacing:.01em}
.site-search__input::-webkit-search-decoration,
.site-search__input::-webkit-search-cancel-button,
.site-search__input::-webkit-search-results-button,
.site-search__input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none}
.site-search__input::placeholder{color:var(--ink-4);font-weight:400}
.site-search__esc{display:none}
.site-search__results{overflow-y:auto;max-height:56vh;
  display:flex;flex-direction:column;gap:2px;padding:10px}
.site-search__results:empty{display:none}
.search-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink-1);transition:background .15s ease}
.search-item:hover{background:var(--moss-mist,#eaf0e2)}
.search-item__group{font-size:11px;color:var(--moss);letter-spacing:.08em}
.search-item__title{font-size:15px;font-weight:600}
.search-item__desc{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-empty{padding:28px 16px;text-align:center;color:var(--ink-3);font-size:14px;line-height:1.7}
.search-empty a{color:var(--moss)}
@media(max-width:520px){
  .site-search__panel{top:8vh;width:94vw}
  .site-search__input{font-size:16px}
  .site-search__results{max-height:62vh}
}

/* ============================================================ 页尾 FAQ 与资料来源（cn-faq / cn-source） */
.cn-faq{max-width:720px;margin:56px auto 0;padding:0 24px}
.cn-faq h2{font-family:var(--serif);font-size:24px;color:var(--ink);margin:0 0 18px;letter-spacing:.02em}
.cn-faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-m,10px);padding:14px 18px;margin-bottom:10px}
.cn-faq summary{cursor:pointer;font-size:15px;color:var(--ink);font-weight:600;line-height:1.5}
.cn-faq details p{margin:10px 0 0;color:var(--ink-3);line-height:1.8;font-size:14.5px}
.page-source{max-width:720px;margin:24px auto 0;padding:0 24px 32px;
  font-size:12px;color:var(--stone,var(--ink-4));line-height:1.6}

/* faq.html 专用列表（与 cn-faq 卡片风一致） */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-m,10px);padding:18px 22px}
.faq-item h3{font-size:16px;font-weight:600;color:var(--ink);margin:0 0 8px;line-height:1.5}
.faq-item p{margin:0;color:var(--ink-3);line-height:1.85;font-size:14.5px}

/* ── 无障碍工具栏（全站通用）── */
.nav-a11y-trigger{display:inline-flex;align-items:center;gap:5px;padding:6px 0;
  border:none;border-radius:0;background:transparent;
  color:var(--ink-1);font-size:15px;font-weight:500;letter-spacing:.02em;
  font-family:inherit;cursor:pointer;transition:color .3s;white-space:nowrap;flex-shrink:0}
.nav-a11y-trigger:hover{color:var(--moss)}
.nav.scrolled .nav-a11y-trigger{color:var(--ink-1)}
.nav.scrolled .nav-a11y-trigger:hover{color:var(--moss)}
.nav-a11y-label{display:none}@media(min-width:1025px){.nav-a11y-label{display:inline}}

/* 移动端菜单内的无障碍入口（与底部快捷链接同款式） */
.mm-a11y-trigger{background:none;border:none;padding:0;margin:0;
  font-size:14px;color:var(--ink-3);cursor:pointer;font-family:inherit;
  font-weight:400;letter-spacing:normal;display:inline;line-height:1.5}
.mm-a11y-trigger:hover{color:var(--moss)}

.a11y-toolbar{position:fixed;top:0;left:0;right:0;z-index:99999;
  background:linear-gradient(180deg,#faf8f3 0%,#f2efe8 100%);
  border-bottom:2px solid var(--moss);box-shadow:0 4px 20px rgba(30,24,18,.10);
  padding:10px 0;animation:a11ySlideIn .35s var(--ease-out)}
@keyframes a11ySlideIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.a11y-toolbar[hidden]{display:none}
.a11y-toolbar__inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:center}
.a11y-toolbar__group{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}

.a11y-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;
  border:1.5px solid var(--line-d);border-radius:var(--r-s);
  background:#fff;color:var(--ink-2);font-size:13px;font-weight:500;
  cursor:pointer;transition:all .2s ease;font-family:inherit;line-height:1}
.a11y-btn:hover{border-color:var(--moss);color:var(--moss);background:var(--moss-mist);
  transform:translateY(-1px);box-shadow:0 2px 8px rgba(87,141,49,.12)}
.a11y-btn[aria-pressed="true"]{border-color:var(--moss);background:var(--moss);color:#fff}
.a11y-btn svg{flex-shrink:0;width:17px;height:17px}
.a11y-btn span{display:none}@media(min-width:768px){.a11y-btn span{display:inline}}
.a11y-sep{width:1px;height:24px;background:var(--line-d);margin:0 6px}
.a11y-btn--close{border-color:var(--seal);color:var(--seal)}
.a11y-btn--close:hover{border-color:var(--seal);background:#fef3ee;color:var(--seal)}

/* 高对比度模式：强制覆盖具体色值（!important 确保生效，页面组件多为写死色） */
body.a11y-high-contrast,
body.a11y-high-contrast .nav,
body.a11y-high-contrast .nav.scrolled,
body.a11y-high-contrast section,
body.a11y-high-contrast main,
body.a11y-high-contrast article,
body.a11y-high-contrast aside,
body.a11y-high-contrast footer,
body.a11y-high-contrast .card,
body.a11y-high-contrast .panel,
body.a11y-high-contrast .container,
body.a11y-high-contrast .mega-panel,
body.a11y-high-contrast .cta,
body.a11y-high-contrast .biz-card,
body.a11y-high-contrast .news-card{background:#000!important;color:#fff!important;border-color:#fff!important}
body.a11y-high-contrast a,
body.a11y-high-contrast p,
body.a11y-high-contrast li,
body.a11y-high-contrast span,
body.a11y-high-contrast button,
body.a11y-high-contrast h1,body.a11y-high-contrast h2,body.a11y-high-contrast h3,
body.a11y-high-contrast h4,body.a11y-high-contrast h5,body.a11y-high-contrast h6,
body.a11y-high-contrast .mega-col__links a,
body.a11y-high-contrast .nav a{color:#fff!important}
body.a11y-high-contrast .cta-btn,
body.a11y-high-contrast .btn{background:#fff!important;color:#000!important;border-color:#fff!important}
body.a11y-high-contrast img,
body.a11y-high-contrast svg{filter:contrast(1.2) brightness(.9)}

/* 阅读模式：放大正文行高与字号 */
body.a11y-read-mode{line-height:2.2!important;letter-spacing:.02em}
body.a11y-read-mode .container{max-width:720px}
body.a11y-read-mode p,
body.a11y-read-mode li,
body.a11y-read-mode td,
body.a11y-read-mode .desc,
body.a11y-read-mode .txt,
body.a11y-read-mode .card p{font-size:19px!important;line-height:2.2!important}

/* 字号缩放档位（class 驱动，覆盖 px 写死的正文） */
body.a11y-font-1 p,body.a11y-font-1 li,body.a11y-font-1 td,
body.a11y-font-1 .desc,body.a11y-font-1 .txt,body.a11y-font-1 span,
body.a11y-font-1 .mega-col__links a{font-size:19px!important;line-height:1.95!important}
body.a11y-font-2 p,body.a11y-font-2 li,body.a11y-font-2 td,
body.a11y-font-2 .desc,body.a11y-font-2 .txt,body.a11y-font-2 span,
body.a11y-font-2 .mega-col__links a{font-size:22px!important;line-height:2!important}

/* 灰度模式 */
body.a11y-grayscale{filter:grayscale(1)!important}

/* 大光标 */
body.a11y-big-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23578d31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z'/%3E%3Cpath d='M13 13l6 6'/%3E%3C/svg%3E") 16 0,auto!important}
body.a11y-big-cursor a,body.a11y-big-cursor button,body.a11y-big-cursor [role="button"],
body.a11y-big-cursor [tabindex]{cursor:pointer!important}

@media(max-width:768px){
  .a11y-toolbar__inner{padding:0 12px}
  .a11y-btn{padding:7px 10px;border-width:1.5px;font-size:12px}
  .a11y-sep{margin:0 3px;height:20px}
}

/* 移动端 logo 防裁切（2026-08-25 体检修复）
   根因：.brand flex 收缩 + overflow:hidden + width:auto!important 使 max-width 失效 */
@media(max-width:768px){
  .nav .brand{flex:0 0 auto}
  .nav .brand .nav-logo-img{max-width:34vw;object-fit:contain}
}
@media(max-width:400px){
  .nav .brand .nav-logo-img{max-width:36vw}
}

/* ══════ 第四期 · 语义变量补充（2026-09-18 等值沉淀，改一处即全站生效）══════ */
:root{
  --ink-1:#33302a;         /* 补定义：原样式表引用了 --ink-1 但从未声明，会让该处颜色失效 */
  --moss-ink:#5c6b4a;      /* 深苔绿（原散落硬编码） */
  --moss-deep:#3f4a31;     /* 墨苔（原散落硬编码） */
  --moss-soft:#9caf88;     /* 浅苔（原散落硬编码） */
  --moss-bright:#2b8313;   /* 亮苔（强调，原散落硬编码） */
  --stone:#8a8a7e;         /* 石灰（原散落硬编码） */
  --paper-warm:#f7f6f1;    /* 暖纸白（原散落硬编码） */
}

/* ══════ 第四期 · UI 统一层 v4 ══════
   设计语言：苔藓绿 / 暖纸背景 / 16px 圆角 / 柔阴影 / 移动端优先。
   只做「一致性」收敛，不改各卡既有配色，避免视觉突变。 */

/* 1. 焦点可见（WCAG 2.2 · 键盘可达性） */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--moss);outline-offset:2px;border-radius:6px;
}
.pv-bar__x:focus-visible,.pv-rec__item:focus-visible{outline-offset:3px}

/* 2. 卡片体系统一：六套卡片归一（info/pillar/elem/biz/creation/case） */
.info-card,.pillar-card,.elem-card,.biz-card,.creation-card,.case-card{
  border-radius:var(--r-m);
  border:1px solid var(--line);
  box-shadow:var(--sh-card);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.info-card:hover,.pillar-card:hover,.elem-card:hover,.biz-card:hover,
.creation-card:hover,.case-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1px 3px rgba(40,30,18,.05),0 14px 38px rgba(40,30,18,.11);
  border-color:var(--moss-soft);
}
.info-card-title,.pillar-card__title,.case-card__title{
  font-size:var(--fs-md);line-height:1.5;letter-spacing:.01em;
}
.info-card-list,.pillar-card__desc,.case-card__desc{color:var(--ink-2);line-height:1.85}
.biz-tag,.coming-tag-sm,.kb-tags{
  border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:.02em;
}

/* 3. 触控目标 ≥44px（移动端） */
@media (max-width:768px){
  .nav .links a,.btn,.btn-link,.a11y-btn,.topbar__right a,.map-btn{
    min-height:44px;display:inline-flex;align-items:center;
  }
  .pv-rec__grid{grid-template-columns:1fr}
}

/* 4. 移动端安全区（刘海屏） */
@supports(padding:env(safe-area-inset-left)){
  .site-header,.pv-bar{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  footer,.site-footer,.pv-rec{padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom))}
}

/* 5. 动效收敛：尊重系统减弱动效偏好 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .info-card:hover,.pillar-card:hover,.elem-card:hover,.biz-card:hover,
  .creation-card:hover,.case-card:hover{transform:none}
}

/* 6. 个性化组件（第四期 · 访客上下文） */
.pv-bar{
  position:relative;z-index:120;background:var(--moss-mist);color:var(--moss-d);
  border-bottom:1px solid var(--line);font-size:var(--fs-sm);
  opacity:0;transform:translateY(-6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.pv-bar.in{opacity:1;transform:none}
.pv-bar__inner{
  max-width:1200px;margin:0 auto;padding:8px 16px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.pv-bar__txt{flex:1;min-width:120px}
.pv-bar__go{
  color:var(--paper);background:var(--moss);text-decoration:none;
  padding:6px 16px;border-radius:var(--r-pill);font-size:var(--fs-xs);
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.pv-bar__go:hover{background:var(--moss-d);transform:translateY(-1px)}
.pv-bar__x{
  border:0;background:transparent;color:var(--ink-3);cursor:pointer;
  font-size:18px;line-height:1;padding:6px 10px;border-radius:var(--r-s);
}
.pv-bar__x:hover{background:var(--line);color:var(--ink)}

.pv-rec{max-width:1200px;margin:var(--s6) auto var(--s4);padding:0 20px}
.pv-rec__title{
  font-family:var(--serif);font-size:var(--fs-lg);color:var(--ink);
  margin-bottom:var(--s2);letter-spacing:.02em;
}
.pv-rec__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.pv-rec__item{
  display:block;padding:var(--s3) var(--s2);text-align:center;
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r-m);
  box-shadow:var(--sh-card);color:var(--ink);text-decoration:none;
  font-size:var(--fs-base);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.pv-rec__item:hover{
  transform:translateY(-4px);border-color:var(--moss-soft);
  box-shadow:0 1px 3px rgba(40,30,18,.05),0 14px 38px rgba(40,30,18,.11);
  color:var(--moss-d);
}

/* ══════ 第五期 · 视觉细优化层（2026-09-21）══════
   全站通用、低风险的细节收敛：锚点偏移 / 媒体基线 / 表单继承 /
   链接下划线间距 / 标题与段落现代换行 / 焦点环微调。不改既有配色与组件。 */

/* 1. 锚点跳转避开固定页头（全站 # 链接通用修复，固定页头约 96px） */
section,main,article,aside,[id]{scroll-margin-top:100px}

/* 2. 媒体元素基线对齐 + 永不溢出容器 */
img,svg,video,canvas{vertical-align:middle;max-width:100%}

/* 3. 表单控件继承字体（按钮/输入视觉统一，避免系统字体跳脱） */
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;line-height:inherit}

/* 4. 链接下划线更精致（仅对带下划线者生效） */
a{text-underline-offset:3px;text-decoration-thickness:1px}

/* 5. 标题与正文现代换行（渐进增强，旧浏览器忽略） */
h1,h2,h3,h4,.section-title,.section-header h2{text-wrap:balance}
p,li,.lead-text,.section-intro,.section-lead{text-wrap:pretty}

/* 6. 焦点环微调：亮苔绿、圆角更柔、偏移更稳 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline-color:var(--moss-bright,var(--moss));outline-width:2px;outline-offset:3px;
}

/* 7. 导航图标键盘焦点：以柔色底环替代纯 outline:none（保留可见性） */
.nav-icon:focus-visible{outline:none;background:var(--moss-mist);border-radius:50%}

/* 8. 选区色统一（输入框内选区在移动端一致性） */
::selection{background:var(--moss-mist);color:var(--moss-d)}

/* ══════ 第六期 · 组件级视觉细优化（2026-09-21 续）══════
   下沉到具体组件：商城卡片 / 表单 / 资讯·案例·支柱卡片 / 文章弹窗。
   仅做精细收敛（常态微描边 + 柔阴影 / 标题与数字现代折行 / 按钮触感 / 焦点），
   不改既有配色与版式骨架，且均为对既有规则的级联覆盖，安全可逆。 */

/* —— 商城卡片（prod-card）：常态微描边 + 柔阴影，栅格更稳、离地更利落 —— */
.prod-card{border-color:var(--line);
  box-shadow:0 1px 2px rgba(40,30,18,.04),0 6px 18px rgba(40,30,18,.05)}
.prod-card:hover{box-shadow:0 2px 6px rgba(40,30,18,.06),0 16px 40px rgba(40,30,18,.12)}
.prod-card .name{text-wrap:balance;letter-spacing:.01em}
.prod-card .price{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.prod-card .cat-tag{font-variant-numeric:tabular-nums}
.prod-card .badge{box-shadow:0 2px 6px rgba(40,30,18,.18)}

/* ══════ 第七期 · 局部组件视觉细优化（2026-09-21）══════
   搜索浮层 / 门店侧栏卡片 / 时间线 / 门店大卡。仅精细收敛，级联覆盖，安全可逆。 */

/* 全站搜索浮层：焦点可见 + 结果项现代折行 + 键盘焦点环 */
.site-search__input{transition:background .15s ease}
.site-search__input:focus{background:var(--moss-mist,#eaf0e2);border-radius:10px}
.search-item{transition:background .15s ease,transform .12s ease}
.search-item:focus-visible{outline:2px solid var(--moss,#578d31);outline-offset:2px}
.search-item__title{text-wrap:balance}
.search-item__desc{text-wrap:pretty}

/* 门店侧栏卡片：悬停浮起 + 过渡 */
.store-panel__item{transition:background .18s ease,padding-left .18s ease;border-radius:10px}
.store-panel__item:hover{background:var(--moss-mist,#eaf0e2);padding-left:6px}
.store-panel__name{text-wrap:balance}

/* 时间线（about 页）：标题/描述现代折行 */
.tl-item .title{text-wrap:balance}
.tl-item .desc{text-wrap:pretty}
.tl-item .year{font-variant-numeric:tabular-nums}

/* 门店大卡：插画柔和投影 + 区块过渡 + 标题折行 + 照片圆角 */
.store-illust{box-shadow:0 10px 30px rgba(40,30,18,.07);transition:box-shadow .3s ease,transform .3s ease}
.store-block:hover .store-illust{box-shadow:0 18px 46px rgba(40,30,18,.12);transform:translateY(-3px)}
.store-info h2{text-wrap:balance}
.store-photo{border-radius:14px;overflow:hidden}
