/* Scoped homepage/about refinement; product and article pages keep their layout. */
.home-page main > section { padding-block: clamp(2.75rem, 4vw, 4rem); }
.home-page .section-heading { margin-bottom: 1.75rem; }
.home-page .hero-visual { min-height: 24rem; }
.home-page .hero-actions { margin-bottom: 1.25rem; }
.home-page .home-standard-layout { gap: 2rem; }
.home-care-summary { padding: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; }
.home-care-summary h3 { font-size: 1.15rem; }
.home-care-summary p { font-size: .94rem; }
.home-care-steps { display: flex; padding: 0; margin: 0 0 1rem; flex-wrap: wrap; gap: .5rem; list-style: none; counter-reset: care-step; }
.home-care-steps li { padding: .4rem .6rem; border-radius: .45rem; color: var(--teal-dark); background: var(--teal-soft); font-size: .85rem; counter-increment: care-step; }
.home-care-steps li::before { content: counter(care-step, decimal-leading-zero) " "; color: #526d62; font-size: .72rem; }
.home-care-services { color: var(--muted); }
.home-page .standard-scope { margin-top: 1.25rem; padding-top: 1rem; }
.home-guide-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1rem; font-size: .88rem; }
.home-guide-links a { padding-block: .35rem; }
.home-page #products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-page #products .product-card { grid-column: span 1; min-height: 13rem; padding: 1.15rem; }
.home-page #products .product-card-primary { grid-column: span 2; }
.home-page #products .product-card p { font-size: .88rem; }
.home-page #products .product-card-link { margin-top: auto; font-size: .9rem; }
.home-page #products .product-card-number { top: .9rem; right: 1rem; font-size: 2.5rem; }
.home-page .service-organizations-layout { grid-template-columns: 1fr; gap: 1.75rem; }
.home-page .service-organizations .section-heading { display: grid; grid-template-columns: 1fr auto; gap: .65rem 2rem; max-width: none; margin: 0; align-items: center; }
.home-page .service-organizations .section-heading > * { margin: 0; }
.home-page .service-organizations .eyebrow { grid-column: 1 / -1; }
.home-page .service-organizations-boundary { grid-column: 1; grid-row: 3; max-width: none; }
.home-page .service-organizations .button { grid-column: 2; grid-row: 2 / 4; }
.home-page .organization-directory { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-page .organization-directory li { min-height: 5rem; padding-block: .65rem; }
.home-page .latest-news .news-card { padding: 1.2rem; gap: .75rem; }
.home-page .latest-news .news-card h3 { font-size: 1.12rem; line-height: 1.5; }
.home-page .latest-news .news-card p { font-size: .9rem; }
.home-page .faq-section .container { display: grid; grid-template-columns: .5fr 1fr; gap: 2rem; }
.home-page .faq-section .section-heading { text-align: left; }
.home-page .faq-list { width: 100%; }
.home-page .faq-item h3 { margin: 0; }
.home-page #demo-form, .home-page #wechat { scroll-margin-top: 4.5rem; }
#brand-companies { padding-block: 3rem; }
#brand-companies h2 { font-size: clamp(1.85rem, 2.6vw, 2.4rem); }
#brand-companies .content-grid { grid-template-columns: .65fr 1.35fr; gap: 2.5rem; }
.company-facts { margin: 1rem 0; }
.company-facts > div { padding-block: .8rem; border-top: 1px solid var(--border); }
.company-facts dt { color: var(--muted); font-size: .8rem; }
.company-facts dd { margin: .2rem 0 0; color: var(--ink); font-size: 1.08rem; font-weight: 700; }
#software-registrations { border-block: 1px solid var(--border); }
#software-registrations summary { padding-block: .85rem; color: var(--teal); cursor: pointer; font-weight: 700; }
#software-registrations ul { padding-left: 1.25rem; margin-top: .5rem; }
#software-registrations li { margin-bottom: .75rem; }
#software-registrations > p { color: var(--muted); font-size: .85rem; }
.company-project-link { margin: 1rem 0 0; }
@media (max-width: 1100px) {
  .home-page #products .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .organization-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-page .faq-section .container, #brand-companies .content-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 767px) {
  .home-page .hero-visual { min-height: 14rem; }
  .home-page .hero-actions { gap: .5rem; }
  .home-page .hero-actions .button { min-height: 44px; padding: .55rem .75rem; }
  .home-page .hero-lead { margin-bottom: 1.25rem; font-size: 1rem; }
  .home-page .hero-standard-link { margin-bottom: 1rem; }
  .home-page .home-standard-layout { gap: 1.25rem; }
  .home-care-summary { padding: 1rem; }
  .home-page .ecosystem-header { gap: .5rem; }
  .home-page .ecosystem-panel { padding: .65rem; border-radius: 1rem; }
  .home-page #products .product-grid { grid-template-columns: 1fr; }
  .home-page #products .product-card, .home-page #products .product-card-primary { grid-column: 1; min-height: 0; padding: 1rem; }
  .home-page #products .product-card h3 { margin-top: .6rem; }
  .home-page .service-organizations .section-heading { display: block; }
  .home-page .service-organizations .section-heading > * + * { margin-top: .9rem; }
  .home-page .organization-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: .8rem; }
  .home-page .organization-directory li { position: relative; grid-template-columns: 2.3rem minmax(0, 1fr); gap: .5rem; min-height: 5rem; }
  .home-page .organization-number { position: absolute; top: .4rem; left: 0; font-size: .6rem; }
  .home-page .organization-logo-frame { width: 2.3rem; height: 2.3rem; padding: .2rem; margin-top: .5rem; }
  .home-page .organization-logo-frame-photo { padding: 0; }
  .home-page .organization-directory strong { font-size: .8rem; text-wrap: initial; }
  .home-page .latest-news-header { gap: .5rem; }
  .home-page .faq-section .container { gap: .5rem; }
  .home-page .faq-button { padding: .8rem 1rem; font-size: .95rem; }
  .home-page .conversion-direct h2 { font-size: 1.9rem; }
  .home-page .direct-contacts p { flex-direction: column; align-items: flex-start; gap: .1rem; padding-block: .3rem; }
  #brand-companies .content-grid { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .skip-link:not(:focus) { transform: translateY(-180%); }
}
