/* W2 additions on top of the accepted Fable styles (same tokens, no new theme). */
/* Shared reading density; page-specific layouts below retain their spacing. */
.section { padding-block: clamp(28px, 3.2vw, 44px); }
.section--tight { padding-block: clamp(20px, 2.2vw, 28px); }
.section-head { margin-bottom: 20px; }
.page-head { padding-top: clamp(24px, 3vw, 40px); padding-bottom: clamp(16px, 2vw, 24px); }
.detail-hero { padding-bottom: clamp(24px, 3vw, 36px); gap: clamp(24px, 3vw, 40px); }
.two-col { gap: clamp(24px, 3vw, 40px); }
.channels li > p { margin: 0; }
.channel-more > summary { min-height: 44px; padding-block: 8px; cursor: pointer; }
/* Alibaba references: one entry, compact disclosure, one note per scope. */
.alibaba-links { flex: 1 1 100%; min-width: 0; margin-block: 4px 8px; }
.section:has(> .alibaba-links) { padding-block: 12px; }
.alibaba-links .alibaba-links__list { list-style: none; padding: 0; margin: 0; }
.alibaba-links .alibaba-links__list > li { display: block; margin: 0; padding: 6px 0; border: 0; line-height: 1.45; }
.alibaba-links .alibaba-links__list a { display: inline-block; max-width: 100%; overflow-wrap: anywhere; }
.alibaba-links__scope { display: block; margin-top: 2px; line-height: 1.35; }
.alibaba-links .channel-more { margin: 2px 0 0; padding: 0; }
.alibaba-links .channel-more > summary { min-height: 44px; padding: 8px 0; line-height: 1.4; box-sizing: border-box; }
.alibaba-links .alibaba-links__note { margin: 4px 0 0; line-height: 1.4; }

.w2-lang select { font: inherit; font-size: .9rem; padding: 6px 8px; border: 1px solid var(--rule-strong); border-radius: var(--radius); background: var(--white); color: var(--ink); max-width: 11rem; }
.w2-locale-prompt { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block: 10px 16px; padding: 12px 16px; border: 1px solid var(--rule-strong); border-radius: var(--radius); background: var(--white); }
.w2-locale-prompt__message { flex: 1 1 auto; margin: 0; text-align: start; }
.w2-locale-prompt__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.w2-locale-prompt__actions .btn { min-height: 44px; }
.w2-locale-prompt__close { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--muted); border-radius: var(--radius); background: transparent; color: var(--ink); font: inherit; font-size: 1.25rem; cursor: pointer; }
.w2-locale-prompt__actions :focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.w2-admin-bar { display: flex; gap: 12px; align-items: center; padding-top: 8px; padding-bottom: 8px; font-size: .85rem; background: var(--warn-bg); border-bottom: 1px solid var(--warn-border); max-width: none; }
.w2-admin-bar[hidden] { display: none; }
.w2-named { margin: 16px 0; }
.w2-named .sibs { margin-top: 6px; }
.w2-prose { max-width: 72ch; }
.w2-prose h3 { margin-top: 1.4em; }
.w2-prose p { white-space: normal; overflow-wrap: anywhere; }
.w2-table td { vertical-align: top; overflow-wrap: anywhere; }
.w2-filters { margin-bottom: 20px; }
.w2-filters .field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; align-items: end; }
.w2-filters .field--inline { flex-direction: row; gap: 8px; align-items: center; }
.w2-series { background: var(--white); border: 1px solid var(--rule); border-radius: var(--radius); padding: 16px; margin: 0 0 18px; }
.w2-series__head { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: start; margin-bottom: 10px; }
.w2-series__head .media { aspect-ratio: 4 / 3; }
.w2-series__head .h3 { margin-bottom: .25em; }
.w2-series .rows { margin: 0; }
.w2-search { margin-bottom: 8px; }
.w2-search:empty { display: none; }
.w2-pager { justify-content: center; align-items: center; margin: 28px 0 48px; }
.w2-i18n-note { margin-top: 24px; }
.w2-gap-list li { margin-bottom: 6px; }
@media (max-width: 720px) {
  .w2-series__head { grid-template-columns: 1fr; }
  .w2-series__head .media { max-width: 240px; }
  .w2-lang select { max-width: 100%; width: 100%; }
  .w2-locale-prompt { align-items: stretch; flex-direction: column; }
  .w2-locale-prompt__actions { width: 100%; }
  .w2-locale-prompt__actions .btn { flex: 1 1 auto; white-space: normal; }
  .w2-locale-prompt__close { margin-inline-start: auto; }
}
/* Right-to-left layout for Arabic: mirror flow-dependent spacing only. */
[dir="rtl"] .crumbs ol, [dir="rtl"] .btn-row, [dir="rtl"] .site-nav ul { direction: rtl; }
[dir="rtl"] .row__meta, [dir="rtl"] .pcard__cta { text-align: left; }
[dir="rtl"] .ticks li, [dir="rtl"] .facts li { padding-left: 0; padding-right: 1.4em; }
[dir="rtl"] .mono, [dir="rtl"] .row__code, [dir="rtl"] [lang="en"] { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .spec th, [dir="rtl"] .spec td { text-align: right; }

/* W8 browse: one complete product-group view, compact lists, same tokens. */
.w8-search { margin: 8px 0 12px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.w8-search .search { flex: 1 1 260px; }
.w8-actions { margin: 12px 0 4px; }
.w8-groups { margin: 24px 0 56px; }
.w8-series-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.w8-series-rows li a { flex-wrap: wrap; }
.w8-series { list-style: none; margin: 8px 0 0; padding: 0; font-size: .92rem; }
.w8-series li { margin: 0 0 4px; }
.w8-tiles { margin-bottom: 12px; }
.w8-rows__head { margin: 22px 0 6px; }
.w9-video { display: block; width: 100%; max-height: 70vh; background: #111; }
.w9-video-source { padding: 0 20px 16px; margin: 0; }
.w9-drawings { margin-top: 28px; }
@media (max-width: 560px) {
  .w8-series-rows { grid-template-columns: minmax(0, 1fr); }
}
.w2-source-hero{max-width:720px;margin-top:24px}.w2-source-hero .media{max-height:360px;aspect-ratio:4/3}
/* Directory category descriptions need the full phone width in every locale. */
@media (max-width: 560px) {
  [data-w2-owned] .cat-grid { grid-template-columns: minmax(0, 1fr); }
}
.w10-example-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.w10-example-form select{max-width:100%;flex:1 1 260px;padding:12px;border:1px solid var(--line,#d5dae0);font:inherit}.w10-material>summary,.w10-channels>summary{cursor:pointer;font-weight:600;padding:14px 0}.w10-source-list{padding-inline-start:24px;columns:2;column-width:300px}.w10-source-list li{break-inside:avoid;margin-bottom:12px}.w10-material .ref-grid{margin:20px 0}.w10-material{margin-bottom:20px}
.w11-overview{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px;align-items:start;margin-bottom:24px}.w11-overview .media{max-height:160px}.w11-gallery{max-width:820px;margin:24px auto}.w11-gallery>.fig .media{max-height:460px}.media>[data-w11-zoom]{display:block;width:100%;height:100%;cursor:zoom-in}.w11-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.w11-thumbs button{padding:3px;border:1px solid var(--line,#d5dae0);background:transparent;cursor:pointer}.w11-thumbs img{width:100%;height:64px;object-fit:contain}.w11-thumbs [aria-pressed=true]{border-color:var(--accent,#1e48db)}.w11-gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:14px 0}.w11-gallery-controls button{font:inherit;padding:8px 14px;cursor:pointer}.w11-lightbox{width:min(1100px,94vw);max-height:94vh;padding:48px 16px 16px;border:1px solid var(--line,#d5dae0);background:var(--paper,#f8f7f2)}.w11-lightbox::backdrop{background:rgba(0,0,0,.76)}.w11-lightbox>img{display:block;max-width:100%;width:auto;max-height:72vh;height:auto;object-fit:contain;margin:auto}.w11-close{position:absolute;top:8px;right:12px;width:36px;height:36px;font-size:26px;cursor:pointer}.w11-video-link{margin:20px 0}@media(max-width:560px){.w11-overview{grid-template-columns:minmax(0,1fr)}.w11-overview>a{max-width:280px}.w11-thumbs img{height:44px}.w11-gallery-controls{gap:12px}.w11-lightbox{padding:44px 8px 8px}}
.media--door img{padding:2%;object-fit:contain;transform:scale(1.2)}
#group-linear_module .media img{transform:scale(1.15)}
[data-w10-group]{padding-bottom:12px}
.w12-channel-section{padding-top:12px;padding-bottom:24px}
.w12-channel-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;border-top:1px solid var(--rule);padding:10px 0}
.w12-channel-link,.w12-channel-tools .w10-channels>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.w12-channel-tools .w10-channels>summary{padding:8px 0}
.w12-channel-tools .w10-channels[open]{flex-basis:100%}
.w12-store{color:var(--ink)}.w12-store:hover{color:var(--ink)}
.w12-brand{color:#b84800;font-weight:800;letter-spacing:-.02em}
@media(max-width:560px){.w12-channel-tools{gap:0 16px}.w12-channel-link{flex-wrap:wrap}}
/* W13: source images, readable article flow, and compact onward paths. */
.w13-detail-head{padding-top:20px;padding-bottom:14px}.w13-detail-head h1{max-width:22ch;margin-bottom:8px}.w13-detail-head .small{margin:0}
.w13-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:start;padding-bottom:24px}
.w13-detail-layout .media--hero{aspect-ratio:16/10}.w13-reading{max-width:72ch}.w13-reading p{line-height:1.68;margin:0 0 1.1em}
.w13-reading-point{margin:20px 0}.w13-reading-point h2{margin-bottom:8px;font-size:1.08rem}
.w13-figure figcaption{color:var(--muted);font-size:.82rem;line-height:1.4;margin-top:7px}.pcard .w13-figure figcaption{display:none}
.w13-gallery .prod-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.w13-gallery .media{max-height:290px}
.w13-next{border-top:1px solid var(--rule);padding-top:22px;margin-top:24px}.w13-next .sibs{margin-top:14px}.w13-next>a{font-size:.9rem}
.w13-inquiry{padding:clamp(24px,4vw,48px) 0}.w13-guide-card .pcard__body{min-height:190px}.w13-guide-card .pcard__cta{margin-top:auto}
.w13-guide-head{padding-top:26px;padding-bottom:20px}.w13-guide-head h1{max-width:24ch}.w13-guide-head .lede{max-width:70ch}
.w13-guide-body{max-width:900px}.w13-guide-body section{padding:18px 0;border-top:1px solid var(--rule)}.w13-guide-body h2{font-size:clamp(1.25rem,2vw,1.6rem)}.w13-guide-body p{max-width:72ch;line-height:1.7}
.w13-guide-links{max-width:900px;padding-top:30px;padding-bottom:36px}.w13-guide-links ul{padding-inline-start:20px}.w13-guide-links li{margin-bottom:10px}
.w13-drive-table{overflow-x:auto;margin:18px 0 10px}.w13-drive-table table{min-width:580px}.w13-drive-table th,.w13-drive-table td{width:33%;text-align:start;font:inherit;padding:12px;border-bottom:1px solid var(--rule)}
.w13-system-intro{padding-top:0;padding-bottom:0}.w13-system-intro .small{margin-top:4px}
.w13-system-intro+[data-w10-group]{padding-top:24px}
@media(max-width:760px){.w13-detail-layout,.w13-guide-links{grid-template-columns:minmax(0,1fr)}.w13-detail-layout .media--hero{max-height:380px}.w13-guide-links{gap:10px}}
.w14-legacy-hero{align-items:start}.w14-legacy-hero .fig{margin:0}.w14-legacy-hero .media{aspect-ratio:auto}.w14-legacy-hero .media>[data-w11-zoom]{height:auto}.w14-legacy-hero .media img{display:block;width:auto;max-width:100%;height:auto;max-height:320px;margin:auto;padding:0}.w14-original{max-width:900px}.w14-original>details{border-top:1px solid var(--rule);padding-top:18px}.w14-original summary{cursor:pointer;font-weight:600}.w14-original .ref-grid{margin:20px 0}

/* Async model detail replaces a short loading view; keep its footer below the first screen. */
body[data-w2-model-loading] #app { min-height: 100vh; }

/* Category browsing uses page links with one visible current mode. */
.w8-browse-nav .sibs { margin-bottom: 8px; }
.w8-browse-nav a[aria-current="page"] { background: var(--ink); color: var(--white); border: 2px solid var(--ink); font-weight: 700; }
.w8-browse-hint { margin: 0 0 12px; }

/* WEB: initial model content shares the existing layout, with bounded native controls. */
.web-config { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.web-config .field { flex:1 1 280px; min-width:0; }
.web-config select { max-width:100%; }
[data-web-model-ssr] figcaption { color:var(--muted); font-size:.82rem; margin-top:8px; }
/* Real Arabic source lists inherited both left padding and the browser's RTL right padding. */
.fact-notes, .src-detail ul { padding-left:0; padding-right:0; }
.fact-notes { padding-inline-start:20px; }
.src-detail ul { padding-inline-start:18px; }
.nav-toggle { margin-left:0; margin-inline-start:auto; }
/* Necessary input/button boundaries, not decorative rules. */
.field input, .field select, .field textarea, .w2-lang select, .nav-toggle,
.seg button:not([aria-pressed="true"]), .chip, .btn--ghost { border-color:var(--muted); }

/* Homepage company identity appears once, above the useful footer links. */
.home-about__logo { display:block; width:92px; height:auto; mix-blend-mode:multiply; }
.site-footer__grid:first-child { padding-top:32px; }

/* About: full source photographs and three concise product areas. */
.about-photo { display:block; width:100%; height:auto; border:1px solid var(--rule); border-radius:3px; }
.about-enriched .about__id { overflow-wrap:anywhere; }
.about-domains { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.about-domains article { border-top:1px solid var(--rule); padding-top:16px; }
.about-domains p { color:var(--ink-2); }
@media (max-width:760px) { .about-domains { grid-template-columns:1fr; gap:16px; } }

/* About R2: scene collage and product photographs, retaining the site's material palette. */
.about-r2-hero { display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; padding-top:40px; padding-bottom:28px; align-items:start; }
.about-r2-intro h1 { font-size:clamp(36px,4vw,56px); line-height:1.06; margin:0 0 20px; }
.about-r2-intro .lede { font-size:1.15rem; }
.about-r2-intro p { color:var(--ink-2); }
.about-r2-intro .about__id { margin-top:24px; overflow-wrap:anywhere; }
.about-r2-mosaic { display:grid; grid-template-columns:1fr; gap:14px; }
.about-r2-mosaic>.about-r2-photo:first-child { grid-column:1/-1; }
.about-r2-photo { margin:0; min-width:0; }
.about-r2-photo a { display:block; cursor:zoom-in; border:1px solid var(--rule); border-radius:3px; overflow:hidden; }
.about-window { display:block; position:relative; overflow:hidden; background:var(--white); }
.about-window img { position:absolute; max-width:none; height:auto; display:block; }
.about-r2-photo figcaption { display:flex; justify-content:space-between; gap:10px; font-size:.8rem; color:var(--muted); padding-top:6px; }
.about-r2-scenes { padding-top:14px; padding-bottom:40px; }
.about-r2-heading { margin-bottom:22px; }
.about-r2-heading h2 { margin:0 0 10px; }
.about-r2-scene-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.about-r2-scene-grid>.about-r2-photo { grid-column:span 2; }
.about-r2-scene-grid>.about-r2-photo:nth-child(-n+2) { grid-column:span 3; }
.about-r2-intro-links { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:24px; }
.about-r2-cooperation { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding-block:40px; }
.about-r2-lightbox { width:auto; }
.about-r2-lightbox .about-window { width:min(1060px,88vw,calc(70vh * var(--about-zoom-ratio))); margin:auto; }
.about-r2-lightbox .about-zoom-caption { margin:12px 0 0; text-align:center; }
@media(max-width:760px) {
 .about-r2-hero { grid-template-columns:1fr; gap:26px; padding-top:28px; }
 .about-r2-scene-grid { grid-template-columns:1fr 1fr; gap:14px; }
 .about-r2-scene-grid>.about-r2-photo, .about-r2-scene-grid>.about-r2-photo:nth-child(-n+2) { grid-column:span 1; }
 .about-r2-scene-grid>.about-r2-photo:last-child { grid-column:1/-1; max-width:70%; }
 .about-r2-cooperation { grid-template-columns:1fr; gap:24px; padding-block:32px; }
}
[data-about-view] .btn--primary { background:var(--ink); border-color:var(--ink); color:var(--white); }

/* Company film: a stable compact frame; native controls load after the user's click. */
.about-company-video { display:grid; grid-template-columns:minmax(0,440px) minmax(0,1fr); gap:32px; align-items:center; padding-block:22px; margin-bottom:24px; border-block:1px solid var(--rule); }
.about-video-stage { aspect-ratio:16/9; min-width:0; background:var(--ink); }
.about-video-stage img,.about-video-stage video { display:block; width:100%; height:100%; object-fit:contain; }
.about-company-video [hidden] { display:none; }
.about-video-copy h2 { margin:0 0 10px; }
.about-video-copy button { max-width:100%; white-space:normal; }
@media(max-width:760px) { .about-company-video { grid-template-columns:minmax(0,1fr); gap:16px; margin-bottom:18px; } }

/* Home core series fill the available width using the current visible set. */
.w8-home-core{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}

/* One model gallery: main image first, technical references alongside at the top. */
.dimension-hero { min-width: 0; scroll-margin-top: 110px; }
.dimension-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.dimension-tabs [aria-pressed="true"], .dimension-tabs [aria-current="true"] { background: var(--ink); color: var(--paper); }
.dimension-hero .media > a { display: block; width: 100%; height: 100%; }
.dimension-thumbs { display: flex; gap: 8px; overflow-x: auto; padding-block: 10px 2px; }
.dimension-thumbs > a, .dimension-thumbs > button { flex: 0 0 84px; display: block; height: 62px; border: 1px solid var(--rule); border-radius: 4px; background: var(--white); padding: 3px; cursor: pointer; }
.dimension-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.dimension-thumbs [aria-pressed="true"], .dimension-thumbs [aria-current="true"] { outline: 2px solid var(--ink); outline-offset: -2px; }
.detail-hero:has(.dimension-hero[data-gallery-mode="reference"]) { grid-template-columns: minmax(0, 1fr); }
.dimension-hero[data-gallery-mode="reference"] { width: 100%; max-width: 1120px; margin-inline: auto; }
.dimension-hero .media--technical { aspect-ratio: auto; overflow: auto; }
.dimension-hero .media--technical img { display: block; width: 100%; height: auto; padding: 0; object-fit: contain; }
.dimension-hero .scope { margin-top: 8px; }
.dimension-hero .dimension-tabs a:focus-visible, .dimension-hero button:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
@media (max-width: 640px) { .dimension-tabs .btn { min-height: 44px; } .dimension-thumbs > a, .dimension-thumbs > button { min-width: 68px; flex-basis: 68px; } }
.dimension-choice { margin: 0 0 12px; max-width: 100%; }
form.dimension-choice { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.dimension-choice .field { flex: 1 1 300px; min-width: 0; margin: 0; }
.dimension-choice select { display: block; width: 100%; min-height: 44px; max-width: 100%; }

.w11-gallery-controls[hidden]{display:none}

[data-manual-e-material] article p { overflow-wrap: anywhere; word-break: normal; }
