/* Shared commercial-site refinements. Keep headings readable at every width. */
.en-site main :is(h1,h2,h3,h4,h5,h6),
.en-site main :is(h1,h2,h3,h4,h5,h6) * {
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: break-word;
  word-break: normal;
}
.en-site main :is(section,article,figure,div),
.lab-page main :is(section,article,figure,div) { min-width: 0; }
.en-site main :is(img,video,svg) { max-width: 100%; }
.en-site main :is(h1,h2,h3,h4,h5,h6) { max-width: 100%; }
.en-site .en-footer :is(h2,h3) { white-space:normal !important; text-wrap:balance !important; overflow-wrap:break-word; }
.en-site .en-home-hero, .en-site .en-hero { box-sizing: border-box; }
.en-site .omx-primary, .en-site .dev-primary { color:#fff !important; }
.en-site .dev-hero h2 { font-size:clamp(24px,2.5vw,34px); line-height:1.4; margin:0 0 18px; }
.en-site .dev-reference-section > h2 { margin-bottom:16px; }
.en-site .dev-reference-section > .dev-intro { margin-bottom:26px; }
.en-site .dev-diagram > p { font-size:12px; color:#667765; line-height:1.8; }
.en-site .dev-diagram li span { font-size:13px; color:#647262; line-height:1.7; }
#gravel-simulation { margin-top:clamp(32px,5vw,64px); }
.quality-resources { padding: clamp(28px,4vw,56px) 0; border-top: 1px solid #deded7; }
.quality-resources h2 { font-size: clamp(22px,2.8vw,34px); line-height: 1.3; margin: 0 0 14px; }
.quality-resources p { max-width: 64ch; }
.quality-resource-links { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 18px; }
.quality-resource-links a { color: inherit; text-underline-offset: 5px; }
.quality-scope-note { color: #5d6d66; font-size: 13px; line-height: 1.7; }
.omx-page .omx-workspace img { object-fit: cover; object-position: top; }
.omx-page .omx-workflow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:28px 0 18px; }
.omx-page .omx-workflow li { padding:18px 14px; list-style:none; background:#f2f5ef; border:1px solid #dce4d5; border-radius:8px; }
.omx-page .omx-workflow strong { display:block; font-size:15px; line-height:1.5; }
.omx-page .omx-workflow span { display:block; margin-top:6px; font-size:12px; color:#637168; line-height:1.7; }
.omx-page .omx-workflow b { display:block; font-size:11px; color:#537a52; margin-bottom:8px; }
.omx-page .omx-workflow { padding:0; }
.omx-page .omx-runtime-result { padding:18px 22px; border-left:3px solid #728f69; background:#f4f6f1; font-size:14px; line-height:1.8; }
.en-site .omx-page :is(.omx-shell,.wrap),.en-site .devx-page :is(.devx-shell,.wrap) { box-sizing:border-box; }
@media(max-width:700px) {
  .omx-page .omx-workflow { grid-template-columns:1fr; gap:8px; }
  .omx-page .omx-workflow li { display:grid; grid-template-columns:30px 1fr; column-gap:10px; padding:14px; }
  .omx-page .omx-workflow b { grid-row:1/3; margin-top:3px; }
  .omx-page .omx-workflow span { grid-column:2; }
  .lab-page main h1 { font-size:clamp(30px,7.8vw,42px); line-height:1.2; }
  .lab-page main h2 { font-size:clamp(25px,6.7vw,34px); line-height:1.25; }
}
@media(prefers-reduced-motion:reduce) { .quality-resources *, .omx-workflow * { scroll-behavior:auto; } }
