/* Shared UI foundation, used by all five language themes. */
:root { --ui-ink: #26323b; --ui-muted: #5e6972; --ui-line: #dce2e6; --ui-soft: #f4f6f7; --ui-max: 1440px; }
.container:not(.hero-pagination) { width: 100%; max-width: var(--ui-max); padding-inline: clamp(20px, 4vw, 64px); }
.page-hero { color: var(--ui-ink); background: var(--ui-soft); padding-block: calc(var(--header-height) + 36px) 36px; border-bottom: 1px solid var(--ui-line); }
.page-hero::after { display: none; }
.page-hero h1 { max-width: 1040px; font-size: clamp(28px, 3vw, 40px); line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.page-hero .page-lead { color: var(--ui-muted); font-size: 15px; line-height: 1.9; max-width: 840px; }
.page-hero .breadcrumb, .page-hero .breadcrumb a, .page-hero .breadcrumb span[aria-current] { color: var(--ui-muted); }
.page-hero .breadcrumb a:hover { color: var(--brand); }
.page-hero .article-meta, .page-hero .article-meta b { color: var(--ui-muted); }
.page-hero .article-meta .tag { color: #a91427; background: #f3e7e9; }
.inner-section { padding-block: 48px 64px; }
.inner-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: clamp(28px, 4vw, 56px); }
.inner-side { max-height: calc(100dvh - var(--header-height) - 48px); overflow-y: auto; scrollbar-width: thin; }
.side-card { padding: 22px; }
.side-contact strong { font-size: 22px; }
.prose { max-width: 880px; overflow-wrap: anywhere; }
.prose p { line-height: 1.95; }
.list-card time, .search-result .crumb, .article-meta, .article-body time, .related-card time, .article-source-note,
.product-series, .product-badge, .stat-index, .stats-note, .carousel-toolbar > span { color: var(--ui-muted); }
.list-card time, .article-body time, .related-card time, .search-result .crumb, .article-source-note,
.product-series, .stats-note, .carousel-toolbar > span { font-size: 13px; }
.brand-copy small { font-size: 10px; letter-spacing: .07em; }
.footer-brand > span, .footer-contact > p, .footer-bottom { color: #b8bfc4; font-size: 13px; }
.footer-nav a, .footer-contact > a:not(.text-link) { font-size: 14px; }
.product-body dl > div { font-size: 14px; }
.article-image > span { font-size: 12px; }
.hero-pagination { height: 44px; bottom: 8px; background: transparent; }
.hero-pagination button { height: 44px; display: flex; align-items: center; padding: 0; }
.hero-pagination button span { opacity: 1; background: rgba(255,255,255,.75); }
.hero-pagination button.is-active span { background: #fff; height: 4px; }
.hero-pagination button:focus-visible { outline-color: #fff; outline-offset: -4px; }
.hero-autoplay { width: 44px; height: 44px; opacity: 1; }
.hero-actions .button { min-height: 44px; }
.solution-card-text { min-height: 210px; color: var(--ui-ink); background: #edf1f3; }
.solution-card-text .solution-overlay { position: static; min-height: 210px; padding: 48px 24px 24px; color: inherit; }
.solution-card-text .solution-overlay small { color: var(--ui-muted); }
.solution-card-text .round-arrow { border-color: #c1cbd1; }
.case-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.case-summary-grid .case-panel, .project-summary { padding: 28px; background: #fff; border: 1px solid var(--ui-line); border-radius: 8px; min-width: 0; }
.case-summary-grid h3, .project-summary h3 { font-size: 21px; line-height: 1.6; margin-block: 14px; }
.case-summary-grid p, .case-summary-grid li, .project-summary p, .project-summary li { font-size: 14px; line-height: 1.85; }
.case-summary-grid .case-eyebrow { display: block; }
.case-summary-grid .case-eyebrow > span { display: block; margin-bottom: 8px; }
.case-summary-grid ul, .project-summary ul { padding-left: 18px; list-style: disc; margin-block: 16px 22px; }
.case-summary-grid .button { min-height: 44px; padding: 10px 16px; font-size: 14px; }
.project-summary { scroll-margin-top: calc(var(--header-height) + 24px); margin-bottom: 20px; }
.project-summary .case-eyebrow { color: #a91427; }
.records-archive { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--ui-line); }
.contact-layout { grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 32px; }
.contact-quick { display: flex; flex-wrap: wrap; gap: 16px 32px; padding: 22px 0 28px; font-size: 16px; }
.contact-quick a { color: #a91427; overflow-wrap: anywhere; }
.contact-context { font-size: 16px; color: var(--ui-muted); max-width: 760px; line-height: 1.9; }
.block-h h2 { font-size: 20px; line-height: 1.5; }
.contact-company-details { margin-top: 36px; border-top: 1px solid var(--ui-line); padding-top: 20px; }
.contact-company-details summary, .product-comparison summary { cursor: pointer; font-size: 16px; font-weight: 600; padding: 12px 0; }
.contact-company-details .prose { margin-top: 16px; font-size: 14px; }
.map-link { display: flex; align-items: center; justify-content: space-between; padding: 18px; margin-top: 18px; border: 1px solid var(--ui-line); color: #a91427; font-size: 14px; }
.cap-row { flex-wrap: wrap; gap: 12px; }
.captcha-refresh { min-height: 44px; display: flex; gap: 10px; align-items: center; padding: 4px 10px; border: 1px solid var(--ui-line); background: #fff; font-size: 13px; }
.captcha-refresh .codeimg { pointer-events: none; }
.field-error { color: #a91427; font-size: 13px; }
[aria-invalid="true"] { border-color: #a91427 !important; }
.form-status { font-size: 14px; line-height: 1.85; color: #384b3b; }
.form-status[data-state="error"], .form-status[data-state="uncertain"] { color: #a91427; }
.form-actions { flex-wrap: wrap; }
.form-actions button:disabled { cursor: wait; opacity: .7; }
.form-hint, .form-note { color: var(--ui-muted); font-size: 13px; }
.product-comparison { margin-bottom: 32px; padding: 12px 20px; border: 1px solid var(--ui-line); border-radius: 8px; background: #fff; }
.ui-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.ui-table-scroll table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: 14px; line-height: 1.85; }
.ui-table-scroll th, .ui-table-scroll td { padding: 13px; border-bottom: 1px solid var(--ui-line); text-align: start; vertical-align: top; }
.ui-table-scroll th { color: var(--ui-muted); background: var(--ui-soft); }
.ui-table-scroll a { color: #a91427; text-decoration: underline; text-underline-offset: 3px; }
.product-key-fact { color: #4b5862; font-size: 14px; line-height: 1.8; }
.detail-thumbs button { background: #fff; border: 1px solid var(--ui-line); padding: 4px; border-radius: 6px; }
.detail-thumbs button[aria-pressed="true"] { border-color: var(--brand); }
.detail-thumbs button img { margin: 0; }
.detail-image-link { display: block; }
.detail-image-link:focus-visible { outline-offset: -4px; }
.detail-media + .image-hint { color: var(--ui-muted); margin-top: 10px; font-size: 13px; }
.topic-list { max-width: 1050px; }
.topic-list li { border-bottom: 1px solid var(--ui-line); }
.topic-list li:first-child { border-top: 1px solid var(--ui-line); }
.topic-list a { display: block; padding: 20px 4px; font-size: 17px; line-height: 1.85; }
.topic-list a:hover { color: #a91427; }
.title-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 36px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ui-line); }
.title-list > li { min-width: 0; border-bottom: 1px solid var(--ui-line); }
.title-list > li > a { display: block; font-size: 16px; line-height: 1.85; padding: 18px 4px; }
.title-list > li > a:hover { color: #a91427; }
.topic-list-heading { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 24px; font-size: 14px; color: var(--ui-muted); }
.topic-list-heading a { color: #a91427; }
.reading-side { max-height: calc(100dvh - var(--header-height) - 52px); overflow-y: auto; scrollbar-width: thin; }
[dir="rtl"] .reading-prose h2 { border-left: 0; border-right: 3px solid var(--brand); padding-left: 0; padding-right: 16px; }
[dir="rtl"] .reading-toc li a { border-left: 0; border-right: 2px solid var(--ui-line); }
[dir="rtl"] .reading-toc li a[aria-current="location"] { border-right-color: var(--brand); }
[dir="rtl"] .reading-toc li a:hover { border-right-color: var(--brand); }
[dir="rtl"] .library-topic-heading h2 { padding-left: 0; padding-right: 15px; }
[dir="rtl"] .library-topic-heading h2::before { left: auto; right: 0; }
[dir="rtl"] .reading-prose ul, [dir="rtl"] .reading-prose ol { padding-left: 0; padding-right: 1.5em; }
[dir="rtl"] .reading-prose blockquote, [dir="rtl"] .reading-prose .article-cta { border-left: 0; border-right: 3px solid #b1152a; }
[dir="rtl"] .library-bottom a span, [dir="rtl"] .library-support span { display: inline-block; transform: scaleX(-1); }
a[href^="tel:"], input[type="tel"], [data-inquiry-model] { direction: ltr; unicode-bidi: isolate; }
@media (max-width:1199px) {
  .page-hero, .news-hero { padding-top: 32px; }
  .inner-layout { grid-template-columns: minmax(0,1fr); }
  .inner-side { position: static; max-height: none; overflow: visible; }
  .contact-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width:900px) {
  .case-summary-grid { grid-template-columns: 1fr; }
  .case-summary-grid .case-panel { padding: 24px; }
}
@media (max-width:767px) {
  .container:not(.hero-pagination) { padding-inline: 22px; }
  .page-hero h1 { font-size: 27px; }
  .page-hero .page-lead { font-size: 14px; }
  .inner-section { padding-block: 28px 44px; }
  .header-inner { padding-inline: 16px !important; }
  .brand-copy strong { font-size: 14px; letter-spacing: .015em; }
  .brand-mark { width: 30px; height: auto; }
  .product-series, .article-body time, .carousel-toolbar > span { font-size: 13px; }
  .hero-actions .button { min-height: 44px; }
  .contact-quick { display: grid; gap: 10px; font-size: 15px; }
  .form-card, .contact-info-card { padding: 22px; }
  .product-comparison { padding-inline: 14px; }
  .topic-list a { font-size: 16px; padding-block: 17px; }
  .title-list { grid-template-columns: 1fr; }
  .reading-side { max-height: none; overflow: visible; }
}
