/* Shared visitor improvements. All supported locales use the same controls. */
html[lang] .english-principle-photo { display:block; position:relative; color:inherit; border-radius:3px; }
html[lang] .english-principle-photo .we-enlarge { position:absolute; bottom:12px; right:12px; display:grid; place-items:center; width:38px; height:38px; background:#fffffff2; color:#143447; border:1px solid #b7c8d3; border-radius:50%; font-size:23px; line-height:1; }
html[lang] .english-principle-photo:hover .we-enlarge { background:#006caf; color:#fff; }
html[lang] .english-principle-photo:focus-visible { outline:3px solid #006caf; outline-offset:4px; }
html[lang] .we-viewer { color:#143447; width:min(1120px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 32px); padding:18px 22px 20px; border:1px solid #c7d6e0; border-radius:6px; overflow:auto; }
html[lang] .we-viewer::backdrop { background:rgb(6 23 36 / 85%); }
html[lang] .we-viewer-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
html[lang] .we-viewer-head h2 { font-size:18px; margin:0; }
html[lang] .we-viewer-close { min-width:44px; min-height:44px; padding:6px 12px; border:1px solid #b7c8d3; background:white; border-radius:3px; font-size:15px; color:#143447; }
html[lang] .we-viewer img { display:block; width:auto; max-width:100%; max-height:calc(100dvh - 220px); object-fit:contain; margin:0 auto; }
html[lang] .we-viewer figcaption { margin-top:16px; font-size:15px; color:#526b7d; }
html[lang] .we-viewer .we-full-image { display:inline-block; margin-top:10px; font-size:14px; font-weight:700; }
html[lang] .we-view-open { overflow:hidden; }
html[lang] .we-view-open .english-page-viewport { overflow:hidden; }
html[lang] .english-image-zoom { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
html[lang] .english-image-zoom[hidden] { display:none; }
html[lang] .english-image-zoom button { min-height:44px; padding:8px 12px; border:1px solid #b7c8d3; border-radius:3px; background:#fff; color:#143447; font:600 14px/1.4 Arial,sans-serif; cursor:pointer; }
html[lang] .english-image-zoom button:disabled { opacity:.45; cursor:default; }
html[lang] .english-principle-viewer .english-image-pane { width:100%; max-height:calc(100dvh - 290px); overflow:auto; overscroll-behavior:contain; }
html[lang] .english-principle-viewer .english-image-pane img { max-width:none; max-height:none; height:auto; margin:0 auto; }
html[lang] .english-principle-viewer .english-image-pane:focus-visible { outline:3px solid #006caf; outline-offset:-3px; }
html[lang] .english-summary-help { font-size:15px; line-height:1.6; margin:10px 0 18px; color:#304f63; }
@media(max-width:767px) {
  html[lang] #home .eyebrow { font-size:12px; line-height:1.6; }
  html[lang] #home .hero-installation figcaption { font-size:12px; line-height:1.6; }
  html[lang] .we-viewer { width:calc(100vw - 20px); padding:12px; max-height:calc(100dvh - 20px); }
  html[lang] .we-viewer-head { margin-bottom:10px; }
  html[lang] .we-viewer img { max-height:calc(100dvh - 235px); }
}
/* A short, wide screen leaves more room for the diagram beside its controls. */
@media (min-width:600px) and (max-height:500px) {
  html[lang] .english-principle-viewer[open] {
    display:grid;grid-template-columns:clamp(176px,24vw,240px) minmax(0,1fr);
    grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px 16px;
    height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);
    padding:12px;box-sizing:border-box;overflow:auto
  }
  html[lang] .english-principle-viewer .we-viewer-head { grid-column:1;grid-row:1;gap:8px;margin:0; }
  html[lang] .english-principle-viewer .we-viewer-head h2 { font-size:16px;line-height:1.3; }
  html[lang] .english-principle-viewer .english-image-zoom { grid-column:1;grid-row:2;gap:6px;margin:0; }
  html[lang] .english-principle-viewer .english-image-zoom button { padding-inline:9px;font-size:13px; }
  html[lang] .english-principle-viewer > figure { display:contents; }
  html[lang] .english-principle-viewer .english-image-pane { grid-column:2;grid-row:1 / -1;height:100%;min-height:0;max-height:none; }
  html[lang] .english-principle-viewer figcaption { grid-column:1;grid-row:3;margin:0;align-self:start;font-size:13px;line-height:1.5; }
  html[lang] .english-principle-viewer .we-full-image { grid-column:1;grid-row:4;margin:0;font-size:13px;line-height:1.5; }
}
