/* ============================================================
   阿康家® 品牌官网 — 样式表
   字体：苹方 / SF（全站无衬线，单一字族，靠字重与字号建立层级）
   主色：#233228  辅助色：#E8D6A5
   ============================================================ */

/* ---------- 1. 变量 ---------- */
:root{
  /* 品牌 */
  --brand:      #233228;   /* 主色 RGB(35,50,40) */
  --brand-deep: #1B2620;   /* 主色深版（深色区块） */
  --brand-soft: #2E4034;
  --gold:       #E8D6A5;   /* 辅助色 RGB(232,214,165) —— 仅用于深色底或填充 */
  --gold-ink:   #7F6830;   /* 辅助色深版，用于浅底文字（5.12:1） */

  /* 表面 */
  --surface:   #FBFAF6;
  --surface-2: #F3F0E6;
  --surface-3: #E8E3D4;
  --line:      #DED8C8;

  /* 文字（对比度均按 WCAG AA 校验） */
  --ink:   #233228;  /* 12.90:1 */
  --ink-2: #46594D;  /* 7.19:1  */
  --ink-3: #5F7165;  /* 4.98:1  */
  --ink-4: #657768;  /* 4.58:1  */

  /* 深色区块文字 */
  --on-dark:      #FBFAF6; /* 14.95:1 on #1B2620 */
  --on-dark-2:    #C9CFC8; /* 8.50:1  on #233228  */
  --on-dark-soft: rgba(251,250,246,.68);

  /* 产品强调色（浅底文字均 ≥4.5:1） */
  --c-mushroom: #8A6A45; /* 4.76:1 */
  --c-douchi:   #A44B2A; /* 5.56:1 */
  --c-first:    #3F6B4F; /* 5.87:1 */
  --c-xo:       #6B4A6E; /* 7.11:1 */
  --c-gift:     #233228; /* 12.90:1 */

  /* 字体：苹方优先，全站无衬线 */
  --font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue",
          "Hiragino Sans GB", "Microsoft YaHei", "Helvetica", "Arial", sans-serif;

  /* 尺度 */
  --wrap: 1280px;
  --nav-h: 76px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 32px;

  /* 缓动 */
  --e-out:  cubic-bezier(.16,1,.3,1);
  --e-io:   cubic-bezier(.65,.05,.36,1);
  --e-soft: cubic-bezier(.4,0,.2,1);

  --shadow-sm: 0 2px 10px rgba(35,50,40,.05);
  --shadow-md: 0 10px 30px rgba(35,50,40,.09);
  --shadow-lg: 0 24px 60px rgba(35,50,40,.14);
  --shadow-xl: 0 40px 100px rgba(35,50,40,.22);
}

/* ---------- 2. 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--ink-2);
  background:var(--surface);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.is-locked{overflow:hidden;}
h1,h2,h3,h4,h5,p,figure,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
sup{font-size:.5em;vertical-align:super;letter-spacing:0;}
::selection{background:var(--brand);color:var(--gold);}

::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--surface-2);}
::-webkit-scrollbar-thumb{background:#A9B2A8;border-radius:99px;border:3px solid var(--surface-2);}
::-webkit-scrollbar-thumb:hover{background:var(--brand);}

/* ---------- 3. 布局 ---------- */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 40px;}
.wrap--narrow{max-width:900px;}
.section{position:relative;padding:120px 0;}

/* ---------- 4. 图标系统 ---------- */
.sprite{position:absolute;width:0;height:0;overflow:hidden;}
.ico{
  width:1.25em;height:1.25em;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
  display:inline-block;vertical-align:-.16em;
}

/* ---------- 5. 排版 ---------- */
.sec-tag{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;font-weight:600;letter-spacing:.2em;
  color:var(--brand);margin-bottom:16px;
}
.sec-tag::before{content:"";width:26px;height:1.5px;background:currentColor;display:block;opacity:.6;}
.sec-tag--light{color:var(--gold);}
.sec-head--center .sec-tag::before{display:none;}

.sec-title{
  font-size:clamp(30px,4.2vw,54px);
  font-weight:700;line-height:1.22;letter-spacing:-.02em;
  color:var(--ink);
}
.sec-title--light{color:var(--on-dark);}
.sec-title__sub{
  display:block;font-size:.42em;font-weight:500;letter-spacing:.02em;
  color:var(--gold);margin-top:12px;
}
/* 长标题强制单行：字号需按最长标题收缩，否则窄屏会被压断行 */
.sec-title--nowrap{white-space:nowrap;font-size:clamp(19px,3vw,40px);}
/* 两行等字号标题：最长一行 11 字，字号须按它收缩才能保证每行都不断行 */
.sec-title--pair{font-size:clamp(22px,3.4vw,46px);}
.sec-desc{font-size:16.5px;line-height:1.9;color:var(--ink-3);max-width:560px;}
.sec-desc--light{color:var(--on-dark-soft);}
.sec-desc b{color:var(--brand);font-weight:600;}
.sec-desc b.on-dark,.sec-desc--light b{color:var(--gold);font-weight:600;}
.sec-desc .hint{
  display:block;margin-top:12px;font-size:13.5px;font-style:normal;color:var(--ink-4);
}

.sec-head{margin-bottom:60px;}
.sec-head--split{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;flex-wrap:wrap;}
.sec-head--center{text-align:center;max-width:780px;margin-inline:auto;}
.sec-head--center .sec-desc{margin-inline:auto;}

/* ---------- 6. 按钮 ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:9px;
  padding:15px 30px;border-radius:99px;
  font-size:15px;font-weight:500;letter-spacing:.02em;
  overflow:hidden;transition:transform .5s var(--e-out), box-shadow .5s var(--e-out), background .4s var(--e-soft), border-color .4s var(--e-soft), color .4s var(--e-soft);
  will-change:transform;
}
.btn .ico{width:18px;height:18px;transition:transform .5s var(--e-out);}
.btn:hover .ico{transform:translateX(4px);}

.btn--primary{background:var(--brand);color:var(--gold);box-shadow:0 6px 20px rgba(35,50,40,.22);}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(35,50,40,.3);}

.btn--ghost{border:1.5px solid rgba(35,50,40,.22);color:var(--ink);}
.btn--ghost:hover{border-color:var(--brand);background:rgba(35,50,40,.05);transform:translateY(-3px);}

.btn--gold{background:var(--gold);color:var(--brand);font-weight:600;box-shadow:0 8px 26px rgba(232,214,165,.34);}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(232,214,165,.46);}

.btn--outline-light{border:1.5px solid rgba(251,250,246,.4);color:var(--on-dark);}
.btn--outline-light:hover{background:rgba(251,250,246,.1);border-color:var(--on-dark);transform:translateY(-3px);}

.card-lift{transition:transform .6s var(--e-out), box-shadow .6s var(--e-out);}
.card-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}

/* ---------- 7. 滚动进度 ---------- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1000;pointer-events:none;}
.scroll-progress span{
  display:block;height:100%;width:0%;
  background:linear-gradient(90deg,var(--brand),var(--gold));
  transition:width .1s linear;
}

/* ---------- 8. 加载动画 ---------- */
.preloader{
  position:fixed;inset:0;z-index:2000;background:var(--surface);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .8s var(--e-io), visibility .8s;
}
.preloader.is-done{opacity:0;visibility:hidden;}
.preloader__inner{text-align:center;color:var(--brand);}
.preloader__mark{width:110px;height:110px;margin:0 auto 26px;}
.preloader__mark svg{width:100%;height:100%;}
.pl-ring{stroke-dasharray:327;stroke-dashoffset:327;animation:plDraw 1.5s var(--e-out) forwards;}
@keyframes plDraw{to{stroke-dashoffset:0;}}
.pl-ring2{animation:plSpin 10s linear infinite;transform-origin:60px 60px;}
@keyframes plSpin{to{transform:rotate(360deg);}}
.pl-text{
  font-family:var(--font);font-size:34px;font-weight:700;fill:var(--brand);
  opacity:0;animation:fadeIn .8s ease .5s forwards;
}
@keyframes fadeIn{to{opacity:1;}}
.preloader__bar{width:150px;height:2px;background:var(--surface-3);margin:0 auto;overflow:hidden;}
.preloader__bar i{display:block;height:100%;width:40%;background:var(--brand);animation:barSlide 1.4s var(--e-io) infinite;}
@keyframes barSlide{0%{transform:translateX(-110%);}100%{transform:translateX(310%);}}

/* ---------- 9. 导航 ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nav-h);
  transition:background .5s var(--e-soft), box-shadow .5s var(--e-soft), height .4s var(--e-soft);
}
.nav.is-stuck{
  height:66px;
  background:rgba(251,250,246,.88);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 1px 0 rgba(35,50,40,.08), 0 8px 28px rgba(35,50,40,.05);
}
.nav.is-hidden{transform:translateY(-100%);}
.nav__inner{max-width:var(--wrap);height:100%;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;}

.nav__logo{display:flex;align-items:center;gap:12px;}
.logo-slot{
  position:relative;width:40px;height:40px;flex:none;
  display:grid;place-items:center;
  border-radius:9px;overflow:hidden;background:var(--brand);
}
.logo-img{width:100%;height:100%;object-fit:contain;display:block;}
.logo-fallback{display:none;color:var(--gold);font-size:20px;font-weight:700;line-height:1;}
/* logo 未加载（未替换）时显示文字兜底 */
.logo-slot.no-img .logo-img{display:none;}
.logo-slot.no-img .logo-fallback{display:block;}

.logo-text{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.logo-text strong{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:.02em;}
.logo-text em{font-size:9.5px;font-style:normal;letter-spacing:.32em;color:var(--ink-4);margin-top:3px;}
/* 中文品牌口号：去掉英文等宽字距，单行不换行，避免挤压或溢出 */
.logo-text .logo-tagline{letter-spacing:.04em;font-size:11.5px;white-space:nowrap;color:var(--ink-4);}

.nav__links{display:flex;align-items:center;gap:2px;}
.nav__link{position:relative;padding:10px 13px;font-size:14.5px;color:var(--ink-2);transition:color .38s var(--e-soft);}
.nav__link::after{
  content:"";position:absolute;left:13px;right:13px;bottom:5px;height:1.5px;
  background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--e-out);
}
.nav__link:hover{color:var(--brand);}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1);}
.nav__link.is-active{color:var(--brand);font-weight:600;}
.nav__link--cta{
  margin-left:10px;padding:10px 22px;border-radius:99px;
  background:var(--brand);color:var(--gold);font-weight:500;
}
.nav__link--cta::after{display:none;}
.nav__link--cta:hover{background:var(--brand-deep);color:var(--gold);transform:translateY(-2px);box-shadow:0 6px 18px rgba(35,50,40,.26);}

.nav__burger{display:none;width:44px;height:44px;position:relative;flex:none;}
.nav__burger span{position:absolute;left:11px;width:22px;height:1.6px;background:var(--ink);transition:all .45s var(--e-out);}
.nav__burger span:nth-child(1){top:16px;}
.nav__burger span:nth-child(2){top:21.5px;}
.nav__burger span:nth-child(3){top:27px;}
.nav__burger.is-open span:nth-child(1){top:21.5px;transform:rotate(45deg);}
.nav__burger.is-open span:nth-child(2){opacity:0;transform:scaleX(.3);}
.nav__burger.is-open span:nth-child(3){top:21.5px;transform:rotate(-45deg);}

.mobile-menu{
  position:fixed;inset:0;z-index:880;background:var(--surface);
  padding:calc(var(--nav-h) + 30px) 32px 40px;
  display:flex;flex-direction:column;justify-content:space-between;
  transform:translateY(-100%);transition:transform .7s var(--e-out);visibility:hidden;
}
.mobile-menu.is-open{transform:translateY(0);visibility:visible;}
.mobile-menu__links{display:flex;flex-direction:column;}
.mobile-menu__links a{
  font-size:25px;font-weight:600;color:var(--ink);
  padding:14px 0;border-bottom:1px solid rgba(35,50,40,.08);
  opacity:0;transform:translateY(24px);
  transition:opacity .6s var(--e-out), transform .6s var(--e-out);
}
.mobile-menu.is-open .mobile-menu__links a{opacity:1;transform:translateY(0);}
.mobile-menu.is-open .mobile-menu__links a:nth-child(1){transition-delay:.1s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(2){transition-delay:.15s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(3){transition-delay:.2s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(4){transition-delay:.25s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(5){transition-delay:.3s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(6){transition-delay:.35s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(7){transition-delay:.4s;}
.mobile-menu.is-open .mobile-menu__links a:nth-child(8){transition-delay:.45s;}
.mobile-menu__links a.is-cta{color:var(--brand);border-bottom:0;}
.mobile-menu__foot{font-size:13px;color:var(--ink-4);line-height:1.9;}

/* ---------- 10. HERO ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:calc(var(--nav-h) + 40px) 0 100px;overflow:hidden;}
.hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:blobFloat 22s var(--e-soft) infinite alternate;}
.blob--1{width:600px;height:600px;top:-150px;right:-110px;background:radial-gradient(circle,rgba(35,50,40,.16),transparent 68%);}
.blob--2{width:520px;height:520px;bottom:-170px;left:-130px;background:radial-gradient(circle,rgba(232,214,165,.5),transparent 68%);animation-delay:-7s;}
.blob--3{width:440px;height:440px;top:36%;left:44%;background:radial-gradient(circle,rgba(63,107,79,.14),transparent 70%);animation-delay:-13s;}
@keyframes blobFloat{0%{transform:translate(0,0) scale(1);}100%{transform:translate(-40px,50px) scale(1.14);}}
.grain{
  position:absolute;inset:0;opacity:.4;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
}

.hero__inner{position:relative;z-index:2;max-width:var(--wrap);width:100%;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}

.hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;letter-spacing:.06em;color:var(--ink-3);
  padding:8px 18px;border:1px solid rgba(35,50,40,.14);border-radius:99px;
  background:rgba(255,255,255,.6);backdrop-filter:blur(8px);margin-bottom:26px;
}
.hero__eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(35,50,40,.45);}70%{box-shadow:0 0 0 10px rgba(35,50,40,0);}100%{box-shadow:0 0 0 0 rgba(35,50,40,0);}}

.hero__title{font-size:clamp(38px,6vw,78px);font-weight:700;line-height:1.14;letter-spacing:-.028em;color:var(--ink);margin-bottom:26px;}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em;}

.hero__lead{font-size:clamp(16px,1.3vw,18.5px);line-height:1.9;color:var(--ink-3);max-width:520px;margin-bottom:36px;}
.hero__lead .hl{color:var(--brand);font-weight:700;background:linear-gradient(transparent 62%,rgba(232,214,165,.75) 62%);}

.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:50px;}
.hero__stats{display:flex;gap:44px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(35,50,40,.12);}
.stat dt{font-size:33px;font-weight:700;color:var(--brand);line-height:1;display:flex;align-items:baseline;gap:3px;letter-spacing:-.02em;}
.stat dt i{font-size:13px;font-style:normal;font-weight:400;color:var(--ink-4);}
.stat dt .stat-ge{font-size:16px;font-weight:500;color:var(--ink-2);margin-right:1px;align-self:center;}
.stat dd{font-size:13px;color:var(--ink-4);margin-top:8px;}

/* HERO 右侧：纯 CSS 「一滴入水 · 层层扩散 · 发酵」 */
.hero__visual{display:flex;flex-direction:column;align-items:center;gap:24px;}
.brew{position:relative;width:100%;max-width:460px;aspect-ratio:1;display:grid;place-items:center;}
.brew__glow{
  position:absolute;width:64%;height:64%;border-radius:50%;
  background:radial-gradient(circle,rgba(232,214,165,.62),transparent 66%);
  filter:blur(28px);animation:brewGlow 7s var(--e-soft) infinite alternate;
}
@keyframes brewGlow{0%{transform:scale(.9);opacity:.72;}100%{transform:scale(1.1);opacity:1;}}

/* 扩散环 */
.brew__rings{position:absolute;inset:0;}
.brew-ring{
  position:absolute;top:50%;left:50%;width:62%;aspect-ratio:1;
  margin:-31% 0 0 -31%;
  border-radius:50%;border:1.5px solid var(--brand);
  opacity:0;transform:scale(.28);
  animation:ringOut 6.8s var(--e-soft) infinite;
  animation-delay:var(--d,0s);
}
@keyframes ringOut{
  0%{transform:scale(.28);opacity:0;}
  12%{opacity:.55;}
  70%{opacity:.16;}
  100%{transform:scale(1.55);opacity:0;}
}

/* 旋转虚线圈 */
.brew__dash{position:absolute;inset:0;width:100%;height:100%;}
.brew__dash circle{fill:none;stroke:var(--brand);stroke-width:1.2;stroke-linecap:round;}
.brew__dash--out{animation:dashSpin 44s linear infinite;}
.brew__dash--in{animation:dashSpin 34s linear infinite reverse;}
.brew__dash--out circle{stroke-dasharray:2 12;opacity:.5;}
.brew__dash--in circle{stroke-dasharray:1.5 9;opacity:.32;}
@keyframes dashSpin{to{transform:rotate(360deg);}}

/* 中心印记：品牌标识圆盘 */
.brew__core{
  position:relative;z-index:3;
  width:46%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  background:var(--brand);
  display:grid;place-items:center;text-align:center;
  box-shadow:0 18px 48px rgba(35,50,40,.32), inset 0 1px 0 rgba(255,255,255,.1);
}
/* object-fit:contain —— 源图已按内容裁切并留 4.6% 圆边余量，正方形满铺也不会裁到图案 */
.brew__logo{width:100%;height:100%;object-fit:contain;display:block;}
.brew-mark{font-size:clamp(30px,4vw,46px);font-weight:700;color:var(--gold);line-height:1;}
/* 标识图未加载时的文字兜底 */
.brew__logo-fallback{position:absolute;inset:0;display:none;place-items:center;}
/* 默认隐藏兜底；图加载失败时由 JS 加 .no-img 类，再显示「康」文字 */
.brew__core.no-img .brew__logo{display:none;}
.brew__core.no-img .brew__logo-fallback{display:grid;}

/* 发酵气泡 */
.brew__bubbles{position:absolute;inset:0;overflow:hidden;border-radius:50%;}
.brew__bubbles span{
  position:absolute;bottom:6%;left:var(--x);
  width:12px;height:12px;border-radius:50%;
  background:var(--brand);opacity:0;
  animation:bubbleRise 9s var(--e-soft) infinite;
  animation-delay:var(--d,0s);
}
@keyframes bubbleRise{
  0%{opacity:0;transform:translateY(10px) scale(var(--s,.7));}
  14%{opacity:.5;}
  70%{opacity:.3;}
  100%{opacity:0;transform:translateY(-300px) scale(calc(var(--s,.7) * 1.25));}
}

.hero__badge{
  display:inline-flex;align-items:center;gap:11px;padding:12px 20px;border-radius:var(--r-md);
  width:fit-content;max-width:100%;
  background:rgba(255,255,255,.82);backdrop-filter:blur(12px);
  border:1px solid rgba(35,50,40,.08);box-shadow:var(--shadow-sm);
}
.hero__badge .ico{width:22px;height:22px;flex:none;color:var(--brand);}
.hero__badge-text{
  display:flex;align-items:baseline;gap:9px;
  white-space:nowrap;line-height:1.3;min-width:0;
}
.hero__badge strong{font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:.01em;}
.hero__badge span{font-size:13px;color:var(--ink-3);}

.hero__scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-4);}
.mouse{width:22px;height:34px;border:1.4px solid var(--ink-4);border-radius:99px;display:flex;justify-content:center;padding-top:6px;}
.mouse i{width:3px;height:7px;border-radius:99px;background:var(--brand);animation:mouseWheel 1.8s var(--e-io) infinite;}
@keyframes mouseWheel{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(12px);opacity:0;}100%{transform:translateY(0);opacity:0;}}
.hero__scroll em{font-size:10px;letter-spacing:.3em;font-style:normal;}

/* ---------- 11. ABOUT ---------- */
.about{background:var(--surface);}
/* 左右等高：左卡与右侧三卡总高对齐（stretch + 愿景块吸底） */
.about__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch;}
.about__main{
  display:flex;flex-direction:column;
  background:#fff;border-radius:var(--r-lg);padding:44px;
  border:1px solid rgba(35,50,40,.07);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.about__main::before{
  content:"康";position:absolute;right:-28px;bottom:-46px;
  font-size:180px;font-weight:700;color:rgba(35,50,40,.05);line-height:1;pointer-events:none;
}
.about__main h3{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:16px;position:relative;}
.about__main p{font-size:15.5px;line-height:2;color:var(--ink-3);position:relative;}
.about__main strong{color:var(--brand);font-weight:700;}
.about__vision{
  margin-top:auto;padding:24px 28px;border-radius:var(--r-md);
  background:linear-gradient(120deg,rgba(35,50,40,.05),rgba(232,214,165,.32));
  border-left:3px solid var(--brand);position:relative;
}
.about__main > p{margin-bottom:26px;}
.vision-label{display:block;font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--brand);margin-bottom:8px;}
.vision-text{font-size:21px;font-weight:700;color:var(--ink);line-height:1.5;}

.about__pillars{display:flex;flex-direction:column;gap:16px;}
.pillar{
  background:#fff;border-radius:var(--r-md);padding:26px 28px;
  border:1px solid rgba(35,50,40,.07);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.pillar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);transform:scaleY(0);transform-origin:top;transition:transform .6s var(--e-out);}
.pillar:hover::after{transform:scaleY(1);}
.pillar__num{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--gold-ink);margin-bottom:8px;}
.pillar h4{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.pillar p{font-size:14px;line-height:1.8;color:var(--ink-3);}

.about__metrics{
  margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  padding:32px 40px;border-radius:var(--r-lg);background:var(--brand);color:var(--on-dark);
}
.metric{text-align:center;position:relative;}
.metric + .metric::before{content:"";position:absolute;left:-9px;top:12%;bottom:12%;width:1px;background:rgba(251,250,246,.16);}
.metric__val{display:block;font-size:36px;font-weight:700;color:var(--gold);line-height:1.15;letter-spacing:-.02em;}
.metric__val .plus{font-size:22px;opacity:.7;margin:0 2px;}
.metric__label{display:block;font-size:13px;color:var(--on-dark-soft);margin-top:6px;}

/* ---------- 12. 猴头菇 · 药食同源 ---------- */
.hericium{background:var(--brand-deep);color:var(--on-dark);overflow:hidden;position:relative;}
.hericium::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 12%, rgba(232,214,165,.14), transparent 56%),
    radial-gradient(ellipse at 82% 88%, rgba(63,107,79,.22), transparent 56%);
}
.hericium__veil{
  position:absolute;inset:0;opacity:.45;pointer-events:none;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23t)' opacity='.07'/%3E%3C/svg%3E");
}
.hericium .wrap{position:relative;z-index:2;}

.yc-card{
  display:flex;gap:28px;align-items:flex-start;
  padding:36px 38px;border-radius:var(--r-lg);
  background:rgba(251,250,246,.06);
  border:1px solid rgba(232,214,165,.24);
  margin-bottom:26px;
}
.yc-card__icon{
  width:64px;height:64px;flex:none;border-radius:18px;
  display:grid;place-items:center;
  background:rgba(232,214,165,.14);border:1px solid rgba(232,214,165,.3);
}
.yc-card__icon .ico{width:34px;height:34px;color:var(--gold);}
.yc-card__k{display:block;font-size:11.5px;font-weight:600;letter-spacing:.22em;color:var(--gold);margin-bottom:8px;}
.yc-card__body h3{font-size:24px;font-weight:700;color:var(--on-dark);margin-bottom:12px;}
.yc-card__body p{font-size:15.5px;line-height:2;color:var(--on-dark-soft);}
.yc-card__body b{color:var(--gold);font-weight:600;}

/* 猴头菇 · 种植方式与产区四图（统一 16:9，圆角由 CSS 控制） */
.hc-gallery{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:42px;
}
.hc-card{
  display:flex;flex-direction:column;
  background:rgba(251,250,246,.06);
  border:1px solid rgba(251,250,246,.1);
  border-radius:var(--r-md);overflow:hidden;
  transition:transform .5s var(--e-out), border-color .5s var(--e-out), box-shadow .5s var(--e-out);
}
.hc-card:hover{
  transform:translateY(-4px);
  border-color:rgba(232,214,165,.32);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.hc-card__media{aspect-ratio:16/9;overflow:hidden;background:rgba(0,0,0,.2);}
.hc-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--e-out);}
.hc-card:hover .hc-card__media img{transform:scale(1.06);}
.hc-card__body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1;}
.hc-card__t{
  font-size:17px;font-weight:700;color:var(--on-dark);
  margin:0 0 8px;line-height:1.4;letter-spacing:.01em;
}
.hc-card__d{
  font-size:13px;line-height:1.85;color:var(--on-dark-soft);
  margin:0;
}

.hericium__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:26px;}
.h-card{
  display:flex;flex-direction:column;
  padding:32px 28px;border-radius:var(--r-md);
  background:rgba(251,250,246,.05);border:1px solid rgba(251,250,246,.1);
  transition:transform .6s var(--e-out), background .6s var(--e-out), border-color .6s var(--e-out);
}
.h-card:hover{transform:translateY(-6px);background:rgba(251,250,246,.09);border-color:rgba(232,214,165,.34);}
.h-card__ico{width:38px;height:38px;flex:none;color:var(--gold);margin-bottom:18px;}
.h-card h3{font-size:20px;font-weight:700;color:var(--on-dark);margin-bottom:10px;}
.h-card p{font-size:14.5px;line-height:1.9;color:var(--on-dark-soft);}
.h-card p b{color:var(--gold);font-weight:600;}
/* 三张卡正文长度不同 —— 元信息吸底 + 正文占满剩余高度，保证横线与文字三卡同一水平线 */
.h-card > p{flex:1 1 auto;margin-bottom:18px;}
.h-card__meta{
  display:block;margin-top:auto;padding-top:16px;border-top:1px solid rgba(251,250,246,.12);
  font-size:12px;letter-spacing:.06em;color:rgba(251,250,246,.5);
}

.hericium__use{
  display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;
  padding:36px 38px;border-radius:var(--r-lg);
  background:rgba(251,250,246,.05);border:1px solid rgba(251,250,246,.1);
}
.hu-copy h3{font-size:24px;font-weight:700;color:var(--on-dark);margin:10px 0 14px;}
.hu-copy p{font-size:15px;line-height:2;color:var(--on-dark-soft);}
.hu-copy p b{color:var(--gold);font-weight:600;}
.hu-flow{display:flex;align-items:center;justify-content:center;gap:14px;}
.hu-node{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:20px 16px;border-radius:var(--r-md);min-width:104px;
  background:rgba(251,250,246,.06);border:1px solid rgba(251,250,246,.12);
}
.hu-node .ico{width:30px;height:30px;color:var(--on-dark-2);}
.hu-node span{font-size:13px;color:var(--on-dark-2);text-align:center;}
.hu-node--hero{border-color:rgba(232,214,165,.5);background:rgba(232,214,165,.14);}
.hu-node--hero .ico,.hu-node--hero span{color:var(--gold);}
.hu-node--out{border-color:rgba(232,214,165,.24);}
.hu-op{font-size:24px;font-weight:400;color:var(--gold);opacity:.9;}

/* 一日三餐场景条 */
.hericium__table{margin-top:34px;padding-top:34px;border-top:1px solid rgba(251,250,246,.12);}
.ht-head{text-align:center;max-width:660px;margin:0 auto 26px;}
.ht-title{font-size:clamp(22px,2.6vw,30px);font-weight:700;color:var(--on-dark);line-height:1.35;letter-spacing:-.01em;}
.ht-desc{font-size:14.5px;line-height:1.95;color:var(--on-dark-soft);margin-top:12px;}
.ht-desc b{color:var(--gold);font-weight:600;}
.ht-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;list-style:none;}
.ht-item{
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  padding:18px 10px;border-radius:var(--r-md);
  background:rgba(251,250,246,.05);border:1px solid rgba(251,250,246,.1);
  transition:background .6s var(--e-out), border-color .6s var(--e-out), transform .6s var(--e-out);
}
.ht-item:hover{background:rgba(232,214,165,.1);border-color:rgba(232,214,165,.32);transform:translateY(-3px);}
.ht-item__ico{width:26px;height:26px;color:var(--gold);}
.ht-item span{font-size:12.5px;line-height:1.6;color:var(--on-dark-soft);letter-spacing:.02em;}

.hericium__note{
  display:flex;gap:12px;align-items:flex-start;margin-top:24px;
  padding:18px 22px;border-radius:var(--r-md);
  background:rgba(251,250,246,.05);border:1px solid rgba(251,250,246,.12);
  font-size:13px;line-height:1.9;color:var(--on-dark-soft);
}
.hericium__note .ico{width:20px;height:20px;color:var(--gold);margin-top:3px;}
.hericium__note b{color:var(--gold);font-weight:600;}

/* ---------- 13. 产品中心 ---------- */
.products{background:linear-gradient(180deg,var(--surface-2) 0%, var(--surface) 20%, var(--surface) 80%, var(--surface-2) 100%);overflow:hidden;}
.prod-gallery{position:relative;margin:0 -40px;}
.prod-track{
  display:flex;gap:22px;padding:16px 40px 36px;
  overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.prod-track::-webkit-scrollbar{display:none;}
/* 注意：这里绝对不能对 .prod-card 设 pointer-events:none ——
   拖拽期间置为 none 会让 pointerup 的命中目标变成 track，
   浏览器随即把 click 派发给共同祖先，卡片的点击监听就再也收不到事件（弹窗打不开）。
   改为在 JS 里用 suppressCardClick 标记抑制拖拽后的误触点击。 */
.prod-track.is-dragging{cursor:grabbing;scroll-snap-type:none;}

.prod-card{
  position:relative;display:flex;flex-direction:column;
  flex:0 0 320px;scroll-snap-align:center;
  border-radius:var(--r-lg);overflow:hidden;background:#fff;
  border:1px solid rgba(35,50,40,.08);box-shadow:var(--shadow-sm);
  cursor:pointer;outline:none;
  transition:transform .7s var(--e-out), box-shadow .7s var(--e-out), border-color .5s var(--e-out);
  will-change:transform;
}
.prod-card:hover,.prod-card:focus-visible{
  box-shadow:var(--shadow-lg);
  border-color:color-mix(in srgb, var(--accent,#233228) 34%, transparent);
}
.prod-card.is-active{box-shadow:var(--shadow-lg);}

/* 产品图铺满卡片上方：无内边距、无留白 */
.prod-card__media{
  position:relative;width:100%;aspect-ratio:1/1;flex:0 0 auto;
  background:#fff;overflow:hidden;
}
.prod-img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
  transition:transform .9s var(--e-out);
  will-change:transform;
}
.prod-card:hover .prod-img{transform:scale(1.045);}

.prod-card__index{
  position:absolute;top:14px;left:16px;z-index:3;
  font-size:12px;font-weight:700;letter-spacing:.16em;
  color:var(--ink);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);
  padding:4px 10px;border-radius:7px;box-shadow:var(--shadow-sm);
}
.prod-card__flag{
  position:absolute;top:14px;right:14px;z-index:3;
  font-size:11.5px;font-weight:600;letter-spacing:.06em;
  color:#fff;background:var(--accent,#233228);
  padding:5px 12px;border-radius:99px;
  box-shadow:0 4px 14px rgba(35,50,40,.24);
}
.prod-card__flag--gold{background:var(--brand);color:var(--gold);}

/* 明星产品：略高一档的视觉权重 */
.prod-card--star{border-color:color-mix(in srgb, var(--accent) 40%, transparent);}
.prod-card--star .prod-card__name{font-size:28px;}

.prod-card__body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;}
.prod-card__cat{font-size:11.5px;letter-spacing:.12em;color:var(--accent,#233228);font-weight:700;margin-bottom:8px;}
.prod-card__name{font-size:25px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:10px;letter-spacing:-.01em;}
.prod-card__hook{font-size:14.5px;line-height:1.8;color:var(--ink-3);margin-bottom:16px;}
/* 标签块统一 2 行高度（26px×2 + 6px 间距）并吸底 ——
   这样无论各卡文案长短与标签是否换行，5 张卡的标签行都在同一水平线上。
   注意：margin-top:auto 只能加在这一处；若「查看详情」上也加，两份 auto 会平分空白，反而对不齐。 */
.prod-card__tags{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:auto;margin-bottom:18px;
  align-content:flex-start;min-height:58px;
}
.prod-card__tags li{
  display:inline-flex;align-items:center;height:26px;
  font-size:12px;line-height:1;color:var(--ink-3);padding:0 11px;border-radius:6px;
  background:var(--surface-2);border:1px solid rgba(35,50,40,.06);
}
.prod-card__more{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:0;
  font-size:13.5px;font-weight:600;color:var(--accent,#233228);
  background:none;border:0;padding:0;cursor:pointer;font-family:inherit;
  transition:gap .45s var(--e-out);
}
.prod-card__more .ico{width:16px;height:16px;}
.prod-card:hover .prod-card__more{gap:14px;}

.prod-gallery__ctrl{display:flex;align-items:center;justify-content:center;gap:22px;}
.gbtn{
  width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(35,50,40,.16);background:#fff;
  display:grid;place-items:center;color:var(--ink-2);
  transition:all .45s var(--e-out);box-shadow:var(--shadow-sm);
}
.gbtn .ico{width:20px;height:20px;}
.gbtn:hover{background:var(--brand);color:var(--gold);border-color:var(--brand);transform:scale(1.07);}
.gbtn:disabled{opacity:.3;cursor:not-allowed;transform:none;background:#fff;color:var(--ink-2);border-color:rgba(35,50,40,.16);}
.gal-dots{display:flex;gap:8px;}
.gal-dot{width:8px;height:8px;border-radius:99px;background:rgba(35,50,40,.2);transition:all .45s var(--e-out);cursor:pointer;}
.gal-dot.is-active{background:var(--brand);width:26px;}
.prod-gallery__tip{text-align:center;font-size:12px;color:var(--ink-4);letter-spacing:.08em;margin-top:14px;
  display:flex;align-items:center;justify-content:center;gap:8px;}
.gallery-tip__ico{width:14px;height:14px;animation:tipNudge 2.4s var(--e-out) infinite;}
.gallery-tip__ico:first-child{animation-name:tipNudgeL;}
@keyframes tipNudge{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(3px);opacity:1}}
@keyframes tipNudgeL{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(-3px);opacity:1}}

/* ---------- 14. 品质工艺 ---------- */
.craft{background:var(--surface);}
/* 时间轴几何：所有尺寸集中在此，轴线坐标由它们推导 —— 改任意一项，横线自动跟随对齐 */
.craft__timeline{
  --tl-cols:6;          /* 列数（≤1200px 变 3 列时横线已隐藏，不影响） */
  --tl-gap:18px;        /* 列间距 */
  --tl-step-fs:12px;    /* 步骤号字号 */
  --tl-step-lh:1.75;    /* 步骤号行高倍数（显式写出，不依赖 body 继承） */
  --tl-dot-size:16px;   /* 圆点直径 */
  --tl-dot-gap:14px;    /* 步骤号与圆点的间距 */
  --tl-line-h:2px;      /* 横线粗细 */
  /* 轴线 Y = 步骤号行框高 + 圆点上间距 + 圆点半高 */
  --tl-axis-y:calc(var(--tl-step-fs) * var(--tl-step-lh) + var(--tl-dot-gap) + var(--tl-dot-size) / 2);
  /* 半列宽：横线左右各内缩它，才能正好落在首尾圆点的圆心上 */
  --tl-half-col:calc((100% - (var(--tl-cols) - 1) * var(--tl-gap)) / (var(--tl-cols) * 2));
  position:relative;margin-bottom:52px;
}
.tl-track{
  position:absolute;
  top:calc(var(--tl-axis-y) - var(--tl-line-h) / 2);
  height:var(--tl-line-h);
  left:var(--tl-half-col);right:var(--tl-half-col);
  background:rgba(35,50,40,.1);
}
.tl-track::after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--tl,0%);background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .18s linear;}
/* 列数写字面量（repeat() 里用 var 有兼容风险），与上面的 --tl-cols 保持一致 */
.tl-list{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:var(--tl-gap);}
.tl-item{text-align:center;}
.tl-step{display:block;font-size:var(--tl-step-fs);line-height:var(--tl-step-lh);font-weight:700;letter-spacing:.2em;color:var(--ink-4);}
.tl-dot{
  width:var(--tl-dot-size);height:var(--tl-dot-size);border-radius:50%;
  margin:var(--tl-dot-gap) auto 16px;
  background:var(--surface);border:2px solid var(--line);position:relative;z-index:2;
  transition:all .6s var(--e-out);
}
.tl-item.is-on .tl-dot{border-color:var(--brand);background:var(--brand);box-shadow:0 0 0 6px rgba(35,50,40,.1);}
.tl-item h4{font-size:17.5px;font-weight:700;color:var(--ink);margin-bottom:8px;
  display:flex;align-items:center;justify-content:center;gap:7px;}
.tl-item p{font-size:13px;line-height:1.8;color:var(--ink-3);}
.tl-ico{flex:0 0 auto;width:18px;height:18px;color:var(--ink-4);
  transition:color .6s var(--e-out), transform .6s var(--e-out);}
.tl-item.is-on .tl-ico{color:var(--brand);transform:translateY(-1px);}
@media (max-width:768px){
  .tl-item h4{justify-content:flex-start;}
}

.craft__promise{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.promise-card{
  background:#fff;border-radius:var(--r-md);padding:28px 24px;
  border:1px solid rgba(35,50,40,.07);box-shadow:var(--shadow-sm);
  transition:transform .6s var(--e-out), box-shadow .6s var(--e-out);position:relative;overflow:hidden;
}
.promise-card::after{
  content:"";position:absolute;right:-22px;top:-22px;width:76px;height:76px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,214,165,.4),transparent 70%);transition:transform .8s var(--e-out);
}
.promise-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.promise-card:hover::after{transform:scale(1.5);}
.promise-card__ico{width:32px;height:32px;color:var(--brand);margin-bottom:14px;}
.promise-card__k{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--ink-4);margin-bottom:8px;}
.promise-card strong{display:block;font-size:20px;font-weight:700;color:var(--brand);line-height:1.4;margin-bottom:8px;}
.promise-card p{font-size:13.5px;line-height:1.8;color:var(--ink-3);}

/* ---------- 15. 餐桌灵感 ---------- */
.scenes{background:var(--surface-2);}
.scenes__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:268px;gap:18px;}
.scene-tile{position:relative;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .7s var(--e-out), box-shadow .7s var(--e-out);}
.scene-tile--tall{grid-row:span 2;}
/* 跨满整行：3 列 × 3 行 = 9 格，正好被 6 块砖填满，不留空位 */
.scene-tile--wide{grid-column:span 3;}
.scene-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.scene-tile__img{position:absolute;inset:0;transition:transform 1.1s var(--e-out);}
.scene-tile:hover .scene-tile__img{transform:scale(1.07);}

.scene-img-1{background-image:radial-gradient(ellipse at 32% 26%, rgba(232,214,165,.85), transparent 55%),radial-gradient(ellipse at 74% 72%, rgba(138,106,69,.5), transparent 60%),linear-gradient(150deg,#5B4630 0%,#3A2C1E 60%,#241A11 100%);}
.scene-img-2{background-image:radial-gradient(ellipse at 62% 32%, rgba(198,222,196,.8), transparent 55%),radial-gradient(ellipse at 25% 78%, rgba(63,107,79,.5), transparent 62%),linear-gradient(140deg,#2F5340 0%,#1F382B 70%,#152419 100%);}
.scene-img-3{background-image:radial-gradient(ellipse at 45% 40%, rgba(246,236,220,.9), transparent 52%),radial-gradient(ellipse at 78% 78%, rgba(164,75,42,.48), transparent 58%),linear-gradient(160deg,#7A5233 0%,#4E331D 65%,#2E1D10 100%);}
.scene-img-4{background-image:radial-gradient(ellipse at 35% 62%, rgba(232,214,165,.7), transparent 55%),radial-gradient(ellipse at 70% 30%, rgba(164,75,42,.5), transparent 58%),linear-gradient(135deg,#6B3A20 0%,#421E0D 70%,#241006 100%);}
.scene-img-5{background-image:radial-gradient(ellipse at 55% 35%, rgba(238,222,190,.75), transparent 52%),radial-gradient(ellipse at 20% 75%, rgba(138,106,69,.45), transparent 60%),linear-gradient(145deg,#6E4A2A 0%,#43280F 68%,#251506 100%);}
.scene-img-6{background-image:radial-gradient(ellipse at 28% 30%, rgba(232,214,165,.5), transparent 50%),radial-gradient(ellipse at 75% 65%, rgba(35,50,40,.6), transparent 58%),linear-gradient(120deg,#2E4034 0%,#1B2620 62%,#0F1613 100%);}

/* 文字与产品图各占独立的网格轨道 —— 结构上不可能压字/溢出。
   产品图使用 assets/products/cut/ 的去白底紧裁切版本，深底上不再出现白方块与生硬圆角。 */
.scene-tile__over{
  position:absolute;inset:0;z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  grid-template-rows:100%;          /* 显式定高，否则 auto 行会让 100% 高度退化为不确定值 */
  grid-template-areas:"text plate";
  align-items:center;gap:16px;padding:26px;
  background:linear-gradient(100deg,rgba(20,28,23,.93) 0%,rgba(20,28,23,.72) 46%,rgba(20,28,23,.16) 90%);
  color:var(--on-dark);
}
.scene-tile__text{
  grid-area:text;align-self:end;min-width:0;
  display:flex;flex-direction:column;align-items:flex-start;
}
.scene-tile__plate{
  grid-area:plate;position:relative;height:100%;min-width:0;min-height:0;overflow:hidden;
}
.scene-pkg{
  /* 绝对定位 + inset:0：尺寸完全由产品列决定。
     注意：这里不能用 height:100% —— 替换元素在网格项里的百分比高度会被当成 auto，
     实际取固有宽高比，长图会纵向溢出一大截（实测 216 → 466px）。 */
  position:absolute;inset:0;display:block;
  width:100%;height:100%;object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.52));
  transition:filter .95s var(--e-out);
}
/* 只做投影与亮度变化：不做 transform，避免产品被产品列裁掉 */
.scene-tile:hover .scene-pkg{filter:drop-shadow(0 22px 38px rgba(0,0,0,.62)) brightness(1.05);}

.scene-tile__tag{
  align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.14em;
  padding:5px 12px;border-radius:99px;background:var(--gold);color:var(--brand);margin-bottom:10px;
}
.scene-tile__over h3{font-size:19px;font-weight:700;line-height:1.38;margin-bottom:7px;}
.scene-tile__over p{font-size:13px;line-height:1.72;color:var(--on-dark-soft);}

/* 高砖：竖排 —— 产品在上、文案在下，给瓶子足够高度 */
.scene-tile--tall .scene-tile__over{
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto;
  grid-template-areas:"plate" "text";
  justify-items:stretch;
}
.scene-tile--tall .scene-tile__plate{padding:4px 0 10px;}
.scene-tile--tall .scene-tile__text{align-self:end;}
.scene-tile--tall .scene-tile__over h3{font-size:23px;}
.scene-tile--tall .scene-tile__over p{font-size:13.5px;}

/* 宽砖：横排，产品只占窄窄一列 */
.scene-tile--wide .scene-tile__over{grid-template-columns:minmax(0,1fr) minmax(0,.42fr);}
.scene-tile--wide .scene-tile__over h3{font-size:22px;}

/* ---------- 16. 鲜味洞察 ---------- */
.insights{background:var(--surface);}
.insights__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.insight{
  background:#fff;border-radius:var(--r-md);padding:30px 26px;
  border:1px solid rgba(35,50,40,.07);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
}
.insight__k{
  align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--brand);
  padding:5px 12px;border-radius:6px;background:rgba(35,50,40,.06);margin-bottom:14px;
}
.insight h3{font-size:19.5px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:12px;}
.insight p{font-size:14.5px;line-height:1.95;color:var(--ink-3);flex:1;}
.insight__meta{display:block;margin-top:18px;padding-top:16px;border-top:1px solid rgba(35,50,40,.08);font-size:12px;letter-spacing:.06em;color:var(--ink-4);}

/* ---------- 17. FAQ ---------- */
.faq{background:var(--surface-2);}
.faq__list{border-top:1px solid rgba(35,50,40,.12);}
.faq-item{border-bottom:1px solid rgba(35,50,40,.12);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:24px 4px;text-align:left;font-size:17.5px;font-weight:600;color:var(--ink);
  transition:color .4s var(--e-soft), padding-left .4s var(--e-soft);
}
.faq-q:hover{color:var(--brand);padding-left:10px;}
.faq-ico{width:22px;height:22px;flex:none;color:var(--brand);transition:transform .5s var(--e-out);}
.faq-item.is-open .faq-ico{transform:rotate(45deg);}
.faq-item.is-open .faq-q{color:var(--brand);}
.faq-a{overflow:hidden;height:0;transition:height .6s var(--e-out);}
.faq-a__inner{padding:0 4px 26px;max-width:760px;}
.faq-a__inner p{font-size:15.5px;line-height:2;color:var(--ink-3);}
.faq-a__inner strong{color:var(--brand);font-weight:700;}

/* ---------- 18. CTA ---------- */
.cta{position:relative;padding:120px 0;overflow:hidden;background:var(--brand);color:var(--on-dark);text-align:center;}
.cta__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 20%, rgba(232,214,165,.2), transparent 55%),radial-gradient(ellipse at 82% 78%, rgba(232,214,165,.14), transparent 55%);}
.cta__inner{position:relative;z-index:2;}
.cta__title{font-size:clamp(28px,4.4vw,50px);font-weight:700;line-height:1.3;margin-bottom:22px;letter-spacing:-.02em;}
.cta__title em{font-style:normal;color:var(--gold);}
.cta__text{font-size:16.5px;line-height:2;color:var(--on-dark-soft);max-width:640px;margin:0 auto 36px;}
.cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- 19. 页脚 ---------- */
.footer{background:var(--brand-deep);color:var(--on-dark);padding:76px 0 0;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:46px;padding-bottom:52px;}
.footer__logo{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.footer__logo .logo-slot{background:transparent;}
.footer__logo .logo-fallback{color:var(--gold);}
.footer__logo .logo-text strong{color:var(--on-dark);}
.footer__logo .logo-text em{color:rgba(251,250,246,.5);}
.footer__claim{font-size:14px;line-height:1.9;color:var(--on-dark-soft);margin-bottom:14px;}
.footer__vision{font-size:15.5px;font-weight:600;color:var(--gold);padding-left:14px;border-left:2px solid var(--gold);}

.footer__col h4{font-size:15px;font-weight:700;color:var(--on-dark);margin-bottom:16px;}
.footer__col ul li{margin-bottom:10px;}
.footer__col ul li a{font-size:14px;color:var(--on-dark-soft);transition:color .35s var(--e-soft), padding-left .35s var(--e-soft);}
.footer__col ul li a:hover{color:var(--gold);padding-left:6px;}
.contact-list li{display:flex;flex-direction:column;gap:3px;margin-bottom:15px;}
.c-k{font-size:11px;letter-spacing:.16em;color:rgba(251,250,246,.45);}
.c-v{font-size:14px;color:var(--on-dark-2);line-height:1.6;}
.footer__mail{display:inline-block;margin-top:6px;font-size:15px;font-weight:500;color:var(--gold);border-bottom:1px solid rgba(232,214,165,.4);padding-bottom:3px;transition:border-color .35s var(--e-soft);}
.footer__mail:hover{border-color:var(--gold);}
.footer__bar{border-top:1px solid rgba(251,250,246,.12);padding:24px 0 32px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;}
.footer__bar p{font-size:12.5px;color:rgba(251,250,246,.5);}
.footer__note{max-width:none;text-align:right;white-space:nowrap;}

/* ---------- 20. 模态框 ---------- */
.modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:32px;visibility:hidden;pointer-events:none;}
.modal.is-open{visibility:visible;pointer-events:auto;}
.modal__backdrop{position:absolute;inset:0;background:rgba(20,28,23,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .5s var(--e-soft);}
.modal.is-open .modal__backdrop{opacity:1;}
.modal__panel{
  position:relative;z-index:2;width:100%;max-width:1080px;max-height:calc(100vh - 64px);
  background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-xl);
  opacity:0;transform:translateY(40px) scale(.97);transition:opacity .55s var(--e-out), transform .55s var(--e-out);
}
.modal.is-open .modal__panel{opacity:1;transform:translateY(0) scale(1);}
.modal__close{
  position:absolute;top:18px;right:18px;z-index:10;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:grid;place-items:center;
  color:var(--ink);box-shadow:var(--shadow-sm);
  transition:transform .45s var(--e-out), background .45s var(--e-out), color .45s var(--e-out);
}
.modal__close .ico{width:20px;height:20px;}
.modal__close:hover{transform:rotate(90deg);background:var(--brand);color:var(--gold);}
.modal__scroll{display:grid;grid-template-columns:.9fr 1.1fr;max-height:calc(100vh - 64px);overflow-y:auto;}
.modal__media{
  position:sticky;top:0;align-self:start;
  height:clamp(420px, calc(100vh - 64px), 620px);
  background:#fff;
  display:grid;place-items:center;padding:0;overflow:hidden;
}
.modal__media-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:26px 26px 22px;display:flex;flex-direction:column;gap:5px;
  background:linear-gradient(180deg,rgba(251,250,246,0) 0%,rgba(251,250,246,.74) 46%,rgba(251,250,246,.96) 100%);
}
.mm-brand{font-size:16px;font-weight:700;color:var(--brand);letter-spacing:.02em;}
.mm-line{font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--ink-4);}
.modal__media img{
  width:100%;height:100%;object-fit:cover;object-position:center;display:block;
  animation:modalImgIn .8s var(--e-out) both;
}
@keyframes modalImgIn{from{opacity:0;transform:scale(1.03);}to{opacity:1;transform:none;}}
.modal__flag{
  position:absolute;top:20px;left:20px;z-index:3;
  font-size:12px;font-weight:600;letter-spacing:.08em;color:#fff;
  background:var(--accent,#233228);padding:6px 14px;border-radius:99px;
}

.modal__content{padding:44px 46px 50px;}
.modal__cat{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--accent,#233228);margin-bottom:10px;}
.modal__name{font-size:36px;font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:10px;letter-spacing:-.02em;}
.modal__hook{font-size:16.5px;line-height:1.8;color:var(--brand);font-weight:600;margin-bottom:20px;}
.modal__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.modal__tags span{
  font-size:12.5px;padding:6px 14px;border-radius:6px;
  background:color-mix(in srgb, var(--accent,#233228) 8%, var(--surface-2));
  color:color-mix(in srgb, var(--accent,#233228) 82%, var(--ink));
  border:1px solid color-mix(in srgb, var(--accent,#233228) 18%, transparent);
}
.modal__desc{font-size:15.5px;line-height:2;color:var(--ink-3);margin-bottom:22px;}

/* 复合鲜公式条 */
.modal__formula{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;
  padding:15px 18px;margin-bottom:26px;border-radius:var(--r-md);
  background:color-mix(in srgb, var(--accent,#233228) 7%, var(--surface-2));
  border:1px solid color-mix(in srgb, var(--accent,#233228) 16%, transparent);
}
.fm-node{
  font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1;
  padding:8px 13px;border-radius:7px;background:#fff;border:1px solid rgba(35,50,40,.09);
}
.fm-node--hero{color:#fff;background:var(--accent,#233228);border-color:transparent;}
.fm-node--out{
  color:var(--accent,#233228);
  background:color-mix(in srgb, var(--accent,#233228) 13%, #fff);
  border-color:color-mix(in srgb, var(--accent,#233228) 30%, transparent);
}
.fm-op{font-size:15px;font-weight:400;color:var(--ink-4);}

.modal__sec{margin-bottom:26px;}
.modal__sec h4{font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(35,50,40,.1);}
.modal__points li{
  position:relative;padding-left:36px;margin-bottom:13px;
  font-size:15px;line-height:1.85;color:var(--ink-3);
}
.pt-n{
  position:absolute;left:0;top:4px;
  font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.6;
  color:var(--accent,#233228);padding:2px 6px;border-radius:5px;
  background:color-mix(in srgb, var(--accent,#233228) 11%, var(--surface-2));
}
.pt-t{display:block;}
.modal__points li strong{color:var(--ink);font-weight:700;}
.modal__usage{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;}
.usage-item{
  display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:var(--r-sm);
  background:#fff;border:1px solid rgba(35,50,40,.07);
  transition:transform .45s var(--e-out), border-color .45s var(--e-out), box-shadow .45s var(--e-out);
}
.usage-item:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent,#233228) 30%,transparent);box-shadow:var(--shadow-sm);}
.usage-ico{
  width:36px;height:36px;flex:none;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb, var(--accent,#233228) 10%, var(--surface-2));
}
.usage-ico .ico{width:20px;height:20px;color:var(--accent,#233228);}
.usage-item span{font-size:14px;color:var(--ink-2);line-height:1.5;}
.usage-item em{display:block;font-style:normal;font-size:12px;color:var(--ink-4);margin-top:2px;}

/* 品质与溯源 */
.modal__trust{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.trust-item{
  display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--r-sm);
  background:#fff;border:1px solid rgba(35,50,40,.07);
}
.trust-ico{
  width:32px;height:32px;flex:none;border-radius:8px;display:grid;place-items:center;
  background:color-mix(in srgb, var(--accent,#233228) 10%, var(--surface-2));
}
.trust-ico .ico{width:18px;height:18px;color:var(--accent,#233228);}
.trust-t{font-size:13.5px;line-height:1.5;color:var(--ink-2);}
.trust-t em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-4);margin-top:2px;}
.modal__table{width:100%;border-collapse:collapse;}
.modal__table tr{border-bottom:1px solid rgba(35,50,40,.08);}
.modal__table tr:last-child{border-bottom:0;}
.modal__table th,.modal__table td{padding:11px 0;text-align:left;font-size:14px;vertical-align:top;}
.modal__table th{width:110px;font-weight:500;color:var(--ink-4);white-space:nowrap;padding-right:16px;}
.modal__table td{color:var(--ink-2);line-height:1.7;}
.modal__note{font-size:12.5px;line-height:1.85;color:var(--ink-4);padding:16px 18px;border-radius:var(--r-sm);background:var(--surface-2);border-left:3px solid var(--line);}

/* ---------- 20b. 合作二维码弹窗 ---------- */
/* 通用：触发按钮的 <button> 标签需要去掉默认样式。
   注意：故意不设 background —— 各组件类（.nav__link--cta / .btn--gold / .footer__qr-btn）
   自己控制背景。这里设了反而会把它们的覆盖掉。 */
.qr-trigger{
  font-family:inherit;cursor:pointer;border:0;
  text-decoration:none;line-height:inherit;letter-spacing:inherit;
}
/* 移动菜单的 .is-cta 没设背景，button 默认有 ButtonFace 灰底需要兜底清除 */
.mobile-menu__links .qr-trigger{background:transparent;}
/* ====== 合作二维码弹窗（统一居中模态） ====== */
.qr-modal{position:fixed;inset:0;z-index:950;display:none;align-items:center;justify-content:center;}
.qr-modal.is-open{display:flex;}
.qr-modal__backdrop{
  position:absolute;inset:0;background:rgba(15,25,20,.55);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .35s var(--e-out);
}
.qr-modal.is-open .qr-modal__backdrop{opacity:1;}
.qr-modal__panel{
  position:relative;background:#fff;border-radius:var(--r-lg);
  padding:38px 38px 32px;width:300px;text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  transform:scale(.85) translateY(20px);opacity:0;
  transition:transform .45s var(--e-out), opacity .35s var(--e-out);
}
.qr-modal.is-open .qr-modal__panel{transform:none;opacity:1;}
.qr-modal__close{
  display:grid;place-items:center;margin:18px auto 0;width:34px;height:34px;border-radius:50%;
  color:var(--ink-2);background:transparent;
  transition:background .3s var(--e-soft), transform .45s var(--e-out), color .3s var(--e-soft);
}
.qr-modal__close:hover{background:rgba(0,0,0,.06);transform:rotate(90deg);color:var(--brand);}
.qr-modal__close .ico{width:18px;height:18px;stroke-width:1.8;}
.qr-modal__qr{
  display:inline-block;padding:10px;border:1px solid rgba(35,50,40,.1);
  border-radius:var(--r-md);margin-bottom:18px;
}
.qr-modal__qr img{display:block;width:220px;height:220px;border-radius:4px;}
.qr-modal__text{font-size:14px;line-height:1.7;color:var(--ink-2);margin:0;}
.qr-modal__text sup{color:var(--brand);font-weight:600;}

/* ====== 页脚触发按钮（沿用 footer 暗色调，描边样式） ====== */
.footer__qr-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:16px;padding:10px 18px;border-radius:99px;
  border:1px solid rgba(232,214,165,.4);background:transparent;
  color:var(--gold);font-size:13px;font-weight:500;
  transition:background .3s var(--e-soft), border-color .3s var(--e-soft), transform .35s var(--e-out);
}
.footer__qr-btn:hover{background:rgba(232,214,165,.12);border-color:var(--gold);transform:translateY(-1px);}
.footer__qr-btn .ico{width:16px;height:16px;flex:none;}

/* ---------- 21. 进场动画 ---------- */
[data-anim]{opacity:0;transition:opacity .9s var(--e-out), transform .9s var(--e-out);transition-delay:var(--d,0s);}
[data-anim="fade-up"]{transform:translateY(38px);}
[data-anim="fade-in"]{transform:scale(.97);}
[data-anim="mask-up"]{transform:translateY(100%);}
[data-anim].is-in{opacity:1;transform:none;}
.hero__title .line[data-anim="mask-up"]{opacity:1;transform:translateY(100%);transition:transform 1.1s var(--e-out);transition-delay:var(--d,0s);}
.hero__title .line[data-anim="mask-up"].is-in{transform:translateY(0);}

/* ---------- 22. 响应式 ---------- */
@media (max-width:1200px){
  .tech__cards,.hericium__grid{grid-template-columns:repeat(3,1fr);}
  .insights__grid{grid-template-columns:repeat(2,1fr);}
  .tl-list{grid-template-columns:repeat(3,1fr);gap:30px 18px;}
  .tl-track{display:none;}
  .footer__grid{grid-template-columns:1fr 1fr;gap:38px;}
  .hericium__grid{grid-template-columns:1fr 1fr;}
  .hc-gallery{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:1024px){
  .wrap{padding:0 28px;}
  .nav__inner{padding:0 28px;}
  .hero__inner{padding:0 28px;}
  .prod-gallery{margin:0 -28px;}
  .prod-track{padding:16px 28px 32px;}

  .nav__links{display:none;}
  .nav__burger{display:block;}

  .hero__inner{grid-template-columns:1fr;gap:44px;}
  .hero__visual{order:-1;}
  .brew{max-width:400px;margin:0 auto;}
  .hero{padding-top:calc(var(--nav-h) + 24px);}

  .about__grid{grid-template-columns:1fr;gap:20px;}
  .about__metrics{grid-template-columns:repeat(2,1fr);gap:22px;}
  .metric + .metric::before{display:none;}

  .hericium__use{grid-template-columns:1fr;gap:26px;}
  .craft__promise{grid-template-columns:repeat(2,1fr);}
  /* 2 列下：高砖仍跨 2 行 + 宽砖跨 2 列 = 8 格，正好铺满 4 行 */
  .scenes__grid{grid-template-columns:repeat(2,1fr);}
  .scene-tile--wide{grid-column:span 2;}

  .modal__scroll{grid-template-columns:1fr;}
  .modal__media{position:static;height:auto;min-height:300px;aspect-ratio:4/3;}
  .modal__content{padding:32px 28px 40px;}
  .modal__name{font-size:30px;}
}

@media (max-width:768px){
  .section{padding:78px 0;}
  .sec-head{margin-bottom:42px;}
  .sec-head--split{flex-direction:column;align-items:flex-start;gap:20px;}

  .hero{min-height:auto;padding-bottom:76px;}
  .hero__title{font-size:clamp(32px,8.6vw,46px);}
  .hero__stats{gap:24px;}
  .stat dt{font-size:27px;}
  .hero__scroll{display:none;}

  .yc-card{flex-direction:column;gap:20px;padding:28px 24px;}
  .hericium__grid{grid-template-columns:1fr;}
  .hu-flow{flex-wrap:wrap;gap:10px;}
  .hu-node{min-width:88px;padding:16px 12px;}
  .ht-list{grid-template-columns:repeat(2,1fr);gap:10px;}
  .ht-item{padding:14px 8px;}
  .ht-item__ico{width:22px;height:22px;}

  .insights__grid{grid-template-columns:1fr;}
  .scenes__grid{grid-template-columns:1fr;grid-auto-rows:210px;}
  .scene-tile--wide{grid-column:span 1;}
  .craft__promise{grid-template-columns:1fr;}
  .tl-list{grid-template-columns:1fr;gap:24px;}
  .tl-item{text-align:left;display:grid;grid-template-columns:auto 1fr;gap:0 16px;}
  .tl-step{grid-column:1;}
  .tl-dot{grid-column:1;margin:8px auto;}
  .tl-item h4,.tl-item p{grid-column:2;}

  .prod-card{flex:0 0 82%;}
  .about__main{padding:30px 24px;}

  .faq-q{font-size:16.5px;padding:22px 4px;}

  .cta{padding:84px 0;}
  .footer__grid{grid-template-columns:1fr;gap:32px;}
  .footer__bar{flex-direction:column;align-items:flex-start;}
  .footer__note{text-align:left;white-space:normal;}

  .modal{padding:0;align-items:flex-end;}
  .modal__panel{max-width:none;max-height:92vh;border-radius:var(--r-lg) var(--r-lg) 0 0;}
  .modal__scroll{max-height:92vh;}
  .modal__usage{grid-template-columns:1fr;}
  .modal__trust{grid-template-columns:1fr;}
  .modal__points li{padding-left:30px;}

  /* 单列布局下砖块变宽，产品列收窄、文案放大一点 */
  .scene-tile__over{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);padding:22px;}
  .scene-tile__over h3{font-size:18px;}
  .scene-tile__over p{font-size:12.5px;}
}

@media (max-width:480px){
  .wrap{padding:0 20px;}
  .nav__inner{padding:0 20px;}
  .hero__inner{padding:0 20px;}
  .prod-gallery{margin:0 -20px;}
  .prod-track{padding:14px 20px 28px;gap:14px;}
  .prod-card{flex:0 0 88%;}
  .hero__actions{flex-direction:column;align-items:stretch;}
  .btn{justify-content:center;}
  .about__metrics{grid-template-columns:1fr;gap:16px;}
  .hericium__grid{grid-template-columns:1fr;}
  .hc-gallery{grid-template-columns:1fr;gap:14px;}
  /* 窄屏：高砖改为横排，避免产品被压得过小 */
  .scenes__grid{grid-auto-rows:238px;}
  .scene-tile--tall{grid-row:span 2;}
  .scene-tile--tall .scene-tile__over{
    grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);
    grid-template-rows:auto;grid-template-areas:"text plate";
  }
  .scene-tile--tall .scene-tile__over h3{font-size:20px;}
  .scene-tile--tall .scene-tile__plate{padding:0;}
}

/* ---------- 23. 返回顶部 ---------- */
.to-top{
  position:fixed;right:28px;bottom:28px;z-index:900;
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--brand);color:var(--gold);
  border:1px solid rgba(232,214,165,.3);
  box-shadow:0 10px 28px rgba(35,50,40,.3);
  cursor:pointer;
  opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;
  transition:opacity .45s var(--e-out), transform .45s var(--e-out),
             background .35s var(--e-soft), box-shadow .45s var(--e-out);
}
.to-top .ico{width:20px;height:20px;stroke-width:1.8;}
.to-top.is-visible{opacity:1;transform:none;pointer-events:auto;}
.to-top:hover{background:var(--brand-deep);box-shadow:0 16px 36px rgba(35,50,40,.36);}
.to-top:active{transform:scale(.95);}
.to-top:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
/* 弹窗或移动端菜单打开时（body.is-locked）让位 */
body.is-locked .to-top{opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;}
/* 移动端收紧：必须放在基础规则之后 —— 同权重下媒体查询写在前面会被后面的基础规则覆盖 */
@media (max-width:768px){
  .to-top{right:16px;bottom:18px;width:46px;height:46px;}
  .to-top .ico{width:18px;height:18px;}
}

/* 中文品牌口号过长：手机端隐藏，避免导航条挤压 */
@media (max-width:540px){
  .logo-text .logo-tagline{display:none;}
}

/* ---------- 24. 降低动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
  [data-anim]{opacity:1 !important;transform:none !important;}
}
