.static-demo .desktop-nav > a.active,
.static-demo .nav-item.active > .nav-trigger,
.static-demo .nav-submenu a.active {
  color: var(--rd-ink);
  font-weight: 700;
}

.static-demo .desktop-nav > a.active::after,
.static-demo .nav-item.active > .nav-trigger::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--rd-brand);
}

.static-hero {
  position: relative;
  min-height: 560px;
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--rd-border);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 46%, rgba(255, 255, 255, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/home-hero-bg.webp")) center / cover no-repeat;
}

.static-hero .container {
  padding-block: 92px;
}

.static-hero.compact-hero {
  min-height: 480px;
}

.static-hero.compact-hero .container {
  padding-block: 70px;
}

.wellness-hero {
  min-height: 620px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 248, 242, 0.9) 48%, rgba(255, 248, 242, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/scenarios-wellness-beauty.webp")) center / cover no-repeat;
}

.wellness-hero h1 {
  max-width: 860px;
}

.wellness-hero-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 980px;
  margin-top: 34px;
}

.wellness-hero-grid article {
  min-height: 124px;
  padding: 22px;
  border: 1px solid rgba(171, 64, 35, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.visual-icon {
  position: relative;
  display: inline-flex;
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border: 1px solid rgba(171, 64, 35, 0.22);
  border-radius: 50%;
  background: #fff2ea;
}

.visual-icon::before,
.visual-icon::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
}

.icon-space::before {
  inset: 10px;
  border: 2px solid var(--rd-brand);
  border-radius: 4px;
}

.icon-space::after {
  top: 17px;
  left: 10px;
  width: 18px;
  border-top: 2px solid var(--rd-brand);
}

.icon-care::before,
.icon-spark::before {
  top: 8px;
  left: 17px;
  width: 4px;
  height: 22px;
  border-radius: 999px;
  background: var(--rd-brand);
}

.icon-care::after,
.icon-spark::after {
  top: 17px;
  left: 8px;
  width: 22px;
  height: 4px;
  border-radius: 999px;
  background: var(--rd-brand);
}

.icon-files::before,
.icon-seat::before,
.icon-member::before,
.icon-sauna::before,
.icon-badge::before,
.icon-layers::before,
.icon-repeat::before {
  inset: 10px;
  border: 2px solid var(--rd-brand);
  border-radius: 5px;
}

.icon-files::after {
  top: 15px;
  right: 8px;
  width: 16px;
  height: 14px;
  border: 2px solid var(--rd-brand);
  border-radius: 4px;
  background: #fff2ea;
}

.icon-seat::before {
  top: 18px;
  height: 10px;
}

.icon-seat::after {
  top: 10px;
  left: 12px;
  width: 14px;
  height: 12px;
  border: 2px solid var(--rd-brand);
  border-radius: 6px 6px 2px 2px;
}

.icon-member::before {
  top: 9px;
  left: 13px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.icon-member::after {
  bottom: 8px;
  left: 9px;
  width: 20px;
  height: 10px;
  border: 2px solid var(--rd-brand);
  border-radius: 12px 12px 4px 4px;
}

.icon-sauna::before {
  inset: 11px 9px 9px;
}

.icon-sauna::after {
  top: 8px;
  left: 11px;
  width: 16px;
  height: 8px;
  border-top: 2px solid var(--rd-brand);
  border-bottom: 2px solid var(--rd-brand);
}

.icon-badge::before {
  border-radius: 50%;
}

.icon-badge::after {
  left: 15px;
  bottom: 6px;
  width: 8px;
  height: 11px;
  background: var(--rd-brand);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70%, 0 100%);
}

.icon-layers::before {
  inset: 9px 12px 15px;
  transform: rotate(-8deg);
}

.icon-layers::after {
  inset: 15px 10px 9px;
  border: 2px solid var(--rd-brand);
  border-radius: 5px;
  transform: rotate(-8deg);
}

.icon-repeat::before {
  inset: 9px;
  border-radius: 50%;
  border-right-color: transparent;
}

.icon-repeat::after {
  top: 9px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--rd-brand);
  border-right: 2px solid var(--rd-brand);
  transform: rotate(32deg);
}

.wellness-hero-grid strong {
  display: block;
  color: var(--rd-brand);
  font-size: 14px;
}

.wellness-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 15px;
  line-height: 1.55;
}

.static-hero h1 {
  max-width: 760px;
  font-size: clamp(42px, 4.6vw, 66px);
}

.static-hero p {
  max-width: 680px;
  margin-top: 22px;
  color: var(--rd-medium);
  font-size: 17px;
}

.static-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  max-width: 1420px;
  margin-top: 34px;
}

.static-proof article {
  min-height: 108px;
  padding: 20px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 28px rgba(26, 24, 22, 0.06);
}

.static-proof strong {
  display: block;
  color: var(--rd-brand);
  font-size: 24px;
}

.static-proof span {
  display: block;
  margin-top: 8px;
  color: var(--rd-medium);
  font-size: 13px;
}

.science-main-hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 250, 245, 0.9) 48%, rgba(255, 250, 245, 0.38) 100%),
    var(--static-hero-bg, url("assets/img/blog-hero-bg.webp")) center / cover no-repeat;
}

.science-hero-grid,
.science-decision-grid,
.science-entry-grid {
  display: grid;
  gap: 16px;
}

.science-hero-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1080px;
  margin-top: 36px;
}

.science-hero-grid article {
  min-height: 126px;
  padding: 22px;
  border: 1px solid rgba(171, 64, 35, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.science-hero-grid strong {
  display: block;
  color: var(--rd-brand);
  font-size: 15px;
}

.science-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 14px;
  line-height: 1.6;
}

.science-decision-grid {
  counter-reset: decision;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.science-decision-grid article {
  position: relative;
  min-height: 230px;
  padding: 28px 24px 24px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.science-decision-grid article::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(171, 64, 35, 0.75), rgba(171, 64, 35, 0.08));
}

.science-decision-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-bottom: 22px;
  border-radius: 8px;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 14px;
  font-weight: 900;
  background: #fff2ea;
}

.science-decision-grid h3 {
  color: var(--rd-ink);
  font-size: 21px;
}

.science-decision-grid p {
  margin-top: 12px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.science-source-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.science-entry-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.science-cases-page .page-section {
  padding-block: 104px;
}

.science-cases-page .page-section.alt {
  padding-block: 112px;
}

.science-cases-page .section-head {
  margin-bottom: 40px;
}

.science-cases-page .section-lead {
  max-width: 620px;
  line-height: 1.8;
}

.science-cases-page .science-decision-grid,
.science-cases-page .science-entry-grid,
.science-cases-page .compact-business {
  gap: 24px;
}

.science-cases-page .science-decision-grid article {
  min-height: 252px;
  padding: 34px 28px 30px;
}

.science-cases-page .science-layout {
  gap: 46px;
}

.science-cases-page .science-copy {
  padding: 42px;
}

.science-cases-page .science-copy p {
  max-width: 760px;
}

.science-cases-page .science-source-cards {
  gap: 18px;
  margin-top: 28px;
}

.science-cases-page .source-cards a {
  min-height: 158px;
  padding: 24px;
}

.science-cases-page .case-bridge {
  gap: 44px;
  padding: 34px;
}

.science-cases-page .case-bridge > div {
  gap: 22px;
  padding: 28px 14px;
}

.science-cases-page .business-grid article,
.science-cases-page .science-entry-grid .info-card {
  padding: 30px;
}

.science-cases-page .consult-panel .container {
  gap: 34px;
}

.static-polished-page .page-section {
  padding-block: 96px;
}

.static-polished-page .page-section.alt {
  padding-block: 104px;
}

.static-polished-page .section-head {
  margin-bottom: 38px;
}

.static-polished-page .section-lead {
  max-width: 640px;
  line-height: 1.8;
}

.polished-card-grid {
  gap: 24px;
}

.polished-card-grid .info-card,
.static-polished-page .static-product-card div {
  padding: 30px;
}

.static-polished-page .static-product-card {
  min-height: 410px;
}

.static-polished-page .static-product-card figure {
  min-height: 220px;
}

.roomy-table {
  box-shadow: 0 16px 38px rgba(26, 24, 22, 0.06);
}

.roomy-table .match-row {
  padding-block: 12px;
}

.roomy-list {
  gap: 20px;
}

.roomy-list article {
  padding: 28px;
}

.roomy-case {
  gap: 42px;
  padding: 32px;
}

.roomy-case .static-card-media {
  min-height: 300px;
}

.static-section-note {
  max-width: 860px;
  color: var(--rd-medium);
  font-size: 16px;
}

.static-path {
  counter-reset: path;
  display: grid;
  gap: 18px;
}

.static-path article {
  counter-increment: path;
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 22px;
  align-items: start;
  padding: 24px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.static-path article::before {
  content: counter(path, decimal-leading-zero);
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.static-path h3,
.static-case h3 {
  font-size: 20px;
}

.static-path p,
.static-case p {
  margin-top: 8px;
  color: var(--rd-medium);
  font-size: 14px;
}

.static-card-media {
  min-height: 180px;
  border-radius: 8px;
  background: var(--static-card-bg, url("assets/img/about-scenario.webp")) center / cover no-repeat;
}

.static-case {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 32px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.static-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.static-tag-list span {
  padding: 6px 10px;
  border: 1px solid var(--rd-border);
  border-radius: 999px;
  color: var(--rd-dark);
  font-size: 12px;
  background: var(--rd-white);
}

.static-product-card {
  display: grid;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.static-product-card figure {
  min-height: 180px;
  background: var(--static-product-bg, url("assets/img/products-img-panels.webp")) center / cover no-repeat;
}

.static-product-card div {
  padding: 24px;
}

.static-product-card h3 {
  font-size: 20px;
}

.static-product-card p {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
}

.static-mini-title {
  margin-bottom: 18px;
  color: var(--rd-ink);
  font-size: 22px;
}

.static-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--rd-medium);
  font-size: 13px;
}

.static-breadcrumb a {
  color: var(--rd-medium);
}

.static-breadcrumb strong {
  color: var(--rd-ink);
  font-weight: 700;
}

.solution-anchor {
  position: sticky;
  z-index: 20;
  top: 0;
  border-bottom: 1px solid rgba(61, 57, 53, 0.1);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
}

.solution-anchor .container {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding-block: 12px;
  white-space: nowrap;
}

.solution-anchor a {
  color: var(--rd-medium);
  font-size: 13px;
  font-weight: 700;
}

.solution-anchor a:hover {
  color: var(--rd-brand);
}

.solution-profile,
.demand-grid,
.business-grid,
.service-flow,
.support-grid,
.store-model,
.resource-pack {
  display: grid;
  gap: 18px;
}

.solution-profile {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.solution-profile article,
.demand-grid article,
.business-grid article,
.service-flow article,
.support-grid article,
.store-model article,
.resource-pack article {
  padding: 26px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.solution-profile article {
  overflow: hidden;
  padding: 0;
}

.solution-profile article img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.solution-profile article div {
  padding: 24px;
}

.solution-profile span,
.business-grid span,
.service-flow span,
.product-picks span,
.store-model span {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 600;
}

.solution-profile h3,
.demand-grid h3,
.business-grid h3,
.service-flow h3,
.support-grid h3,
.store-model h3,
.resource-pack h3,
.space-list h3,
.product-picks h3 {
  color: var(--rd-ink);
  font-size: 21px;
}

.solution-profile p,
.demand-grid p,
.business-grid p,
.service-flow p,
.support-grid p,
.resource-pack p,
.space-list p,
.product-picks p {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.demand-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.value-proof-grid,
.real-case-grid,
.concern-grid {
  display: grid;
  gap: 18px;
}

.value-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.value-proof-grid article,
.real-case-grid article,
.concern-grid article {
  position: relative;
  min-height: 250px;
  padding: 28px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.value-proof-grid article::before,
.concern-grid article::before {
  content: "";
  position: absolute;
  top: 0;
  right: 24px;
  left: 24px;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--rd-brand), rgba(205, 0, 20, 0.12));
}

.value-proof-label,
.real-case-top span,
.roi-formula span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--rd-brand);
  background: var(--rd-tint);
  font-size: 12px;
  font-weight: 800;
}

.value-proof-grid strong {
  display: block;
  margin-top: 22px;
  color: var(--rd-ink);
  font-family: var(--rd-font-en);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
}

.value-proof-grid h3,
.real-case-grid h3,
.concern-grid h3 {
  margin-top: 22px;
  color: var(--rd-ink);
  font-size: 21px;
}

.value-proof-grid p,
.real-case-grid dd,
.concern-grid p,
.evidence-footnote {
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.75;
}

.value-proof-grid p {
  margin-top: 12px;
}

.evidence-footnote {
  margin-top: 18px;
  padding: 14px 18px;
  border-left: 3px solid var(--rd-brand);
  background: var(--rd-paler);
}

.real-case-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.real-case-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.real-case-top strong {
  color: rgba(26, 24, 22, 0.14);
  font-family: var(--rd-font-en);
  font-size: 42px;
  line-height: 1;
}

.real-case-grid dl {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
}

.real-case-grid dl div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--rd-hair);
}

.real-case-grid dt,
.real-case-grid dd {
  margin: 0;
}

.real-case-grid dt {
  color: var(--rd-ink);
  font-size: 13px;
  font-weight: 800;
}

.real-case-grid .text-link {
  margin-top: 24px;
}

.roi-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
  gap: 24px;
  align-items: stretch;
}

.roi-table {
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.roi-row {
  display: grid;
  grid-template-columns: 0.8fr 0.9fr 0.9fr 1.35fr;
  min-height: 74px;
  border-top: 1px solid var(--rd-hair);
}

.roi-row:first-child {
  border-top: 0;
}

.roi-row span {
  display: flex;
  align-items: center;
  padding: 16px 18px;
  color: var(--rd-dark);
  font-size: 14px;
  font-weight: 700;
}

.roi-row span:not(:first-child) {
  border-left: 1px solid var(--rd-hair);
}

.roi-head {
  background: var(--rd-ink);
}

.roi-head span {
  color: var(--rd-white);
}

.roi-formula {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: 30px;
  border-radius: 8px;
  color: var(--rd-white);
  background:
    linear-gradient(145deg, rgba(26, 24, 22, 0.96), rgba(105, 28, 24, 0.9)),
    url("assets/img/scenario-beauty.webp") center / cover no-repeat;
  box-shadow: 0 16px 38px rgba(26, 24, 22, 0.12);
}

.roi-formula span {
  width: max-content;
  background: rgba(255, 255, 255, 0.12);
  color: var(--rd-white);
}

.roi-formula h3,
.roi-formula strong {
  color: var(--rd-white);
}

.roi-formula h3 {
  font-size: clamp(24px, 2.4vw, 34px);
}

.roi-formula p,
.roi-formula small {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.75;
}

.roi-formula strong {
  font-family: var(--rd-font-en);
  font-size: 30px;
}

.concern-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.concern-grid article {
  min-height: 210px;
}

.concern-grid p {
  margin-top: 12px;
}

.concern-grid .fit-boundary {
  background:
    linear-gradient(180deg, rgba(205, 0, 20, 0.06), rgba(255, 255, 255, 1));
}

.demand-grid article {
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.store-model {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.store-model article {
  position: relative;
  display: grid;
  gap: 20px;
  min-height: 300px;
  align-content: start;
  border-top: 4px solid rgba(171, 64, 35, 0.72);
}

.store-model .visual-icon {
  margin-bottom: 0;
}

.store-model ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.store-model li {
  padding-top: 12px;
  border-top: 1px solid rgba(61, 57, 53, 0.1);
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.65;
}

.store-model li:first-child {
  border-top: 0;
  padding-top: 0;
}

.store-model strong {
  color: var(--rd-ink);
}

.science-layout,
.space-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.85fr);
  gap: 34px;
  align-items: stretch;
}

.science-copy {
  padding: 34px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.science-copy h3 {
  font-size: 28px;
}

.science-copy p {
  margin-top: 16px;
  color: var(--rd-medium);
  line-height: 1.8;
}

.science-media,
.space-layout figure {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 16px 42px rgba(26, 24, 22, 0.08);
}

.science-media img,
.space-layout img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.science-media figcaption {
  padding: 12px 16px 16px;
  color: var(--rd-medium);
  font-size: 13px;
}

.source-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.source-cards a {
  display: grid;
  align-content: start;
  min-height: 128px;
  padding: 20px;
  border: 1px solid rgba(171, 64, 35, 0.18);
  border-radius: 8px;
  background: #fff8f3;
}

.source-cards strong {
  display: block;
  color: var(--rd-ink);
  font-size: 17px;
}

.source-cards span {
  display: block;
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 13px;
  line-height: 1.55;
}

.source-cards em {
  display: inline-flex;
  width: fit-content;
  margin-top: 16px;
  padding: 7px 12px;
  border-radius: 999px;
  color: var(--rd-white);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  background: var(--rd-brand);
}

.evidence-visual {
  position: relative;
}

.evidence-stack {
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  gap: 8px;
  width: min(220px, calc(100% - 40px));
}

.evidence-stack span {
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 8px;
  color: var(--rd-ink);
  font-size: 13px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 24px rgba(26, 24, 22, 0.08);
  backdrop-filter: blur(8px);
}

.business-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.compact-business {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.business-grid article {
  min-height: 184px;
}

.space-list {
  display: grid;
  gap: 14px;
}

.space-list article {
  padding: 22px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.space-map {
  position: relative;
}

.map-labels {
  position: absolute;
  inset: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start;
}

.map-labels span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.56);
  border-radius: 999px;
  color: var(--rd-ink);
  font-size: 12px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 20px rgba(26, 24, 22, 0.08);
}

.config-table {
  display: grid;
  overflow: hidden;
  align-self: start;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.config-row {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1.1fr 1fr;
  gap: 12px;
  padding: 18px 20px;
  border-top: 1px solid rgba(61, 57, 53, 0.09);
  color: var(--rd-medium);
  font-size: 14px;
}

.config-row:first-child {
  border-top: 0;
}

.config-row span:first-child {
  color: var(--rd-ink);
  font-weight: 800;
}

.config-head {
  color: var(--rd-white);
  font-weight: 800;
  background: var(--rd-ink);
}

.config-head span,
.config-head span:first-child {
  color: var(--rd-white);
}

.case-bridge {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 34px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 14px 36px rgba(26, 24, 22, 0.06);
}

.case-bridge figure {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
}

.case-bridge img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
}

.case-bridge > div {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: 18px 10px;
}

.case-bridge h3 {
  color: var(--rd-ink);
  font-size: clamp(28px, 3vw, 42px);
}

.case-bridge p {
  color: var(--rd-medium);
  font-size: 15px;
  line-height: 1.8;
}

.case-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.case-points span {
  padding: 8px 11px;
  border: 1px solid rgba(171, 64, 35, 0.18);
  border-radius: 999px;
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 800;
  background: #fff5ee;
}

/* 案例详情 —— 图文卡片（左右交替） */
.case-detail-list {
  display: grid;
  gap: 28px;
}
.case-detail {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  background: var(--rd-white);
  border: 1px solid var(--rd-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(26, 24, 22, 0.07);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.case-detail:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 52px rgba(26, 24, 22, 0.11);
}
.case-detail figure {
  margin: 0;
  position: relative;
  min-height: 290px;
  background: var(--rd-pale);
}
.case-detail figure img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case-detail figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(205, 0, 20, 0) 55%, rgba(26, 24, 22, 0.2) 100%);
}
.case-detail-body {
  padding: 36px 38px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.case-region {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--rd-tint);
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.case-detail-body h3 {
  font-size: clamp(20px, 1.7vw, 25px);
  line-height: 1.3;
}
.case-detail-body p {
  margin: 0;
  color: var(--rd-medium);
  font-size: 15px;
  line-height: 1.75;
}
.case-detail-body .case-points {
  margin-top: 6px;
}
.case-detail:nth-child(even) figure {
  order: 2;
}
.case-detail:nth-child(even) .case-detail-body {
  order: 1;
}
@media (max-width: 860px) {
  .case-detail {
    grid-template-columns: 1fr;
  }
  .case-detail figure {
    min-height: 200px;
  }
  .case-detail:nth-child(even) figure {
    order: 0;
  }
  .case-detail-body {
    padding: 28px 24px;
  }
}

.product-picks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.product-picks article {
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.product-picks img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.product-picks div {
  padding: 24px;
}

.service-flow {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-flow::before {
  content: "";
  position: absolute;
  top: 44px;
  right: 13%;
  left: 13%;
  height: 2px;
  background: rgba(171, 64, 35, 0.22);
}

.service-flow article {
  position: relative;
  z-index: 1;
  padding-top: 72px;
}

.service-flow article > span {
  position: absolute;
  top: 22px;
  left: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--rd-white);
  background: var(--rd-brand);
  box-shadow: 0 10px 24px rgba(171, 64, 35, 0.22);
}

.support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.resource-pack {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.resource-pack article {
  position: relative;
  min-height: 150px;
  padding-top: 54px;
}

.resource-pack article::before {
  content: counter(resource);
  counter-increment: resource;
  position: absolute;
  top: 24px;
  left: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(171, 64, 35, 0.24);
  border-radius: 7px;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 14px;
  font-weight: 900;
  background: #fff2ea;
}

.resource-pack {
  counter-reset: resource;
}

.consult-panel {
  color: var(--rd-white);
  background:
    linear-gradient(135deg, rgba(34, 31, 28, 0.98), rgba(108, 48, 32, 0.92)),
    url("assets/img/contact-hero-bg.webp") center / cover no-repeat;
}

.consult-panel .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 28px;
  align-items: center;
}

.consult-panel > .container > div {
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.24);
}

.consult-panel > .container > div:first-child {
  padding: 0;
  border: 0;
  background: transparent;
}

.consult-panel h2 {
  color: var(--rd-white);
  font-size: clamp(34px, 3.6vw, 52px);
}

.consult-panel p {
  max-width: 760px;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.78);
}

.consult-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 10px;
}

.consult-checklist span {
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  color: var(--rd-white);
  font-size: 13px;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.18);
}

.cta-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 10px;
}

.cta-results span {
  position: relative;
  padding: 10px 12px 10px 30px;
  border-radius: 8px;
  color: var(--rd-white);
  font-size: 13px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.1);
}

.cta-results span::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rd-brand);
}

.consult-panel .btn-primary {
  color: var(--rd-white);
  background: var(--rd-brand);
  border-color: var(--rd-brand);
  box-shadow: 0 16px 30px rgba(171, 64, 35, 0.28);
}

.static-combo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.static-combo article {
  display: grid;
  grid-template-columns: 0.85fr 1fr;
  gap: 22px;
  align-items: center;
  overflow: hidden;
  min-height: 270px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.static-combo img {
  width: 100%;
  height: 100%;
  min-height: 270px;
  object-fit: cover;
}

.static-combo div {
  padding: 26px 26px 26px 0;
}

.static-combo h3,
.static-callout h3,
.static-sidebar h3 {
  font-size: 22px;
}

.static-combo p,
.static-callout p,
.static-sidebar p {
  margin-top: 10px;
  color: var(--rd-medium);
}

.static-cta-band {
  color: var(--rd-white);
  background: linear-gradient(135deg, #2a2622 0%, #4b3128 100%);
}

.static-cta-band .container {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}

.static-cta-band h2 {
  color: var(--rd-white);
  font-size: clamp(30px, 3vw, 44px);
}

.static-cta-band p {
  max-width: 720px;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.78);
}

.static-source-grid,
.static-spec-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.static-source-grid article,
.static-spec-grid article,
.static-callout,
.static-sidebar-box {
  padding: 24px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.static-source-grid strong,
.static-spec-grid strong,
.static-resource-list h3 {
  display: block;
  color: var(--rd-ink);
  font-size: 20px;
}

.static-source-grid span,
.static-spec-grid span,
.static-resource-list span,
.static-article-meta span {
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 700;
}

.static-spec-grid p,
.static-resource-list p {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
}

.static-callout {
  max-width: 840px;
  border-left: 4px solid var(--rd-brand);
}

.static-article-hero {
  padding: 110px 0 70px;
  border-bottom: 1px solid var(--rd-border);
  background:
    linear-gradient(120deg, rgba(255,255,255,0.96), rgba(255,247,240,0.88)),
    url("assets/img/blog-hero-bg.webp") center / cover no-repeat;
}

.static-article-wrap {
  max-width: 920px;
}

.static-article-hero h1 {
  max-width: 900px;
  font-size: clamp(40px, 4vw, 60px);
}

.static-article-hero p {
  max-width: 720px;
  margin-top: 18px;
  color: var(--rd-medium);
  font-size: 17px;
}

.static-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.static-article-meta span {
  padding: 6px 10px;
  border: 1px solid var(--rd-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
}

.static-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 44px;
  align-items: start;
}

.static-article {
  max-width: 780px;
}

.static-article figure {
  margin: 0 0 34px;
}

.static-article img {
  width: 100%;
  max-height: 420px;
  border-radius: 8px;
  object-fit: cover;
}

.static-article figcaption {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 13px;
}

.static-article h2 {
  margin-top: 34px;
  color: var(--rd-ink);
  font-size: 28px;
}

.static-article p {
  margin-top: 14px;
  color: var(--rd-medium);
  font-size: 16px;
  line-height: 1.85;
}

.static-note-box {
  margin: 28px 0;
  padding: 20px;
  border-left: 4px solid var(--rd-brand);
  border-radius: 8px;
  color: var(--rd-dark);
  background: #fff5ee;
}

.static-sidebar {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 16px;
}

.static-sidebar-box a {
  display: block;
  margin-top: 7px;
  color: var(--rd-brand);
  font-weight: 700;
}

.static-product-hero {
  padding: 90px 0 70px;
  border-bottom: 1px solid var(--rd-border);
  background: linear-gradient(120deg, #fff 0%, #fff7f0 100%);
}

.static-product-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.8fr);
  gap: 42px;
  align-items: center;
}

.static-product-hero h1 {
  max-width: 720px;
  font-size: clamp(42px, 4.6vw, 66px);
}

.static-product-hero p {
  max-width: 660px;
  margin-top: 20px;
  color: var(--rd-medium);
  font-size: 17px;
}

.static-product-hero figure {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(26, 24, 22, 0.12);
}

.static-product-hero img {
  width: 100%;
  min-height: 390px;
  object-fit: cover;
}

.static-product-hero .product-hero-image {
  height: 480px;
  min-height: 0;
  padding: 28px;
  object-fit: contain;
  background: #f8f8f8;
}

.static-product-hero .product-hero-image.is-scene {
  padding: 0;
  object-fit: cover;
}

.image-frame,
.generated-feature {
  position: relative;
}

.image-source-note {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: rgba(24, 22, 20, 0.68);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.06em;
}

.generated-feature .image-source-note {
  bottom: auto;
  top: 14px;
}

.static-resource-list {
  display: grid;
  gap: 16px;
}

.static-resource-list article {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 24px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.static-demo .site-footer {
  margin-top: 0;
}

@media (max-width: 1180px) {
  .static-demo .nav-row {
    flex-wrap: nowrap;
  }

  .static-demo .nav-row {
    position: relative;
  }

  .static-demo .menu-toggle {
    display: inline-grid !important;
    position: static;      /* 回到 nav-row 正常流，随头部缩放一起移动（与 logo 同步）*/
    align-self: center;    /* 在 nav-row 内垂直居中 */
    margin-left: auto;     /* 推到最右，与 logo 分列两端 */
    z-index: 1002;
  }

  .static-demo .desktop-nav,
  .static-demo .header-actions {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .static-proof,
  .wellness-hero-grid,
  .science-hero-grid,
  .science-decision-grid,
  .science-entry-grid,
  .static-source-grid,
  .static-spec-grid,
  .source-cards,
  .demand-grid,
  .value-proof-grid,
  .real-case-grid,
  .concern-grid,
  .compact-business,
  .service-flow,
  .support-grid,
  .resource-pack,
  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-profile,
  .business-grid,
  .store-model,
  .product-picks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .static-case,
  .static-combo,
  .static-article-layout,
  .static-product-hero-grid,
  .science-layout,
  .space-layout,
  .case-bridge,
  .roi-layout,
  .consult-panel .container {
    grid-template-columns: 1fr;
  }

  .case-bridge img {
    min-height: 280px;
  }

  .science-cases-page .page-section,
  .science-cases-page .page-section.alt {
    padding-block: 82px;
  }

  .science-cases-page .section-head {
    margin-bottom: 30px;
  }

  .science-cases-page .science-layout,
  .science-cases-page .case-bridge {
    gap: 28px;
  }

  .static-polished-page .page-section,
  .static-polished-page .page-section.alt {
    padding-block: 78px;
  }

  .roomy-case {
    gap: 28px;
    padding: 26px;
  }

  .config-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roi-row span:nth-child(3) {
    border-left: 0;
  }

  .service-flow::before {
    display: none;
  }

  .static-sidebar {
    position: static;
  }
}

@media (max-width: 640px) {
  .static-hero {
    min-height: auto;
  }

  .static-proof,
  .wellness-hero-grid,
  .science-hero-grid,
  .science-decision-grid,
  .science-entry-grid,
  .static-source-grid,
  .static-spec-grid,
  .source-cards,
  .solution-profile,
  .demand-grid,
  .value-proof-grid,
  .real-case-grid,
  .concern-grid,
  .business-grid,
  .compact-business,
  .store-model,
  .product-picks,
  .service-flow,
  .support-grid,
  .resource-pack,
  .grid-3,
  .grid-4,
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .config-row {
    grid-template-columns: 1fr;
  }

  .roi-row,
  .real-case-grid dl div {
    grid-template-columns: 1fr;
  }

  .roi-row span,
  .roi-row span:not(:first-child) {
    border-left: 0;
  }

  .roi-formula {
    min-width: 0;
    padding: 24px;
  }

  .solution-profile article img {
    height: 220px;
  }

  .evidence-stack {
    position: static;
    width: auto;
    padding: 14px 16px 0;
  }

  .static-cta-band .container,
  .static-resource-list article {
    grid-template-columns: 1fr;
  }

  .static-combo article {
    grid-template-columns: 1fr;
  }

  .static-combo div {
    padding: 0 22px 22px;
  }

  .static-product-hero-grid {
    grid-template-columns: 1fr;
  }

  .static-product-hero img,
  .static-combo img,
  .science-media img,
  .space-layout img {
    min-height: 240px;
  }

  .science-copy {
    padding: 24px;
  }

  .science-cases-page .page-section,
  .science-cases-page .page-section.alt {
    padding-block: 64px;
  }

  .science-cases-page .section-head {
    margin-bottom: 24px;
  }

  .science-cases-page .science-decision-grid,
  .science-cases-page .science-entry-grid,
  .science-cases-page .compact-business {
    gap: 16px;
  }

  .science-cases-page .science-decision-grid article,
  .science-cases-page .business-grid article,
  .science-cases-page .science-entry-grid .info-card,
  .science-cases-page .source-cards a {
    min-height: auto;
    padding: 24px;
  }

  .science-cases-page .science-copy,
  .science-cases-page .case-bridge {
    padding: 24px;
  }

  .static-polished-page .page-section,
  .static-polished-page .page-section.alt {
    padding-block: 62px;
  }

  .static-polished-page .section-head {
    margin-bottom: 24px;
  }

  .polished-card-grid {
    gap: 16px;
  }

  .polished-card-grid .info-card,
  .static-polished-page .static-product-card div,
  .roomy-list article,
  .roomy-case {
    padding: 24px;
  }

  .static-polished-page .static-product-card {
    min-height: auto;
  }

  .static-path article {
    grid-template-columns: 1fr;
  }
}

/* Science evidence page */
.science-evidence-page .science-evidence-hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 249, 244, 0.9) 48%, rgba(255, 249, 244, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/blog-hero-bg.webp")) center / cover no-repeat;
}

.evidence-hero-grid,
.evidence-path-grid,
.translation-grid,
.boundary-grid {
  display: grid;
  gap: 18px;
}

.evidence-hero-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1060px;
  margin-top: 34px;
}

.evidence-hero-grid article {
  min-height: 118px;
  padding: 22px;
  border: 1px solid rgba(171, 64, 35, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.evidence-hero-grid strong,
.boundary-grid strong {
  display: block;
  color: var(--rd-brand);
  font-size: 15px;
}

.evidence-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 14px;
  line-height: 1.6;
}

.evidence-path-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.evidence-path-grid article,
.translation-grid article,
.boundary-grid article {
  padding: 28px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.evidence-path-grid article {
  min-height: 230px;
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.evidence-path-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 20px;
  border-radius: 8px;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 13px;
  font-weight: 900;
  background: #fff2ea;
}

.evidence-path-grid h3,
.translation-grid h3 {
  color: var(--rd-ink);
  font-size: 21px;
}

.evidence-path-grid p,
.translation-grid p,
.boundary-grid p {
  margin-top: 12px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.75;
}

.evidence-feature {
  align-items: stretch;
}

.evidence-note-list {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.evidence-note-list span {
  position: relative;
  padding: 12px 14px 12px 34px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: 8px;
  color: var(--rd-dark);
  font-size: 14px;
  background: #fff8f3;
}

.evidence-note-list span::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 16px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--rd-brand);
}

.evidence-table {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 16px 38px rgba(26, 24, 22, 0.06);
}

.evidence-row {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr 1.35fr 1.15fr;
  gap: 16px;
  padding: 20px 22px;
  border-top: 1px solid rgba(61, 57, 53, 0.09);
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.evidence-row:first-child {
  border-top: 0;
}

.evidence-row div:first-child {
  color: var(--rd-ink);
  font-weight: 800;
}

.evidence-head {
  color: var(--rd-white);
  font-weight: 800;
  background: var(--rd-ink);
}

.evidence-head div,
.evidence-head div:first-child {
  color: var(--rd-white);
}

.evidence-source-cards a {
  min-height: 178px;
}

.evidence-translation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.52fr);
  gap: 34px;
  align-items: stretch;
}

.evidence-translation .section-head {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.translation-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.translation-media {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(26, 24, 22, 0.08);
}

.translation-media img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}

.boundary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .evidence-hero-grid,
  .evidence-path-grid,
  .translation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evidence-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evidence-translation,
  .boundary-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .evidence-hero-grid,
  .evidence-path-grid,
  .translation-grid {
    grid-template-columns: 1fr;
  }

  .evidence-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .evidence-path-grid article,
  .translation-grid article,
  .boundary-grid article {
    min-height: auto;
    padding: 24px;
  }

  .translation-media img {
    min-height: 260px;
  }
}
/* Case reference page */
.case-reference-page .case-reference-hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 249, 244, 0.9) 48%, rgba(255, 249, 244, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/scenarios-recovery-rehab.webp")) center / cover no-repeat;
}

.reference-hero-grid,
.reference-boundary,
.reference-cards,
.business-playbook,
.reference-config {
  display: grid;
  gap: 18px;
}

.reference-hero-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1080px;
  margin-top: 34px;
}

.reference-hero-grid article,
.reference-boundary article,
.business-playbook article,
.reference-config article {
  padding: 26px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.reference-hero-grid article {
  min-height: 120px;
  border-color: rgba(171, 64, 35, 0.18);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.reference-hero-grid strong,
.business-playbook span {
  display: block;
  color: var(--rd-brand);
  font-size: 15px;
  font-weight: 800;
}

.reference-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 14px;
  line-height: 1.6;
}

.reference-boundary,
.reference-config {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reference-boundary article {
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.reference-boundary h3,
.reference-cards h3,
.business-playbook h3,
.reference-config h3 {
  color: var(--rd-ink);
  font-size: 21px;
}

.reference-boundary p,
.reference-cards p,
.business-playbook p,
.reference-config p,
.public-figure-note p {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.75;
}

.reference-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reference-cards article {
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 12px 32px rgba(26, 24, 22, 0.05);
}

.reference-cards figure {
  margin: 0;
}

.reference-cards img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.reference-cards div {
  padding: 26px;
}

.reference-cards span {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 800;
}

.reference-cards a {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  padding: 9px 14px;
  border-radius: 999px;
  color: var(--rd-white);
  font-size: 13px;
  font-weight: 800;
  background: var(--rd-brand);
}

.business-playbook {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.business-playbook article {
  min-height: 230px;
  align-content: start;
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.business-playbook span {
  width: 38px;
  height: 38px;
  margin-bottom: 20px;
  border-radius: 8px;
  font-family: var(--rd-font-en);
  line-height: 38px;
  text-align: center;
  background: #fff2ea;
}

.reference-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.52fr);
  gap: 34px;
  align-items: stretch;
}

.reference-layout .section-head {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.reference-config {
  grid-template-columns: 1fr;
}

.reference-config strong {
  display: block;
  margin-top: 16px;
  color: var(--rd-ink);
  font-size: 13px;
}

.reference-space-media {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(26, 24, 22, 0.08);
}

.reference-space-media img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}

.reference-table {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 16px 38px rgba(26, 24, 22, 0.06);
}

.reference-row {
  display: grid;
  grid-template-columns: 0.9fr 1.45fr 1.25fr;
  gap: 16px;
  padding: 20px 22px;
  border-top: 1px solid rgba(61, 57, 53, 0.09);
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.reference-row:first-child {
  border-top: 0;
}

.reference-row div:first-child {
  color: var(--rd-ink);
  font-weight: 800;
}

.reference-head {
  color: var(--rd-white);
  font-weight: 800;
  background: var(--rd-ink);
}

.reference-head div,
.reference-head div:first-child {
  color: var(--rd-white);
}

.public-figure-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #fff6ef);
  box-shadow: 0 14px 36px rgba(26, 24, 22, 0.05);
}

.public-figure-note .section-title {
  margin-bottom: 12px;
}

@media (max-width: 980px) {
  .reference-hero-grid,
  .reference-cards,
  .business-playbook {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reference-boundary,
  .reference-layout,
  .public-figure-note {
    grid-template-columns: 1fr;
  }

  .reference-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .reference-hero-grid,
  .reference-cards,
  .business-playbook {
    grid-template-columns: 1fr;
  }

  .reference-hero-grid article,
  .reference-boundary article,
  .business-playbook article,
  .reference-config article,
  .public-figure-note {
    min-height: auto;
    padding: 24px;
  }

  .reference-cards img,
  .reference-space-media img {
    min-height: 240px;
  }
}
/* Insights and article detail pages */
.insights-page .insights-hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 248, 242, 0.9) 48%, rgba(255, 248, 242, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/blog-parameters-cover.webp")) center / cover no-repeat;
}

.insights-hero-grid,
.featured-article-grid,
.reading-path-grid,
.article-list-grid,
.article-check-grid,
.article-source-links {
  display: grid;
  gap: 18px;
}

.insights-hero-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1080px;
  margin-top: 34px;
}

.insights-hero-grid article,
.reading-path-grid article,
.article-list-grid article,
.article-check-grid article {
  padding: 26px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.insights-hero-grid article {
  min-height: 120px;
  border-color: rgba(171, 64, 35, 0.18);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.insights-hero-grid strong,
.featured-article-card span,
.reading-path-grid span,
.article-list-grid span,
.article-check-grid span {
  display: inline-block;
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 800;
}

.insights-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 14px;
  line-height: 1.6;
}

.featured-article-grid {
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
}

.featured-article-card {
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 12px 32px rgba(26, 24, 22, 0.05);
}

.featured-article-card figure {
  margin: 0;
}

.featured-article-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.featured-article-card.large img {
  height: 320px;
}

.featured-article-card div {
  padding: 26px;
}

.featured-article-card h3,
.reading-path-grid h3,
.article-list-grid h3,
.article-check-grid h3 {
  margin-top: 10px;
  color: var(--rd-ink);
  font-size: 21px;
}

.featured-article-card p,
.reading-path-grid p,
.article-list-grid p,
.article-check-grid p {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.75;
}

.featured-article-card a,
.reading-path-grid a,
.article-list-grid a {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  color: var(--rd-brand);
  font-size: 14px;
  font-weight: 800;
}

.reading-path-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reading-path-grid article {
  min-height: 238px;
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.reading-path-grid span,
.article-check-grid span {
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  border-radius: 8px;
  font-family: var(--rd-font-en);
  line-height: 38px;
  text-align: center;
  background: #fff2ea;
}

.article-list-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* insights「全部文章」：固定 3 列（2 行后接“阅读更多”居中按钮）；响应式仍由下方 media query 接管 */
.insights-all-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.article-list-grid article {
  min-height: 220px;
}

.article-science-hero {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.97), rgba(255, 247, 240, 0.9)),
    url("assets/img/blog-parameters-cover.webp") center / cover no-repeat;
}

.article-detail-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
}

.enhanced-article {
  max-width: 840px;
}

.enhanced-article h2 {
  margin-top: 42px;
}

.article-summary-box,
.article-source-panel {
  margin: 30px 0;
  padding: 26px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: 8px;
  background: #fff8f3;
}

.article-summary-box strong {
  display: block;
  color: var(--rd-brand);
  font-size: 14px;
}

.article-summary-box p,
.article-source-panel p {
  margin-top: 10px;
}

.article-check-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 24px 0 6px;
}

.article-table {
  display: grid;
  overflow: hidden;
  margin: 30px 0;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 12px 32px rgba(26, 24, 22, 0.05);
}

.article-row {
  display: grid;
  grid-template-columns: 0.82fr 1.1fr 1.25fr;
  gap: 16px;
  padding: 18px 20px;
  border-top: 1px solid rgba(61, 57, 53, 0.09);
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.article-row:first-child {
  border-top: 0;
}

.article-row div:first-child {
  color: var(--rd-ink);
  font-weight: 800;
}

.article-head {
  color: var(--rd-white);
  font-weight: 800;
  background: var(--rd-ink);
}

.article-head div,
.article-head div:first-child {
  color: var(--rd-white);
}

.article-source-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.article-source-links a {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(171, 64, 35, 0.18);
  border-radius: 8px;
  background: var(--rd-white);
}

.article-source-links strong {
  color: var(--rd-ink);
  font-size: 15px;
}

.article-source-links span {
  color: var(--rd-brand);
  font-size: 13px;
  font-weight: 800;
}

.article-sidebar .sidebar-cta {
  color: var(--rd-white);
  background: linear-gradient(135deg, #2a2622 0%, #5a3428 100%);
}

.article-sidebar .sidebar-cta h3,
.article-sidebar .sidebar-cta p,
.article-sidebar .sidebar-cta a {
  color: var(--rd-white);
}

.compact-related {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .insights-hero-grid,
  .reading-path-grid,
  .article-list-grid,
  .article-source-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .featured-article-grid,
  .article-detail-layout,
  .compact-related {
    grid-template-columns: 1fr;
  }

  .article-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .insights-hero-grid,
  .reading-path-grid,
  .article-list-grid,
  .article-check-grid,
  .article-source-links {
    grid-template-columns: 1fr;
  }

  .insights-hero-grid article,
  .reading-path-grid article,
  .article-list-grid article,
  .article-check-grid article {
    min-height: auto;
    padding: 24px;
  }

  .featured-article-card img,
  .featured-article-card.large img {
    height: 230px;
  }
}
/* Products and product detail pages */
.products-page .products-hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 248, 242, 0.9) 48%, rgba(255, 248, 242, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/products-hero-bg.webp")) center / cover no-repeat;
}

.product-hero-grid,
.solution-product-grid,
.product-path-grid,
.product-support-grid,
.panel-fit-grid,
.panel-config-grid,
.panel-next-grid {
  display: grid;
  gap: 18px;
}

.product-hero-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1080px;
  margin-top: 34px;
}

.product-hero-grid article,
.product-path-grid article,
.product-support-grid article,
.panel-config-grid article {
  padding: 26px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.product-hero-grid article {
  min-height: 120px;
  border-color: rgba(171, 64, 35, 0.18);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.product-hero-grid strong,
.solution-product-grid span,
.product-path-grid span,
.panel-fit-grid span,
.panel-config-grid span,
.panel-next-grid span {
  display: inline-block;
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 800;
}

.product-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 14px;
  line-height: 1.6;
}

.solution-product-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.solution-product-grid article {
  grid-column: span 2;
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 12px 32px rgba(26, 24, 22, 0.05);
}

.solution-product-grid article:nth-child(4),
.solution-product-grid article:nth-child(5) {
  grid-column: span 3;
}

.solution-product-grid figure,
.panel-fit-grid figure {
  margin: 0;
}

.solution-product-grid img,
.panel-fit-grid img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.solution-product-grid .catalog-product-image {
  padding: 16px;
  object-fit: contain;
  background: #f8f8f8;
}

.solution-product-grid .catalog-config-image {
  padding: 8px;
  object-fit: contain;
  background: #f4f0ea;
}

.solution-product-grid div,
.panel-fit-grid div {
  padding: 26px;
}

.solution-product-grid h3,
.product-path-grid h3,
.product-support-grid h3,
.panel-fit-grid h3,
.panel-config-grid h3 {
  margin-top: 10px;
  color: var(--rd-ink);
  font-size: 21px;
}

.solution-product-grid p,
.product-path-grid p,
.product-support-grid p,
.panel-fit-grid p,
.panel-config-grid p {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.75;
}

.solution-product-grid a {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  color: var(--rd-brand);
  font-size: 14px;
  font-weight: 800;
}

.product-path-grid,
.panel-config-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-path-grid article,
.panel-config-grid article {
  min-height: 230px;
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.product-path-grid span,
.panel-config-grid span {
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  border-radius: 8px;
  font-family: var(--rd-font-en);
  line-height: 38px;
  text-align: center;
  background: #fff2ea;
}

.product-match-table {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 16px 38px rgba(26, 24, 22, 0.06);
}

.product-row {
  display: grid;
  grid-template-columns: 0.9fr 1.2fr 1.2fr 1.1fr;
  gap: 16px;
  padding: 20px 22px;
  border-top: 1px solid rgba(61, 57, 53, 0.09);
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.product-row:first-child {
  border-top: 0;
}

.product-row div:first-child {
  color: var(--rd-ink);
  font-weight: 800;
}

.product-head {
  color: var(--rd-white);
  font-weight: 800;
  background: var(--rd-ink);
}

.product-head div,
.product-head div:first-child {
  color: var(--rd-white);
}

.product-support-layout,
.product-detail-docs {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.product-support-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-panel-hero {
  background: linear-gradient(120deg, #fff 0%, #fff7f0 100%);
}

.panel-fit-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panel-fit-grid article {
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 12px 32px rgba(26, 24, 22, 0.05);
}

.panel-next-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panel-next-grid a {
  display: grid;
  gap: 12px;
  min-height: 140px;
  padding: 26px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: 8px;
  background: #fff8f3;
}

.panel-next-grid strong {
  color: var(--rd-ink);
  font-size: 21px;
}

@media (max-width: 980px) {
  .product-hero-grid,
  .product-path-grid,
  .panel-config-grid,
  .product-support-grid,
  .panel-fit-grid,
  .panel-next-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-product-grid article,
  .solution-product-grid article:nth-child(4),
  .solution-product-grid article:nth-child(5) {
    grid-column: span 1;
  }

  .product-support-layout,
  .product-detail-docs {
    grid-template-columns: 1fr;
  }

  .product-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .product-hero-grid,
  .solution-product-grid,
  .product-path-grid,
  .panel-config-grid,
  .product-support-grid,
  .panel-fit-grid,
  .panel-next-grid {
    grid-template-columns: 1fr;
  }

  .product-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .product-hero-grid article,
  .product-path-grid article,
  .product-support-grid article,
  .panel-config-grid article,
  .panel-next-grid a {
    min-height: auto;
    padding: 24px;
  }

  .solution-product-grid img,
  .panel-fit-grid img {
    height: 220px;
  }
}
/* REDDOT strength pages */
.strength-page .strength-hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 248, 242, 0.9) 48%, rgba(255, 248, 242, 0.42) 100%),
    var(--static-hero-bg, url("assets/img/about-hero-bg.webp")) center / cover no-repeat;
}

.strength-hero-grid,
.strength-path-grid,
.strength-stat-grid,
.strength-link-grid,
.team-role-grid {
  display: grid;
  gap: 18px;
}

.strength-hero-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1080px;
  margin-top: 34px;
}

.strength-hero-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.strength-hero-grid article,
.strength-path-grid article,
.strength-stat-grid article,
.team-role-grid article {
  padding: 26px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.strength-hero-grid article {
  min-height: 118px;
  border-color: rgba(171, 64, 35, 0.18);
  box-shadow: 0 16px 38px rgba(72, 45, 35, 0.08);
}

.strength-hero-grid strong,
.strength-path-grid span,
.team-role-grid span {
  display: inline-block;
  color: var(--rd-brand);
  font-size: 12px;
  font-weight: 800;
}

.strength-hero-grid span {
  display: block;
  margin-top: 10px;
  color: var(--rd-dark);
  font-size: 14px;
  line-height: 1.6;
}

.strength-path-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.strength-path-grid article {
  min-height: 230px;
  border-top: 3px solid rgba(171, 64, 35, 0.68);
}

.strength-path-grid span {
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  border-radius: 8px;
  font-family: var(--rd-font-en);
  line-height: 38px;
  text-align: center;
  background: #fff2ea;
}

.strength-path-grid h3,
.team-role-grid h3,
.product-support-grid h3 {
  margin-top: 10px;
  color: var(--rd-ink);
  font-size: 21px;
}

.strength-path-grid p,
.team-role-grid p,
.strength-copy p,
.strength-list span {
  margin-top: 10px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.75;
}

.strength-path-grid a {
  display: inline-flex;
  width: fit-content;
  margin-top: 18px;
  color: var(--rd-brand);
  font-size: 14px;
  font-weight: 800;
}

.strength-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.75fr);
  gap: 38px;
  align-items: stretch;
}

.strength-split.reverse {
  grid-template-columns: minmax(360px, 0.75fr) minmax(0, 0.95fr);
}

.strength-copy {
  padding: 34px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.strength-media {
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(26, 24, 22, 0.08);
}

.strength-media img {
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
}

.team-work-media {
  margin-bottom: 32px;
}

.team-work-media img {
  min-height: 320px;
  max-height: 460px;
}

.cert-wall-real {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.cert-wall-real figure {
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--rd-border);
  border-radius: 8px;
  background: #f8f8f8;
}

.cert-wall-real img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  padding: 10px;
  object-fit: contain;
}

.cert-wall-real figcaption {
  padding: 10px 12px;
  border-top: 1px solid var(--rd-border);
  background: #fff;
  color: var(--rd-dark);
  font-size: 12px;
  text-align: center;
}

@media (max-width: 720px) {
  .cert-wall-real {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.strength-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
}

.strength-stat-grid.large {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0;
}

.strength-stat-grid strong {
  display: block;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 28px;
}

.strength-stat-grid span {
  display: block;
  margin-top: 8px;
  color: var(--rd-medium);
  font-size: 13px;
}

.strength-table {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: 8px;
  background: var(--rd-white);
  box-shadow: 0 16px 38px rgba(26, 24, 22, 0.06);
}

.strength-row {
  display: grid;
  grid-template-columns: 0.88fr 1.35fr 1.25fr;
  gap: 16px;
  padding: 20px 22px;
  border-top: 1px solid rgba(61, 57, 53, 0.09);
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

.strength-row:first-child {
  border-top: 0;
}

.strength-row div:first-child {
  color: var(--rd-ink);
  font-weight: 800;
}

.strength-head {
  color: var(--rd-white);
  font-weight: 800;
  background: var(--rd-ink);
}

.strength-head div,
.strength-head div:first-child {
  color: var(--rd-white);
}

.strength-link-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
}

.strength-link-grid a {
  padding: 16px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: 8px;
  color: var(--rd-brand);
  font-weight: 800;
  background: #fff8f3;
}

.strength-list {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.strength-list span {
  display: block;
  padding: 12px 14px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: 8px;
  background: #fff8f3;
}

.team-role-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .strength-hero-grid,
  .strength-path-grid,
  .strength-stat-grid.large {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strength-split,
  .strength-split.reverse,
  .team-role-grid {
    grid-template-columns: 1fr;
  }

  .strength-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .strength-hero-grid,
  .strength-hero-grid.compact,
  .strength-path-grid,
  .strength-stat-grid,
  .strength-stat-grid.large,
  .strength-link-grid,
  .team-role-grid {
    grid-template-columns: 1fr;
  }

  .strength-hero-grid article,
  .strength-path-grid article,
  .strength-stat-grid article,
  .team-role-grid article,
  .strength-copy {
    min-height: auto;
    padding: 24px;
  }

  .strength-media img {
    min-height: 260px;
  }
}

/* ============================================================
   Link-card hover affordance (shared — all clickable info-cards)
   ============================================================ */
a.info-card {
  position: relative;
  display: block;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

a.info-card:hover {
  transform: translateY(-4px);
  border-color: rgba(205, 0, 20, 0.4);
  box-shadow: 0 20px 44px rgba(26, 24, 22, 0.12);
}

a.info-card::after {
  content: "→";
  position: absolute;
  top: 24px;
  right: 26px;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 18px;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 200ms ease, transform 200ms ease;
}

a.info-card:hover::after {
  opacity: 1;
  transform: translateX(0);
}

a.info-card:hover h3 {
  color: var(--rd-brand);
}

/* ============================================================
   Home page polish
   ============================================================ */
.home-page .static-hero .eyebrow {
  margin-bottom: 20px;
}

/* hero proof cards: top accent + hover lift */
.home-page .static-proof article {
  position: relative;
  overflow: hidden;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.home-page .static-proof article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--rd-brand), var(--rd-bright));
}

.home-page .static-proof article:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(26, 24, 22, 0.1);
}

.home-page .static-proof strong {
  font-family: var(--rd-font-en);
  font-size: 28px;
  letter-spacing: -0.01em;
}

/* section eyebrows sit above the title */
.home-page .section-head .eyebrow {
  margin-bottom: 16px;
}

/* centered single-column CTA (replaces the old 2-col grid) */
.cta-stack {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 4px;
}

.cta-stack .eyebrow {
  color: #ff5d6c;
  margin-bottom: 14px;
}

.cta-stack p {
  margin-top: 18px;
  max-width: 600px;
}

.cta-stack .page-actions {
  margin-top: 30px;
  justify-content: center;
}

@media (max-width: 640px) {
  a.info-card::after {
    display: none;
  }

  .home-page .static-proof strong {
    font-size: 24px;
  }
}

/* ============================================================
   Solutions — scenario cards (number badge + hover)
   ============================================================ */
.scenario-card-grid .info-card {
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.scenario-card-grid .info-card:hover {
  transform: translateY(-3px);
  border-color: rgba(205, 0, 20, 0.35);
  box-shadow: 0 18px 40px rgba(26, 24, 22, 0.1);
}

.scenario-card-grid .info-card .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--rd-tint);
  color: var(--rd-brand);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

/* ============================================================
   Eyebrow spacing — make eyebrows sit as a block above titles
   (shared across hero / section-head / split layouts)
   ============================================================ */
.static-hero .eyebrow,
.section-head .eyebrow,
.product-support-layout .eyebrow,
.cta-stack .eyebrow {
  display: flex;
  width: fit-content;
  margin-bottom: 14px;
}

/* ============================================================
   Products — product card hover + link affordance
   ============================================================ */
.solution-product-grid article {
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.solution-product-grid article:hover {
  transform: translateY(-4px);
  border-color: rgba(205, 0, 20, 0.32);
  box-shadow: 0 22px 46px rgba(26, 24, 22, 0.12);
}

.solution-product-grid img {
  transition: transform 320ms ease;
}

.solution-product-grid article:hover img {
  transform: scale(1.04);
}

.solution-product-grid a {
  align-items: center;
  gap: 6px;
}

.solution-product-grid a::after {
  content: "→";
  font-family: var(--rd-font-en);
  transition: transform 200ms ease;
}

.solution-product-grid article:hover a::after {
  transform: translateX(4px);
}

/* ============================================================
   Strength cluster — eyebrows, role detail lists, hover, CTA
   ============================================================ */
/* eyebrow inside split-copy blocks (brand-fact / quality / strength) */
.strength-copy .eyebrow {
  display: flex;
  width: fit-content;
  margin-bottom: 14px;
}

/* role cards: concrete support points + subtle hover */
.team-role-grid article,
.strength-path-grid article {
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.team-role-grid article:hover,
.strength-path-grid article:hover {
  transform: translateY(-3px);
  border-color: rgba(205, 0, 20, 0.3);
  box-shadow: 0 20px 44px rgba(26, 24, 22, 0.1);
}

.team-role-points {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(171, 64, 35, 0.14);
  list-style: none;
  display: grid;
  gap: 8px;
}

.team-role-points li {
  position: relative;
  padding-left: 18px;
  color: var(--rd-dark);
  font-size: 13.5px;
  line-height: 1.6;
}

.team-role-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rd-brand);
}

/* cross-reference note in split-copy */
.strength-note {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed rgba(61, 57, 53, 0.18);
  color: var(--rd-medium);
  font-size: 13.5px;
  line-height: 1.7;
}

.strength-note a {
  color: var(--rd-brand);
  font-weight: 800;
}

/* inline section CTA row under a step path */
.section-actions {
  margin-top: 30px;
}

/* ============================================================
   Strength cluster — brand-fact build (timeline, certs,
   tech grid, media placeholders) using real brand data
   ============================================================ */
/* image placeholder — swap with real photo later */
.media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  padding: 24px;
  border: 1px dashed rgba(205, 0, 20, 0.35);
  border-radius: var(--rd-radius, 8px);
  background:
    repeating-linear-gradient(
      45deg,
      rgba(205, 0, 20, 0.03),
      rgba(205, 0, 20, 0.03) 12px,
      rgba(255, 255, 255, 0) 12px,
      rgba(255, 255, 255, 0) 24px
    ),
    #fff8f3;
  text-align: center;
}

.media-placeholder span {
  display: block;
  max-width: 240px;
  color: var(--rd-brand);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.6;
}

.media-placeholder small {
  display: block;
  margin-top: 6px;
  color: var(--rd-medium);
  font-size: 12px;
  font-weight: 400;
}

/* key-data band (8 facts) */
.strength-keydata {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.strength-keydata article {
  padding: 22px 18px;
  border: 1px solid rgba(171, 64, 35, 0.16);
  border-radius: var(--rd-radius, 8px);
  background: #fff8f3;
  text-align: center;
}

.strength-keydata strong {
  display: block;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 26px;
  letter-spacing: -0.01em;
}

.strength-keydata span {
  display: block;
  margin-top: 6px;
  color: var(--rd-dark);
  font-size: 13px;
}

@media (max-width: 980px) {
  .strength-keydata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .strength-keydata strong {
    font-size: 22px;
  }
}

/* one-line positioning callout */
.brand-statement {
  margin: 0 auto;
  max-width: 880px;
  padding: 26px 30px;
  border-left: 4px solid var(--rd-brand);
  border-radius: 0 var(--rd-radius, 8px) var(--rd-radius, 8px) 0;
  background: #fff8f3;
}

.brand-statement p {
  color: var(--rd-ink);
  font-size: 18px;
  line-height: 1.7;
}

.brand-statement strong {
  color: var(--rd-brand);
}

/* development timeline */
.fact-timeline {
  position: relative;
  margin-top: 8px;
  padding-left: 24px;
  list-style: none;
}

.fact-timeline::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: linear-gradient(180deg, var(--rd-brand), rgba(205, 0, 20, 0.15));
}

.fact-timeline li {
  position: relative;
  padding: 0 0 26px 26px;
}

.fact-timeline li:last-child {
  padding-bottom: 0;
}

.fact-timeline li::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--rd-white, #fff);
  border: 3px solid var(--rd-brand);
}

.fact-timeline .ft-year {
  display: block;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 15px;
  font-weight: 800;
}

.fact-timeline .ft-title {
  display: block;
  margin-top: 2px;
  color: var(--rd-ink);
  font-size: 17px;
  font-weight: 700;
}

.fact-timeline .ft-desc {
  display: block;
  margin-top: 6px;
  color: var(--rd-medium);
  font-size: 14px;
  line-height: 1.7;
}

/* certification chips */
.cert-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.cert-badge {
  display: inline-flex;
  align-items: center;
  padding: 9px 16px;
  border: 1px solid rgba(171, 64, 35, 0.2);
  border-radius: 999px;
  background: #fff8f3;
  color: var(--rd-ink);
  font-size: 13.5px;
  font-weight: 700;
}

.cert-badge.is-pending {
  border-style: dashed;
  color: var(--rd-medium);
  background: #fafafa;
}

.cert-note {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: var(--rd-radius, 8px);
  background: var(--rd-pale, #f4f4f4);
  color: var(--rd-medium);
  font-size: 13px;
  line-height: 1.7;
}

/* shared number-badge for fact/tech/value card grids */
.fact-card-grid .info-card .num,
.value-card-grid .info-card .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--rd-tint, #fff2f3);
  color: var(--rd-brand);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
}

.fact-card-grid .info-card,
.value-card-grid .info-card {
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.fact-card-grid .info-card:hover,
.value-card-grid .info-card:hover {
  transform: translateY(-3px);
  border-color: rgba(205, 0, 20, 0.3);
  box-shadow: 0 18px 40px rgba(26, 24, 22, 0.1);
}

/* quality QC stage list */
.qc-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.qc-flow-grid article {
  position: relative;
  padding: 22px 22px 22px 58px;
  border: 1px solid rgba(61, 57, 53, 0.12);
  border-radius: var(--rd-radius, 8px);
  background: #fff;
  box-shadow: 0 10px 28px rgba(26, 24, 22, 0.04);
}

.qc-flow-grid .qc-step {
  position: absolute;
  left: 18px;
  top: 22px;
  color: var(--rd-brand);
  font-family: var(--rd-font-en);
  font-size: 22px;
  font-weight: 800;
}

.qc-flow-grid h3 {
  color: var(--rd-ink);
  font-size: 17px;
}

.qc-flow-grid p {
  margin-top: 6px;
  color: var(--rd-medium);
  font-size: 13.5px;
  line-height: 1.7;
}

@media (max-width: 980px) {
  .qc-flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .qc-flow-grid {
    grid-template-columns: 1fr;
  }

  .media-placeholder {
    min-height: 220px;
  }

  .brand-statement p {
    font-size: 16px;
  }
}

/* ============================================================
   Solution detail (wellness) — store-model photo headers
   + section feature banners
   ============================================================ */
/* photo header that bleeds to the card edges, replacing the icon */
.store-model article {
  overflow: hidden;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.store-model article:hover {
  transform: translateY(-4px);
  border-color: rgba(205, 0, 20, 0.32);
  box-shadow: 0 22px 46px rgba(26, 24, 22, 0.12);
}

.store-model article > img {
  width: calc(100% + 52px);
  height: 200px;
  margin: -26px -26px 2px;
  object-fit: cover;
  display: block;
}

.store-model article > img + div span {
  margin-top: 4px;
}

/* full-width feature banner used to break up text-heavy sections */
.section-feature {
  position: relative;
  margin: 0 0 26px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(26, 24, 22, 0.1);
}

.section-feature img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.section-feature figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 40px 30px 22px;
  color: var(--rd-white);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  background: linear-gradient(180deg, rgba(26, 24, 22, 0) 0%, rgba(26, 24, 22, 0.72) 100%);
}

.section-feature figcaption strong {
  display: block;
  margin-bottom: 4px;
  font-size: 19px;
  font-weight: 800;
}

@media (max-width: 640px) {
  .store-model article > img {
    height: 150px;
  }

  .section-feature img {
    height: 190px;
  }

  .section-feature figcaption {
    padding: 30px 20px 18px;
    font-size: 13.5px;
  }

  .section-feature figcaption strong {
    font-size: 16px;
  }
}

/* FAQ "了解更多" micro-link */
.faq-more {
  display: inline-block;
  margin-top: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rd-brand);
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}

.faq-more:hover {
  color: var(--rd-brand-hover);
  transform: translateX(2px);
}

/* home page compact scenario chips (compressed from full cards) */
.scene-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 26px;
}

.scene-chips a {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  border: 1px solid var(--rd-border);
  border-radius: 999px;
  background: var(--rd-white);
  font-size: 15px;
  font-weight: 600;
  color: var(--rd-ink);
  text-decoration: none;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.scene-chips a:hover {
  color: var(--rd-brand);
  border-color: rgba(205, 0, 20, 0.4);
  background: var(--rd-tint);
  transform: translateY(-2px);
}

/* home "我们服务谁" cards with photo headers */
.scene-card-grid .info-card {
  overflow: hidden;
}

.scene-card-grid .info-card > img {
  width: calc(100% + 56px);
  height: 200px;
  margin: -28px -28px 12px;
  object-fit: cover;
  display: block;
  transition: transform 320ms ease;
}

.scene-card-grid .info-card:hover > img {
  transform: scale(1.04);
}

@media (max-width: 640px) {
  .scene-card-grid .info-card > img {
    height: 188px;
  }
}

/* ============================================================
   WP 主题补充：文章正文排版 + 分页（动态文章系统用）
   ============================================================ */
.post-content { max-width: 800px; margin-inline: auto; font-size: 16px; line-height: 1.9; color: var(--rd-dark); }
.post-content > * + * { margin-top: 18px; }
.post-content h2 { font-size: 26px; margin-top: 42px; }
.post-content h3 { font-size: 20px; margin-top: 32px; }
.post-content ul, .post-content ol { padding-left: 1.4em; }
.post-content li + li { margin-top: 8px; }
.post-content img { max-width: 100%; height: auto; border-radius: 8px; }
.post-content blockquote { border-left: 3px solid var(--rd-brand); padding: 6px 18px; background: var(--rd-paler); color: var(--rd-medium); }
.post-content a { color: var(--rd-brand); border-bottom: 1px solid currentColor; }
.post-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.post-content th, .post-content td { border: 1px solid var(--rd-border); padding: 10px 12px; text-align: left; }
.post-content th { background: var(--rd-pale); }
.navigation.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.navigation.pagination .page-numbers { min-height: 40px; padding: 8px 14px; border: 1px solid var(--rd-border); border-radius: 4px; font-weight: 600; }
.navigation.pagination .page-numbers.current { background: var(--rd-brand); border-color: var(--rd-brand); color: var(--rd-white); }
.article-list-grid h3 a { color: inherit; }

/* ============================================================
   博客详情 · 文章目录（TOC，侧栏内随窗口浮动；当前章节红色）
   .static-sidebar 已 sticky(top:110px)，目录跟随窗口浮动
   ============================================================ */
.enhanced-article h2 { scroll-margin-top: 110px; }   /* 锚点跳转避开 fixed 头部 */
.toc-box h3 { margin-bottom: 14px; }
.article-toc { display: flex; flex-direction: column; }
.article-toc a {
  display: block;
  padding: 7px 0 7px 14px;
  border-left: 2px solid var(--rd-border);
  color: var(--rd-dark);            /* 默认黑灰 */
  font-size: 13.5px;
  line-height: 1.5;
  text-decoration: none;
  transition: color 150ms ease, border-color 150ms ease;
}
.article-toc a:hover { color: var(--rd-brand); }
.article-toc a.is-active {          /* 当前章节红色 */
  color: var(--rd-brand);
  border-left-color: var(--rd-brand);
  font-weight: 600;
}

/* ============================================================
   法律页（隐私/条款）与网站地图 —— 内容排版优化
   原 legal-block / legal-list / sitemap-col 均无样式，且 h2 误用 .section-title 巨号
   ============================================================ */

/* 柔和文档底色，让白卡浮起 */
.legal-page .page-section,
.sitemap-page .page-section { background: var(--rd-paler); }

/* —— 隐私政策 / 服务条款：长文卡片 —— */
.legal-block {
  background: var(--rd-white);
  border: 1px solid var(--rd-border);
  border-radius: 14px;
  padding: clamp(26px, 4vw, 48px);
  box-shadow: var(--rd-shadow);
}
.legal-block h2 {                       /* 覆盖 .section-title 的 clamp(30~42px) */
  font-size: 19px;
  line-height: 1.45;
  letter-spacing: 0;
  margin: 34px 0 14px;
  padding-left: 14px;
  border-left: 3px solid var(--rd-brand);
}
.legal-block h2:first-child { margin-top: 0; }
.legal-block p {
  color: var(--rd-dark);
  font-size: 15px;
  line-height: 1.95;
  margin: 0 0 14px;
}
.legal-block strong { color: var(--rd-ink); font-weight: 600; }
.legal-block a { color: var(--rd-brand); border-bottom: 1px solid currentColor; }

.legal-block .legal-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  gap: 11px;
}
.legal-block .legal-list li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--rd-dark);
}
.legal-block .legal-list li::before {   /* 品牌色圆点 */
  content: "";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rd-brand);
}

/* —— 网站地图：分栏卡片 + 链接列表 —— */
.sitemap-grid { gap: 22px; }
.sitemap-col {
  background: var(--rd-white);
  border: 1px solid var(--rd-border);
  border-radius: 12px;
  padding: 26px 24px;
  box-shadow: 0 8px 24px rgba(26, 24, 22, 0.05);
}
.sitemap-col h2 {                       /* 覆盖巨号 */
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rd-hair);
}
.sitemap-col .legal-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}
.sitemap-col .legal-list li { padding: 0; }
.sitemap-col .legal-list a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  color: var(--rd-dark);
  font-size: 14.5px;
  line-height: 1.5;
  transition: color 150ms ease, transform 150ms ease;
}
.sitemap-col .legal-list a::before {
  content: "›";
  color: var(--rd-brand);
  font-weight: 700;
}
.sitemap-col .legal-list a:hover {
  color: var(--rd-brand);
  transform: translateX(3px);
}
