/* ZH-CN full Homepage prototype V0.1. Shared Beat 1 / Beat 2 layout remains the base. */
.zh-homepage { font-family: var(--font-cjk); }
.zh-homepage .site-shell { max-width: 1440px; }
.zh-homepage .site-header { gap: 24px; }
.zh-homepage .header-controls { gap: 22px; }
.zh-homepage .primary-nav { gap: 22px; }
.zh-homepage .language { white-space: nowrap; }
.zh-homepage .language [aria-current="page"] { color: var(--color-text-primary); font-weight: 700; }
.zh-homepage .hero h1 { max-width: 680px; line-height: 1.17; letter-spacing: -.035em; }
.zh-homepage .hero-support { line-height: 1.65; }
.zh-homepage .hero { min-height: 650px; padding: 72px 0 12px; }
.zh-homepage .proof { border-top: 0; padding-top: 46px; }
.proof-thesis { max-width: 690px; margin: 0; font-size: clamp(26px, 2.8vw, 36px); font-weight: 500; line-height: 1.32; letter-spacing: -.025em; }
.zh-homepage .evidence-field { min-height: 690px; margin-top: 32px; border-top: 0; }
.zh-homepage .evidence-item { width: min(44%, 510px); }
.zh-homepage .evidence-parcels { top: 0; }
.zh-homepage .evidence-identifiers { left: 54%; top: 210px; width: min(46%, 560px); }
/* Let the lower SKU evidence determine the field height instead of clipping into the map. */
@media (min-width: 801px) {
  .zh-homepage .evidence-field { display: grid; grid-template-columns: 54% minmax(0, 46%); }
  .zh-homepage .evidence-identifiers { position: relative; grid-column: 2; left: auto; top: auto; width: min(100%, 560px); margin-top: 210px; }
}
.evidence-image { display: block; width: 100%; height: 224px; margin-top: 30px; object-fit: cover; }
.evidence-parcels .evidence-image { margin-top: 26px; }
.evidence-identifiers .evidence-image { height: 246px; margin: 0 0 30px; object-position: center 58%; }
.evidence-summary { max-width: 550px; margin: 36px 0 0; font-size: clamp(26px, 2.8vw, 36px); font-weight: 500; line-height: 1.32; letter-spacing: -.025em; }
.zh-homepage .proof-detail { display: block; border-top: 0; padding-top: 0; margin-top: 0; }
.proof-basis { margin-left: 54%; }
.proof-teaser { max-width: 520px; margin-top: 64px; }
.proof-teaser p { margin: 0 0 22px; color: var(--color-text-secondary); font-size: 16px; line-height: 1.6; }
.pending-action, .pending-link { cursor: default; }
.zh-homepage a:focus-visible { outline: 2px solid var(--color-brand-blue); outline-offset: 4px; }

.zh-section { padding: var(--space-section-block) 0; }
.section-heading { max-width: 730px; }
.section-heading .eyebrow { margin: 0 0 24px; }
.section-heading h2, .healthcare h2 { margin: 0; font-family: var(--font-cjk); font-size: clamp(36px, 4.5vw, var(--type-h2-desktop)); line-height: 1.18; letter-spacing: -.025em; font-weight: 600; }
.section-bridge { max-width: 630px; margin: 28px 0 0; color: var(--color-text-secondary); font-size: 17px; line-height: 1.65; }

.fit-content { margin-top: 64px; display: grid; grid-template-columns: 1fr 2fr; gap: 64px; }
.fit-intro { margin: 0; color: var(--color-text-secondary); font-size: var(--type-body-desktop); }
.experience-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 32px; margin: 0; padding: 0; list-style: none; }
.experience-list li { padding: 6px 0; border-bottom: 1px solid var(--color-divider); font-size: 18px; }
.fit-logic { max-width: 800px; margin: 96px 0 0; font-size: clamp(22px, 2.5vw, 30px); line-height: 1.45; letter-spacing: -.02em; }
.operating-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 38px; margin: 48px 0 0; padding: 0; list-style: none; }
.operating-flow > li { position: relative; min-width: 0; font-size: 16px; line-height: 1.5; }
.operating-flow > li:not(:last-child)::after { content: "→"; position: absolute; right: -26px; top: 4px; color: var(--color-text-secondary); font-size: 20px; }
.operating-flow > li > span { display: block; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--color-divider); color: var(--color-brand-blue); font-family: var(--font-display); font-size: var(--type-metadata-desktop); letter-spacing: .12em; }
.operating-flow strong { display: block; font-size: 18px; font-weight: 600; line-height: 1.4; }
.operating-flow ul { display: grid; gap: 6px; margin: 16px 0 0; padding: 0; color: var(--color-text-secondary); font-size: 14px; line-height: 1.5; list-style: none; }
.operating-flow ul li:not(:only-child)::before { content: "—"; margin-right: 9px; }
.fit-to-case { max-width: 650px; margin: 90px 0 0; color: var(--color-text-secondary); font-size: 17px; line-height: 1.6; }
.zh-homepage .fit { padding-bottom: 88px; }

.healthcare { margin: 0 calc(-1 * var(--space-page-inline)); background: var(--color-surface-warm); color: var(--color-text-primary); }
.healthcare-inner { padding: 112px var(--space-page-inline) 116px; }
.healthcare .eyebrow { margin: 0 0 24px; color: var(--color-brand-blue); }
.healthcare-intro { max-width: 880px; }
.healthcare-intro > p:last-child { max-width: 800px; margin: 28px 0 0; color: var(--color-text-secondary); font-size: var(--type-body-desktop); line-height: 1.6; }
.customer-flow { margin-top: 72px; }
.flow-label { margin: 0 0 22px; color: var(--color-brand-blue); font-size: 14px; font-weight: 600; }
.customer-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin: 0; padding: 24px 0; border-block: 1px solid var(--color-divider); list-style: none; }
.customer-steps li { position: relative; min-width: 0; padding-right: 24px; }
.customer-steps li:not(:last-child)::after { content: "→"; position: absolute; right: 0; top: 25px; color: var(--color-text-secondary); font-size: 22px; }
.customer-steps span { display: block; margin-bottom: 14px; color: var(--color-brand-blue); font-size: 14px; }
.customer-steps strong { display: block; font-size: 21px; font-weight: 600; line-height: 1.4; }
.trace-layer { margin-top: 72px; padding: 48px; border: 1px solid var(--color-divider); background: #EEF3F5; }
.trace-intro { max-width: 800px; }
.trace-name { margin: 0 0 18px; color: var(--color-text-primary); font-size: 26px; font-weight: 600; line-height: 1.3; }
.trace-intro > p:last-child { margin: 0; color: var(--color-text-secondary); font-size: 16px; line-height: 1.65; }
.trace-composition { display: grid; grid-template-columns: .85fr 1.3fr .85fr; gap: 40px; margin-top: 56px; }
.trace-column { min-width: 0; padding-top: 20px; border-top: 1px solid var(--color-divider); }
.trace-column h3 { margin: 0 0 24px; font-size: 21px; font-weight: 600; line-height: 1.35; }
.trace-column ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.trace-reality li, .trace-value li { color: var(--color-text-secondary); font-size: 15px; line-height: 1.5; }
.trace-control { border-top: 3px solid var(--color-brand-blue); padding-top: 18px; }
.trace-control-summary { margin: -10px 0 24px; color: var(--color-text-secondary); font-size: 14px; line-height: 1.5; }
.trace-principles { gap: 20px; }
.trace-principles li { display: grid; gap: 5px; }
.trace-principles strong { color: var(--color-text-primary); font-size: 16px; font-weight: 600; }
.trace-principles span { color: var(--color-text-secondary); font-size: 14px; line-height: 1.55; }
.trace-participants { margin: 30px 0 0; padding-top: 15px; border-top: 1px solid var(--color-divider); color: var(--color-text-secondary); font-size: 13px; }
.case-conclusion { max-width: 780px; margin: 88px auto 0; text-align: center; }
.case-conclusion-title { margin: 0; font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.35; }
.case-conclusion > p:not(.case-conclusion-title) { margin: 22px 0 0; color: var(--color-text-secondary); font-size: 16px; line-height: 1.65; }
.case-link { display: inline-block; margin-top: 28px; color: var(--color-brand-blue); font-size: 15px; }
.case-to-group { margin: 96px 0 0; color: var(--color-text-secondary); font-size: 16px; line-height: 1.6; }

.group-relationship { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 70px; margin-top: 88px; }
.group-node { position: relative; }
.group-node + .group-node::before { content: "↔"; position: absolute; left: -47px; top: 34px; color: var(--color-text-secondary); font-size: 22px; }
.group-node span { display: block; margin-bottom: 23px; color: var(--color-text-secondary); font-size: 13px; }
.group-node strong { display: block; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.3; }
.group-local strong { font-size: clamp(30px, 3.5vw, 42px); }
.group-node p { margin: 17px 0 0; color: var(--color-text-secondary); font-size: 15px; }
.partners { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-top: 68px; padding-bottom: 100px; }
.partner-content { align-self: end; }
.partner-content p { max-width: 460px; margin: 0 0 22px; color: var(--color-text-secondary); font-size: 16px; line-height: 1.6; }
.partner-directions { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 28px; padding: 0; list-style: none; font-size: 17px; }
.partner-directions li + li::before { content: "·"; margin-right: 24px; color: var(--color-text-secondary); }

.route-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 78px; }
.route { border-top: 1px solid var(--color-divider); padding-top: 22px; }
.contact-qr { width: min(220px, 100%); height: auto; margin: 24px 0 20px; padding: 12px; background: var(--color-surface-white); }
.contact-copy { max-width: 280px; margin: 0 0 14px; color: var(--color-text-secondary); font-size: 15px; line-height: 1.6; }
.contact-instruction { max-width: 340px; margin: 0; padding: 14px 16px; border-left: 3px solid var(--color-brand-yellow); color: var(--color-text-primary); font-size: 15px; font-weight: 600; line-height: 1.6; }
.contact-email { display: inline-block; margin-top: 22px; color: var(--color-brand-blue); font-size: clamp(18px, 2vw, 24px); font-weight: 600; overflow-wrap: anywhere; }
.route > span:first-child { color: var(--color-text-secondary); font-size: 13px; }
.route h3 { margin: 28px 0 28px; font-size: 26px; font-weight: 600; }
.route ul { display: grid; gap: 12px; margin: 0; padding: 0; color: var(--color-brand-blue); font-size: 15px; list-style: none; }
.route li { cursor: default; }
.site-footer { display: flex; justify-content: space-between; gap: 32px; padding: 42px 0 0; border-top: 1px solid var(--color-divider); }
.site-footer p { margin: 16px 0 0; color: var(--color-text-secondary); font-size: 13px; }
.footer-links { display: flex; align-items: start; gap: 28px; color: var(--color-text-secondary); font-size: 13px; }
.footer-links a { color: inherit; text-decoration: none; }
.footer-links span { cursor: default; }

@media (max-width: 1100px) {
  .zh-homepage .primary-nav { display: none; }
  .zh-homepage .hero { gap: 48px; }
}
@media (max-width: 800px) {
  .zh-homepage .header-controls { gap: 14px; }
  .zh-homepage .language { display: flex; }
  .zh-homepage .hero { min-height: 0; padding: 64px 0 24px; }
  .zh-homepage .hero-image { height: 380px; min-height: 0; }
  .zh-homepage .proof { padding-top: 48px; }
  .zh-homepage .evidence-field { min-height: auto; margin-top: 32px; }
  .zh-homepage .evidence-item, .zh-homepage .evidence-identifiers { width: 100%; }
  .zh-homepage .evidence-identifiers { margin-top: 72px; }
  .evidence-image { height: 220px; margin-top: 26px; }
  .evidence-identifiers .evidence-image { height: 220px; margin-bottom: 28px; }
  .evidence-summary { margin-top: 32px; }
  .zh-homepage .proof-detail .editorial-link { display: inline-block; margin-top: 28px; }
  .proof-basis { margin-left: 0; }
  .proof-teaser { margin-top: 72px; }
  .zh-section { padding: 88px 0; }
  .fit-content { grid-template-columns: 1fr; gap: 26px; margin-top: 44px; }
  .experience-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operating-flow { grid-template-columns: 1fr; gap: 24px; margin-top: 48px; }
  .operating-flow > li:not(:last-child)::after { content: "↓"; right: auto; left: 0; top: auto; bottom: -26px; }
  .operating-flow ul { margin-top: 12px; }
  .healthcare { margin: 0 -24px; }
  .healthcare-inner { padding: 88px 24px; }
  .customer-flow { margin-top: 64px; }
  .customer-steps { grid-template-columns: 1fr; gap: 28px; }
  .customer-steps li { padding-right: 0; }
  .customer-steps li:not(:last-child)::after { content: "↓"; right: auto; left: 0; top: auto; bottom: -26px; }
  .trace-layer { margin-top: 64px; padding: 28px 24px; }
  .trace-composition { grid-template-columns: 1fr; gap: 42px; margin-top: 48px; }
  .case-conclusion { margin: 72px 0 0; }
  .group-relationship { grid-template-columns: 1fr; gap: 36px; }
  .group-node + .group-node::before { position: static; display: block; margin-bottom: 20px; content: "↓"; }
  .partners { grid-template-columns: 1fr; gap: 40px; }
  .route-list { grid-template-columns: 1fr; gap: 42px; margin-top: 50px; }
  .contact-qr { margin-top: 20px; }
  .site-footer { display: block; }
  .footer-links { flex-wrap: wrap; margin-top: 42px; }
}
@media (max-width: 520px) {
  .zh-homepage .language { display: none; }
  .zh-homepage .header-cta { padding: 10px 12px; }
  .zh-homepage .hero h1 { font-size: 42px; }
  .experience-list, .operating-flow { grid-template-columns: 1fr; }
  .operating-flow > li > span { margin-bottom: 14px; }
}
