/* Shared responsive constraints follow all component sheets so older desktop
   overrides cannot restore narrow, clipped columns on phones. */
main :where(section, article, div, a, ul, ol, li) { min-width: 0; }
.profile-service-path { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.profile-service-path article { min-width: 0; }
.profile-service-path :is(h3, p) { overflow-wrap: anywhere; hyphens: manual; }
.section-nav > a { flex: 0 0 auto; }

@media (max-width: 1100px) {
  main :where(h1, h2, h3, h4, p, strong, a) { overflow-wrap: anywhere; hyphens: manual; }
  html[lang="de"] main :where(h1, h2, h3, h4, p, strong, a) { hyphens: auto; }
  main :where(input, select, textarea) { min-width: 0; max-width: 100%; }
  .profile-service-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purpose-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .values-list article { grid-template-columns: 25px minmax(0, 1fr) minmax(0, 1.4fr) 20px; }
  .profile-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  /* Reading content must not wait for a scroll observer on touch devices. */
  .js-ready .reveal, .js-ready .reveal.visible { opacity: 1; transform: none; transition: none; }
  .profile-service-path { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .profile-service-path article { padding: 24px 0 0 52px; min-height: 0; }
  .profile-service-path article > span { font-size: 9px; }
  .profile-service-path h3 { font-size: 21px; margin: 12px 0; }
  .profile-service-path p { font-size: 12px; line-height: 1.9; }
  .profile-service-path .service-path-icon { top: 27px; }
  .profile-service-path .service-path-icon .site-icon { width: 29px; height: 29px; }
  .profile-business .energy-system-cards { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .profile-business .energy-system-card { padding: 25px; }
  .profile-business .energy-system-card .site-icon { margin: 25px 0 20px; }
  .profile-business .energy-system-card h3 { font-size: 23px; }
  .profile-business .energy-system-card p { font-size: 12px; line-height: 1.9; }
  .profile-network-art { height: 290px; }
  .profile-orbit { max-width: 90%; }
  .node-frankfurt { left: 0; }
  .node-shanghai { right: 0; }
  .profile-region > div { min-width: 0; }
  .profile-timeline-track { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .profile-timeline-track article { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; align-items: start; padding: 23px 0; border-bottom: 1px solid #d4dde3; }
  .profile-timeline-track article > div { display: none; }
  .profile-timeline-track strong { font-size: 36px; }
  .profile-timeline-track p { max-width: none; font-size: 12px; margin: 0; }
  .technology-marquee .editorial-heading > div { min-width: 0; max-width: calc(100% - 60px); }
  .technology-marquee .editorial-heading h2 { max-width: 100%; overflow-wrap: anywhere; }
  .purpose-panels { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .purpose-panels article { min-height: 0; padding: 25px; border: 1px solid #dce3e8; background: #fafbfc; }
  .purpose-panels .section-id { display: block; padding-right: 55px; line-height: 1.7; }
  .purpose-panels .purpose-glyph { top: 18px; right: 23px; font-size: 58px; line-height: 1; color: #dce3e8; }
  .purpose-panels article:first-child .purpose-glyph { color: #e5092626; }
  .purpose-panels h2, html:not([lang="zh-CN"]) .purpose-panels h2 { font-size: 25px; line-height: 1.55; margin-top: 40px; max-width: 100%; }
  .values-list article { grid-template-columns: 23px minmax(0, 1fr) 20px; gap: 10px; align-items: start; }
  .values-list h3 { min-width: 0; font-size: 22px; line-height: 1.45; }
  .values-list p { font-size: 12px; line-height: 1.9; }
  .values-list article > span { padding-top: 7px; }
  .values-list b { font-size: 22px; }
  .nav-dropdown, .nav-dropdown :is(div, section, a, strong, span, small) { min-width: 0; overflow-wrap: anywhere; hyphens: manual; }
  .nav-dropdown :is(a, strong, span, small) { white-space: normal; }
  .sector-menu-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-column, .footer-bottom > * { min-width: 0; overflow-wrap: anywhere; }
  .contact-form :is(input, textarea, select), dialog :is(input, textarea, select) { font-size: 16px; }
  .mobile-dock { height: calc(57px + env(safe-area-inset-bottom, 0px)); padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  body { padding-bottom: calc(57px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 480px) {
  .sector-menu-industries { grid-template-columns: minmax(0, 1fr); }
  .profile-capability-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .profile-capability h3 { font-size: 22px; margin-top: 20px; }
  .profile-capability p { font-size: 12px; line-height: 1.9; }
}
