/* ── Reveal ── */
.reveal   { opacity: 0; transform: translateY(28px);  transition: opacity .8s ease, transform .8s ease; }
.reveal-l { opacity: 0; transform: translateX(-28px); transition: opacity .8s ease, transform .8s ease; }
.reveal-r { opacity: 0; transform: translateX(28px);  transition: opacity .8s ease, transform .8s ease; }
.reveal.in, .reveal.visible     { opacity: 1 !important; transform: translateY(0) !important; }
.reveal-l.in, .reveal-l.visible { opacity: 1 !important; transform: translateX(0) !important; }
.reveal-r.in, .reveal-r.visible { opacity: 1 !important; transform: translateX(0) !important; }

/* ── Article Hero ── */
.article-hero {
  min-height: 50vh; padding-top: 76px; position: relative;
  display: flex; align-items: center; background: var(--ink, #1C1912);
}
.article-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 60% 30%, rgba(184,149,74,0.18) 0%, transparent 60%),
    linear-gradient(to bottom, rgba(28,25,18,0.3) 0%, rgba(28,25,18,0.85) 100%),
    #1C1912;
  background-size: cover; background-position: center;
}
/* 有封面图时加半透明遮罩 */
.article-hero-bg[style*="background-image"]::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(28,25,18,0.55) 0%, rgba(28,25,18,0.80) 100%);
}
.article-hero-art {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  opacity: 0.12; pointer-events: none;
}
.article-hero-content {
  position: relative; z-index: 2; width: 100%; padding: 48px 64px;
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.ah-breadcrumb {
  display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 28px;
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(184,149,74,0.6);
}
.ah-breadcrumb a { color: rgba(184,149,74,0.4); text-decoration: none; }
.ah-meta {
  display: flex; align-items: center; justify-content: center;
  gap: 14px; margin-bottom: 24px; flex-wrap: wrap;
}
.ah-category {
  font-size: 9px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600;
  padding: 4px 12px; border: 1px solid;
}
.cat-trends    { color: #B49BE0; border-color: rgba(123,94,167,0.5); background: rgba(123,94,167,0.1); }
.cat-design    { color: #8A6D2F; border-color: rgba(138,109,47,0.5); background: rgba(138,109,47,0.08); }
.cat-project   { color: #4A9B78; border-color: rgba(58,110,90,0.5);  background: rgba(58,110,90,0.08); }
.cat-exhibition{ color: #D4785A; border-color: rgba(184,92,56,0.5);  background: rgba(184,92,56,0.08); }
.ah-date, .ah-read { font-size: 12px; color: rgba(249,245,238,0.5); }
.ah-sep { color: rgba(184,149,74,0.3); }
.ah-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(32px, 3.6vw, 56px); font-weight: 300;
  color: #F9F5EE; line-height: 1.18; margin-bottom: 28px; max-width: 900px; width: 100%;
}
.ah-title em { font-style: italic; color: #D4B06A; }
.ah-rule { width: 48px; height: 1px; background: #B8954A; margin-bottom: 24px; }
.ah-excerpt {
  font-size: 15px; line-height: 1.8; color: rgba(249,245,238,0.55);
  max-width: 580px; font-style: italic; font-family: 'Cormorant Garamond', serif;
}

/* ── Article Layout ── */
.article-layout-wrap { padding: 80px 64px 0; max-width: 1120px; margin: 0 auto; }
.article-layout { display: grid; grid-template-columns: 1fr 280px; gap: 48px; align-items: start; }

/* ── Article Body ── */
.article-body { min-width: 0; }
.article-body h2 {
  font-family: 'Cormorant Garamond', serif; font-size: 28px; font-weight: 400;
  color: #1C1912; margin: 48px 0 18px; line-height: 1.25;
  padding-bottom: 12px; border-bottom: 1px solid rgba(184,149,74,0.2);
}
.article-body h3 {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 400;
  color: #3D3828; margin: 32px 0 12px; line-height: 1.3;
}
.article-body p { font-size: 15px; line-height: 1.85; color: #6B6250; margin-bottom: 22px; font-weight: 300; }
.article-body strong { color: #1C1912; font-weight: 500; }
/* 文章内链接使用品牌金色 */
.article-body a { color: #8A6D2F; text-decoration: underline; text-underline-offset: 2px; }
.article-body a:hover { color: #B8954A; }
.article-body a:visited { color: #8A6D2F !important; }
.article-body blockquote,
.article-blockquote {
  border-left: 3px solid #B8954A; margin: 40px 0;
  padding: 24px 32px; background: #F2EDE2;
}
.article-body blockquote p,
.article-blockquote p {
  font-family: 'Cormorant Garamond', serif; font-size: 22px; font-style: italic;
  color: #1C1912; line-height: 1.5; margin-bottom: 12px;
}
.article-body blockquote cite,
.article-blockquote cite { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #A09880; }
.article-body img { max-width: 100%; height: auto; margin: 32px 0; display: block; }
.article-body figure { margin: 40px 0; }
.article-body figcaption {
  font-size: 12px; color: #A09880; margin-top: 12px;
  padding-left: 16px; border-left: 2px solid rgba(184,149,74,0.3); line-height: 1.6;
}
.article-divider { width: 60px; height: 1px; background: #B8954A; margin: 48px 0; }

/* Tags */
.article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 48px 0 32px; }
.article-tag {
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 6px 14px; border: 1px solid rgba(184,149,74,0.3);
  color: #6B6250; background: transparent; text-decoration: none; transition: all .2s;
}
.article-tag:hover { border-color: #B8954A; color: #8A6D2F; }

/* Share bar */
.article-share {
  display: flex; align-items: center; gap: 12px; padding: 24px 0;
  border-top: 1px solid rgba(184,149,74,0.15); border-bottom: 1px solid rgba(184,149,74,0.15);
  margin-bottom: 32px; flex-wrap: wrap;
}
.share-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #A09880; margin-right: 4px; }
.share-btn {
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 7px 16px; border: 1px solid rgba(184,149,74,0.3); color: #6B6250;
  background: transparent; cursor: pointer; font-family: 'Jost', sans-serif; transition: all .2s;
  text-decoration: none;
}
.share-btn:hover { border-color: #B8954A; color: #8A6D2F; }

/* ── Sidebar ── */
.article-sidebar { position: sticky; top: calc(76px + 32px); }

/* Author box (sidebar) */
.article-sidebar .author-box {
  background: #F2EDE2; padding: 20px; border: 1px solid rgba(184,149,74,0.15);
  margin-bottom: 24px;
}
.author-avatar img { width: 48px; height: 48px; border-radius: 50%; display: block; }
.author-avatar { width: 48px; height: 48px; background: #D4B06A; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: 'Cormorant Garamond', serif; font-size: 20px; color: #fff; }
.author-name { font-family: 'Cormorant Garamond', serif; font-size: 16px; font-weight: 500; color: #1C1912; margin-bottom: 4px; }
.author-bio  { font-size: 12px; line-height: 1.6; color: #6B6250; }

.toc-widget {
  background: #F2EDE2; border: 1px solid rgba(184,149,74,0.2);
  padding: 24px; margin-bottom: 24px;
}
.toc-header { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #B8954A; margin-bottom: 16px; }
.toc-list { list-style: none; padding: 0; margin: 0; }
.toc-list li { margin-bottom: 10px; }
.toc-list a {
  font-size: 13px; color: #6B6250; text-decoration: none;
  display: flex; align-items: flex-start; gap: 8px; line-height: 1.4; transition: color .2s;
}
.toc-list a:hover, .toc-list a.active { color: #B8954A; }
.toc-list a.active { font-weight: 500; }
.toc-num { font-family: 'Cormorant Garamond', serif; font-size: 14px; color: #E8D5A8; flex-shrink: 0; margin-top: 1px; }

.series-widget { margin-bottom: 24px; }
.series-widget-h {
  font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #B8954A;
  margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(184,149,74,0.25);
}
.series-item {
  display: flex; gap: 12px; margin-bottom: 12px; align-items: center;
  cursor: pointer; text-decoration: none;
}
.series-item:visited { color: inherit; }
.series-item-img {
  width: 56px; height: 42px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.series-item-img img { width: 100%; height: 100%; object-fit: cover; }
.series-item-name { font-family: 'Cormorant Garamond', serif; font-size: 15px; color: #1C1912; margin-bottom: 2px; }
.series-item-sub  { font-size: 11px; color: #A09880; }

.inq-card {
  background: #1C1912; padding: 28px; position: relative; overflow: hidden;
}
.inq-card::after {
  content: ''; position: absolute; bottom: -30px; right: -30px;
  width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(184,149,74,0.2) 0%, transparent 70%);
}
.inq-card-eyebrow { font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: #B8954A; margin-bottom: 12px; }
.inq-card-title   { font-family: 'Cormorant Garamond', serif; font-size: 20px; color: #F9F5EE; font-weight: 300; line-height: 1.4; margin-bottom: 12px; }
.inq-card-sub     { font-size: 12px; color: rgba(249,245,238,0.5); line-height: 1.65; margin-bottom: 20px; }
.inq-card-btn {
  display: block; background: #B8954A; color: #fff !important;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  padding: 12px 20px; text-decoration: none; font-weight: 500;
  text-align: center; transition: background .3s;
}
.inq-card-btn:hover { background: #8A6D2F; color: #fff !important; }
.inq-card-btn:visited { color: #fff !important; }

/* ── Related Articles ── */
.related-section { padding: 80px 64px; background: #F2EDE2; border-top: 1px solid rgba(184,149,74,0.15); margin-top: 80px; }
.related-h   { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 300; color: #1C1912; margin-bottom: 8px; }
.related-sub { font-size: 13px; color: #A09880; margin-bottom: 48px; }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: 1200px; margin: 0 auto; }
.related-card {
  background: #F9F5EE; border: 1px solid rgba(184,149,74,0.12);
  overflow: hidden; cursor: pointer; text-decoration: none;
  transition: transform .3s, box-shadow .3s; display: block;
}
.related-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(28,25,18,0.1); }
.related-card-img {
  width: 100%; aspect-ratio: 16/9; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.related-card-img img { width: 100%; height: 100%; object-fit: cover; }
.related-card-body { padding: 22px; }
.related-card-cat   { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: #B8954A; margin-bottom: 8px; }
.related-card-title { font-family: 'Cormorant Garamond', serif; font-size: 18px; color: #1C1912; line-height: 1.4; margin-bottom: 8px; }
.related-card-date  { font-size: 11px; color: #A09880; }
.pl-chandelier-1 { background: linear-gradient(135deg,#2A2210 0%,#1C1912 100%); }
.pl-chandelier-2 { background: linear-gradient(135deg,#1E2A1C 0%,#1C1912 100%); }
.pl-chandelier-3 { background: linear-gradient(135deg,#221C2A 0%,#1C1912 100%); }
.pl-chandelier-4 { background: linear-gradient(135deg,#2A1E1C 0%,#1C1912 100%); }

/* ── CTA Banner ── */
.cta-banner { padding: 100px 64px; background: #1C1912; position: relative; overflow: hidden; text-align: center; }
.cta-banner-bg { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(184,149,74,0.15) 0%, transparent 65%); }
.cta-banner-content { position: relative; z-index: 2; }
.cta-banner-eyebrow { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #B8954A; margin-bottom: 20px; }
.cta-banner-title   { font-family: 'Cormorant Garamond', serif; font-size: clamp(36px,4vw,60px); font-weight: 300; color: #F9F5EE; line-height: 1.15; margin-bottom: 16px; }
.cta-banner-title em { font-style: italic; color: #D4B06A; }
.cta-banner-sub  { font-size: 15px; color: rgba(249,245,238,0.5); max-width: 500px; margin: 0 auto 40px; line-height: 1.7; }
.cta-banner-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cta-btn-primary {
  background: #B8954A; color: #fff !important; padding: 16px 40px;
  font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
  border: none; cursor: pointer; font-family: 'Jost', sans-serif;
  transition: background .3s; text-decoration: none; display: inline-block;
}
.cta-btn-primary:hover { background: #8A6D2F; color: #fff !important; }
.cta-btn-primary:visited { color: #fff !important; }
.cta-btn-outline {
  background: transparent; color: #F9F5EE !important; padding: 16px 40px;
  font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
  border: 1px solid rgba(249,245,238,0.3); cursor: pointer; font-family: 'Jost', sans-serif;
  transition: all .3s; text-decoration: none; display: inline-block;
}
.cta-btn-outline:hover { border-color: #B8954A; color: #D4B06A !important; }
.cta-btn-outline:visited { color: #F9F5EE !important; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .article-layout-wrap { max-width: 100%; }
  .article-layout { grid-template-columns: 1fr 240px; gap: 36px; }
  .related-grid   { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .article-layout-wrap { padding: 48px 24px 0; }
  .article-layout      { grid-template-columns: 1fr; }
  .article-sidebar     { position: static; margin-top: 48px; }
  .article-hero-content { padding: 40px 24px; }
  .related-section { padding: 48px 24px; }
  .related-grid    { grid-template-columns: 1fr; }
  .cta-banner      { padding: 64px 24px; }
}
