@font-face {
  font-family: "Noto Arabic";
  src: url("assets/fonts/NotoSansArabic.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Language-aware layout constraints, not a scaled desktop canvas. */
html[data-locale] { --locale-heading: 56px; --locale-body: 16px; }
html[data-locale] .nav .nav-inner { gap: 18px; }
html[data-locale] .nav .nav-links { flex-wrap: nowrap; gap: 6px; }
html[data-locale] .nav .nav-link { padding-inline: 12px; white-space: nowrap; }
html[data-locale] .nav .brand { gap: 18px; margin-inline-start: 0; }
html[data-locale] .locale-tools { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.locale-picker { position: relative; text-align: start; }
.locale-picker > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center;
  gap: 7px; min-height: 44px; padding: 8px 10px; font: 700 13px/1.2 Arial,sans-serif;
  border: 1px solid currentColor; border-radius: 6px; color: inherit;
}
.locale-picker > summary::-webkit-details-marker { display: none; }
.locale-picker > summary::after { content: ""; width: 6px; height: 6px; border-inline-end: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); margin-top: -3px; }
.locale-picker[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.locale-picker > nav { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); min-width: 190px; padding: 8px; background: #fff; color: #15151d; border: 1px solid #d9dce0; border-radius: 8px; box-shadow: 0 12px 28px #0002; z-index: 160; }
.locale-picker a { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 8px 12px; font: 500 15px/1.4 Arial,sans-serif; border-radius: 4px; }
.locale-picker a:hover, .locale-picker a:focus-visible { background: #f0f2f4; outline: 2px solid #ff6a18; outline-offset: -2px; }
.locale-picker a[aria-current="true"] { background: #f4f4f4; font-weight: 700; }
.locale-picker a[aria-current="true"]::after { content: "✓"; }
.locale-picker :focus-visible { outline: 2px solid #ff6a18; outline-offset: 3px; }
.home-video-page .locale-tools { color: #fff; }
.root-scroll-nav > .nav.is-scrolled .locale-tools { color: #15151d; }
.locale-suggestion { position: fixed; inset-inline-end: 20px; top: 98px; z-index: 130; width: min(370px, calc(100% - 28px)); display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 16px; border: 1px solid #d9dce0; border-radius: 8px; background: #fff; color: #15151d; box-shadow: 0 10px 35px #0002; font-size: 14px; line-height: 1.5; }
.locale-suggestion p { margin: 0; align-self: center; }
.locale-suggestion a { justify-self: start; padding: 8px 12px; background: #15151d; color: #fff; border-radius: 4px; font-weight: 700; }
.locale-suggestion button { grid-column: 2; grid-row: 1 / span 2; align-self: start; width: 32px; height: 32px; background: none; border: 0; cursor: pointer; font-size: 22px; color: #555; }

html:is([lang="es"],[lang="fr"],[lang="de"],[lang="pt-BR"],[lang="ru"]) body { font-family: Arial, "Helvetica Neue", sans-serif; }
html:is([lang="es"],[lang="fr"],[lang="de"],[lang="pt-BR"],[lang="ru"]) h1 { font-size: var(--locale-heading); line-height: 1.12; letter-spacing: 0; text-wrap: pretty; overflow-wrap: break-word; }
html:is([lang="es"],[lang="fr"],[lang="de"],[lang="pt-BR"],[lang="ru"]) .home-video-copy { max-width: 900px; }
html[lang="de"] { --locale-heading: 52px; }
html[lang="ru"] { --locale-heading: 50px; }
html:is([lang="de"],[lang="ru"]) h2 { font-size: 38px; line-height: 1.2; letter-spacing: 0; }
html[data-locale] .product-detail-grid > *, html[data-locale] .products-hero-inner > *, html[data-locale] .footer-grid > *, html[data-locale] .category-layout > *, html[data-locale] .grid-3 > *, html[data-locale] .grid-4 > * { min-width: 0; }
html:not([lang="en"]):not([lang="zh-CN"]) :is(.card,.slot,.product-entry,.capability-card,.level-card,.require-card,.control-card) { overflow-wrap: break-word; }
html[lang="de"] :is(h1,h2,h3,p) { hyphens: auto; }
html:not([lang="en"]):not([lang="zh-CN"]) :is(.card,.slot,.product-entry,.capability-card) h3 { line-height: 1.25; letter-spacing: 0; }
html[data-locale] .btn { height: auto; line-height: 1.3; padding-block: 12px; text-align: center; white-space: normal; }
html[data-locale] .product-entry-row { grid-template-columns: repeat(4,minmax(0,1fr)); }
html:not([lang="en"]):not([lang="zh-CN"]) .product-entry { padding: 20px 16px; }
html:not([lang="en"]):not([lang="zh-CN"]) .product-entry h3 { font-size: 21px; }
html:not([lang="en"]):not([lang="zh-CN"]) .program-tags { flex-wrap: wrap; }
html[data-locale] .form-grid > *, html[data-locale] form input, html[data-locale] form select, html[data-locale] form textarea { min-width: 0; max-width: 100%; }
html[data-locale] .footer a { overflow-wrap: anywhere; }

/* Arabic uses a native script face, mirrored reading flow and Latin isolation. */
html[dir="rtl"] body { font-family: "Noto Arabic", Tahoma, Arial, sans-serif; line-height: 1.85; }
html[dir="rtl"] :is(h1,h2,h3,h4,p,li,label,input,textarea,select,button) { letter-spacing: 0; }
html[dir="rtl"] h1 { font-size: 48px; line-height: 1.5; }
html[dir="rtl"] h2 { font-size: 34px; line-height: 1.55; }
html[dir="rtl"] h3 { line-height: 1.6; }
html[dir="rtl"] :is(.kicker,.signal span,.program-tags,.home-video-tags) { letter-spacing: 0; text-transform: none; }
html[dir="rtl"] .brand { direction: rtl; }
html[dir="rtl"] .brand strong, html[dir="rtl"] .footer .brand strong { direction: ltr; unicode-bidi: isolate; text-align: start; }
html[dir="rtl"] .brand span span { font-family: "Noto Arabic",sans-serif; }
html[dir="rtl"] .hero-panel, html[dir="rtl"] .products-copy, html[dir="rtl"] .custom-copy, html[dir="rtl"] .custom-hero-grid > div { text-align: start; }
html[dir="rtl"] .home-video-hero:before { transform: scaleX(-1); }
html[dir="rtl"] .nav-product-menu { left: auto; right: 0; }
html[dir="rtl"] .nav-link:before { display: none; }
html[dir="rtl"] .nav-product-link { border-radius: 0 12px 12px 0 !important; }
html[dir="rtl"] .nav-product-arrow { border-radius: 12px 0 0 12px; border-left: 1px solid; border-right: 0; }
html[dir="rtl"] .nav-product-menu a:hover { transform: translateX(-3px); }
html[dir="rtl"] .back-link::before { transform: scaleX(-1); }
html[dir="rtl"] .spec-list { padding-right: 22px; padding-left: 0; }
html[dir="rtl"] .table { text-align: right; }
html[dir="rtl"] .table :is(th,td) { text-align: start; }
html[dir="rtl"] :is(.case-grid,.tracker-id,.tracker-percent strong,.hero-proof-card img,.product-detail-media img) { direction: ltr; }
html[dir="rtl"] .case-grid .case-card { direction: rtl; }
html[dir="rtl"] .case-tabs { justify-content: start; }
html[dir="rtl"] .quote-float { right: auto; left: 24px; }
html[dir="rtl"] .whatsapp-float { left: auto; right: 24px; }
html[dir="rtl"] .factory-intro-dialog h2 { margin-left: 44px; margin-right: 0; }

@media (max-width: 1180px) {
  html[data-locale] .nav .nav-inner { min-height: 74px; height: auto; padding-block: 12px; }
  html[data-locale] .nav .nav-toggle { display: block; }
  html[data-locale] .nav .nav-links { display: none; position: absolute; inset-inline: 20px; top: 76px; flex-direction: column; align-items: stretch; padding: 14px; background: #fff; color: #15151d; border: 1px solid #d9dce0; border-radius: 8px; box-shadow: 0 14px 40px #0002; max-height: calc(100dvh - 100px); overflow-y: auto; }
  html[data-locale] .nav .nav-links.open { display: flex; }
  html[data-locale] .nav .nav-links .nav-link { text-align: start; white-space: normal; }
  html[data-locale] .nav .nav-product { display: grid; grid-template-columns: 1fr 48px; }
  html[data-locale] .nav .nav-product-menu { position: static; display: none; grid-column: 1/-1; min-width: 0; margin-top: 8px; opacity: 1; visibility: visible; transform: none; box-shadow: none; }
  html[data-locale] .nav .nav-product.is-open .nav-product-menu { display: grid; }
  .home-video-page .nav .nav-links.open { background: #15151df5; }
  .locale-tools { margin-inline-start: auto; }
}
@media (max-width: 640px) {
  html[data-locale] { --locale-heading: 31px; }
  html[data-locale] .nav .nav-inner { min-height: 64px; padding-block: 10px; gap: 8px; }
  html[data-locale] .nav .brand { gap: 9px; }
  html[data-locale] .nav .brand strong { font-size: 21px; }
  html[data-locale] .nav .brand span span { font-size: 9px; }
  html[data-locale] .locale-tools { gap: 6px; }
  html[data-locale] .nav .nav-toggle { width: 42px; font-size: 21px; line-height: 1; }
  .locale-picker > summary { min-height: 42px; padding: 8px; font-size: 12px; gap: 5px; }
  html[data-locale] .nav .nav-links { top: 64px; inset-inline: 14px; }
  html[data-locale] .product-entry-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html:not([lang="en"]):not([lang="zh-CN"]) .product-entry h3 { font-size: 17px; }
  html[data-locale] .products-capability-matrix .capability-card h3 { font-size: 18px; line-height: 1.4; }
  html:is([lang="es"],[lang="fr"],[lang="de"],[lang="pt-BR"],[lang="ru"]) :is(h1,.home-video-copy h1,.products-copy h1,.custom-hero h1,.hero-panel h1) { font-size: 31px; line-height: 1.18; }
  html:is([lang="de"],[lang="ru"]) h2 { font-size: 25px; line-height: 1.25; }
  html[data-locale] .hero-actions > .btn, html[data-locale] .products-actions > .btn, html[data-locale] .custom-actions > .btn { flex: 1 1 130px; }
  html[data-locale] .signal span { font-size: 11px; line-height: 1.5; overflow-wrap: break-word; }
  html[data-locale] .slot h3 { font-size: 15px; line-height: 1.4; }
  html[data-locale] .program-card { min-height: 290px; }
  html[data-locale] .program-card h3 { font-size: 20px; }
  html[data-locale] .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-locale] .footer-grid > :first-child, html[data-locale] .footer-grid > :last-child { grid-column: 1/-1; }
  .locale-suggestion { top: 76px; inset-inline-end: 14px; }
  html[dir="rtl"] :is(h1,.home-video-copy h1,.products-copy h1,.custom-hero h1,.hero-panel h1) { font-size: 29px; line-height: 1.65; }
  html[dir="rtl"] h2 { font-size: 25px; line-height: 1.65; }
  html[dir="rtl"] .home-video-copy p { font-size: 14px; line-height: 1.95; }
  html[dir="rtl"] .quote-float { left: 14px; right: auto; }
  html[dir="rtl"] .whatsapp-float { right: 14px; left: auto; }
}
@media (max-width: 360px) {
  html[data-locale] .nav .brand strong { font-size: 19px; }
  html[data-locale] .nav .brand { gap: 7px; }
  html[data-locale] .nav .brand img { width: 26px; height: 26px; flex-basis: 26px; }
  html[data-locale] .nav .nav-toggle { width: 36px; }
  html[data-locale] .nav .nav-inner { gap: 5px; }
}
