/* 기존 공용 구조의 읽기·탐색 결함만 보완한다. */
html:lang(ko) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,figcaption,label,summary,button) {
  word-break: keep-all;
  overflow-wrap: break-word;
}
html:is(:lang(ja),:lang(zh)) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,a,span,strong) {
  word-break: normal;
  line-break: strict;
  overflow-wrap: anywhere;
}
html body .content-index a { white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
html body .content-index { max-height: calc(100dvh - 210px); overflow-y: auto; overscroll-behavior: contain; }
html body .content-index-title { color: #5b636a; }
html body .history-number { color: #656565; }
html:lang(de) .spec-table :is(th,td) { overflow-wrap: anywhere; hyphens: auto; }
html:lang(de) :is(h1,h2,h3,h4) { overflow-wrap: anywhere; hyphens: auto; }
html body .footer-company { font-size: 13px; line-height: 1.8; }
html body .breadcrumb { font-size: 12px; flex-wrap: wrap; }
html body .ivh-metrics > * { min-width: 0; }
html body .ivh-metrics :is(strong,span) { overflow-wrap: anywhere; }
html body .viewer-tools, html body .viewer-tools .view-buttons { flex-wrap: wrap; gap: 6px; }
html body .atc-ge-page section[id] { scroll-margin-top: calc(var(--header-h, 73px) + 96px); }
html body svg a[data-map-region]:focus-visible > rect {
  /* 기존 지역 선택의 Astro 범위 스타일보다 키보드 표시가 우선한다. */
  stroke: #1e79b5 !important; stroke-width: 2px !important; stroke-dasharray: none !important;
}
html body svg a[data-map-dealer]:focus-visible > circle { stroke: #1e79b5 !important; stroke-width: 1px !important; }
html body .viewer-stage { position: relative; }
html body .model-explorer:not([data-loaded='true']) .viewer-fallback {
  display: block !important; position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; pointer-events: none;
}
html body .viewer-status { z-index: 2; }
@media (min-width: 761px) and (max-width: 1099px) {
  html body .ivh-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  html body .content-index { max-height: none; overflow: visible; min-width: 0; }
  html body .content-index nav { min-width: 0; }
  html body .content-index a { flex-shrink: 1; }
}
@media (max-width: 480px) {
  html:lang(de) .brand-hero-content { padding-bottom: 128px; }
  html:lang(de) .hero-video-controls { flex-wrap: wrap; gap: 6px; max-width: calc(100% - 32px); }
  html:lang(de) .hero-video-controls :is(a,button) { font-size: 12px; padding: 8px 10px; }
}
