
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Nunito:wght@300;400;500;600;700&display=swap');

/* === 1. 设计变量 === */
body.skin-aurora {
  --cream: #F5E6C8;
  --sepia: #D4A574;
  --teal: #4A7B7C;
  --pink: #E8B4B8;
  --dark: #2C1A0E;
  --muted: #7A5C3A;
  --surface-glass: rgba(245,230,200,0.48);
  --border-warm: rgba(212,165,116,0.32);
  --shadow-warm: 0 2px 8px rgba(44,26,14,.07),0 12px 40px rgba(44,26,14,.11);
  --sepia-amount: 0.2;
  --grain-opacity: 0.14;
  --light-leak-color: rgba(255,200,100,0.2);
  --warm-tint: #F5E6C8;
  --brand: var(--sepia);
  --brand2: var(--teal);
  --bg: var(--cream);
  --fg: var(--dark);
  --surface: rgba(245,230,200,0.6);
  --border: var(--border-warm);
  --radius: 10px;
  --maxw: 1160px;
  --font-head: 'Fredoka', 'Nunito', sans-serif;
  --font-body: 'Nunito', sans-serif;
  --navh: 68px;
  /* z-index 层级 */
  --z-grain: 110;
  --z-light-leak: 109;
  --z-nav: 100;
  --z-anchor: 90;
  scroll-behavior: smooth;
}

/* === 2. Film grain 胶片颗粒（固定层）=== */
body.skin-aurora::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: var(--z-grain);
  opacity: var(--grain-opacity);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='1'/%3E%3C/svg%3E");
  background-size: 300px 300px;
  mix-blend-mode: multiply;
}

/* === 3. Light leaks 光晕渗透（固定层）=== */
body.skin-aurora::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: var(--z-light-leak);
  background:
    radial-gradient(ellipse 700px 500px at -5% -5%, rgba(255,210,120,.22) 0%, transparent 60%),
    radial-gradient(ellipse 380px 280px at 105% 97%, rgba(255,128,80,.13) 0%, transparent 60%);
}

/* === 4. 基础 & 排版 === */
body.skin-aurora {
  margin: 0;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.72;
  color: var(--fg);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
}
body.skin-aurora *,
body.skin-aurora *::before,
body.skin-aurora *::after { box-sizing: border-box; }
body.skin-aurora img { max-width: 100%; height: auto; display: block; }
body.skin-aurora a { color: var(--teal); text-decoration: none; }
body.skin-aurora a:hover { color: var(--sepia); }
body.skin-aurora h1,
body.skin-aurora h2,
body.skin-aurora h3 {
  font-family: var(--font-head);
  line-height: 1.22;
  letter-spacing: -0.02em;
  margin: 0 0 .5em;
  color: var(--dark);
  font-weight: 700;
}
body.skin-aurora h1 { font-size: clamp(2.6rem,6vw,4rem); letter-spacing: -0.03em; text-wrap: balance; }
body.skin-aurora h2 { font-size: clamp(1.65rem,3.2vw,2.4rem); font-weight: 700; letter-spacing: -0.02em; text-wrap: balance; }
body.skin-aurora h3 { font-size: 1.2rem; font-weight: 700; text-wrap: pretty; }
body.skin-aurora p { margin: 0 0 1em; }

/* 浏览器原生 chrome 主题化 */
body.skin-aurora ::selection { background: rgba(212,165,116,.35); color: var(--dark); }
body.skin-aurora :focus-visible { outline: 2px solid var(--dark); outline-offset: 3px; border-radius: 4px; }
body.skin-aurora { scrollbar-color: var(--sepia) rgba(245,230,200,.5); }
body.skin-aurora::-webkit-scrollbar { width: 7px; }
body.skin-aurora::-webkit-scrollbar-track { background: rgba(245,230,200,.5); }
body.skin-aurora::-webkit-scrollbar-thumb { background: var(--sepia); border-radius: 4px; }

/* === 5. 布局工具 === */
body.skin-aurora .container { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
body.skin-aurora .section { padding: clamp(56px,8vw,100px) 0; }
body.skin-aurora .sec-anchor { scroll-margin-top: 128px; height: 0; overflow: hidden; }
body.skin-aurora .eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--teal);
  background: rgba(74,123,124,.12);
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
body.skin-aurora .lead { font-size: 1.12rem; color: var(--muted); max-width: 58ch; line-height: 1.65; }
body.skin-aurora .page-meta { font-size: .85rem; color: var(--muted); margin: 8px 0 0; }

/* === 6. 按钮 === */
body.skin-aurora .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1rem;
  background: var(--sepia);
  color: var(--dark);
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(212,165,116,.4);
  transition: transform 150ms ease-out, box-shadow 150ms ease-out;
}
body.skin-aurora .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(212,165,116,.55);
  color: var(--dark);
}
body.skin-aurora .btn:active { transform: translateY(0); }
body.skin-aurora .btn.ghost,
body.skin-aurora .btn.btn-ghost {
  background: transparent;
  color: var(--dark);
  border: 1.5px solid var(--border-warm);
  box-shadow: none;
}
body.skin-aurora .btn.ghost:hover,
body.skin-aurora .btn.btn-ghost:hover { border-color: var(--sepia); color: var(--sepia); }
body.skin-aurora .cta-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }

/* === 7. 主导航 === */
body.skin-aurora .site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  background: rgba(245,230,200,.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(212,165,116,.25);
}
body.skin-aurora .nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--navh);
}
body.skin-aurora .brand {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--dark);
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
body.skin-aurora .brand-mark { width: 34px; height: 34px; border-radius: 8px; display: block; }
body.skin-aurora .brand-name { color: var(--dark); }
body.skin-aurora .aurora-dot {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--sepia);
  flex-shrink: 0;
}
body.skin-aurora .menu {
  display: flex;
  gap: 28px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
body.skin-aurora .menu a {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .96rem;
  color: var(--dark);
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 2px solid transparent;
  transition: color 150ms ease-out, border-color 150ms ease-out;
}
body.skin-aurora .menu a:hover,
body.skin-aurora .menu a.active { color: var(--sepia); border-bottom-color: var(--sepia); }
body.skin-aurora .nav-check,
body.skin-aurora .nav-toggle { display: none; }

/* === 8. 二级粘性锚点条 === */
body.skin-aurora .anchor-bar {
  position: sticky;
  top: var(--navh);
  z-index: var(--z-anchor);
  background: rgba(212,165,116,.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(212,165,116,.18);
  overflow-x: auto;
}
body.skin-aurora .anchor-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
body.skin-aurora .anchor-list li + li { border-left: 1px solid rgba(212,165,116,.15); }
body.skin-aurora .anchor-list a {
  display: block;
  padding: 11px 20px;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .88rem;
  color: var(--muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 150ms ease-out, border-color 150ms ease-out;
}
body.skin-aurora .anchor-list a:hover { color: var(--sepia); border-bottom-color: var(--sepia); }

/* === 9. Hero（左文右图分栏）=== */
body.skin-aurora .aurora-hero {
  position: relative;
  overflow: hidden;
  background: var(--cream);
  padding: clamp(64px,10vw,120px) 0;
}
body.skin-aurora .aurora-light-leak {
  position: absolute;
  left: 0; right: 0;
  top: -10%;
  height: 120%;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(ellipse 900px 600px at -10% -20%, rgba(255,215,130,.38) 0%, transparent 55%),
    radial-gradient(ellipse 450px 350px at 110% 110%, rgba(255,138,90,.18) 0%, transparent 60%);
}
body.skin-aurora .aurora-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px,6vw,72px);
  align-items: center;
}
body.skin-aurora .aurora-hero-inner.no-img { grid-template-columns: 1fr; max-width: 680px; }
body.skin-aurora .aurora-hero-text h1 {
  font-size: clamp(2.6rem,6vw,4rem);
  font-weight: 700;
  color: var(--dark);
  letter-spacing: -0.03em;
  margin-bottom: .4em;
}
body.skin-aurora .aurora-hero-text .lead { color: var(--muted); }
body.skin-aurora .aurora-hero-media { display: flex; justify-content: center; align-items: center; }

/* Polaroid 相框 */
body.skin-aurora .aurora-polaroid {
  position: relative;
  background: #fff8f0;
  padding: 12px 12px 44px;
  box-shadow: 0 8px 32px rgba(44,26,14,.2),0 2px 8px rgba(44,26,14,.1);
  transform: rotate(-2.5deg);
  max-width: 460px;
  margin: 0 auto;
  transition: transform 300ms ease-out;
}
body.skin-aurora .aurora-polaroid:hover { transform: rotate(-0.5deg) scale(1.02); }
body.skin-aurora .polaroid-img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  filter: sepia(0.2) contrast(1.08) saturate(0.82);
}
body.skin-aurora .polaroid-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-size: .86rem;
  color: var(--muted);
  letter-spacing: .04em;
}

/* === 10. Sec-head === */
body.skin-aurora .sec-head { max-width: 64ch; margin-bottom: 44px; }
body.skin-aurora .sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
body.skin-aurora .sec-head h2 { margin-bottom: .3em; }
body.skin-aurora .sec-head .lead { margin: 0; }

/* === 11. 卡片（玻璃拟态，10px）=== */
body.skin-aurora .card {
  background: var(--surface-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 10px;
  padding: 26px;
  box-shadow: var(--shadow-warm);
  transition: transform 150ms ease-out, box-shadow 150ms ease-out;
}
body.skin-aurora .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(44,26,14,.1),0 20px 50px rgba(44,26,14,.13);
}
body.skin-aurora .card .ico {
  width: 48px; height: 48px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  background: rgba(212,165,116,.18);
  color: var(--sepia);
  margin-bottom: 16px;
}
body.skin-aurora .card h3 { margin-bottom: .35em; font-size: 1.1rem; }
body.skin-aurora .card p { color: var(--muted); margin: 0; font-size: .96rem; }
body.skin-aurora .card-img { margin: -26px -26px 18px; border-radius: 10px 10px 0 0; overflow: hidden; }
body.skin-aurora .card-img img {
  width: 100%; aspect-ratio: 16/10; object-fit: cover;
  filter: sepia(0.15) contrast(1.05) saturate(0.85);
}

/* === 12. Grid === */
body.skin-aurora .grid { display: grid; gap: 20px; }
body.skin-aurora .grid.cols-2 { grid-template-columns: repeat(2,1fr); }
body.skin-aurora .grid.cols-3 { grid-template-columns: repeat(3,1fr); }
body.skin-aurora .grid.cols-4 { grid-template-columns: repeat(4,1fr); }

/* === 13. Bento / List / Numbered（features 变体）=== */
body.skin-aurora .bento { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
body.skin-aurora .bento .card.span2 { grid-column: span 2; }
/* bento 单元格调色多样性（≥2 格有色调差异）*/
body.skin-aurora .bento .card:nth-child(3n+2) {
  background: rgba(74,123,124,.18);
  border-color: rgba(74,123,124,.28);
}
body.skin-aurora .bento .card:nth-child(3n) {
  background: rgba(232,180,184,.18);
  border-color: rgba(232,180,184,.28);
}
body.skin-aurora .feat-list { display: flex; flex-direction: column; gap: 20px; }
body.skin-aurora .feat-row { display: flex; gap: 20px; align-items: flex-start; }
body.skin-aurora .feat-lead { flex-shrink: 0; }
body.skin-aurora .feat-dot {
  display: inline-block; width: 10px; height: 10px;
  border-radius: 50%; background: var(--sepia); margin-top: 7px;
}
body.skin-aurora .feat-body h3 { margin-bottom: .2em; }
body.skin-aurora .feat-body p { color: var(--muted); margin: 0; font-size: .96rem; }
body.skin-aurora .feat-num { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 24px; }
body.skin-aurora .feat-num li { display: flex; gap: 20px; align-items: flex-start; }
body.skin-aurora .feat-num .n {
  font-family: var(--font-head); font-size: 2.2rem; font-weight: 700;
  color: rgba(212,165,116,.38); line-height: 1; flex-shrink: 0; min-width: 2.4ch;
}

/* === 14. Stats === */
body.skin-aurora .stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; text-align: center; }
body.skin-aurora .stat {
  padding: 28px 18px;
  background: var(--surface-glass);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 10px;
}
body.skin-aurora .stat-cards { gap: 20px; }
body.skin-aurora .stat .num {
  display: block;
  font-family: var(--font-head);
  font-size: clamp(2.4rem,5vw,3.6rem);
  font-weight: 700;
  color: var(--sepia);
  letter-spacing: -0.03em;
  margin-bottom: .1em;
  line-height: 1;
}
body.skin-aurora .stat .lbl { color: var(--muted); font-size: .9rem; }

/* === 15. Prose === */
body.skin-aurora .prose { max-width: 72ch; }
body.skin-aurora .prose h2 { margin-top: 1.4em; color: var(--dark); }
body.skin-aurora .prose h3 { color: var(--dark); }
body.skin-aurora .prose ul { padding-left: 1.25em; }
body.skin-aurora .prose li { margin: .45em 0; color: var(--fg); }
body.skin-aurora .prose a { color: var(--teal); }
body.skin-aurora .prose a:hover { color: var(--sepia); }
body.skin-aurora .prose-cols { column-count: 2; column-gap: 2.5rem; }
body.skin-aurora .content-side { display: grid; grid-template-columns: 300px 1fr; gap: 3rem; align-items: start; }
body.skin-aurora .content-aside .sec-head { margin-bottom: 0; }

/* === 16. FAQ === */
body.skin-aurora .faq details {
  border: 1px solid var(--border-warm);
  border-radius: 10px;
  padding: 2px 20px;
  margin-bottom: 10px;
  background: rgba(245,230,200,.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 150ms ease-out;
}
body.skin-aurora .faq details[open] { background: rgba(255,248,240,.7); }
body.skin-aurora .faq summary {
  cursor: pointer;
  font-family: var(--font-body);
  font-weight: 600;
  padding: 16px 0;
  list-style: none;
  color: var(--dark);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.skin-aurora .faq summary::-webkit-details-marker { display: none; }
body.skin-aurora .faq summary::after {
  content: '+';
  flex-shrink: 0;
  color: var(--sepia);
  font-weight: 700;
  font-size: 1.2rem;
}
body.skin-aurora .faq details[open] summary::after { content: '–'; }
body.skin-aurora .faq details p { color: var(--muted); padding-bottom: 16px; margin: 0; }
body.skin-aurora .faq-list { display: flex; flex-direction: column; gap: 16px; }
body.skin-aurora .faq-item dt {
  display: flex; align-items: flex-start; gap: 12px;
  font-weight: 600; color: var(--dark); margin-bottom: .4em;
}
body.skin-aurora .faq-item dt .n { color: var(--sepia); font-weight: 700; flex-shrink: 0; }
body.skin-aurora .faq-item dd { color: var(--muted); margin: 0; padding-left: 28px; }
body.skin-aurora .faq-cols { columns: 2; column-gap: 2rem; }
body.skin-aurora .faq-cols details { break-inside: avoid; }

/* === 17. CTA === */
body.skin-aurora .cta-band {
  background: linear-gradient(140deg,rgba(212,165,116,.32) 0%,rgba(74,123,124,.20) 100%);
  border: 1.5px solid rgba(212,165,116,.4);
  border-radius: 10px;
  padding: clamp(48px,6vw,76px) clamp(32px,5vw,56px);
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 0 inset rgba(255,255,255,.3), var(--shadow-warm);
}
body.skin-aurora .cta-band::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 600px 280px at 50% -20%,rgba(255,215,130,.22),transparent);
  pointer-events: none;
}
body.skin-aurora .cta-band h2 { position: relative; margin-bottom: .3em; }
body.skin-aurora .cta-band .lead { position: relative; margin: 0 auto 24px; }
body.skin-aurora .cta-band .btn { position: relative; }
body.skin-aurora .cta-split {
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap;
}
body.skin-aurora .cta-split h2 { margin: 0; }
body.skin-aurora .cta-act { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
body.skin-aurora .cta-inline {
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap;
}

/* === 18. Split === */
body.skin-aurora .split {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(28px,5vw,64px); align-items: center;
}
body.skin-aurora .split.reverse .split-media { order: 2; }
body.skin-aurora .split-media img {
  border-radius: 10px; box-shadow: var(--shadow-warm);
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  filter: sepia(0.15) contrast(1.06) saturate(0.82);
}
body.skin-aurora .split-body h2 { margin-top: 0; }
body.skin-aurora .split-body ul { padding-left: 1.15em; color: var(--muted); }
body.skin-aurora .split-body li { margin: .5em 0; }
body.skin-aurora .split-body .eyebrow { margin-bottom: 12px; }

/* === 19. Gallery === */
body.skin-aurora .gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
body.skin-aurora .gallery-masonry { display: block; column-count: 3; column-gap: 14px; grid-template-columns: unset; }
body.skin-aurora .gallery-masonry figure { break-inside: avoid; margin: 0 0 14px; }
body.skin-aurora .gallery-strip { display: flex; gap: 14px; overflow-x: auto; }
body.skin-aurora .gallery figure { margin: 0; border-radius: 10px; overflow: hidden; position: relative; }
body.skin-aurora .gallery img {
  width: 100%; aspect-ratio: 1/1; object-fit: cover;
  filter: sepia(0.2) contrast(1.05) saturate(0.8);
  transition: transform 300ms ease-out;
}
body.skin-aurora .gallery figure:hover img { transform: scale(1.04); }
body.skin-aurora .gallery figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 12px 14px; color: #fff; font-size: .9rem; font-weight: 600;
  background: linear-gradient(0deg,rgba(44,26,14,.65),transparent);
}

/* === 20. Steps === */
body.skin-aurora .steps { counter-reset: step; display: grid; gap: 18px; }
body.skin-aurora .steps.cols { grid-template-columns: repeat(2,1fr); }
body.skin-aurora .step {
  counter-increment: step;
  position: relative;
  padding: 22px 24px 22px 70px;
  background: var(--surface-glass);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 10px;
  transition: transform 150ms ease-out;
}
body.skin-aurora .step:hover { transform: translateY(-2px); }
body.skin-aurora .step::before {
  content: counter(step,decimal-leading-zero);
  position: absolute; left: 20px; top: 22px;
  width: 36px; height: 36px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head); font-weight: 700; font-size: .85rem;
  color: #fff; background: var(--sepia);
}
body.skin-aurora .step h3 { margin: 0 0 .3em; }
body.skin-aurora .step p { margin: 0; color: var(--muted); font-size: .95rem; }
body.skin-aurora .step .n { display: none; }
body.skin-aurora .timeline { list-style: none; margin: 0; padding: 0; position: relative; }
body.skin-aurora .timeline::before {
  content: ''; position: absolute; left: 17px; top: 0; bottom: 0;
  width: 2px; background: rgba(212,165,116,.28);
}
body.skin-aurora .timeline .step {
  padding-left: 56px; background: none;
  border: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
body.skin-aurora .timeline .step::before { left: 0; top: 18px; }
body.skin-aurora .steps-row { display: flex; gap: 18px; }
body.skin-aurora .steps-row .step { flex: 1; }

/* === 21. 页脚 === */
body.skin-aurora .site-footer {
  background: var(--dark); color: #f5e6c8;
  padding: 64px 0 32px;
}
body.skin-aurora .footer-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; margin-bottom: 40px;
}
body.skin-aurora .footer-brand-col .footer-brand {
  font-family: var(--font-head); font-weight: 700; font-size: 1.25rem;
  margin-bottom: 14px; display: flex; align-items: center; gap: 10px; color: #f5e6c8;
}
body.skin-aurora .footer-brand-col .aurora-dot { background: var(--sepia); }
body.skin-aurora .footer-brand-col p {
  color: rgba(245,230,200,.62); font-size: .96rem; line-height: 1.65; max-width: 42ch; margin: 0;
}
body.skin-aurora .footer-links-col h4 {
  font-family: var(--font-body); font-weight: 700; font-size: .86rem;
  letter-spacing: .06em; text-transform: uppercase;
  color: rgba(245,230,200,.46); margin: 0 0 14px;
}
body.skin-aurora .footer-links-col ul { list-style: none; padding: 0; margin: 0 0 18px; }
body.skin-aurora .footer-links-col li { margin: 8px 0; }
body.skin-aurora .footer-links-col a { color: rgba(245,230,200,.8); font-size: .96rem; transition: color 150ms; }
body.skin-aurora .footer-links-col a:hover { color: var(--sepia); }
body.skin-aurora .footer-contact p { color: rgba(245,230,200,.55); font-size: .9rem; margin: 4px 0; }
body.skin-aurora .footer-bottom {
  border-top: 1px solid rgba(245,230,200,.12); padding-top: 22px;
  color: rgba(245,230,200,.42); font-size: .86rem;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px;
}

/* === 22. 复古图片处理 === */
body.skin-aurora .hero-bg { filter: sepia(0.2) contrast(1.08) saturate(0.82); }

/* === 23. 响应式 === */
@media (max-width:860px) {
  body.skin-aurora .aurora-hero-inner { grid-template-columns: 1fr; }
  body.skin-aurora .aurora-hero-media { order: -1; }
  body.skin-aurora .aurora-polaroid { max-width: 340px; transform: rotate(-1.5deg); }
  body.skin-aurora .aurora-polaroid:hover { transform: rotate(-0.5deg) scale(1.02); }
  body.skin-aurora .split { grid-template-columns: 1fr; }
  body.skin-aurora .split.reverse .split-media { order: 0; }
  body.skin-aurora .stats { grid-template-columns: 1fr 1fr; }
  body.skin-aurora .bento { grid-template-columns: 1fr 1fr; }
  body.skin-aurora .bento .card.span2 { grid-column: span 2; }
  body.skin-aurora .grid.cols-3,
  body.skin-aurora .grid.cols-4 { grid-template-columns: 1fr 1fr; }
  body.skin-aurora .gallery { grid-template-columns: 1fr 1fr; }
  body.skin-aurora .gallery-masonry { column-count: 2; }
  body.skin-aurora .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  body.skin-aurora .faq-cols { columns: 1; }
  body.skin-aurora .prose-cols { column-count: 1; }
  body.skin-aurora .content-side { grid-template-columns: 1fr; gap: 1.5rem; }
  body.skin-aurora .steps-row { flex-direction: column; }
  body.skin-aurora .cta-split,
  body.skin-aurora .cta-inline { flex-direction: column; align-items: flex-start; }

  body.skin-aurora .nav-toggle {
    display: block; cursor: pointer; font-size: 1.5rem; line-height: 1;
    background: none; border: 0; color: var(--dark); padding: 4px;
  }
  body.skin-aurora .menu {
    position: fixed; inset: var(--navh) 0 auto 0;
    flex-direction: column; gap: 0;
    background: rgba(245,230,200,.96);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border-warm);
    max-height: 0; overflow: hidden; transition: max-height .3s ease;
  }
  body.skin-aurora .menu a {
    padding: 14px 24px; width: 100%;
    border-top: 1px solid var(--border-warm); border-bottom: none;
  }
  body.skin-aurora .nav-check:checked ~ .menu { max-height: 70vh; }
}

@media (max-width:560px) {
  body.skin-aurora .grid.cols-2,
  body.skin-aurora .grid.cols-3,
  body.skin-aurora .grid.cols-4 { grid-template-columns: 1fr; }
  body.skin-aurora .stats { grid-template-columns: 1fr 1fr; }
  body.skin-aurora .bento { grid-template-columns: 1fr; }
  body.skin-aurora .bento .card.span2 { grid-column: span 1; }
  body.skin-aurora .gallery { grid-template-columns: 1fr; }
  body.skin-aurora .gallery-masonry { column-count: 1; }
  body.skin-aurora .steps.cols { grid-template-columns: 1fr; }
}

/* === 24. 交互动效 === */
@media (prefers-reduced-motion:no-preference) {
  /* VHS 周期色相微闪 */
  @keyframes aurora-vhs {
    0%,86%,100% { filter: sepia(0.2) contrast(1.08) saturate(0.82); }
    87%          { filter: sepia(0.2) contrast(1.12) saturate(1.1) hue-rotate(10deg); }
    89%          { filter: sepia(0.2) contrast(1.08) saturate(0.82) hue-rotate(-6deg); }
    91%          { filter: sepia(0.2) contrast(1.08) saturate(0.82); }
  }
  body.skin-aurora .polaroid-img { animation: aurora-vhs 9s ease-in-out infinite; }

  /* Polaroid 呼吸 */
  @keyframes aurora-breathe {
    0%,100% { transform: rotate(-2.5deg); }
    50%      { transform: rotate(-2deg) translateY(-3px); }
  }
  body.skin-aurora .aurora-polaroid { animation: aurora-breathe 6s ease-in-out infinite; }
  body.skin-aurora .aurora-polaroid:hover {
    animation: none;
    transform: rotate(-0.5deg) scale(1.02);
  }
}

/* === 25. Reduced motion === */
@media (prefers-reduced-motion:reduce) {
  body.skin-aurora * { animation: none !important; transition-duration: .01ms !important; }
  body.skin-aurora .aurora-polaroid { transform: rotate(-2.5deg) !important; }
  body.skin-aurora::before { display: none; }
}

/* === 26. 透明度偏好：glassmorphism 降级为实色 === */
@media (prefers-reduced-transparency:reduce) {
  body.skin-aurora .card,
  body.skin-aurora .faq details,
  body.skin-aurora .step,
  body.skin-aurora .stat,
  body.skin-aurora .site-header,
  body.skin-aurora .anchor-bar {
    background: rgba(245,230,200,.97);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.skin-aurora::before,
  body.skin-aurora::after { display: none; }
}

/* === 27. Skip-to-content 跳过导航链接 === */
body.skin-aurora .skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 200;
  padding: 10px 20px;
  background: var(--dark);
  color: var(--cream);
  font-family: var(--font-body);
  font-weight: 700;
  border-radius: 0 0 8px 8px;
  text-decoration: none;
  transition: top 150ms ease-out;
}
body.skin-aurora .skip-link:focus { top: 0; }


/* ---- variants: shared layout (pipeline/lib/variants.js) ---- */
.sec-head.center{text-align:center}
.sec-head.center .lead{margin-left:auto;margin-right:auto}
/* features=list */
.feat-list{display:grid;gap:0;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.feat-row{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent);align-items:start}
.feat-row .feat-lead{font-size:1.8rem;line-height:1}
.feat-row .feat-dot{display:block;width:12px;height:12px;border-radius:50%;background:currentColor;margin-top:10px;opacity:.6}
.feat-row h3{margin:0 0 .35em}
.feat-row p{margin:0;opacity:.8}
/* features=bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;grid-auto-flow:dense}
.bento .card.span2{grid-column:span 2}
/* features=numbered */
.feat-num{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px;counter-reset:fn}
.feat-num li{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.feat-num .n{font-size:1.6rem;font-weight:800;line-height:1;opacity:.35;font-variant-numeric:tabular-nums}
.feat-num h3{margin:0 0 .3em}
.feat-num p{margin:0;opacity:.8}
/* steps=timeline */
.timeline{list-style:none;margin:0;padding:0 0 0 34px;position:relative;max-width:720px}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:color-mix(in srgb,currentColor 18%,transparent)}
.timeline .step{position:relative;padding:0 0 34px 18px;background:none;border:0;box-shadow:none}
.timeline .step:last-child{padding-bottom:0}
.timeline .step::before{content:"";position:absolute;left:-34px;top:8px;width:20px;height:20px;border-radius:50%;background:currentColor;opacity:.85}
.timeline .step::after{content:"";position:absolute;left:-28px;top:14px;width:8px;height:8px;border-radius:50%;background:#fff;opacity:.9}
.timeline .n{display:block;font-size:.8rem;letter-spacing:.12em;opacity:.5;margin-bottom:6px;font-variant-numeric:tabular-nums}
.timeline h3{margin:0 0 .3em}
.timeline p{margin:0;opacity:.8}
/* steps=row */
.steps-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:22px;position:relative}
.steps-row::before{content:"";position:absolute;left:0;right:0;top:17px;height:2px;background:color-mix(in srgb,currentColor 16%,transparent)}
.steps-row .step{position:relative;padding:54px 0 0;background:none;border:0;box-shadow:none;border-radius:0}
.steps-row .n{position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;border:2px solid currentColor;font-variant-numeric:tabular-nums}
.steps-row h3{margin:0 0 .3em}
.steps-row p{margin:0;opacity:.8}
/* faq=twocol */
.faq.faq-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:start;max-width:none}
/* faq=list */
.faq-list{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 48px}
.faq-list .faq-item{padding:0 0 22px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.faq-list dt{font-weight:700;font-size:1.05rem;margin:0 0 .4em;display:flex;gap:12px;align-items:baseline}
.faq-list dt .n{font-size:.78rem;letter-spacing:.1em;opacity:.45;font-variant-numeric:tabular-nums}
.faq-list dd{margin:0;opacity:.82}
/* cta=split */
.cta-split{display:grid;grid-template-columns:1.4fr auto;gap:32px;align-items:center;padding:34px 38px;border:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.cta-split h2{margin:0 0 .25em}
.cta-split .lead{margin:0}
/* cta=inline */
.cta-inline{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.cta-inline h2{margin:0;font-size:clamp(1.2rem,2.4vw,1.7rem)}
/* content=columns */
.prose.prose-cols{column-count:2;column-gap:48px;max-width:none}
.prose.prose-cols>*{break-inside:avoid}
.prose.prose-cols h2,.prose.prose-cols h3{column-span:all}
/* content=sidebar */
.content-side{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:48px;align-items:start}
.content-side .content-aside{position:sticky;top:90px}
.content-side .sec-head{text-align:left;margin:0}
/* gallery=masonry */
.gallery.gallery-masonry{display:block;column-count:3;column-gap:16px}
.gallery.gallery-masonry figure{break-inside:avoid;margin:0 0 16px}
/* gallery=strip */
.gallery.gallery-strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;grid-template-columns:none}
.gallery.gallery-strip figure{flex:0 0 min(70vw,420px);scroll-snap-align:start;margin:0}
/* stats=cards */
.stats.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.stats.stat-cards .stat{padding:26px 20px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);text-align:center}
@media(max-width:860px){
  .bento{grid-template-columns:1fr 1fr}
  .bento .card.span2{grid-column:span 2}
  .feat-num,.faq.faq-cols,.faq-list,.content-side{grid-template-columns:1fr}
  .feat-row{grid-template-columns:48px 1fr;gap:14px}
  .steps-row{grid-auto-flow:row}
  .steps-row::before{display:none}
  .cta-split{grid-template-columns:1fr;padding:26px}
  .cta-inline{flex-direction:column;align-items:flex-start}
  .prose.prose-cols{column-count:1}
  .gallery.gallery-masonry{column-count:2}
  .content-side .content-aside{position:static}
}
@media(max-width:560px){.bento{grid-template-columns:1fr}.bento .card.span2{grid-column:auto}}


/* 滚动渐显：仅在 JS 就绪(js-reveal) + 允许动效时隐藏，无 JS 或 reduce-motion 时正常显示，防止内容看不见 */
@media (prefers-reduced-motion:no-preference){
  body.js-reveal.fx-reveal .section{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
  body.js-reveal.fx-reveal .section.in{opacity:1;transform:none}
}
/* 图片 lightbox */
body.fx-lightbox .gallery img{cursor:zoom-in}
.lb-overlay{position:fixed;inset:0;background:rgba(8,10,14,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:24px;cursor:zoom-out}
.lb-overlay.open{display:flex}
.lb-overlay img{max-width:92vw;max-height:92vh;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
