.company-section { background: #fff; }
.brand-section { background: #f1f4f6; }
.production-section { background: #fff; border-top: 1px solid #d6dde1; }
.facility-photo { margin: 0; }
.facility-photo img { display: block; width: 100%; height: auto; object-fit: contain; }
.facility-photo figcaption, .facility-note { color: #526068; font-size: 13px; line-height: 1.8; }
.facility-photo figcaption { margin-top: 12px; }
.facility-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 32px 0 14px; padding: 28px 0; border-top: 1px solid #d6dde1; border-bottom: 1px solid #d6dde1; }
.facility-stats dt { color: #526068; font-size: 14px; }
.facility-stats dd { font-family: var(--display); font-size: 32px; line-height: 1.35; font-weight: 700; margin: 10px 0 0; }
.facility-stats small { display: block; font-size: 14px; font-weight: 500; }
.facility-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-top: 38px; }
.facility-content h3 { font-family: var(--display); font-size: 24px; line-height: 1.4; margin: 0 0 16px; }
.facility-content p { color: #526068; font-size: 15px; line-height: 1.8; margin: 0 0 20px; }
.facility-content .facility-note { margin: 14px 0 0; font-size: 13px; }
.facility-content .button { min-height: 48px; }
@media (max-width: 700px) {
  .facility-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; }
  .facility-stats dd { font-size: 28px; }
  .facility-content { grid-template-columns: 1fr; gap: 28px; }
  .facility-content h3 { font-size: 22px; }
}
@media (max-width: 360px) { .facility-stats dd { font-size: 25px; } }
.company-inner { max-width: 1180px; margin: 0 auto; }
.company-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 48px; margin-bottom: 38px; }
.company-intro > *, .company-facts > div, .brand-values > div, .factory-direct > *, .company-support > * { min-width: 0; }
.company-intro h2 { font-family: var(--display); font-size: 38px; line-height: 1.22; margin: 0; letter-spacing: 0; overflow-wrap: break-word; }
.company-intro p:not(.eyebrow) { color: #526068; font-size: 16px; line-height: 1.8; margin: 0 0 16px; }
.company-section .text-link, .brand-section .text-link { text-decoration: underline; text-underline-offset: 5px; line-height: 1.7; }
.company-photo-grid, .brand-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.company-section figure, .brand-section figure { margin: 0; min-width: 0; }
.company-section img, .brand-section img { display: block; width: 100%; height: auto; object-fit: contain; }
.company-photo-grid img { aspect-ratio: 526 / 329; }
.company-photo-grid figcaption { padding-top: 16px; }
.company-photo-grid figcaption strong { display: block; font-size: 18px; }
.company-photo-grid figcaption span { display: block; margin-top: 5px; color: #526068; font-size: 14px; }
.company-capabilities { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 48px; margin-top: 48px; border-top: 1px solid #d6dde1; padding-top: 38px; }
.company-records figcaption, .brand-photo-grid figcaption { color: #526068; font-size: 13px; line-height: 1.6; padding-top: 12px; }
.company-facts { margin: 0; }
.company-facts > div + div { border-top: 1px solid #d6dde1; margin-top: 22px; padding-top: 22px; }
.company-facts dt { font-family: var(--display); font-size: 18px; font-weight: 700; line-height: 1.5; }
.company-facts dd { margin: 8px 0 0; color: #526068; font-size: 14px; line-height: 1.8; }
.brand-photo-grid img { aspect-ratio: 1620 / 971; }
.brand-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 38px 0 0; }
.brand-values > div { border-top: 2px solid #8c4b36; padding-top: 20px; }
.brand-values dt { color: #8c4b36; font-size: 13px; font-weight: 700; }
.brand-values dd { margin: 10px 0 0; font-size: 16px; line-height: 1.8; }
.factory-direct { display: grid; grid-template-columns: 1fr 1.5fr; gap: 48px; border-top: 1px solid #ccd5db; margin-top: 44px; padding-top: 32px; }
.factory-direct h3, .company-support h3 { font-family: var(--display); font-size: 24px; line-height: 1.4; margin: 0; overflow-wrap: break-word; }
.factory-direct p, .company-support p { font-size: 15px; line-height: 1.8; margin: 0; color: #526068; }
.factory-direct .company-note { margin-top: 12px; font-size: 13px; }
.company-support { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: center; gap: 28px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #ccd5db; }
.company-support figcaption { font-size: 11px; color: #526068; text-align: center; margin-top: 5px; }
.company-support p { margin: 10px 0 12px; }
@media (max-width: 1000px) {
  .company-intro, .company-capabilities { gap: 28px; }
  .company-intro h2 { font-size: 32px; }
  .brand-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .company-intro, .company-capabilities, .factory-direct { grid-template-columns: 1fr; gap: 24px; }
  .company-intro h2 { font-size: 28px; }
  .company-photo-grid, .brand-photo-grid { grid-template-columns: 1fr; gap: 28px; }
  .company-capabilities { margin-top: 32px; padding-top: 28px; }
  .company-intro p:not(.eyebrow) { font-size: 15px; }
  .brand-values { grid-template-columns: 1fr; gap: 24px; }
  .factory-direct { margin-top: 32px; }
  .factory-direct h3, .company-support h3 { font-size: 22px; }
  .company-support { grid-template-columns: 70px minmax(0, 1fr); gap: 18px; align-items: start; }
}
