:root {
  --about-deep: #102531;
  --about-blue: #246073;
  --about-red: #c9342b;
  --about-amber: #d99b2b;
  --about-text: #17212b;
  --about-muted: #66717c;
  --about-line: #dfe5ea;
  --about-soft: #f7f8f8;
  --about-shadow: 0 14px 34px rgba(14, 38, 54, .08);
}

.about-page {
  color: var(--about-text);
  background: #fff;
  line-height: 1.72;
}

.about-page a {
  color: inherit;
  text-decoration: none;
}

.about-page img {
  display: block;
  width: 100%;
}

.about-container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.about-hero {
  min-height: 430px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(12, 31, 43, .96) 0%, rgba(20, 55, 75, .78) 48%, rgba(20, 55, 75, .24) 100%),
    var(--column-banner-pc, url("../images/shibeng/hero-banner.jpg")) center / cover no-repeat;
}

.about-hero-inner {
  min-height: 430px;
  display: flex;
  align-items: center;
}

.about-hero-copy {
  max-width: 760px;
}

.about-kicker {
  margin: 0 0 12px;
  color: var(--about-amber);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.about-hero h1 {
  margin: 0;
  font-size: 48px;
  line-height: 1.18;
}

.about-hero-copy > p:not(.about-kicker) {
  max-width: 680px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 18px;
}

.about-breadcrumb {
  margin-top: 24px;
  color: rgba(255, 255, 255, .68);
  font-size: 15px;
}

.about-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.about-hero-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 4px;
  color: rgba(255, 255, 255, .92);
  background: rgba(255, 255, 255, .08);
  font-size: 14px;
  font-weight: 700;
}

.about-section {
  padding: 68px 0;
}

.about-section-soft {
  background: var(--about-soft);
}

.about-section-title {
  margin-bottom: 26px;
}

.about-section-title.centered {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.about-section-title h2 {
  margin: 0;
  font-size: 32px;
  line-height: 1.28;
}

.about-section-title h2::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  margin-top: 14px;
  background: var(--about-red);
}

.about-section-title.centered h2::after {
  margin-left: auto;
  margin-right: auto;
}

.about-section-title p:last-child {
  margin: 12px 0 0;
  color: var(--about-muted);
  font-size: 15px;
}

.about-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
  gap: 54px;
  align-items: center;
}

.about-profile-copy > p {
  margin: 0 0 16px;
  color: #4f5f6d;
  font-size: 15px;
}

.about-profile-note {
  margin-top: 20px;
  padding: 16px 18px;
  border-left: 4px solid var(--about-red);
  border-radius: 6px;
  color: #334555;
  background: #f3f7fa;
  font-size: 14px;
  font-weight: 700;
}

.about-profile-media {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: var(--about-shadow);
}

.about-profile-media img {
  height: 390px;
  object-fit: cover;
}

.about-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 28px;
}

.about-stat-grid div {
  min-height: 112px;
  padding: 20px 16px;
  border: 1px solid var(--about-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--about-shadow);
}

.about-stat-grid strong,
.about-stat-grid span {
  display: block;
}

.about-stat-grid strong {
  color: var(--about-red);
  font-size: 25px;
  line-height: 1.2;
}

.about-stat-grid span {
  margin-top: 8px;
  color: var(--about-muted);
  font-size: 15px;
}

.about-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.about-product-card {
  overflow: hidden;
  border: 1px solid var(--about-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--about-shadow);
  transition: .25s;
}

.about-product-card:hover,
.about-capability-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 42px rgba(14, 38, 54, .13);
}

.about-product-card img {
  height: 185px;
  object-fit: cover;
  background: #edf1f4;
}

.about-product-card div {
  padding: 18px;
}

.about-product-card h3,
.about-capability-card h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
}

.about-product-card p,
.about-capability-card p {
  margin: 9px 0 0;
  color: var(--about-muted);
  font-size: 15px;
}

.about-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.about-capability-card {
  overflow: hidden;
  border: 1px solid var(--about-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--about-shadow);
  transition: .25s;
}

.about-capability-card img {
  height: 240px;
  object-fit: cover;
}

.about-capability-card div {
  padding: 22px;
}

.about-capability-card span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  margin-bottom: 12px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--about-blue);
  font-size: 15px;
  font-weight: 800;
}

.about-service-layout {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 50px;
  align-items: start;
}

.about-service-layout > div:first-child > p {
  margin: 0;
  color: #4f5f6d;
  font-size: 15px;
}

.about-service-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.about-service-list a {
  min-height: 126px;
  padding: 22px;
  border: 1px solid var(--about-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--about-shadow);
  transition: .25s;
}

.about-service-list a:hover {
  border-color: rgba(36, 96, 115, .38);
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(14, 38, 54, .12);
}

.about-service-list strong {
  display: block;
  font-size: 18px;
}

.about-service-list span {
  display: block;
  margin-top: 9px;
  color: var(--about-muted);
  font-size: 15px;
}

.about-cta {
  padding: 0 0 62px;
  background: var(--about-soft);
}

.about-cta-inner {
  min-height: 170px;
  padding: 34px 40px;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(100deg, #102531, #246073);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 38px;
}

.about-cta h2 {
  margin: 0;
  font-size: 30px;
}

.about-cta p:not(.about-kicker) {
  max-width: 720px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
}

.about-cta-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.about-btn {
  min-width: 148px;
  height: 48px;
  padding: 0 20px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
}

.about-btn.primary {
  color: #fff;
  background: var(--about-red);
}

.about-btn.outline {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .72);
}

@media (max-width: 980px) {
  .about-profile,
  .about-service-layout {
    grid-template-columns: 1fr;
  }

  .about-profile-media {
    order: -1;
  }

  .about-product-grid,
  .about-capability-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .about-hero,
  .about-hero-inner {
    min-height: 330px;
  }

  .about-hero {
    background:
      linear-gradient(90deg, rgba(12, 31, 43, .96) 0%, rgba(20, 55, 75, .82) 54%, rgba(20, 55, 75, .5) 100%),
      var(--column-banner-mobile, var(--column-banner-pc, url("../images/shibeng/hero-banner.jpg"))) center / cover no-repeat;
  }

  .about-hero h1 {
    font-size: 36px;
  }

  .about-hero-copy > p:not(.about-kicker) {
    font-size: 16px;
  }

  .about-section {
    padding: 48px 0;
  }

  .about-section-title h2 {
    font-size: 26px;
  }

  .about-profile-media img {
    height: 250px;
  }

  .about-stat-grid,
  .about-service-list {
    grid-template-columns: 1fr;
  }

  .about-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 22px;
  }

  .about-cta-actions {
    width: 100%;
  }

  .about-btn {
    flex: 1;
  }
}

@media (max-width: 540px) {
  .about-container {
    width: min(calc(100% - 28px), 1180px);
  }

  .about-product-grid,
  .about-capability-grid {
    grid-template-columns: 1fr;
  }

  .about-product-card img,
  .about-capability-card img {
    height: 205px;
  }

  .about-cta h2 {
    font-size: 24px;
  }

  .about-cta-actions {
    flex-direction: column;
  }
}

/* About the company: single-page navigation and business service cards. */
.about-page [id] { scroll-margin-top: 115px; }
.about-section-nav { border-bottom: 1px solid var(--about-line); background: #fff; }
.about-section-nav .about-container { display:flex; justify-content:center; gap:48px; padding:20px 0; flex-wrap:wrap; }
.about-section-nav a { font-size:15px; font-weight:600; color:var(--about-deep); }
.about-section-nav a:hover { color:var(--about-blue); }
.about-service-list > div { min-width:0; padding:22px; border:1px solid var(--about-line); border-radius:8px; background:#fff; }
.about-service-list > div p { margin:8px 0 0; color:var(--about-muted); font-size:14px; }
.about-service-number { display:block; margin-bottom:10px; color:var(--about-blue); font-size:14px; font-weight:700; }
.about-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.about-values-grid > div { padding:28px; background:var(--about-soft); border-radius:8px; border-top:3px solid var(--about-blue); }
.about-values-grid > div > span { color:var(--about-blue); font-size:14px; font-weight:700; }
.about-values-grid h3 { margin:12px 0; font-size:20px; }
.about-values-grid p { margin:0; color:var(--about-muted); font-size:15px; }
.about-product-card img { object-fit:contain; padding:16px; }
.about-stat-grid strong { white-space:nowrap; }
@media(max-width:640px) {
 .about-section-nav .about-container { gap:12px 24px; padding:16px 0; }
 .about-section-nav a { font-size:14px; }
 .about-values-grid { grid-template-columns:1fr; gap:16px; }
 .about-service-list { grid-template-columns:1fr; }
 .about-stat-grid div { padding:16px 8px; }
 .about-stat-grid strong { font-size:22px; }
}

@media(max-width:1100px) {
 .sb-about .sb-nav-inner { position:relative; }
 .sb-about .sb-menu-btn { display:block; flex-shrink:0; }
 .sb-about .sb-nav-call { display:none; }
 .sb-about .sb-mainnav { display:none; position:absolute; left:0!important; right:0!important; top:76px!important; z-index:100; flex-direction:column; align-items:stretch; padding:12px; background:#071c31; border:1px solid rgba(255,255,255,.18); }
 .sb-about .sb-mainnav.is-open { display:flex; }
 .sb-about .sb-mainnav > a, .sb-about .sb-mainnav > .sb-nav-item > a { height:auto!important; padding:12px 8px!important; }
}
@media(max-width:360px) {
 .sb-about .sb-brand { min-width:0!important; }
 .sb-about .sb-brand img { width:210px!important; }
 .sb-about .sb-nav-inner { gap:12px; }
}

/* Compact product overview: keep photography beside the description. */
.about-editor-content .about-product-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.about-editor-content .about-product-card {
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  align-items:center;
  gap:22px;
  padding:18px;
  background:#fff;
  box-shadow:0 6px 20px rgba(14,38,54,.045);
}
.about-editor-content .about-product-card img {
  width:140px;
  height:140px;
  padding:0;
  object-fit:contain;
  background:#fff;
}
.about-editor-content .about-product-card > div { min-width:0; padding:0; }
.about-editor-content .about-product-card h3 { font-size:19px; line-height:1.45; }
.about-editor-content .about-product-card p { font-size:14px; line-height:1.7; margin-top:10px; }
@media(max-width:900px) {
 .about-editor-content .about-product-card { grid-template-columns:110px minmax(0,1fr); gap:16px; padding:16px; }
 .about-editor-content .about-product-card img { width:110px; height:120px; }
 .about-editor-content .about-product-card h3 { font-size:17px; }
}
@media(max-width:640px) {
 .about-editor-content .about-product-grid { grid-template-columns:1fr; gap:14px; }
 .about-editor-content .about-product-card { grid-template-columns:100px minmax(0,1fr); gap:16px; padding:14px; }
 .about-editor-content .about-product-card img { width:100px; height:112px; }
 .about-editor-content .about-product-card h3 { font-size:16px; }
 .about-editor-content .about-product-card p { font-size:15px; margin-top:7px; }
}

/* Additional company copy remains part of the original editor content. */
.about-extra-panel { margin-top:24px; padding:24px 28px; background:#fff; border:1px solid var(--about-line); border-radius:8px; }
.about-extra-panel h3, .about-service-preparation h3 { margin:0 0 12px; font-size:18px; color:var(--about-deep); }
.about-extra-panel p { margin:0; font-size:15px; color:var(--about-muted); line-height:1.85; }
.about-process-tags { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.about-process-tags span { padding:8px 16px; background:#f2f6fa; color:var(--about-blue); border-radius:4px; font-size:14px; }
.about-supplement-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.about-service-preparation { margin-top:24px; padding:22px; background:#fff; border-left:3px solid var(--about-blue); border-radius:6px; }
.about-service-preparation ul { margin:0; padding-left:20px; color:var(--about-muted); font-size:14px; line-height:1.8; }
.about-service-preparation li + li { margin-top:9px; }
.about-editor-content .about-capability-card p { font-size:14px; line-height:1.85; }
.about-editor-content .about-product-card p { line-height:1.8; }
.about-editor-content .about-profile-media img { height:480px; }
@media(max-width:640px) {
 .about-supplement-grid { grid-template-columns:1fr; gap:0; }
 .about-extra-panel { padding:20px; margin-top:18px; }
 .about-service-preparation { padding:18px; }
 .about-editor-content .about-profile-media img { height:280px; }
 .about-process-tags { gap:8px; }
 .about-process-tags span { padding:7px 12px; }
}

/* Clear factory panorama in the company profile; preserve the whole building. */
.about-editor-content .about-profile-media { background:#f4f7fa; }
.about-editor-content .about-profile-media img { height:340px; object-fit:cover; transform:scale(1.13); transform-origin:center; }
@media(max-width:640px) { .about-editor-content .about-profile-media img { height:250px; } }
