/* About Xingfa: editorial sections with real machine imagery. */
.about-page .about-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; gap: clamp(32px, 6vw, 92px); }
.about-page .about-intro h1 { max-width: 850px; }
.about-page .about-intro__copy { padding-bottom: 7px; }
.about-page .about-intro__copy .company-lead { margin-bottom: 24px; }
.about-page .about-machine { margin: clamp(40px, 5vw, 72px) 0 0; }
.about-page .about-machine__image { display: grid; place-items: center; padding: clamp(20px, 4vw, 54px); background: #fff; }
.about-page .about-machine__image img { display: block; width: 100%; height: clamp(260px, 43vw, 550px); object-fit: contain; }
.about-page .about-machine figcaption { display: flex; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--brand-line, #e6d8c4); color: #71695f; font-size: 13px; line-height: 1.6; }
.about-page .about-machine figcaption > strong { color: #30291f; font-size: 17px; }
.about-page .about-machine figcaption > .company-link { margin-left: auto; }
.about-page .about-approach__heading { margin-bottom: 48px; }
.about-page .about-capabilities { display: grid; gap: clamp(54px, 7vw, 96px); }
.about-page .about-capability { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: clamp(36px, 7vw, 100px); }
.about-page .about-capability:nth-child(even) { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.about-page .about-capability:nth-child(even) .about-capability__media { grid-column: 2; grid-row: 1; }
.about-page .about-capability:nth-child(even) .about-capability__copy { grid-column: 1; grid-row: 1; }
.about-page .about-capability__media { min-width: 0; margin: 0; }
.about-page .about-capability__media img { display: block; width: 100%; height: 380px; object-fit: cover; background: #eeeae3; }
.about-page .about-capability__media--detail img { object-position: center 51%; }
.about-page .about-capability__media--machine img { padding: 28px; background: #fff; object-fit: contain; }
.about-page .about-capability__media--control img { object-position: center 42%; }
.about-page .about-capability__media figcaption { margin-top: 14px; color: #776f63; font-size: 12px; letter-spacing: .02em; line-height: 1.5; }
.about-page .about-capability__number { margin: 0 0 24px; color: var(--brand-gold-deep, #74502d); font-size: 13px; letter-spacing: .16em; }
.about-page .about-capability__copy h3 { margin: 0 0 22px; color: #30291f; font-size: clamp(26px, 2.5vw, 36px); font-weight: 550; line-height: 1.3; letter-spacing: -.025em; }
.about-page .about-capability__copy > p:not(.about-capability__number) { margin: 0 0 24px; color: #6b6257; font-size: 16px; line-height: 1.85; }
.about-page .about-planning { background: #f2ede4; }
.about-page .about-planning__heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; gap: clamp(30px, 7vw, 96px); }
.about-page .about-planning__intro { margin: 0 0 5px; color: #6b6257; font-size: 16px; line-height: 1.85; }
.about-page .about-planning__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 50px 0 0; padding: 0; list-style: none; }
.about-page .about-planning__steps li { border-top: 1px solid #cbbda9; padding-top: 22px; }
.about-page .about-planning__number { color: #80643f; font-size: 12px; letter-spacing: .16em; }
.about-page .about-planning__steps h3 { margin: 28px 0 14px; color: #30291f; font-size: 21px; font-weight: 550; line-height: 1.5; }
.about-page .about-planning__steps p { margin: 0; color: #6b6257; font-size: 15px; line-height: 1.8; }
.about-page .about-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.about-page .about-cta h2 { max-width: 800px; }
.about-page .about-cta__actions { display: grid; justify-items: start; gap: 22px; flex: 0 0 auto; }

@media (max-width: 1000px) {
	.about-page .about-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.about-page .about-intro__copy { max-width: 680px; padding-bottom: 0; }
	.about-page .about-capability,
	.about-page .about-capability:nth-child(even) { gap: 36px; }
	.about-page .about-capability__media img { height: 330px; }
	.about-page .about-planning__heading { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.about-page .about-planning__intro { max-width: 620px; }
	.about-page .about-planning__steps { gap: 24px; }
	.about-page .about-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

@media (max-width: 700px) {
	.about-page .about-machine { margin-top: 32px; }
	.about-page .about-machine__image { padding: 16px 8px; }
	.about-page .about-machine__image img { height: auto; aspect-ratio: 1536 / 938; }
	.about-page .about-machine figcaption { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 12px; padding-block: 16px; font-size: 12px; }
	.about-page .about-machine figcaption > .company-link { grid-column: 1 / -1; margin: 8px 0 0; justify-self: start; }
	.about-page .about-approach__heading { margin-bottom: 32px; }
	.about-page .about-capabilities { gap: 48px; }
	.about-page .about-capability,
	.about-page .about-capability:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.about-page .about-capability:nth-child(even) .about-capability__media,
	.about-page .about-capability:nth-child(even) .about-capability__copy { grid-column: auto; grid-row: auto; }
	.about-page .about-capability__media img { height: auto; aspect-ratio: 4 / 3; }
	.about-page .about-capability__media--machine img { padding: 16px; }
	.about-page .about-capability__number { margin-bottom: 15px; }
	.about-page .about-capability__copy h3 { margin-bottom: 16px; font-size: 25px; }
	.about-page .about-capability__copy > p:not(.about-capability__number) { font-size: 15px; line-height: 1.85; }
	.about-page .about-planning__steps { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 32px; }
	.about-page .about-planning__steps li { position: relative; padding: 23px 0 0 42px; }
	.about-page .about-planning__number { position: absolute; left: 0; top: 28px; }
	.about-page .about-planning__steps h3 { margin: 0 0 10px; font-size: 20px; }
	.about-page .about-cta__actions { width: 100%; }
	.about-page .about-cta__actions .primary-button { width: 100%; justify-content: center; }
}

/* Original honors artwork remains intact; the viewer supports reading at native size. */
.about-page .about-honors { background: #f3eee5; scroll-margin-top: 100px; }
.about-page .about-honors__layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(32px, 5vw, 76px); align-items: center; }
.about-page .about-honors__copy h2 { margin: 0 0 24px; color: #30291f; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.2; }
.about-page .about-honors__copy > p:not(.company-eyebrow) { color: #6b6257; font-size: 16px; line-height: 1.85; max-width: 350px; margin: 0 0 28px; }
.about-page .about-honors__figure { min-width: 0; margin: 0; }
.about-page .about-honors__image-link { display: block; position: relative; padding: 14px; background: #fff; border: 1px solid #ded3c1; box-shadow: 0 16px 40px #49371d0a; }
.about-page .about-honors__image { display: block; width: 100%; height: auto; }
.about-page .about-honors__zoom { display: block; width: fit-content; margin: 12px 0 0 auto; border-radius: 20px; padding: 8px 14px; background: #f3eee5; color: #72562c; font-size: 12px; }
.about-page .about-honors__figure figcaption { color: #766c5f; font-size: 12px; margin-top: 14px; }
.honors-viewer { padding: 0; border: 1px solid #ded3c1; width: min(1400px, calc(100vw - 40px)); max-width: none; height: 90vh; height: 90dvh; max-height: none; background: #f8f5ef; color: #30291f; }
.honors-viewer[open] { display: flex; flex-direction: column; }
.honors-viewer::backdrop { background: #17130dcc; }
.honors-viewer__toolbar { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #ded3c1; flex-shrink: 0; }
.honors-viewer__toolbar h2 { margin: 0 auto 0 0; font-size: 18px; }
.honors-viewer__toolbar button { min-height: 44px; padding: 8px 12px; border: 1px solid #c9b899; border-radius: 6px; background: transparent; color: inherit; font: inherit; font-size: 14px; cursor: pointer; }
.honors-viewer__toolbar button[aria-pressed="true"] { background: #7d6138; color: #fff; }
.honors-viewer__canvas { overflow: auto; min-height: 0; flex: 1; padding: 16px; overscroll-behavior: contain; }
.honors-viewer__canvas img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; margin: auto; }
.honors-viewer--actual .honors-viewer__canvas img { max-width: none; max-height: none; }
.about-honors a:focus-visible, .honors-viewer button:focus-visible { outline: 3px solid #96703a; outline-offset: 4px; }
@media (max-width: 800px) {
  .about-page .about-honors__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .about-page .about-honors__copy > p:not(.company-eyebrow) { max-width: 560px; }
  .honors-viewer { width: calc(100vw - 16px); height: 94vh; height: 94dvh; }
  .honors-viewer__toolbar { padding: 8px; gap: 6px; }
  .honors-viewer__toolbar h2 { font-size: 16px; }
  .honors-viewer__toolbar button { font-size: 12px; padding-inline: 8px; }
  .honors-viewer__canvas { padding: 8px; }
}
