/* ============================================================
   礼绎 LIYI · 官方网站样式
   东方美学：宣纸暖白 × 朱砂红 × 墨色 × 描金
   ============================================================ */

:root{
  --paper:      #f6f0e3;
  --paper-2:    #eee3cf;
  --paper-3:    #e7d9bf;
  --cream:      #fbf6ea;
  --ink:        #221c14;
  --ink-soft:   #544634;
  --red:        #9e2b25;
  --red-deep:   #7c1e19;
  --red-dark:   #611713;
  --gold:       #a2803f;
  --gold-bright:#c9a45e;
  --line:       #d9c9a9;
  --line-dark:  rgba(233,215,175,.22);
  --sh:         0 24px 60px -30px rgba(40,26,10,.45);
  --serif: "Noto Serif SC","Source Han Serif SC","Source Han Serif CN","Songti SC","STSong","SimSun",serif;
  --sans:  "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",-apple-system,sans-serif;
  --ease: cubic-bezier(.22,.61,.24,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:92px; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.9;
  font-size:16px;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
button{ font-family:inherit; cursor:pointer; }
::selection{ background:var(--red); color:var(--cream); }

/* ---------- 通用字号 ---------- */
h1,h2,h3,h4,h5,.seal,.brand-text strong,.meaning-char,.value-no{
  font-family:var(--serif); font-weight:600;
}
.en, .kicker, em{ font-style:normal; }

/* 纸张纹理（极淡横纹） */
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    repeating-linear-gradient(0deg, rgba(120,90,40,.016) 0 1px, transparent 1px 4px),
    radial-gradient(1200px 600px at 15% -5%, rgba(255,255,255,.5), transparent 60%);
}

/* ============================================================
   导航
   ============================================================ */
.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  color:var(--ink);
  transition:background .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
}
.site-nav.scrolled{
  background:rgba(246,240,227,.94);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:var(--ink);
  box-shadow:0 6px 30px -18px rgba(34,28,20,.5);
}
.nav-inner{
  max-width:1240px; margin:0 auto; padding:0 28px;
  height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-text strong{ font-size:26px; letter-spacing:.18em; }
.brand-text small{ font-size:10px; letter-spacing:.42em; opacity:.75; font-family:var(--sans); margin-top:3px; }

/* 印章 */
.seal{
  flex:none; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  font-size:25px; color:var(--cream);
  background:linear-gradient(145deg,#a8322b,#8a1f19);
  box-shadow:inset 0 0 0 2px rgba(247,240,227,.9), inset 0 0 0 3px var(--red);
  transform:rotate(-1deg);
}
.seal-sm{ width:40px; height:40px; font-size:22px; }
.seal-lg{ width:clamp(74px,8vw,112px); height:clamp(74px,8vw,112px); font-size:clamp(44px,5vw,70px);
  box-shadow:inset 0 0 0 3px rgba(247,240,227,.85), inset 0 0 0 4px var(--red); }

.nav-links{ display:flex; gap:34px; }
.nav-links a{
  position:relative; font-size:15px; letter-spacing:.1em; padding:6px 0;
  opacity:.92;
}
.nav-links a::after{
  content:""; position:absolute; left:50%; bottom:0; width:0; height:1px;
  background:currentColor; transition:width .35s var(--ease), left .35s var(--ease);
}
.nav-links a:hover::after{ width:100%; left:0; }
.nav-right{ display:flex; align-items:center; gap:16px; }

.burger{ display:none; background:none; border:0; width:30px; height:22px; position:relative; }
.burger span{
  position:absolute; left:0; height:2px; width:100%; background:currentColor;
  transition:transform .35s var(--ease), top .35s var(--ease), opacity .3s;
}
.burger span:nth-child(1){ top:0; } .burger span:nth-child(2){ top:10px; } .burger span:nth-child(3){ top:20px; }
.burger.open span:nth-child(1){ top:10px; transform:rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ top:10px; transform:rotate(-45deg); }

/* 按钮 */
.btn{
  display:inline-flex; align-items:center; gap:14px;
  font-size:15px; letter-spacing:.14em; padding:13px 30px;
  transition:all .35s var(--ease); white-space:nowrap;
}
.btn-arrow{ font-size:18px; line-height:1; transition:transform .35s var(--ease); }
.btn:hover .btn-arrow{ transform:translateY(2px); }
.btn-primary{
  background:linear-gradient(160deg,#a8322b,#8a1f19); color:var(--cream);
  box-shadow:0 12px 26px -14px rgba(140,32,24,.65), inset 0 0 0 1px rgba(255,255,255,.12);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 18px 34px -16px rgba(140,32,24,.8); }
.btn-small{ padding:9px 22px; font-size:14px; }
.btn-ghost{
  color:var(--ink); border:1px solid rgba(34,28,20,.45);
  background:transparent;
}
.btn-ghost:hover{ background:rgba(34,28,20,.05); border-color:var(--ink); }

/* ============================================================
   Hero —— 简洁国风：宣纸底 · 超大「礼绎」主视觉
   ============================================================ */
.hero{
  position:relative; min-height:100vh; min-height:100svh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  overflow:hidden; color:var(--ink);
  background:
    radial-gradient(120% 90% at 50% -18%, #fffdf6 0%, rgba(255,253,246,0) 62%),
    linear-gradient(180deg, #fbf7ed 0%, #f7f0e2 46%, #f2e8d4 100%);
}
.hero-inner{
  position:relative; z-index:2; width:100%; max-width:1240px; margin:0 auto;
  padding:150px 28px 132px;
  display:flex; flex-direction:column; align-items:center;
}
.hero-eyebrow{
  font-size:12px; letter-spacing:.6em; text-indent:.6em;
  color:var(--gold); margin-bottom:46px;
}

/* 主视觉：礼绎 */
.hero-title{
  font-size:clamp(104px,22vw,252px);
  line-height:1.02; letter-spacing:.04em; text-indent:.04em;
  display:flex; justify-content:center; color:var(--ink);
}
.hero-title .hz{ display:inline-block; animation:heroIn 1.05s var(--ease) both; }
.hero-title .hz:last-child{ animation-delay:.16s; }
@keyframes heroIn{ from{ opacity:0; transform:translateY(52px) scale(.96); } to{ opacity:1; transform:none; } }

.hero-rule{ display:flex; align-items:center; gap:20px; margin:40px 0 26px; }
.hero-rule i{ width:clamp(52px,9vw,116px); height:1px; }
.hero-rule i:first-child{ background:linear-gradient(90deg,transparent,var(--red)); }
.hero-rule i:last-child{ background:linear-gradient(90deg,var(--red),transparent); }
.hero-rule b{ color:var(--red); font-size:9px; letter-spacing:0; }

.hero-sub{
  font-size:clamp(16px,1.9vw,21px); color:var(--ink-soft);
  letter-spacing:.22em; text-indent:.22em; line-height:2.15;
}
.hero-en{
  margin-top:22px; font-family:var(--serif);
  font-size:clamp(14px,1.7vw,18px); letter-spacing:.32em; text-indent:.32em;
  color:var(--red);
}
.hero-actions{ margin-top:42px; display:flex; gap:20px; flex-wrap:wrap; justify-content:center; }
.hero-sign{
  margin-top:40px; display:flex; flex-direction:column; align-items:center; gap:5px;
}
.hero-sign span{
  font-size:12px; letter-spacing:.24em; text-indent:.24em; color:var(--ink-soft);
  opacity:.82; white-space:nowrap;
}
.hero-sign::before{
  content:""; width:56px; height:1px; margin-bottom:8px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.scroll-cue{
  position:absolute; left:50%; bottom:42px; z-index:3; transform:translateX(-50%);
  width:26px; height:44px; border:1.5px solid rgba(34,28,20,.4); border-radius:14px;
  display:flex; justify-content:center;
}
.scroll-cue span{
  width:3px; height:9px; border-radius:3px; background:var(--red);
  margin-top:7px; animation:cue 1.8s ease-in-out infinite;
}
@keyframes cue{ 0%{ transform:translateY(0); opacity:1 } 60%{ transform:translateY(16px); opacity:0 } 100%{ opacity:0 } }

/* ============================================================
   走马灯
   ============================================================ */
.ticker{ background:linear-gradient(100deg,#8a1f19,#a8322b); color:var(--cream); overflow:hidden; border-block:1px solid rgba(247,240,227,.18); }
.ticker-track{ display:flex; width:max-content; animation:marquee 46s linear infinite; }
.ticker:hover .ticker-track{ animation-play-state:paused; }
.ticker-group{ display:flex; align-items:center; padding:15px 0; white-space:nowrap; }
.ticker-group span{ font-family:var(--serif); letter-spacing:.34em; font-size:15px; padding:0 10px; }
.ticker-group .dot{ color:var(--gold-bright); font-size:9px; padding:0 14px; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ============================================================
   章节通用
   ============================================================ */
.section{ padding:112px 28px; }
.section > *{ max-width:1240px; margin-left:auto; margin-right:auto; }
.section-head{ text-align:center; margin-bottom:72px; }
.kicker{
  font-size:13px; letter-spacing:.48em; color:var(--red);
  display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:18px;
}
.kicker::before,.kicker::after{ content:""; width:44px; height:1px; background:var(--line); }
.section-head h2{
  font-size:clamp(34px,4.6vw,54px); letter-spacing:.32em; text-indent:.32em;
  display:inline-block; position:relative; padding-bottom:26px;
}
.section-head h2::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:76px; height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.section-intro{ margin-top:26px; color:var(--ink-soft); font-size:16.5px; line-height:2.1; }
.section-intro b{ color:var(--red); font-weight:600; }

/* 深色章节 */
.section-ink{
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(168,50,43,.16), transparent 60%),
    radial-gradient(700px 420px at 5% 110%, rgba(200,164,94,.08), transparent 60%),
    #211a12;
  color:var(--cream);
}
.section-ink .section-intro{ color:rgba(233,219,190,.8); }
.section-ink .kicker::before,.section-ink .kicker::after{ background:var(--line-dark); }

/* 滚动显现 */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-title .hz{ animation:none; }
}

/* ============================================================
   关于礼绎
   ============================================================ */
.about-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:start;
}
.about-mark{
  border:1px solid var(--line); background:var(--cream);
  padding:34px 38px; position:relative; margin-bottom:30px;
  box-shadow:10px 12px 0 -4px var(--paper-2), 10px 12px 0 -3px var(--line);
}
.about-mark::before{
  content:"礼绎"; position:absolute; right:14px; top:10px;
  font-family:var(--serif); color:rgba(158,43,37,.1); font-size:52px; letter-spacing:.1em;
}
.about-brief{ font-family:var(--serif); font-size:19px; letter-spacing:.12em; line-height:2; }
.about-line{
  margin-top:12px; color:var(--red); letter-spacing:.3em; font-family:var(--serif); font-size:15px;
  display:flex; align-items:center; gap:14px;
}
.about-line::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg,var(--gold),transparent); }

.meaning-cards{ display:grid; gap:18px; }
.meaning-card{
  display:grid; grid-template-columns:86px 1fr; gap:22px; align-items:start;
  padding:24px 26px; background:var(--cream); border:1px solid var(--line);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.meaning-card:hover{ transform:translateY(-4px); box-shadow:var(--sh); }
.meaning-char{
  font-size:56px; line-height:1; text-align:center; color:var(--cream);
  background:linear-gradient(160deg,#a8322b,#7c1e19);
  width:86px; height:86px; display:flex; align-items:center; justify-content:center;
  box-shadow:inset 0 0 0 2px rgba(247,240,227,.8), inset 0 0 0 3px rgba(158,43,37,.9);
}
.meaning-card h3{ font-size:21px; letter-spacing:.2em; color:var(--red); }
.meaning-card p{ margin-top:8px; color:var(--ink-soft); font-size:14.5px; }

.about-right{ position:sticky; top:110px; }
.mission h3, .mission h3 span, .client-wall h3 span, .citygift-coop h3 span, .path h3 span{
  font-family:var(--sans); font-weight:400;
}
.mission h3{ font-size:20px; letter-spacing:.24em; display:flex; align-items:baseline; gap:14px; }
.mission h3 span{ font-size:11px; letter-spacing:.4em; color:var(--gold); }
.mission blockquote{
  margin:18px 0 8px; padding:18px 26px; border-left:3px solid var(--red);
  background:var(--cream); border:1px solid var(--line); border-left-color:var(--red);
  font-family:var(--serif); font-size:17.5px; letter-spacing:.06em; color:var(--ink);
}
.mission-list{ margin-top:20px; display:grid; gap:22px; }
.mission-list li{ padding-left:20px; position:relative; }
.mission-list li::before{ content:"◆"; position:absolute; left:0; top:4px; font-size:9px; color:var(--gold); }
.mission-list b{ font-family:var(--serif); font-weight:600; letter-spacing:.12em; font-size:16.5px; color:var(--red-dark); }
.mission-list p{ margin-top:4px; font-size:14.5px; color:var(--ink-soft); }

.stats{
  margin-top:34px; padding-top:26px; border-top:1px dashed var(--line);
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.stat{ text-align:center; }
.stat b{
  display:block; font-family:var(--serif);
  font-size:clamp(26px,3vw,40px); color:var(--red); line-height:1.2;
  font-variant-numeric:tabular-nums;
}
.stat span{ display:block; margin-top:6px; font-size:12.5px; color:var(--ink-soft); letter-spacing:.08em; line-height:1.7; }
.stat em{ display:block; font-size:10px; letter-spacing:.3em; color:var(--gold); margin-top:2px; }

/* ============================================================
   品牌内核
   ============================================================ */
.value-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.value-card{
  position:relative; padding:34px 28px 30px; overflow:hidden;
  background:linear-gradient(170deg, rgba(255,250,238,.06), rgba(255,250,238,.02));
  border:1px solid var(--line-dark);
  transition:transform .45s var(--ease), border-color .45s var(--ease), background .45s var(--ease);
}
.value-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease);
}
.value-card:hover{ transform:translateY(-6px); border-color:rgba(200,164,94,.5);
  background:linear-gradient(170deg, rgba(200,164,94,.1), rgba(255,250,238,.02)); }
.value-card:hover::before{ transform:scaleX(1); }
.value-no{
  position:absolute; right:14px; top:6px; font-size:64px; line-height:1;
  color:rgba(233,215,175,.1);
}
.value-card h3{ font-size:23px; letter-spacing:.3em; color:var(--gold-bright); margin-bottom:12px; }
.value-card p{ font-size:14.5px; color:rgba(233,219,190,.75); }

.vision{
  margin-top:8px; text-align:center; position:relative;
  padding:56px 30px 52px;
  border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);
}
.vision::before,.vision::after{
  content:""; position:absolute; left:50%; width:110px; height:10px;
  background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);
}
.vision::before{ top:-5px; } .vision::after{ bottom:-5px; }
.vision-en{ letter-spacing:.34em; font-size:12px; color:var(--gold); margin-bottom:18px; }
.vision h3{
  font-size:clamp(22px,3vw,34px); letter-spacing:.12em; color:var(--cream); line-height:1.9;
}
.vision-copy{ max-width:760px; margin:16px auto 0; color:rgba(233,219,190,.72); font-size:15px; }
.vision-slogan{
  margin-top:30px; font-family:var(--serif); font-size:clamp(18px,2.4vw,26px);
  letter-spacing:.5em; text-indent:.5em; color:var(--gold-bright);
}
.vision-slogan::before{ content:"◆ "; color:var(--red); font-size:.5em; vertical-align:middle; }

/* ============================================================
   业务体系
   ============================================================ */
.biz-block{ margin-bottom:110px; }
.biz-block:last-child{ margin-bottom:0; }
.biz-head{ display:grid; grid-template-columns:auto 1fr; gap:30px; align-items:start; margin-bottom:44px; }
.biz-no{
  font-family:var(--serif); font-size:clamp(46px,6vw,76px); line-height:.9; color:transparent;
  -webkit-text-stroke:1.5px rgba(158,43,37,.85);
}
.biz-head h3{ font-size:clamp(23px,2.8vw,31px); letter-spacing:.14em; }
.biz-head h3 .en{ font-family:var(--sans); font-size:12px; letter-spacing:.34em; color:var(--gold); margin-left:8px; font-weight:400; }
.biz-head p{ margin-top:12px; color:var(--ink-soft); font-size:15px; max-width:980px; }

.pillar-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.pillar{ background:var(--cream); border:1px solid var(--line); overflow:hidden;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.pillar:hover{ transform:translateY(-8px); box-shadow:var(--sh); }
.pillar-media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.pillar-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.pillar:hover .pillar-media img{ transform:scale(1.07); }
.pillar-tag{
  position:absolute; left:16px; top:16px; z-index:2;
  font-size:12px; letter-spacing:.22em; color:var(--cream);
  background:rgba(122,30,25,.92); padding:4px 14px;
  box-shadow:0 4px 14px -4px rgba(0,0,0,.4);
}
.pillar-body{ padding:24px 26px 28px; }
.pillar-body h4{ font-size:21px; letter-spacing:.16em; color:var(--red-dark); }
.pillar-body p{ margin-top:10px; font-size:14.5px; color:var(--ink-soft); }

.chain{ margin-top:56px; background:var(--paper-2); border:1px solid var(--line); padding:38px 34px; }
.chain-title{ font-family:var(--serif); font-size:19px; letter-spacing:.1em; text-align:center; }
.chain-title em{ display:block; font-size:12px; letter-spacing:.3em; color:var(--gold); margin-top:6px; }
.chain-steps{
  margin-top:30px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  counter-reset:step;
}
.chain-steps li{
  position:relative; padding:22px 20px 20px; background:var(--cream);
  border:1px solid var(--line); border-top:2px solid var(--red);
}
.chain-steps b{
  position:absolute; right:12px; top:8px; font-family:var(--serif);
  font-size:44px; line-height:1; color:rgba(158,43,37,.12);
}
.chain-steps i{ font-style:normal; font-size:10px; letter-spacing:.34em; color:var(--gold); }
.chain-steps h5{ margin-top:8px; font-size:18px; letter-spacing:.14em; }
.chain-steps p{ margin-top:8px; font-size:13.5px; color:var(--ink-soft); }

/* 横向项目带 */
.rail{
  overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:18px;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.rail::-webkit-scrollbar{ height:6px; } 
.rail::-webkit-scrollbar-thumb{ background:var(--line); border-radius:3px; }
.rail-track{ display:flex; gap:24px; width:max-content; padding:6px 2px; }
.rail-item{
  scroll-snap-align:start; flex:none; width:min(400px,84vw);
  background:var(--cream); border:1px solid var(--line); overflow:hidden;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.rail-item:hover{ transform:translateY(-6px); box-shadow:var(--sh); }
.rail-media{ height:230px; overflow:hidden; }
.rail-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.rail-item:hover .rail-media img{ transform:scale(1.07); }
.rail-item figcaption{ padding:18px 22px 22px; }
.rail-item h5{ font-size:17px; letter-spacing:.1em; }
.rail-item p{ margin-top:6px; font-size:13px; color:var(--ink-soft); }

/* 文化出海 */
.export-wrap{
  display:grid; grid-template-columns:1.15fr .85fr; gap:0;
  border:1px solid var(--line); background:var(--cream);
}
.export-media{ position:relative; min-height:340px; }
.export-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.export-caption{
  position:absolute; left:0; bottom:0; right:0;
  padding:34px 26px 14px; font-size:12px; letter-spacing:.3em; color:var(--cream);
  background:linear-gradient(0deg, rgba(20,14,8,.72), transparent);
}
.export-copy{ padding:46px 44px; display:flex; flex-direction:column; justify-content:center; }
.export-tag{ font-size:12px; letter-spacing:.3em; color:var(--red); }
.export-copy h4{ margin-top:12px; font-size:26px; letter-spacing:.1em; line-height:1.7; }
.export-copy > p{ margin-top:16px; font-size:14.5px; color:var(--ink-soft); }
.export-list{
  margin-top:26px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px;
}
.export-list li{
  border:1px solid var(--line); background:var(--paper);
  padding:10px 16px; display:flex; justify-content:space-between; align-items:baseline;
}
.export-list b{ font-family:var(--serif); letter-spacing:.12em; font-size:15px; }
.export-list span{ font-size:10px; letter-spacing:.16em; color:var(--gold); }

/* ============================================================
   标杆案例
   ============================================================ */
.filter-bar{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-bottom:52px; }
.chip{
  font-size:14px; letter-spacing:.14em; padding:9px 24px;
  color:rgba(233,219,190,.75); background:transparent;
  border:1px solid var(--line-dark); transition:all .3s var(--ease);
}
.chip:hover{ border-color:var(--gold-bright); color:var(--cream); }
.chip.active{
  background:linear-gradient(160deg,#a8322b,#7c1e19); color:var(--cream);
  border-color:transparent; box-shadow:0 10px 22px -12px rgba(168,50,43,.7);
}
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.case-card{
  background:linear-gradient(170deg, rgba(255,250,238,.05), rgba(255,250,238,.015));
  border:1px solid var(--line-dark); overflow:hidden;
  transition:transform .45s var(--ease), border-color .45s, box-shadow .45s;
}
.case-card:hover{ transform:translateY(-7px); border-color:rgba(200,164,94,.5); box-shadow:0 26px 60px -34px rgba(0,0,0,.85); }
.case-media{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.case-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(20,14,8,.34), transparent 46%);
  opacity:.75; transition:opacity .45s;
}
.case-card:hover .case-media::after{ opacity:.45; }
.case-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.case-card:hover .case-media img{ transform:scale(1.08); }
.case-info{ padding:22px 24px 26px; }
.case-tag{
  display:inline-block; font-size:11px; letter-spacing:.26em; color:var(--gold-bright);
  border:1px solid rgba(200,164,94,.4); padding:2px 12px; margin-bottom:12px;
}
.case-info h3{ font-size:18.5px; letter-spacing:.08em; line-height:1.7; }
.case-info p{ margin-top:8px; font-size:13.5px; color:rgba(233,219,190,.68); line-height:1.85; }
.case-card.hide{ display:none; }

/* ============================================================
   团队资源
   ============================================================ */
.strength-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-bottom:76px; }
.strength{
  position:relative; padding:40px 30px 34px; overflow:hidden;
  background:var(--cream); border:1px solid var(--line);
  box-shadow:8px 10px 0 -4px var(--paper-2), 8px 10px 0 -3px var(--line);
  transition:transform .45s var(--ease);
}
.strength:hover{ transform:translateY(-6px); }
.strength-no{
  position:absolute; right:18px; top:8px; font-size:64px; line-height:1;
  color:rgba(158,43,37,.09); font-family:var(--serif);
}
.strength h3{ font-size:23px; letter-spacing:.22em; color:var(--red); }
.strength-sub{ margin-top:6px; font-size:13px; letter-spacing:.14em; color:var(--gold); font-family:var(--sans); }
.strength > p:last-child{ margin-top:14px; font-size:14.5px; color:var(--ink-soft); }

.client-wall{ text-align:center; margin-bottom:76px; }
.client-wall h3{ font-size:20px; letter-spacing:.24em; display:inline-flex; align-items:baseline; gap:14px; }
.client-wall h3 span{ font-size:11px; letter-spacing:.4em; color:var(--gold); }
.client-marquee{ overflow:hidden; margin-top:26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.client-track{ display:flex; width:max-content; animation:marquee 60s linear infinite; }
.client-group{ display:flex; flex-wrap:nowrap; }
.client-group span{
  font-family:var(--serif); font-size:17px; letter-spacing:.14em; color:var(--ink-soft);
  padding:14px 30px; margin:0 8px; white-space:nowrap;
  border:1px solid var(--line); background:var(--cream);
}
.client-group span:hover{ color:var(--red); border-color:var(--red); }
.client-marquee:hover .client-track{ animation-play-state:paused; }

.res-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.res-card{
  padding:34px 30px; border:1px solid var(--line); background:linear-gradient(165deg,var(--cream),var(--paper));
  position:relative; overflow:hidden;
}
.res-card::before{
  content:""; position:absolute; top:0; bottom:0; left:0; width:3px;
  background:linear-gradient(180deg,var(--red),var(--gold));
}
.res-card h3{ font-size:20px; letter-spacing:.2em; color:var(--red-dark); }
.res-card p{ margin-top:12px; font-size:14.5px; color:var(--ink-soft); }
.res-card b{ color:var(--red); font-weight:600; }

.honor-band{ margin-top:88px; border-top:1px solid var(--line); padding-top:34px; }
.honor-title{
  text-align:center; font-family:var(--serif); font-size:19px; letter-spacing:.2em; margin-bottom:8px;
}
.honor-title em{ display:block; font-size:11px; letter-spacing:.42em; color:var(--gold); margin-top:6px; }
.honor-marquee{ overflow:hidden; margin-top:20px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.honor-track{ display:flex; width:max-content; animation:marquee 52s linear infinite; }
.honor-track:hover{ animation-play-state:paused; }
.honor-group{ display:flex; }
.honor-group span{
  font-family:var(--serif); font-size:15px; letter-spacing:.08em; color:var(--ink-soft);
  white-space:nowrap; padding:10px 26px; position:relative;
}
.honor-group span:not(:last-child)::after{ content:"❖"; position:absolute; right:-2px; top:12px; font-size:9px; color:var(--gold); }
.honor-group b{ color:var(--red); font-weight:600; margin-left:4px; }

/* ============================================================
   合作模式（深色）
   ============================================================ */
.coop-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.coop-card{
  position:relative; padding:0; background:rgba(255,250,238,.04);
  border:1px solid var(--line-dark); overflow:hidden;
  transition:transform .45s var(--ease), border-color .45s;
}
.coop-card:hover{ transform:translateY(-7px); border-color:rgba(200,164,94,.55); }
.coop-card.coop-featured{
  background:linear-gradient(175deg, rgba(168,50,43,.16), rgba(255,250,238,.04));
  border-color:rgba(168,50,43,.6);
}
.coop-top{
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 26px; border-bottom:1px solid var(--line-dark);
  background:rgba(255,250,238,.03);
}
.coop-no{ font-family:var(--serif); font-size:15px; color:var(--gold); letter-spacing:.2em; }
.coop-type{ font-family:var(--serif); font-size:22px; letter-spacing:.22em; color:var(--cream); }
.coop-featured .coop-type{ color:var(--gold-bright); }
.coop-card dl{ padding:22px 26px 26px; display:grid; gap:18px; }
.coop-card dl div{ padding-left:14px; border-left:2px solid rgba(200,164,94,.4); }
.coop-card dt{
  font-size:12px; letter-spacing:.3em; color:var(--gold);
  margin-bottom:6px;
}
.coop-card dd{ font-size:13.5px; color:rgba(233,219,190,.78); line-height:1.9; }
.coop-featured dl div{ border-left-color:var(--red); }

.citygift-coop{ margin-top:84px; }
.citygift-coop h3, .path h3{
  text-align:center; font-size:21px; letter-spacing:.2em;
  display:flex; flex-direction:column; gap:8px;
}
.citygift-coop h3 span, .path h3 span{
  font-size:11px; letter-spacing:.4em; color:var(--gold); font-family:var(--sans);
}
.coop-chips{ margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.coop-chip{
  padding:26px 26px 24px; border:1px solid var(--line-dark);
  background:rgba(255,250,238,.04);
  transition:all .4s var(--ease);
}
.coop-chip:hover{ border-color:var(--gold-bright); transform:translateY(-4px); }
.coop-chip b{ font-family:var(--serif); font-size:19px; letter-spacing:.18em; color:var(--gold-bright); }
.coop-chip p{ margin-top:12px; font-size:13.5px; color:rgba(233,219,190,.75); }

.path{ margin-top:88px; }
.path-steps{
  margin-top:40px; display:grid; grid-template-columns:repeat(5,1fr); gap:16px;
  position:relative;
}
.path-steps::before{
  content:""; position:absolute; top:22px; left:6%; right:6%; height:1px;
  background:linear-gradient(90deg,var(--line-dark),rgba(200,164,94,.6),var(--line-dark));
}
.path-steps li{ position:relative; text-align:center; padding:0 10px; }
.path-steps b{
  position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  font-family:var(--serif); font-size:15px; color:var(--ink);
  background:linear-gradient(160deg,var(--gold-bright),var(--gold));
  box-shadow:0 0 0 5px #211a12, 0 0 0 6px rgba(200,164,94,.5);
}
.path-steps h5{ margin-top:16px; font-size:17px; letter-spacing:.14em; color:var(--cream); }
.path-steps li > p{ font-size:12px; letter-spacing:.1em; color:var(--gold); margin-top:2px; }
.path-steps li > span{ display:block; margin-top:10px; font-size:12.5px; color:rgba(233,219,190,.65); line-height:1.85; }

/* ============================================================
   联系我们
   ============================================================ */
.contact-grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:56px; align-items:start; }
.contact-brand{ display:flex; gap:18px; align-items:center; }
.contact-brand .seal{ width:58px; height:58px; font-size:32px; }
.contact-brand b{ font-family:var(--serif); font-size:19px; letter-spacing:.1em; }
.contact-brand p{ font-size:11px; letter-spacing:.3em; color:var(--gold); margin-top:4px; }
.contact-list{ margin-top:34px; display:grid; gap:20px; }
.contact-list li{ display:grid; grid-template-columns:96px 1fr; gap:18px; align-items:start;
  padding-bottom:18px; border-bottom:1px dashed var(--line); }
.contact-list .ci{ font-family:var(--serif); color:var(--red); letter-spacing:.26em; font-size:14px; padding-top:2px; }
.contact-list p{ font-size:15px; color:var(--ink-soft); }
.contact-list em{ display:block; font-size:12px; color:#9a8a6e; margin-top:4px; }
.contact-note{
  margin-top:24px; padding:16px 20px; font-size:13.5px; color:var(--ink-soft);
  background:var(--paper-2); border-left:3px solid var(--gold);
}

.contact-form{
  background:var(--cream); border:1px solid var(--line); padding:42px 40px 36px;
  box-shadow:14px 16px 0 -6px var(--paper-2), 14px 16px 0 -5px var(--line);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label{
  display:block; font-size:13px; letter-spacing:.16em; color:var(--ink-soft);
  margin-bottom:18px;
}
.contact-form input, .contact-form select, .contact-form textarea{
  display:block; width:100%; margin-top:8px;
  font-family:var(--sans); font-size:15px; color:var(--ink);
  background:var(--paper); border:1px solid var(--line);
  padding:11px 14px; outline:none; transition:border-color .3s, box-shadow .3s;
  border-radius:0;
}
.contact-form textarea{ resize:vertical; min-height:110px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{
  border-color:var(--red); box-shadow:0 0 0 3px rgba(158,43,37,.12);
}
.form-foot{ display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.form-hint{ font-size:12px; color:#9a8a6e; }
.form-ok{
  margin-top:18px; padding:14px 18px; color:#3f5c33; background:#edf3e4;
  border:1px solid #c4d4b2; font-size:14px; letter-spacing:.06em;
}

/* ============================================================
   页脚
   ============================================================ */
.site-footer{ background:#19130d; color:rgba(246,240,227,.85); }
.footer-inner{
  max-width:1240px; margin:0 auto; padding:64px 28px 40px;
  display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; align-items:flex-start;
}
.footer-brand{ display:flex; gap:16px; align-items:center; }
.footer-brand .seal{ width:52px; height:52px; font-size:29px; }
.footer-brand b{ font-family:var(--serif); font-size:22px; letter-spacing:.2em; }
.footer-brand p{ font-size:12px; letter-spacing:.2em; color:var(--gold-bright); margin-top:6px; }
.footer-nav{ display:flex; flex-wrap:wrap; gap:8px 26px; }
.footer-nav a{ font-size:14px; letter-spacing:.1em; color:rgba(246,240,227,.75); transition:color .3s; }
.footer-nav a:hover{ color:var(--gold-bright); }
.footer-slogan{
  font-family:var(--serif); letter-spacing:.18em; font-size:14px; color:var(--gold);
  text-align:right; line-height:2; padding-top:8px;
}
.footer-legal{
  border-top:1px solid rgba(246,240,227,.12);
  padding:20px 28px; text-align:center;
}
.footer-legal p{ font-size:12px; letter-spacing:.12em; color:rgba(246,240,227,.5); }
.footer-legal p + p{ margin-top:4px; }

/* 返回顶部 */
.to-top{
  position:fixed; right:26px; bottom:30px; z-index:90;
  width:48px; height:48px; border-radius:50%;
  border:1px solid var(--line); background:var(--cream); color:var(--red);
  font-size:20px; box-shadow:var(--sh);
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:all .4s var(--ease);
}
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ background:var(--red); color:var(--cream); border-color:var(--red); }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1080px){
  .about-grid{ grid-template-columns:1fr; gap:46px; }
  .about-right{ position:static; }
  .value-grid{ grid-template-columns:repeat(2,1fr); }
  .pillar-grid{ grid-template-columns:1fr 1fr; }
  .pillar:last-child{ grid-column:1/-1; }
  .chain-steps{ grid-template-columns:repeat(2,1fr); }
  .case-grid{ grid-template-columns:repeat(2,1fr); }
  .coop-grid{ grid-template-columns:1fr; max-width:760px; margin:0 auto; }
  .contact-grid{ grid-template-columns:1fr; }
  .strength-grid{ grid-template-columns:repeat(2,1fr); }
  .strength:last-child{ grid-column:1/-1; }
  .res-grid{ grid-template-columns:1fr; }
  .path-steps{ grid-template-columns:repeat(3,1fr); row-gap:40px; }
  .path-steps::before{ display:none; }
}
@media (max-width:860px){
  .nav-links{
    position:fixed; inset:0 0 0 auto; width:min(78vw,340px); z-index:99;
    flex-direction:column; gap:0; padding:110px 40px 40px;
    background:rgba(247,241,229,.98); color:var(--ink);
    transform:translateX(100%); transition:transform .5s var(--ease);
    box-shadow:-30px 0 60px -30px rgba(0,0,0,.4);
  }
  .nav-links.open{ transform:none; }
  .nav-links a{ padding:16px 0; font-size:18px; letter-spacing:.2em; border-bottom:1px solid var(--line); }
  .burger{ display:block; color:currentColor; }
  .biz-head{ grid-template-columns:1fr; gap:14px; }
  .biz-no{ font-size:52px; }
  .export-wrap{ grid-template-columns:1fr; }
  .export-media{ min-height:300px; }
  .pillar-grid{ grid-template-columns:1fr; }
  .pillar:last-child{ grid-column:auto; }
  .stats{ grid-template-columns:repeat(2,1fr); row-gap:24px; }
  .coop-chips{ grid-template-columns:1fr; }
  .section{ padding:88px 22px; }
  .form-row{ grid-template-columns:1fr; }
  .hero-inner{ padding-top:146px; padding-bottom:110px; }
}
@media (max-width:620px){
  .value-grid, .strength-grid, .case-grid{ grid-template-columns:1fr; }
  .strength:last-child{ grid-column:auto; }
  .chain-steps{ grid-template-columns:1fr; }
  .hero-title{ font-size:clamp(84px,26vw,160px); }
  .hero-eyebrow{ letter-spacing:.36em; text-indent:.36em; font-size:11px; margin-bottom:34px; }
  .hero-rule{ margin:28px 0 18px; }
  .hero-en{ letter-spacing:.3em; text-indent:.3em; }
  .meaning-card{ grid-template-columns:1fr; }
  .meaning-char{ width:70px; height:70px; font-size:46px; }
  .path-steps{ grid-template-columns:1fr 1fr; }
  .contact-form{ padding:30px 22px 26px; }
  .footer-inner{ flex-direction:column; }
  .footer-slogan{ text-align:left; }
  .hero-actions .btn{ width:100%; justify-content:center; }
}

/* ===== 修订：关于礼绎（精简重排） ===== */
#about .about-grid{ align-items:center; }
#about .about-right{ position:static; }
#about .stats{ margin-top:0; border-top:none; padding-top:0; grid-template-columns:repeat(2,1fr); gap:36px 24px; }
#about .stat b{ font-size:clamp(28px,2.6vw,44px); }
/* ===== 修订：合作模式（存量盘活 / 产业升规 / 在地城市IP） ===== */
.coop-copy{ padding:26px 28px 30px; }
.coop-copy h4{
  font-family:var(--serif); font-size:21px; letter-spacing:.24em;
  color:var(--gold-bright); padding-left:14px; border-left:3px solid var(--red);
  margin-bottom:16px;
}
.coop-copy p{ margin-top:10px; font-size:14px; line-height:2.05; color:rgba(233,219,190,.82); text-align:justify; }

/* ===== 关于礼绎 · 全新版式 ===== */
#about .section-head{ margin-bottom:8px; }
.about-lead{
  display:flex; align-items:center; justify-content:center; gap:clamp(20px,4vw,60px);
  margin:44px 0 84px; text-align:center;
}
.about-lead-rule{ flex:none; width:clamp(46px,9vw,120px); height:1px; }
.about-lead-rule:first-child{ background:linear-gradient(90deg,transparent,var(--gold)); }
.about-lead-rule:last-child{ background:linear-gradient(90deg,var(--gold),transparent); }
.about-lead-text{
  font-family:var(--serif); font-size:clamp(26px,3.6vw,44px); font-weight:600;
  letter-spacing:.2em; white-space:nowrap; color:var(--ink);
}
.about-lead-sub{ margin-top:10px; font-family:var(--serif); font-size:13px; letter-spacing:.5em; text-indent:.5em; color:var(--red); }

.about-cols{ display:grid; grid-template-columns:1.08fr .92fr; gap:30px; align-items:stretch; }
.about-panel{
  position:relative; overflow:hidden;
  background:var(--cream); border:1px solid var(--line);
  padding:44px 42px 46px;
  box-shadow:10px 12px 0 -8px var(--paper-2), 10px 12px 0 -7px var(--line);
  transition:transform .45s var(--ease);
}
.about-panel:hover{ transform:translateY(-4px); }
.about-panel::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--red) 0 40%, var(--gold) 40% 62%, transparent 62%);
}
.panel-eyebrow{ font-size:11px; letter-spacing:.46em; color:var(--gold); }
.about-panel h3{ margin-top:8px; font-family:var(--serif); font-size:24px; letter-spacing:.22em; color:var(--ink); }
.panel-slogan{
  margin-top:20px; padding:16px 22px;
  border:1px solid var(--line); border-left:3px solid var(--red);
  background:var(--paper);
  font-family:var(--serif); font-size:17px; letter-spacing:.06em; color:var(--red-dark);
}
.panel-list{ margin-top:22px; }
.panel-list li{ padding:22px 0 20px; border-top:1px dashed var(--line); }
.panel-list b{ font-size:11px; letter-spacing:.28em; color:var(--gold); font-weight:600; }
.panel-list h4{ margin-top:7px; font-family:var(--serif); font-size:19px; letter-spacing:.12em; color:var(--ink); }
.panel-list p{ margin-top:9px; font-size:14px; line-height:2; color:var(--ink-soft); }

.about-panel-stats{ display:flex; flex-direction:column; }
.about-panel-stats .stats{
  flex:1; margin-top:34px; padding-top:0; border-top:none;
  grid-template-columns:repeat(2,1fr); gap:40px 20px; align-content:center;
}
.about-panel-stats .stat b{ font-size:clamp(30px,3vw,46px); }
.panel-foot{
  margin-top:34px; padding-top:20px; border-top:1px solid var(--line);
  font-size:13.5px; line-height:2; color:var(--ink-soft); text-align:justify;
}
@media (max-width:1080px){
  .about-cols{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  .about-lead{ gap:14px; margin:34px 0 56px; }
  .about-lead-rule{ display:none; }
  .about-panel{ padding:30px 22px 32px; }
}

/* ===== 业务 · 城市礼物定位块 ===== */
.biz-position {
  margin-top: 26px;
  padding: 22px 26px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-left: 3px solid var(--red);
}
.bp-title {
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: .2em;
  color: var(--red-deep);
}
.bp-copy { margin-top: 10px; font-size: 14.5px; color: var(--ink-soft); line-height: 2; }

/* ===== 城市礼物 · 策展 + 新零售 详解 ===== */
.cg-duo{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:30px; }
.cg-card{
  background:var(--cream); border:1px solid var(--line); padding:34px 32px 32px;
  border-top:3px solid var(--red); position:relative;
  box-shadow:8px 10px 0 -6px var(--paper-2), 8px 10px 0 -5px var(--line);
}
.cg-kicker{ font-family:var(--serif); font-size:22px; letter-spacing:.28em; color:var(--red-deep); }
.cg-card h4{ margin-top:10px; font-size:19px; letter-spacing:.14em; color:var(--ink); }
.cg-card p{ margin-top:12px; font-size:14.5px; line-height:2.05; color:var(--ink-soft); }

.cg-case{
  margin-top:56px; padding:44px 42px 40px;
  background:var(--cream); border:1px solid var(--line); position:relative;
}
.cg-case::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,var(--red),var(--gold));
}
.cg-eyebrow{ font-size:12px; letter-spacing:.42em; color:var(--gold); }
.cg-title{ margin-top:12px; font-family:var(--serif); font-size:clamp(22px,2.4vw,28px); letter-spacing:.12em; color:var(--red-deep); }
.cg-desc{ margin-top:14px; font-size:15px; line-height:2.05; color:var(--ink-soft); }
.cg-list{ margin-top:22px; display:grid; gap:14px; }
.cg-list li{ display:grid; grid-template-columns:110px 1fr; gap:16px; align-items:start;
  padding-top:14px; border-top:1px dashed var(--line); }
.cg-list li:first-child{ padding-top:0; border-top:0; }
.cg-list b{ font-family:var(--serif); font-weight:600; letter-spacing:.14em; color:var(--red); font-size:15px; }
.cg-list span{ font-size:14.5px; color:var(--ink-soft); line-height:2; }
.cg-tags{ margin-top:24px; display:flex; flex-wrap:wrap; }
.cg-tags span{
  font-size:12.5px; letter-spacing:.18em; color:var(--red-deep);
  border:1px solid var(--line); background:var(--paper);
  padding:6px 18px; margin:0 12px 10px 0;
}
@media (max-width:860px){
  .cg-duo{ grid-template-columns:1fr; }
  .cg-case{ padding:30px 22px 28px; }
  .cg-list li{ grid-template-columns:1fr; gap:6px; }
}
