:root {
  color-scheme: light;
  --green: #008c11;
  --green-strong: #00941c;
  --green-deep: #14363F;
  --dark: #14363f;
  --muted: #666666;
  --line: #bddfcd;
  --soft: #eef5f2;
  --yellow: #ffb700;
  --shell: 1220px;
  --narrow: 992px;
}

@font-face {
  font-family: "Outfit";
  src: url("/wp-content/themes/junj/assets/fonts/Outfit-Regular.woff2") format("woff2");
  font-weight: 400;
}

@font-face {
  font-family: "Outfit";
  src: url("/wp-content/themes/junj/assets/fonts/Outfit-Medium.woff2") format("woff2");
  font-weight: 500;
}

@font-face {
  font-family: "Outfit";
  src: url("/wp-content/themes/junj/assets/fonts/Outfit-SemiBold.woff2") format("woff2");
  font-weight: 600;
}

@font-face {
  font-family: "Outfit";
  src: url("/wp-content/themes/junj/assets/fonts/Outfit-Bold.woff2") format("woff2");
  font-weight: 700;
}

@font-face {
  font-family: "Outfit";
  src: url("/wp-content/themes/junj/assets/fonts/Outfit-Black.woff2") format("woff2");
  font-weight: 900;
}

@font-face {
  font-family: "Orbitron";
  src: url("/wp-content/themes/junj/assets/fonts/Orbitron-Bold.otf") format("opentype");
  font-weight: 700;
}

@font-face {
  font-family: "Orbitron";
  src: url("/wp-content/themes/junj/assets/fonts/Orbitron-Black.ttf") format("truetype");
  font-weight: 900;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  background: #fff;
}

body {
  font-family: "Outfit", Arial, sans-serif;
  color: var(--dark);
}

a,
a:hover,
a:focus,
a:focus-visible {
  color: inherit;
  text-decoration: none;
  outline: 0;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

.smt-page img {
  max-width: 100%;
  height: auto;
}

.smt-page .smt-richtext > :first-child { margin-top: 0; }
.smt-page .smt-richtext > :last-child { margin-bottom: 0; }
.smt-page button[data-accordion-toggle],
.smt-page .side-anchor__toggle,
.smt-page .intervention-toggle {
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.smt-page {
  position: relative;
  background: #fff;
  --smt-anchor-width: 446px;
  --smt-anchor-gap: 20px;
  --smt-anchor-offset: calc(var(--smt-anchor-width) + var(--smt-anchor-gap));
}

.smt-section {
  position: relative;
}

.content-shell {
  width: calc(100% - 48px);
  max-width: var(--shell);
  margin-inline: auto;
}

.content-shell.narrow {
  max-width: var(--narrow);
}

.section-title {
  font-family: var(--font-body, "Outfit"), "Microsoft YaHei", Arial, sans-serif;
  font-size: 40px;
  line-height: 54px;
  font-weight: 700;
  color: var(--green);
}

.section-title.light {
  color: #fff;
}

.section-title.centered,
.centered {
  text-align: center;
}

.mixed-title {
  color: var(--green);
}

.mixed-title > span {
  color: var(--dark);
}

/* 拆行排版：把 mixed-title 内的两段 .mixed-title__line 各显示一行；lead 段用墨绿 (--green-deep) */
.mixed-title {
  line-height: 1.15;
}

.mixed-title__line {
  display: block;
}

/* 这里把选择器写两层 (.mixed-title .mixed-title__line--lead) 把特异性从 0,1,0 提到 0,2,0
   覆盖上面那条 .mixed-title > span { color: var(--dark) }
   并且把原本写错的 var(#006d10) 改成带 token 回退的 var(--green-deep, #006d10) */
.mixed-title .mixed-title__line--lead {
  color: var(--green-deep, #14363F);
}

.mixed-title .mixed-title__line--continue {
  color: var(--green);
}

.lead,
.centered-copy,
.light-copy {
  font-size: 18px;
  line-height: 27px;
  color: var(--muted);
}

.centered-copy {
  max-width: 1215px;
  margin-inline: auto;
}

.small {
  font-size: 16px;
}

.light-copy {
  color: #fff;
}

.subhead,
.plain-subtitle,
.large-subhead,
.dimension-title,
.tab-title {
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  color: var(--dark);
}

.dimension-title span,
.tab-title span,
.subhead {
  color: var(--green);
}

.section-bg,
.wide-media {
  width: 100%;
}

/* === 系统级间距兜底 ===
   全局 * { margin:0 } reset 后,.smt-section 内的标题、正文、CTA、图片若没有显式 margin
   就会直接相贴。这里给常用组合一份默认节奏;per-section 的具体规则胜出,这里只兜底。*/
.smt-section .section-title {
  margin-bottom: 30px;
}
.smt-section .lead,
.smt-section .centered-copy,
.smt-section .light-copy,
.smt-section .smt-richtext {
  margin-top: 25px;
}
.smt-section .subhead,
.smt-section .plain-subtitle,
.smt-section .large-subhead,
.smt-section .dimension-title,
.smt-section .tab-title {
  margin-top: 30px;
  margin-bottom: 22px;
}
.smt-section a.outline-cta,
.smt-section a.solid-cta,
.smt-section a.glass-cta {
  margin-top: 30px;
}
.smt-section .image-card h3 {
  margin-top: 24px;
}

.smt-hero {
  background: url("/wp-content/uploads/2026/07/section-hero-bg.png") center / cover no-repeat;
}

.process-section {
  background: linear-gradient(rgba(0, 142, 17, 0.88), rgba(0, 142, 17, 0.88)), url("/wp-content/uploads/2026/07/section-process-bg.png") center / cover no-repeat;
}

.quality-section {
  background: url("/wp-content/uploads/2026/07/pro-spa-21.png") center / cover no-repeat;
}

/* 把 section-bg 降到绝对定位、section-overlay 改为相对定位,使整个 section
   由内容(overlay 高度)驱动,而不是被 bg 图像素比固定。
   历史上 base 段用的是 position:absolute/inset:0,叠加 .section-bg 的内禀
   1920x647 aspect ratio,导致桌面宽屏下 carousel 卡片被容器高度限制而溢出。
   同一修复已在 (max-width: 1180px) 与 (max-width: 1919px) 写过一次,
   这里把它提升到 base,所有断点生效。*/
.quality-section > .section-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quality-section > .section-overlay {
  position: relative;
  inset: auto;
}

.capability-cta {
  display: grid;
}

.capability-cta .section-bg,
.capability-cta .section-overlay {
  grid-area: 1 / 1;
}

.capability-cta .section-bg {
  align-self: stretch;
  object-fit: cover;
}

/* hero 文字顶端跟侧栏 h3 顶端竖直对齐(Option B):
   - hero-overlay 从垂直居中改为 top-align
   - padding-top 收得很小,让 hero h1 + richtext 顶部基本与侧栏绿底 h3 平齐
     (侧栏 aside 的 JS 顶部 = intro-section top - navHeader offsetHeight ≈ intro-section top - 88) */
.hero-overlay {
  display: flex;
  align-items: flex-start;
  padding: clamp(70px, 9vh, 110px) 0 110px;
}

.hero-copy {
  width: calc(100% - 338px);
  max-width: 1582px;
  margin-inline: auto;
  color: #fff;
  position: relative;
  z-index: 1;
}

.hero-copy h1 {
  font-family: "Orbitron", sans-serif;
  font-size: 48px;
  line-height: 58px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 18px;
}

.hero-copy .smt-richtext {
  max-width: 1273px;
  margin-inline: 0;
  text-align: center;
}

.hero-copy p {
  max-width: 1273px;
  font-size: 18px;
  line-height: 28px;
}

.intro-section {
  padding: 99px 0 117px;
}

.intro-section .content-shell {
  max-width: 1362px;
  margin-right: 0;
}

.intro-section .section-title {
  text-align: left;
}

.intro-section .lead {
  margin-top: 30px;
}

.intro-section .centered-copy {
  max-width: 1215px;
  margin-inline: 0 auto;
}

.product-carousel {
  margin-top: 78px;
  overflow: hidden;
}

.product-card {
  display: block;
  text-align: center;
}

.product-card__media {
  position: relative;
  box-sizing: border-box;
}

.product-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  box-sizing: border-box;
  border: 1px solid var(--line);
  pointer-events: none;
  transition: border-color 1s var(--motion-ease);
}

.product-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.product-card-media--compact {
  padding: 7%;
}

.product-card strong {
  display: block;
  margin-top: 28px;
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  text-transform: capitalize;
}

.precision-section {
  padding: 66px 0 81px;
  background: #f7f9f8;
}

@media (min-width: 1500px) {
  .precision-section .content-shell {
    margin-left: auto;
    margin-right: 142px;
  }
}

.precision-section .section-subheading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 27px;
  font-weight: 700;
  color: var(--muted);
}

.precision-section .lead {
  margin-top: 25px;
}

.cta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: 41px 0 54px;
  border-bottom: 1px solid var(--line);
}

.cta-note {
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
}

.outline-cta,
.glass-cta,
.solid-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid var(--green);
  border-radius: 7px;
  padding: 12px 10px 12px 18px;
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
  color: var(--dark);
}

.outline-cta .iconfont,
.glass-cta .iconfont,
.solid-cta .iconfont,
.arrow-link .iconfont {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 5px;
  background: var(--green);
  color: #fff;
  font-size: 30px;
}

.precision-section .outline-cta {
  width: 386px;
}

.subhead {
  margin: 56px 0 27px;
}

.spec-table,
.stage-table,
.service-table {
  display: grid;
  border: 1px solid var(--line);
  color: var(--dark);
}

.spec-table {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr);
}

.stage-table {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 2.52fr);
}

.service-table {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.78fr) minmax(0, 1.48fr) minmax(0, 1.56fr);
}

.spec-table > div,
.stage-table > div,
.service-table > div {
  padding: 30px 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  line-height: 22px;
  font-weight: 500;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 单元格不得被内容撑破：min-width:0 解除 grid/flex 项的 auto 最小尺寸，
     overflow-wrap 让长串（型号、尺寸参数）可以断行，文字不会超出表格边框 */
  min-width: 0;
  overflow-wrap: anywhere;
}

.spec-table > div:nth-child(2n),
.stage-table > div:nth-child(3n),
.service-table > div:nth-child(4n) {
  border-right: 0;
}

.spec-table > div:nth-last-child(-n+2),
.stage-table > div:nth-last-child(-n+3),
.service-table > div:nth-last-child(-n+4) {
  border-bottom: 0;
}

.table-head {
  background: var(--green);
  color: #fff;
}

.precision-section .table-head {
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
}

.spec-table > .table-head {
  padding: 17px 22px;
}

.process-section .section-overlay {
  padding: 68px 0 48px;
}

.process-section .content-shell {
  margin-left: auto;
  margin-right: 139px;
}

.process-section .section-title {
  text-align: left;
}

.phase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 31px;
  margin-top: 44px;
}

.phase-card {
  background: #fff;
  border-radius: 16px;
  padding: 36px 29px 40px;
  min-height: 394px;
}

.phase-card > p {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  color: #98a29b;
}

.phase-card h3 {
  margin-top: 12px;
  color: var(--green);
  font-size: 24px;
  line-height: 32px;
}

/* #47/#59 类诉求：三卡片标题行数不一致时, 用两行高度兜底,
   让下方 ul 正文起始线齐平; 仅在三列布局(>760px)生效 */
@media (min-width: 761px) {
  .phase-card h3 {
    min-height: 64px;
  }
}

.phase-card ul,
.cert-list {
  list-style: none;
}

.phase-card ul {
  padding-top: 21px;
}

.phase-card li {
  margin-top: 13px;
  font-size: 17px;
  line-height: 24px;
  font-weight: 600;
}

.phase-card b {
  color: var(--green);
  margin-right: 7px;
}

.process-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-top: 70px;
  color: #fff;
}

.process-bottom h3 {
  color: var(--yellow);
  font-size: 28px;
  line-height: 34px;
  margin-bottom: 24px;
}

.process-bottom p {
  max-width: 780px;
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
}

.glass-cta {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.08);
}

.glass-cta .iconfont {
  background: var(--yellow);
}

.advantages-section {
  padding: 101px 0 90px;
}

@media (min-width: 1500px) {
  .advantages-section .content-shell {
    width: 100%;
    max-width: none;
  }

  .advantages-section .advantage-grid {
    width: var(--shell);
    margin-left: auto;
    margin-right: 142px;
  }
}

.advantage-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 38px 33px;
  margin-top: 64px;
}

.advantage-grid article {
  display: flex;
  text-align:justify;
  align-items: flex-start;
  gap: 34px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 38px 24px 33px;
}

.advantage-grid img {
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  max-width: none;
  object-fit: contain;
}

.advantage-grid h3,
.image-card h3,
.pcb-list h3 {
  color: var(--green);
  font-size: 22px;
  line-height: 28px;
  font-weight: 700;
}

.advantage-grid p {
  margin-top: 17px;
  font-size: 18px;
  line-height: 23px;
  color: var(--muted);
}

.features-section {
  margin-top: 5px;
  padding: 110px 0 123px;
  background: #f6f9f7;
}

@media (min-width: 1500px) {
  .features-section .content-shell {
    margin-left: auto;
    margin-right: 142px;
  }

  .challenges-section .content-shell {
    margin-left: auto;
    margin-right: 141px;
  }
}

.features-section .plain-subtitle {
  margin-top: 0;
  margin-bottom: 0;
}

.features-section .lead {
  margin-top: 37px;
}

.features-section .section-title {
  line-height: 54px;
}

.accordion-list,
.numbered-accordion,
.simple-accordion,
.intervention-list,
.faq-list {
  border-top: 1px solid var(--line);
}

.accordion-list {
  margin-top: 54px;
}

.accordion-list article,
.simple-accordion article,
.intervention-list article,
.faq-list article,
.numbered-accordion article {
  border-bottom: 1px solid var(--line);
}

.accordion-list header,
.simple-accordion header,
.faq-list article,
.faq-list header,
.numbered-accordion article,
.intervention-list article {
  display: flex;
  align-items: center;
  gap: 24px;
}

.accordion-list header {
  padding: 24px 38px;
}

.feature-open header {
  background: var(--green);
  color: #fff;
}

.accordion-list span,
.numbered-accordion span,
.intervention-list span,
.quote-grid span {
  color: var(--green);
  font-size: 24px;
  line-height: 30px;
  font-weight: 700;
}

.feature-open header span {
  color: var(--yellow);
}

.accordion-list span {
  font-weight: 600;
}

.accordion-list h3 {
  flex: 1;
  font-size: 24px;
  line-height: 30px;
  font-weight: 600;
}

.accordion-list header :is(a, button),
.simple-accordion header :is(a, button),
.numbered-accordion :is(a, button),
.intervention-list :is(a, button),
.faq-list :is(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 18px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 20px;
  line-height: 1;
}

.feature-open header :is(a, button) {
  width: 50px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: transparent;
  color: #fff;
  font-size: 20px;
}

.feature-body {
  display: grid;
  grid-template-columns: 428px 1fr;
  gap: 89px;
  padding: 56px 45px 77px;
  background: #fff;
  align-items: center;
}

.feature-body img {
  border-radius: 12px;
  width: 100%;
}

.feature-body p {
  text-align:justify;
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
}

.complexity-section {
  padding: 96px 0 70px;
}

.complexity-section .content-shell.narrow,
.dfm-section .content-shell.narrow {
  width: 1220px;
  max-width: calc(100% - 48px);
  margin-left: calc((100% - 1920px) / 2 + 558px);
  margin-right: auto;
}

.complexity-section .section-title {
  font-size: 40.2px;
}

.complexity-section .dimension-title {
  font-size: 23.9px;
  margin-top: 58px;
}

.complexity-section .lead {
  margin-top: 27px;
  max-width: 1167px;
  margin-left: 4px;
}

.complexity-list {
  margin-top: 15px;
  border-bottom: 1px solid #2b5650;
}

.complexity-list article {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 106px;
  padding: 37px 0 46px;
  border-bottom: 1px solid var(--line);
  align-items: center;
}

.complexity-list article:last-child {
  border-bottom: 0;
}

.complexity-list img {
  width: 100%;
}

.complexity-list h3 {
  color: var(--green);
  font-size: 20px;
  line-height: 28px;
  margin-top: 2px;
  margin-bottom: 18px;
}

.complexity-list p {
  text-align:justify;
  color: var(--muted);
  font-size: 18px;
  line-height: 25px;
}

.production-section {
  padding: 5px 0 130px;
}

.production-section .content-shell {
  width: 1220px;
  max-width: calc(100% - 48px);
  margin-left: calc((100% - 1920px) / 2 + 558px);
  margin-right: auto;
}

.production-section .lead {
  margin: 27px 0 31px;
}

/* 行高改为 min-height + auto 行：ACF 行数或文案变长时单元格会自行长高，
   不再像固定 81.333px 那样让文字溢出表格 */
.production-section .stage-table {
  grid-template-columns: minmax(0, 250px) minmax(0, 336px) minmax(0, 1fr);
  grid-auto-rows: auto;
}

.production-section .stage-table > div {
  padding: 14px;
  min-height: 81px;
}

.production-section .stage-table > .table-head {
  min-height: 61px;
}

.production-section .stage-label {
  font-weight: 600;
  line-height: 28px;
}

.production-section .volume-cell,
.production-section .focus-cell {
  text-align:justify;
  text-align-last: center;
  font-weight: 400;
  line-height: 20px;
}

.production-section .stage-table > .focus-cell {
  padding-left: 60px;
  padding-right: 60px;
}

.production-section .table-head {
  padding: 12px 22px;
  font-size: 20px;
  font-weight: 600;
}

.production-section .table-head {
  line-height: 22px;
}

.production-section .stage-head {
  line-height: 28px;
}

.service-section {
  background: #f9fbfa;
  padding: 34px 0 133px;
}

.service-section .content-shell {
  width: calc(100% - 48px);
  max-width: 1220px;
  margin-left: calc((100% - 1920px) / 2 + 558px);
  margin-right: auto;
}

.service-table {
  grid-auto-rows: auto;
  margin-top: 53px;
}

.service-table > div {
  padding: 16px 22px;
  min-height: 120px;
  font-weight: 400;
  line-height: 20px;
}

.service-table > .table-head {
  min-height: 60px;
}

.service-table > .service-best-for {
  padding-inline: 18px;
  text-align:justify;
  text-align-last: center;
}

.service-table > .service-best-for-standard {
  padding-inline: 22px;
}

.service-table > .service-alt {
  background: #eff5f3;
}

.service-table > div:not(.table-head):not(.service-alt) {
  background: #fff;
}

.service-table > .table-head {
  font-size: 20px;
  line-height: 22px;
  font-weight: 600;
}

.service-table > .service-model {
  font-weight: 600;
  line-height: 28px;
}

.service-table > .service-model-compact {
  line-height: 20px;
}

.capability-cta .section-overlay {
  display: block;
  padding: 82px 24px 51px 400px;
  color: #fff;
  text-align: center;
}

.capability-cta .smt-richtext,
.capability-cta .smt-richtext > p {
  text-align: center;
  text-align-last: center;
  text-justify: auto;
}

.capability-cta .eyebrow {
  color: var(--yellow);
  font-family: "Orbitron", sans-serif;
  font-size: 24px;
  line-height: 32px;
  font-weight: 900;
  margin-bottom: 35px;
}

.capability-cta .section-title {
  font-family: "Outfit", sans-serif;
  font-size: 42px;
  line-height: 52px;
  font-weight: 900;
}

.centered-overlay p:not(.eyebrow) {
  max-width: 950px;
  margin: 34px auto 53px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #eff5f3;
}

.solid-cta {
  background: #fff;
  text-align: left;
}

.capability-cta .solid-cta {
  gap: 39px;
  padding-block: 10px;
  font-weight: 600;
  color: #3a6a50;
}

.dfm-section {
  padding: 106px 0 120px;
}

.dfm-section .plain-subtitle {
  margin-top: 39px;
}

.dfm-section .lead {
  margin: 22px 0 39px;
  /* #52/#64: DFM 说明段落两端对齐, 末行保持左对齐 */
  text-align: justify;
  text-align-last: left;
  overflow-wrap: break-word;
}

.wide-media {
  margin: 0 auto;
}

.dfm-section .tab-title {
  text-align: center;
  margin: 55px 0 56px;
  line-height: 24px;
}

.dfm-section .tab-title--rfq {
  margin-bottom: 27px;
}

.dfm-section .tab-description {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.dfm-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 21px 26px;
  padding-bottom: 5px;
}

.dfm-grid article {
  border: 1px solid var(--line);
  padding: 29px 18px;
}

.dfm-grid h4,
.simple-accordion h4,
.intervention-list h4,
.numbered-accordion h3 {
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  color: var(--dark);
}

.dfm-grid h4 {
  color: var(--dark);
  font-size: 20px;
  line-height: 27px;
  margin-bottom: 16px;
}

.dfm-grid .dfm-card--accent h4 {
  color: var(--dark);
}

.dfm-grid article:hover h4 {
  color: var(--green);
}

.dfm-grid p,
.simple-accordion p,
.intervention-list p,
.numbered-accordion p {
  color: var(--muted);
  font-size: 16px;
  line-height: 22px;
}

.simple-accordion {
  margin-top: 38px;
}

.dfm-section .centered-copy.small {
  font-size: 18px;
  line-height: 27px;
  text-align: center;
}

.dfm-section .simple-accordion h4 {
  font-size: 24px;
  line-height: 54px;
}

.dfm-section .simple-accordion .simple-accordion__item--open.simple-accordion__item--accent h4 {
  color: var(--green);
}

.dfm-section .simple-accordion p {
  font-size: 18px;
  line-height: 27px;
}

.dfm-section .simple-accordion {
  margin-top: 41px;
}

.dfm-section .simple-accordion__item--open header {
  padding-bottom: 2px;
}

.dfm-section .simple-accordion__item--open h4 {
  color: var(--green);
}

.dfm-section .simple-accordion__item--open p {
  padding-bottom: 39px;
}

.dfm-section .simple-accordion__item--spacious header {
  padding-bottom: 30px;
}

.simple-accordion header {
  justify-content: space-between;
  padding: 36px 0 18px;
}

.dfm-section .simple-accordion header,
.dfm-section .simple-accordion article p {
  padding-left: 2px;
}

.dfm-section .simple-accordion__item--open header :is(a, button) {
  width: 50px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--green);
  font-size: 20px;
}

.simple-accordion article p {
  padding-bottom: 28px;
}

.challenges-section {
  padding: 91px 0 112px;
  background: #f8faf9;
}

.challenges-section .content-shell {
  max-width: 1221px;
}

.challenges-section .lead {
  margin: 35px 0 40px;
}

/* 说明文字（ACF 可选）与主标题同为居中排版 */
.challenges-section .section-title {
  text-align: center;
}

.challenges-section .challenges-lede {
  max-width: 1000px;
  margin: 24px auto 40px;
  font-size: 18px;
  line-height: 27px;
  color: var(--muted);
  text-align: center;
  text-align-last: center;
  text-justify: auto;
  overflow-wrap: break-word;
}

.challenges-section .large-subhead {
  font-size: 32px;
  line-height: 54px;
  font-weight: 900;
  margin: 41px 0;
}

.intervention-list article {
  align-items: flex-start;
  padding: 39px 0 36px 5px;
}

.intervention-list span {
  font-size: 46px;
  line-height: 54px;
  color: #b8dfc0;
  flex: 0 0 113px;
  margin: -10px 0 0 -3px;
}

.intervention-list div {
  flex: 1;
}

.intervention-list h4 {
  color: var(--dark);
  font-size: 24px;
  line-height: 30px;
  margin-bottom: 14px;
}

.intervention-list article > h4 {
  flex: 1;
}

.intervention-list .is-open h4 {
  color: var(--green);
}

.challenges-section .intervention-list p {
  font-size: 18px;
  line-height: 27px;
}

.intervention-list .intervention-toggle {
  width: 48px;
  height: 28px;
  flex: 0 0 48px;
  padding: 0;
  border: 1px solid transparent;
}

.intervention-list .is-open > .intervention-toggle {
  border-color: #c9e8cf;
  background: #fff;
  color: var(--green);
}

.cert-section {
  padding: 106px 0 93px;
}

.cert-section .content-shell {
  max-width: 1142px;
}

@media (min-width: 1500px) {
  .cert-section {
    margin-top: 28px;
  }

  .cert-section .content-shell {
    margin-left: auto;
    margin-right: 220px;
  }
}

.split-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  align-items: last baseline;
  gap: 80px;
  padding: 2px 0 0 2px;
}

.cert-list {
  width: 100%;
  max-width: 1090px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 28px;
  row-gap: 8px;
  padding-left: 2px;
  margin: 0;
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
  color: var(--dark);
  /* 标签由后台填写、长度不定：允许换行，避免长标签冲出容器 */
  white-space: normal;
  overflow-wrap: break-word;
}

/* 桌面端：让标题与标签列表顶部对齐（覆盖默认的 last baseline），
   避免 ul 顶部下移与 h2 出现 29px 错位。 */
.cert-section .split-head {
  align-items: flex-start;
}

/* 悬挂缩进：换行后的第二行与文字对齐，而不是缩到项目符号下面 */
.cert-list li {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 4px 0;
  text-indent: 0;
  list-style: none;
}

.cert-list li::before {
  content: "\2022\00a0";
  flex: 0 0 auto;
  margin-right: 0.4em;
  color: var(--dark);
  line-height: 20px;
}

.cert-list-wide {
  grid-column: 1 / -1;
}

.cert-body {
  width: 100%;
  /* 客户 1009 r13/r14「图片最右侧在划线的地方，跟上面的3齐平」：
     1090 → 1142，与 .split-head / .cert-list 的右缘（实测 1700）对齐。 */
  max-width: 1142px;
}

.cert-grid {
  width: 100%;
  max-width: 1142px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  /* 客户 1009 r13/r14「中间间隔大一点」：30 → 50，
     4 张卡片 (1142 - 3×50) / 4 = 248 宽，整组右缘 1700 与上方认证列表齐平。 */
  gap: 50px;
  /* #57/#68: 独立边框卡片后等高拉伸, 视觉更整齐 */
  align-items: stretch;
  margin-top: 80px;
  text-align: center;
}

/* #57/#68: 每张证书独立边框卡片 (border + radius + padding), 卡片间由 gap 留白 */
.cert-grid figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px 18px;
  background: #fff;
}

.cert-grid img {
  width: 100%;
  object-fit: contain;
}

.cert-grid figcaption {
  margin-top: 9px;
  font-size: 20px;
  line-height: 37px;
  font-weight: 700;
}

.centered-cta {
  margin: 67px auto 0;
}

.cert-section .centered-cta {
  display: flex;
  width: 100%;
  max-width: 387px;
  padding-left: 10px;
  font-weight: 600;
  color: #3a6a50;
}

.quality-section .section-overlay {
  padding: 93px 0 95px;
}

.quality-section .content-shell {
  max-width: 1360px;
  margin-left: auto;
  margin-right: 2px;
}

.quality-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 343px;
  gap: 30px;
  margin-top: 62px;
}

.quality-grid article {
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  padding: 38px 16px 34px 26px;
  color: #fff;
  /* #58/#69: 卡片内标题/副标题/正文居中 */
  text-align: center;
}

.quality-grid article.active {
  background: var(--green);
  border-color: var(--green);
}

.quality-grid[data-quality-switcher] {
  display: flex;
  grid-template-columns: none;
  overflow-x: auto;
  overflow-y: hidden;
  align-items: stretch;
  padding-top: 10px;
  margin-top: 52px;
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  -webkit-overflow-scrolling: touch;
}

.quality-grid[data-quality-switcher]::-webkit-scrollbar { display: none; }

.quality-grid[data-quality-switcher].is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.quality-grid[data-quality-switcher] article {
  position: relative;
  flex: 0 0 calc((100% - 120px) / 5);
  min-width: 232px;
  cursor: pointer;
  overflow: hidden;
  scroll-snap-align: center;
  transition:
    flex-basis 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.38s ease,
    border-color 0.38s ease,
    box-shadow 0.38s ease;
}

.quality-grid[data-quality-switcher] article.active {
  flex-basis: calc((100% - 120px) / 5 + 68px);
  transform: translateY(-8px);
  box-shadow: 0 18px 34px rgba(0, 49, 24, 0.26);
}

.quality-grid[data-quality-switcher] article :is(h3, h4, p) {
  transition: color 0.35s ease, opacity 0.35s ease, transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}

.quality-grid[data-quality-switcher] article:not(.active) p {
  opacity: 0.78;
  transform: translateX(4px);
}

.quality-grid[data-quality-switcher] article:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -5px;
}

@media (max-width: 1180px) {
  .quality-grid[data-quality-switcher] {
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 24px;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .quality-grid[data-quality-switcher] article,
  .quality-grid[data-quality-switcher] article.active {
    flex: 0 0 min(78vw, 330px);
    min-height: 300px;
    transform: none;
    scroll-snap-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-card__media::after {
    transition: none;
  }

  .quality-grid[data-quality-switcher] article,
  .quality-grid[data-quality-switcher] article :is(h3, h4, p) {
    transition: none;
  }
}

/* Swiper owns the horizontal track and loop positioning. */
.quality-grid[data-quality-switcher] {
  display: block;
  overflow: hidden;
  cursor: grab;
  user-select: none;
}

.quality-grid[data-quality-switcher]:active { cursor: grabbing; }

.quality-grid[data-quality-switcher] .swiper-wrapper {
  align-items: stretch;
  will-change: transform;
}

.quality-grid[data-quality-switcher] article.swiper-slide,
.quality-grid[data-quality-switcher] article.swiper-slide.active {
  flex-basis: auto !important;
  min-width: 0;
  height: auto;
  scroll-snap-align: none;
}

@media (max-width: 1180px) {
  .quality-grid[data-quality-switcher] {
    overflow: hidden;
    scroll-snap-type: none;
  }

  .quality-grid[data-quality-switcher] article.swiper-slide,
  .quality-grid[data-quality-switcher] article.swiper-slide.active {
    flex: 0 0 auto;
    min-height: 300px;
  }
}

.quality-grid h3 {
  color: var(--yellow);
  font-size: 24px;
  line-height: 37px;
  margin-bottom: 2px;
}

.quality-grid .active h3 {
  color: #fff;
}

.quality-grid h4 {
  font-size: 16px;
  line-height: 20px;
  height: 40px;
  margin-bottom: 30px;
}

.quality-grid p {
  color: #cce0d7;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
}

.sourcing-section {
  padding: 89px 0 108px;
}

@media (min-width: 1500px) {
  .sourcing-section .content-shell {
    margin-left: auto;
    margin-right: 142px;
  }
}

.numbered-accordion {
  margin-top: 35px;
}

.numbered-accordion article {
  position: relative;
  align-items: flex-start;
  padding: 50px 0 42px;
}

.numbered-accordion article.is-active {
  padding: 34px 0 25px;
}

.numbered-accordion span {
  flex: 0 0 115px;
}

.numbered-accordion h3 {
  font-size: 24px;
  line-height: 30px;
}

.numbered-accordion article > div {
  flex: 1;
}

.numbered-accordion article > :is(a, button) {
  position: absolute;
  top: 50px;
  right: 0;
  padding: 4px 17px 5px;
}

.numbered-accordion article.is-active > :is(a, button) {
  top: 36px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--green);
}

.numbered-accordion article.is-active h3 {
  color: var(--green);
}

.numbered-accordion p {
  margin-top: 19px;
  font-size: 18px;
  line-height: 27px;
}

.numbered-accordion .bold-lines {
  margin-top: 22px;
  font-weight: 600;
  line-height: 28px;
  color: var(--dark);
}

.quote-section {
  /* #53/#65: 区块上下内边距一致 */
  padding: 93px 0 93px;
  background: #f8faf9;
}

@media (min-width: 1500px) {
  .quote-section .content-shell {
    margin-left: auto;
    margin-right: 142px;
  }
}

.quote-section .section-title {
  text-align: left;
  text-transform: capitalize;
}

.quote-section .quote-lede {
  max-width: 1100px;
  /* #55: 说明文字与居中标题quote-title对齐, 整体居中 */
  
  margin-left: 48px;
  margin-top: 0;
  font-size: 18px;
  line-height: 27px;
  color: var(--muted);
  text-align: left;
  text-align-last: left;
  overflow-wrap: break-word;
}

.quote-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 30px;
  margin-top: 61px;
}

.quote-grid article {
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
  min-width: 0;
  /* #54/#66: 框内编号与标题居中 */
  text-align: center;
}

.quote-grid span {
  font-size: 16px;
  line-height: 54px;
  font-weight: 900;
}

/* 条目文案由后台填写，长度不定：必须允许换行，
   否则会像 white-space:nowrap 那样冲出单元格、压到相邻列 */
.quote-grid h3 {
  margin-top: 27px;
  font-size: 20px;
  line-height: 27px;
  white-space: normal;
  overflow-wrap: break-word;
}

.applications-section {
  padding: 97px 0 135px;
}

@media (min-width: 1500px) {
  .applications-section .content-shell {
    margin-left: auto;
    margin-right: 142px;
  }

  .application-carousel {
    width: calc(100% + 142px);
  }
}

.applications-section .outline-cta {
  padding: 9px 10px;
  font-weight: 600;
}

.section-headline-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 58px;
}

/* 抵消 .smt-section 全局标题/CTA 外边距，避免 flex 行内垂直错位 */
.section-headline-row .section-title {
  margin-bottom: 0;
}

.section-headline-row .outline-cta,
.section-headline-row .glass-cta,
.section-headline-row .solid-cta {
  margin-top: 0;
}

.application-carousel,
.article-carousel {
  overflow: hidden;
}

.image-card img {
  width: 100%;
  aspect-ratio: 527 / 291;
  object-fit: cover;
}

.image-card h3 {
  margin-top: 33px;
  font-size: 24px;
}

.image-card p {
  margin-top: 14px;
  color: var(--muted);
  font-size: 18px;
  line-height: 27px;
}

/* === application-carousel 卡片等高 + 长文本兜底 ===
   swiper 多卡视图下,卡片内容长短不一会导致高度参差、相邻卡片视觉错位。
   这里强制 slide 跟最高那张等高,卡片内 flex 列展开;同时给卡片加 overflow:hidden
   和 overflow-wrap:break-word,确保任何长度文字(包括长 MPN/单位串)不会冲出卡片。*/
.application-carousel .swiper-wrapper {
  align-items: stretch;
}
.application-carousel .swiper-slide {
  height: auto;
}
.application-carousel .image-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  min-width: 0;
}
.application-carousel .image-card h3,
.application-carousel .image-card p {
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}
.application-carousel .image-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.application-carousel .image-card p {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pcb-section {
  padding: 88px 0 84px;
  background: var(--green);
}

@media (min-width: 1500px) {
  .pcb-section .content-shell {
    margin-left: auto;
    margin-right: 142px;
  }
}

.pcb-section .pcb-note {
  margin-top: 22px;
  margin-bottom: 0;
  max-width: 1180px;
  font-size: 18px;
  line-height: 27px;
  font-weight: 700;
  color: #fff;
}

.pcb-section .light-copy {
  margin-top: 28px;
  max-width: 1180px;
}

.pcb-list {
  margin-top: 45px;
}

.pcb-list article + article {
  margin-top: 23px;
}

.pcb-list article {
  display: grid;
  grid-template-columns: 32.4% 1fr auto;
  gap: 0;
  align-items: center;
  background: #fff;
  border-radius: 8px;
  padding: 5px 6px 5px 37px;
}

.pcb-list img {
  width: 100%;
  max-width: 323px;
  object-fit: contain;
}

.pcb-list article > div {
  align-self: start;
  padding-top: 22px;
}

.pcb-list h3 {
  color: var(--dark);
  font-size: 32px;
  line-height: 32px;
  margin-bottom: 22px;
}

.pcb-list p {
  color: var(--muted);
  font-size: 18px;
  line-height: 20px;
  margin-bottom: 61px;
}

.pcb-list div > a {
  color: var(--muted);
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
}

.arrow-link {
  margin-bottom: 32px;
  align-self: end;
}

.faq-section {
  position: relative;
  padding-top: 127px;
}

@media (min-width: 1500px) {
  .faq-section > .content-shell,
  .related-band .content-shell {
    margin-left: calc((100% - 1920px) / 2 + 558px);
    margin-right: auto;
  }

  .related-band .content-shell {
    width: calc(100% - ((100% - 1920px) / 2 + 558px));
    max-width: 1362px;
  }
}

.faq-intro {
  text-align: center;
}

.faq-intro .section-title {
  font-size: 48px;
  line-height: 40px;
  font-weight: 700;
}

.faq-intro p {
  margin: 44px 0 48px;
  color: var(--muted);
  font-size: 20px;
  line-height: 28px;
}

.outline-cta.compact {
  width: 290px;
  font-size: 20px;
  line-height: 37px;
  font-weight: 600;
  padding: 8px 8px 8px 14px;
}

.faq-list {
  margin-top: 77px;
}

.faq-list article {
  justify-content: space-between;
  align-items: center;
  padding: 33px 8px;
}

.faq-list header {
  justify-content: space-between;
  width: 100%;
}

.faq-list h3 {
  max-width: 1100px;
  color: var(--dark);
  font-size: 24px;
  line-height: 40px;
  font-weight: 400;
  text-transform: capitalize;
}

.faq-list .open h3 {
  color: var(--green);
  font-weight: 700;
}

.faq-list .open {
  display: block;
  padding-bottom: 103px;
}

.faq-list .open header :is(a, button) {
  width: 50px;
  height: 30px;
  padding: 0;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--green);
}

.faq-list .open p {
  margin-top: 29px;
  max-width: 1195px;
  color: var(--muted);
  font-size: 20px;
  line-height: 32px;
  text-transform: capitalize;
}

.side-anchor {
  position: absolute;
  left: 0;
  width: 100%;
  max-width: var(--smt-anchor-width);
  background: #fff;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  z-index: 20;
}

.side-anchor.is-following {
  position: fixed;
}

.side-anchor h3 {
  background: var(--green);
  color: #fff;
  font-size: 32px;
  line-height: 32px;
  font-weight: 900;
  text-align: left;
  white-space: nowrap;
  padding: 30px 10px 26px 64px;
  margin-bottom: 13px;
}

.side-anchor nav {
  padding-bottom: 20px;
}

.side-anchor a {
  display: block;
  padding: 9px 14px 9px 34px;
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
}

.side-anchor .is-active {
  color: var(--green);
  font-weight: 600;
}

/* 永远隐藏折叠按钮 — 设计稿要求 .side-anchor 在所有视口都常驻展开。 */
.side-anchor__toggle {
  display: none;
}

/* === 仅 hero 避开常驻侧栏(无缓冲,贴 446 侧栏右沿) ===
   之前 margin-left: 470 = 446 + 24 缓冲,但你要的是 hero 标题/说明文字
   "贴在侧栏上方/对齐" — 即正好 446px,无多余 24px 缓冲。
   各 section 仍由它们各自已有的 per-section 规则独立推右,不互相串。*/
.smt-page .smt-hero .hero-copy {
  margin-left: 100px;
  margin-right: auto;
  width: auto;
  max-width: calc(100vw - 446px - 14px);
}

@media (min-width: 1921px) {
  .smt-page .smt-hero .hero-copy {
    margin-left: calc((100vw - 1920px) / 2 + 446px);
    max-width: calc(1920px - 446px - 14px);
  }
}

@media (max-width: 852px) {
  /* 手机端不再把 446px 侧栏浮在正文上;改为占文档流。 */
  .smt-page .smt-hero .hero-copy {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--shell);
    width: calc(100% - 48px);
  }
}

.related-band {
  background: #f9fbfa;
  margin-top: 152px;
  padding: 81px 0 90px;
}

.related-band .section-title {
  width: 100%;
  max-width: 1220px;
  font-size: 48px;
  line-height: 64px;
  font-weight: 700;
  padding-top: 4px;
  margin-bottom: 58px;
}

.article-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 8px;
}

.article-card__media {
  aspect-ratio: 527 / 291;
  overflow: hidden;
}

.article-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-carousel .swiper-wrapper {
  align-items: stretch;
}

.article-carousel .swiper-slide {
  height: auto;
}

.article-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: center;
}

.article-card h3 {
  color: var(--dark);
  font-size: 20px;
  line-height: 31px;
  font-weight: 700;
  text-transform: capitalize;
  padding: 39px 10px 0 24px;
}

.article-card p {
  color: #8a8a8a;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  text-transform: capitalize;
  padding: 22px 26px 72px;
}

.article-card:hover,
.article-card:focus-within {
  box-shadow: inset 0 0 0 1px var(--green);
}

/* Page motion and interaction feedback; final layout geometry stays unchanged. */
.motion-section-reveal.is-revealed {
  animation: smtSectionReveal 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes smtSectionReveal {
  from {
    opacity: 0.45;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.accordion-panel {
  overflow: hidden;
  transition: height 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease;
}

.accordion-panel[hidden] {
  display: none;
}

[data-accordion-trigger] {
  cursor: pointer;
}

.accordion-list header,
.simple-accordion header,
.intervention-list article,
.numbered-accordion article,
.faq-list article,
[data-accordion-toggle],
[data-accordion-toggle] .iconfont {
  transition: color var(--motion-interaction) var(--motion-ease),
    background-color var(--motion-interaction) var(--motion-ease),
    border-color var(--motion-interaction) var(--motion-ease),
    box-shadow var(--motion-interaction) var(--motion-ease),
    padding var(--motion-interaction-slow) var(--motion-ease),
    transform var(--motion-interaction) var(--motion-ease);
}

.feature-body--text-only {
  grid-template-columns: 1fr;
}

.faq-list article {
  display: block;
}

.faq-list [data-accordion-panel] p {
  margin-top: 29px;
  max-width: 1195px;
  color: var(--muted);
  font-size: 20px;
  line-height: 32px;
  text-transform: capitalize;
}

.product-card__media,
.image-card__media,
.article-card__media {
  display: block;
  overflow: hidden;
  transition: border-color var(--motion-interaction) var(--motion-ease);
}

.product-card,
.product-card img,
.product-card strong,
.image-card,
.image-card img,
.image-card h3,
.article-card,
.article-card img,
.phase-card,
.advantage-grid article,
.dfm-grid article,
.quality-grid article,
.cert-grid figure,
.quote-grid article,
.pcb-list article,
.outline-cta .iconfont,
.glass-cta .iconfont,
.solid-cta .iconfont,
.arrow-link .iconfont {
  transition: color var(--motion-interaction) var(--motion-ease),
    background-color var(--motion-interaction) var(--motion-ease),
    border-color var(--motion-interaction) var(--motion-ease),
    box-shadow var(--motion-interaction) var(--motion-ease),
    filter var(--motion-interaction) var(--motion-ease),
    transform var(--motion-interaction-slow) cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .accordion-list article:not(.feature-open) header:hover,
  .simple-accordion article:not(.simple-accordion__item--open) header:hover,
  .faq-list article:not(.open) header:hover {
    background: #f6faf8;
  }

  [data-accordion-toggle]:hover {
    transform: scale(1.06);
  }

  .intervention-list article:hover h4,
  .numbered-accordion article:hover h3 {
    color: var(--green);
  }

  .product-card:hover .product-card__media::after,
  .product-card:focus-visible .product-card__media::after {
    border-color: var(--green);
  }

  .product-card:hover img,
  .product-card:focus-visible img {
    filter: saturate(1.08);
    transform: scale(1.025);
  }

  .product-card:hover strong,
  .product-card:focus-visible strong,
  .image-card:hover h3 {
    color: var(--green);
  }

  .image-card:hover img {
    filter: saturate(1.08);
    transform: scale(1.035);
  }

  .article-card:hover {
    box-shadow: inset 0 0 0 1px var(--green), 0 12px 28px rgba(13, 72, 41, 0.14);
    transform: translateY(-4px);
  }

  .article-card:hover img {
    filter: saturate(1.06);
    transform: scale(1.035);
  }

  .phase-card:hover,
  .advantage-grid article:hover,
  .dfm-grid article:hover,
  .cert-grid figure:hover,
  .quote-grid article:hover,
  .pcb-list article:hover {
    box-shadow: 0 12px 28px rgba(13, 72, 41, 0.12);
    transform: translateY(-3px);
  }

  .quality-grid article:hover {
    border-color: rgba(255, 255, 255, 0.72);
    transform: translateY(-3px);
  }

  .outline-cta:hover .iconfont,
  .glass-cta:hover .iconfont,
  .solid-cta:hover .iconfont,
  .arrow-link:hover .iconfont {
    transform: translateX(4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-section-reveal.is-revealed {
    animation: none !important;
  }

  .accordion-panel {
    transition: none !important;
  }

  .product-card img,
  .product-card__media::after,
  .image-card img,
  .article-card,
  .article-card img,
  .phase-card,
  .advantage-grid article,
  .dfm-grid article,
  .quality-grid article,
  .cert-grid figure,
  .quote-grid article,
  .pcb-list article,
  [data-accordion-toggle],
  .outline-cta .iconfont,
  .glass-cta .iconfont,
  .solid-cta .iconfont,
  .arrow-link .iconfont {
    transform: none !important;
  }
}

.video-modal-open,
.video-modal-open body {
  overflow: hidden;
}

.shared-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.shared-video-modal.is-open {
  display: flex;
}

.shared-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}

.shared-video-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 960px;
  background: #000;
}

.shared-video-modal__video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.shared-video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 24px;
  line-height: 1;
}

@media (max-width: 1180px) {
  .quality-section > .section-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .quality-section > .section-overlay {
    position: relative;
    inset: auto;
  }

  .section-title,
  .faq-intro .section-title {
    font-size: 34px;
    line-height: 44px;
  }

  .phase-grid,
  .quality-grid,
  .cert-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .quality-grid {
    grid-auto-rows: auto;
  }

  .complexity-list article,
  .pcb-list article {
    grid-template-columns: 1fr;
  }

  .complexity-section .content-shell.narrow,
  .dfm-section .content-shell.narrow {
    width: calc(100% - 48px);
    margin-inline: auto;
  }

  .feature-body {
    grid-template-columns: 1fr;
  }

  .related-band {
    margin-top: 0;
  }
}

@media (max-width: 760px) {
  .content-shell,
  .hero-copy {
    width: calc(100% - 32px);
  }

  .complexity-section .content-shell.narrow,
  .dfm-section .content-shell.narrow {
    width: calc(100% - 32px);
    margin-left: auto;
    margin-right: auto;
  }

  .section-title,
  .faq-intro .section-title {
    font-size: 28px;
    line-height: 36px;
  }

  .lead,
  .centered-copy,
  .light-copy,
  .challenges-section .challenges-lede,
  .hero-copy p {
    font-size: 16px;
    line-height: 24px;
  }

  .hero-watermark {
    display: none;
  }

  .hero-copy h1 {
    font-size: 36px;
    line-height: 44px;
  }

  .hero-overlay,
  .process-section .section-overlay,
  .quality-section .section-overlay,
  .capability-cta .section-overlay {
    padding: 56px 0;
  }

  .cta-row,
  .process-bottom,
  .split-head,
  .section-headline-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .advantage-grid,
  .dfm-grid,
  .quote-grid,
  .phase-grid,
  .quality-grid,
  .cert-grid {
    grid-template-columns: 1fr;
  }

  .cert-list {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 6px;
  }

  .numbered-accordion article,
  .intervention-list article {
    gap: 16px;
  }

  .numbered-accordion span,
  .intervention-list span {
    flex-basis: auto;
  }

  .pcb-section {
    padding-bottom: 72px;
  }
}

/* Responsive-only overrides; the 1920px baseline is intentionally untouched. */
@media (min-width: 1921px) {
  .side-anchor {
    left: calc((100% - 1920px) / 2);
  }

  .intro-section .content-shell {
    margin-right: calc((100% - 1920px) / 2);
  }

  .precision-section .content-shell,
  .advantages-section .advantage-grid,
  .features-section .content-shell,
  .sourcing-section .content-shell,
  .quote-section .content-shell,
  .applications-section .content-shell,
  .pcb-section .content-shell {
    margin-right: calc((100% - 1920px) / 2 + 142px);
  }

  .process-section .content-shell {
    margin-right: calc((100% - 1920px) / 2 + 139px);
  }

  .challenges-section .content-shell {
    margin-right: calc((100% - 1920px) / 2 + 141px);
  }

  .cert-section .content-shell {
    margin-right: calc((100% - 1920px) / 2 + 220px);
  }

  .quality-section .content-shell {
    margin-right: calc((100% - 1920px) / 2 + 2px);
  }
}

@media (max-width: 1919px) {
  .quality-section > .section-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .quality-section > .section-overlay {
    position: relative;
    inset: auto;
  }

  .quality-grid {
    grid-auto-rows: auto;
  }

  .quality-grid article {
    min-width: 0;
    box-sizing: border-box;
  }
}

@media (min-width: 1500px) and (max-width: 1808px) {
  .advantages-section .content-shell {
    width: calc(100% - 48px);
    max-width: var(--shell);
  }

  .advantages-section .advantage-grid {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* 在 1809–1920px 区间,.side-anchor 仍是非紧凑 446px 面板;
   而 .advantages-section 的 .section-title 块级元素继承了 content-shell 的 width:100%,
   即使文字居中,块盒子本身也会被侧栏覆盖。仅约束标题自身的 max-width,
   让标题块和右侧 142px 间距对齐(与 .precision-section 等一致),
   其它元素保持原状。*/
@media (min-width: 1809px) and (max-width: 1920px) {
  .advantages-section .section-title {
    max-width: calc(100vw - 588px); /* 446 留给侧栏 + 142 右侧间距 */
    margin-left: auto;
    margin-right: 142px;
  }
}

/* Keep the first body section visually connected to the compact hero on
   1440px short-height desktops without changing the normal desktop rhythm. */
@media (min-width: 1181px) and (max-width: 1440px) and (max-height: 900px) {
  .smt-page .intro-section {
    padding-top: 64px;
    padding-bottom: 84px;
  }
}

@media (max-width: 1180px) {
  .quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-grid article {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .spec-table,
  .production-section .stage-table,
  .service-table {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: var(--line) transparent;
    scrollbar-width: thin;
  }

  .spec-table::-webkit-scrollbar,
  .production-section .stage-table::-webkit-scrollbar,
  .service-table::-webkit-scrollbar {
    height: 8px;
  }

  .spec-table::-webkit-scrollbar-thumb,
  .production-section .stage-table::-webkit-scrollbar-thumb,
  .service-table::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: var(--line);
  }

  .spec-table {
    grid-template-columns: 240px 520px;
    width: max-content;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .production-section .stage-table {
    grid-template-columns: 250px 336px 634px;
    width: max-content;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .service-table {
    grid-template-columns: 192px 380px 316px 332px;
    width: max-content;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .spec-table > div,
  .stage-table > div,
  .service-table > div {
    overflow-wrap: break-word;
    word-break: normal;
    min-width: auto;
  }
}

@media (min-width: 853px) and (max-width: 1108px) {
  .hero-copy {
    width: calc(100% - 64px);
  }

  .hero-copy h1 {
    font-size: 32px;
    line-height: 40px;
  }

  .section-title,
  .faq-intro .section-title,
  .complexity-section .section-title,
  .capability-cta .section-title,
  .related-band .section-title {
    font-size: 28px;
    line-height: 38px;
  }

  .challenges-section .large-subhead,
  .pcb-list h3 {
    font-size: 26px;
    line-height: 36px;
  }

  .capability-cta .section-overlay {
    padding: 56px 32px;
  }

  .cta-row,
  .process-bottom,
  .split-head {
    flex-direction: column;
    align-items: stretch;
  }

  .cert-list {
    max-width: none;
    white-space: normal;
    row-gap: 4px;
  }

  .quote-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 852px) {
  .content-shell,
  .hero-copy,
  .complexity-section .content-shell.narrow,
  .dfm-section .content-shell.narrow,
  .related-band .content-shell {
    width: calc(100% - 32px);
  }

  .complexity-section .content-shell.narrow,
  .production-section .content-shell,
  .service-section .content-shell,
  .process-section .content-shell,
  .dfm-section .content-shell.narrow {
    width: calc(100% - 32px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .capability-cta .content-shell {
    margin-inline: auto;
  }

  /* Assembly Process Flow: center block on mobile; undo desktop asymmetric shell offset */
  .process-section .section-title {
    text-align: center;
  }

  .phase-grid {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }

  .phase-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .process-bottom {
    align-items: center;
    text-align: center;
  }

  .process-bottom .smt-richtext,
  .process-bottom .smt-richtext > p {
    text-align: center;
    text-align-last: center;
  }

  .process-bottom .glass-cta {
    align-self: center;
    max-width: 100%;
  }

  .section-title,
  .faq-intro .section-title,
  .complexity-section .section-title,
  .capability-cta .section-title,
  .related-band .section-title {
    font-size: 20px;
    line-height: 28px;
  }

  .hero-copy h1 {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 28px;
  }

  .subhead,
  .plain-subtitle,
  .large-subhead,
  .dimension-title,
  .tab-title,
  .challenges-section .large-subhead {
    font-size: 18px;
    line-height: 26px;
  }

  .smt-page p,
  .smt-page li {
    font-size: 15px;
    line-height: 23px;
  }

  .product-card strong,
  .phase-card h3,
  .advantage-grid h3,
  .accordion-list h3,
  .complexity-list h3,
  .dfm-grid h4,
  .dfm-section .simple-accordion h4,
  .intervention-list h4,
  .numbered-accordion h3,
  .quality-grid h3,
  .image-card h3,
  .pcb-list h3,
  .faq-list h3,
  .article-card h3 {
    font-size: 18px;
    line-height: 25px;
  }

  .process-bottom h3 {
    margin-bottom: 14px;
    font-size: 20px;
    line-height: 28px;
  }

  .smt-page h1,
  .smt-page h2,
  .smt-page h3,
  .smt-page h4,
  .smt-page p,
  .smt-page li,
  .smt-page a {
    overflow-wrap: anywhere;
  }

  .hero-overlay,
  .process-section .section-overlay,
  .quality-section .section-overlay {
    padding: 20px 0;
  }

  .capability-cta .section-overlay {
    padding: 20px 16px;
  }

  .intro-section,
  .precision-section,
  .advantages-section,
  .features-section,
  .complexity-section,
  .dfm-section,
  .challenges-section,
  .cert-section,
  .sourcing-section,
  .quote-section,
  .applications-section,
  .pcb-section {
    padding: 20px 0;
  }

  .production-section {
    padding: 10px 0 20px;
  }

  .service-section,
  .related-band {
    padding: 20px 0;
  }

  .faq-section {
    padding-top: 20px;
  }

  .cta-row,
  .process-bottom,
  .split-head,
  .section-headline-row {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .outline-cta,
  .glass-cta,
  .solid-cta,
  .precision-section .outline-cta,
  .outline-cta.compact,
  .cert-section .centered-cta {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 12px;
    padding: 8px 8px 8px 14px;
    font-size: 16px;
    line-height: 22px;
  }

  .outline-cta span,
  .glass-cta span,
  .solid-cta span {
    min-width: 0;
  }

  .outline-cta .iconfont,
  .glass-cta .iconfont,
  .solid-cta .iconfont,
  .arrow-link .iconfont {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    font-size: 22px;
  }

  .advantage-grid,
  .dfm-grid,
  .quote-grid,
  .phase-grid,
  .quality-grid,
  .cert-grid {
    grid-template-columns: 1fr;
  }

  .quality-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .quality-section .section-title {
    padding-left: 48px;
  }

  .cert-list {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 4px;
    max-width: none;
    white-space: normal;
  }

  .intro-section .lead,
  .precision-section .lead,
  .features-section .lead,
  .complexity-section .dimension-title,
  .complexity-section .lead,
  .production-section .lead,
  .dfm-section .plain-subtitle,
  .dfm-section .lead,
  .challenges-section .lead,
  .challenges-section .large-subhead,
  .pcb-section .light-copy,
  .faq-intro p {
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .product-carousel,
  .advantage-grid,
  .accordion-list,
  .phase-grid,
  .quality-grid,
  .cert-grid,
  .numbered-accordion,
  .quote-grid,
  .pcb-list,
  .faq-list {
    margin-top: 20px;
  }

  .cta-row {
    padding: 20px 0;
  }

  .subhead,
  .dfm-section .tab-title {
    margin: 20px 0;
  }

  .phase-grid,
  .advantage-grid,
  .dfm-grid,
  .quality-grid,
  .cert-grid,
  .quote-grid {
    gap: 16px;
  }

  .phase-card {
    min-height: 0;
    padding: 20px;
  }

  .phase-card ul {
    padding-top: 12px;
  }

  .phase-card li {
    margin-top: 8px;
  }

  .process-bottom {
    margin-top: 20px;
  }

  .advantage-grid article {
    gap: 16px;
    padding: 20px;
  }

  .advantage-grid img {
    width: 40px;
    height: 40px;
  }

  .advantage-grid p {
    margin-top: 10px;
  }

  .accordion-list header {
    gap: 12px;
    padding: 16px;
  }

  .accordion-list span,
  .numbered-accordion span,
  .intervention-list span {
    flex: 0 0 42px;
    font-size: 24px;
    line-height: 30px;
  }

  .feature-body {
    gap: 16px;
    padding: 20px;
  }

  .feature-body img,
  .complexity-list img {
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
  }

  .complexity-list article {
    gap: 16px;
    padding: 20px 0;
  }

  .production-section .stage-table,
  .service-table {
    margin-top: 20px;
  }

  /* Mobile: keep table columns; scroll horizontally instead of squeezing cells */
  .spec-table,
  .stage-table,
  .service-table {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-color: var(--line) transparent;
    scrollbar-width: thin;
  }

  .spec-table::-webkit-scrollbar,
  .stage-table::-webkit-scrollbar,
  .service-table::-webkit-scrollbar {
    height: 8px;
  }

  .spec-table::-webkit-scrollbar-thumb,
  .stage-table::-webkit-scrollbar-thumb,
  .service-table::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: var(--line);
  }

  .spec-table {
    grid-template-columns: 200px 480px;
    width: max-content;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .production-section .stage-table {
    grid-template-columns: 200px 260px 520px;
    width: max-content;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .production-section .stage-table > .focus-cell {
    padding-left: 16px;
    padding-right: 16px;
  }

  .service-table {
    grid-template-columns: 150px 280px 240px 260px;
    width: max-content;
    min-width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .spec-table > div,
  .stage-table > div,
  .service-table > div {
    border-right: 1px solid var(--line);
    overflow-wrap: break-word;
    word-break: normal;
    min-width: auto;
  }

  .spec-table > div:nth-child(2n),
  .stage-table > div:nth-child(3n),
  .service-table > div:nth-child(4n) {
    border-right: 0;
  }

  .spec-table > div,
  .spec-table > .table-head {
    padding: 14px 16px;
  }

  .centered-overlay p:not(.eyebrow) {
    margin: 16px auto 20px;
  }

  .capability-cta .eyebrow {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 22px;
  }

  .dfm-grid article,
  .quality-grid article {
    padding: 20px;
  }

  .simple-accordion,
  .dfm-section .simple-accordion {
    margin-top: 20px;
  }

  .simple-accordion header,
  .dfm-section .simple-accordion__item--spacious header {
    padding: 20px 0;
  }

  .dfm-section .simple-accordion__item--open p,
  .simple-accordion article p {
    padding-bottom: 20px;
  }

  .intervention-list article,
  .numbered-accordion article,
  .numbered-accordion article.is-active {
    gap: 12px;
    padding: 20px 0;
  }

  .intervention-list span {
    margin: 0;
  }

  .numbered-accordion article > div,
  .numbered-accordion article > h3 {
    min-width: 0;
    padding-right: 48px;
  }

  .numbered-accordion article > :is(a, button),
  .numbered-accordion article.is-active > :is(a, button) {
    top: 20px;
    padding-inline: 14px;
  }

  .numbered-accordion p,
  .numbered-accordion .bold-lines {
    margin-top: 12px;
  }

  .cert-grid {
    margin-top: 20px;
  }

  .cert-grid img {
    width: auto;
    max-width: 240px;
    margin-inline: auto;
  }

  .cert-grid figcaption {
    margin-top: 6px;
    font-size: 16px;
    line-height: 22px;
  }

  .centered-cta {
    margin-top: 20px;
  }

  .quality-grid h4 {
    height: auto;
    margin-bottom: 12px;
  }

  .section-headline-row {
    margin-bottom: 20px;
  }

  .image-card h3 {
    margin-top: 16px;
  }

  .image-card p {
    margin-top: 10px;
  }

  .pcb-list article + article {
    margin-top: 16px;
  }

  .pcb-list article {
    gap: 16px;
    padding: 20px;
  }

  .pcb-list img {
    width: 100%;
    max-width: 260px;
    margin-inline: auto;
  }

  .pcb-list article > div {
    padding-top: 0;
  }

  .pcb-list h3,
  .pcb-list p {
    margin-bottom: 14px;
  }

  .arrow-link {
    justify-self: end;
  }

  .faq-list article,
  .faq-list .open,
  .faq-list header {
    gap: 12px;
    padding: 16px 0;
  }

  .faq-list header {
    padding: 0;
  }

  .faq-list h3 {
    min-width: 0;
    line-height: 25px;
  }

  .faq-list .open p {
    margin-top: 14px;
  }

  .related-band .section-title {
    margin-bottom: 20px;
  }

  .article-card h3 {
    padding: 16px 16px 0;
  }

  .article-card p {
    padding: 12px 16px 20px;
  }

  .shared-video-modal {
    padding: 16px;
  }
}

@media (max-width: 575px) {
  .advantage-grid article {
    align-items: flex-start;
  }

  .quality-grid article,
  .phase-card,
  .dfm-grid article,
  .feature-body,
  .pcb-list article {
    padding: 16px;
  }
}

@media (max-width: 389px) {
  .smt-page p,
  .smt-page li {
    font-size: 14px;
    line-height: 21px;
  }

  .outline-cta,
  .glass-cta,
  .solid-cta,
  .precision-section .outline-cta,
  .outline-cta.compact,
  .cert-section .centered-cta {
    font-size: 14px;
    line-height: 20px;
  }

  .accordion-list header,
  .faq-list article,
  .faq-list .open {
    padding: 14px 0;
  }

  .accordion-list header {
    padding-inline: 14px;
  }

  .cert-grid img {
    max-width: 220px;
  }
}

@media (min-width: 1181px) and (max-width: 1440px) {
  .smt-page {
    --smt-anchor-width: 360px;
  }

  /* Hero stays left-hung; left-align copy so wide max-width does not look centered. */
  .smt-page .smt-hero .hero-copy h1,
  .smt-page .smt-hero .hero-copy .smt-richtext {
    text-align: left;
    text-align-last: left;
  }

  .smt-page .side-anchor a {
    line-height: 24px;
  }

  .application-carousel .image-card p {
    -webkit-line-clamp: 6;
    line-clamp: 6;
  }

  .service-table > .table-head {
    font-size: 14px;
    line-height: 20px;
  }
}

/* 侧栏是绝对/固定定位,1920 以下必须把 intro 及后续正文推到面板右侧。
   Hero 文案保持 100px 左对齐、落在侧栏上方,与 1920 一致,不跟 body 一起让位。 */
@media (min-width: 853px) and (max-width: 1919px) {
  .smt-page .smt-section:not(.smt-hero) .content-shell,
  .smt-page .related-band .content-shell {
    margin-left: var(--smt-anchor-offset);
    margin-right: 24px;
    width: auto;
    max-width: calc(100% - var(--smt-anchor-offset) - 24px);
    box-sizing: border-box;
  }

  .smt-page .advantages-section .advantage-grid {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
}

@media (min-width: 853px) and (max-width: 1180px) {
  .smt-page {
    --smt-anchor-width: 260px;
  }

  .smt-page .side-anchor h3 {
    font-size: 20px;
    line-height: 24px;
    white-space: normal;
    padding: 16px 12px 12px 20px;
  }

  .smt-page .side-anchor a {
    padding: 6px 12px 6px 16px;
    font-size: 13px;
    line-height: 20px;
  }
}

@media (max-width: 852px) {
  .smt-page .side-anchor,
  .smt-page .side-anchor.is-following {
    position: static;
    left: auto;
    top: auto !important;
    width: 100%;
    max-width: none;
    z-index: 1;
    border-radius: 0;
  }
}
