/* Lullab-eye Space 0.5.1 — shared interface, existing data and renderers. */
:root {
  --ink: #13243c; --blue: #2463eb; --muted: #63738a; --line: #dde5ee;
  --e-ink: #13243c; --e-blue: #2463eb; --e-line: #dde5ee; --e-muted: #63738a;
  --u-surface: #fff; --u-background: #f5f7fb; --u-night: #071624;
  --u-cyan: #76dae4; --u-radius: 12px; --u-header: 76px;
}
html { scroll-padding-top: 94px; }
body { background: var(--u-background); font-family: Inter, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 16px; line-height: 1.65; color: var(--ink); }
*, *::before, *::after { box-sizing: border-box; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { text-decoration: none; }
input, select, textarea { font-size: 14px; color: var(--ink); border: 1px solid #ced9e5; border-radius: 7px; min-height: 44px; padding: 10px 12px; background: #fff; }
label { font-size: 14px; gap: 7px; }
input[type=checkbox] { accent-color: var(--blue); min-height: 18px; width: 18px; }
input[type=range] { padding: 0; accent-color: var(--blue); }
input:focus, select:focus, textarea:focus { outline: 3px solid #2463eb24; border-color: #2463eb; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #3986ff; outline-offset: 4px; }
.button { border-radius: 7px; min-height: 44px; padding: 11px 18px; font-size: 14px; font-weight: 600; background: var(--blue); border: 1px solid var(--blue); box-shadow: none; letter-spacing: 0; }
.button:hover { background: #1b51c9; border-color: #1b51c9; transform: none; }
.button.subtle { background: #fff; color: #243e5d; border-color: #d6e0eb; }
.button.subtle:hover { background: #f0f5ff; border-color: #9db9ea; }
.button:disabled, button:disabled { cursor: default; opacity: .5; }
.text-btn, .text-link { font-size: 14px; }
.text-btn { min-height: 40px; }
.eyebrow { font-size: 12px; line-height: 1.5; letter-spacing: .12em; font-weight: 650; }
.muted { color: var(--muted); }
.section { max-width: 1560px; padding-left: clamp(22px, 3.6vw, 56px); padding-right: clamp(22px, 3.6vw, 56px); }
.ecosystem-page { max-width: 1560px; padding-bottom: 68px; }
.header { height: var(--u-header); min-height: var(--u-header); padding: 0 clamp(22px, 3.6vw, 56px); gap: 28px; position: sticky; top: 0; border-bottom: 1px solid #e0e7f0; background: #fff; z-index: 50; }
.brand { gap: 10px; font-size: 20px; line-height: 1.3; color: #112a43; white-space: nowrap; letter-spacing: -.01em; }
.brand .light { font-weight: 400; }
.brand small { font-size: 10px; letter-spacing: .05em; line-height: 1.5; margin-top: 5px; font-weight: 500; color: #63738a; }
.header .brand { font-size: 20px; white-space: nowrap; }
.header .brand>span:last-child { white-space: nowrap; max-width: none; }
.header .brand small { font-size: 10px; }
.brand-mark { width: 34px; height: 34px; min-width: 34px; background: var(--blue); border-radius: 10px; font-size: 27px; font-weight: 400; display: grid; place-items: center; color: #fff; }
.header nav { gap: 5px; font-size: 14px; }
.header nav>a { display: flex; align-items: center; padding: 10px 12px; height: auto; border-radius: 6px; color: #52647a; white-space: nowrap; }
.header nav>a::after { display: none; }
.header nav>a:hover, .header nav>a.active { color: var(--blue); background: #edf3ff; }
.header-actions { gap: 15px; }
.header-actions .button { padding: 10px 16px; font-size: 13px; min-height: 42px; }
.header-projects { display: none; }
#language { min-width: 40px; font-size: 13px; border: 1px solid #e0e7ef; border-radius: 6px; }
#menu-toggle { display: none; align-items: center; justify-content: center; min-width: 40px; padding: 5px; border-radius: 6px; }
#menu-toggle svg { width: 22px; height: 22px; }
.business-nav { font-size: 14px; color: #52647a; }
.business-nav summary { padding: 10px 12px; min-height: 42px; border-radius: 6px; list-style: none; cursor: pointer; display: flex; gap: 7px; align-items: center; }
.business-nav summary::-webkit-details-marker { display: none; }
.business-nav summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.business-nav[open]>summary { background: #edf3ff; color: var(--blue); }
.business-nav .u-mega { position: absolute; right: 0; top: calc(100% + 12px); width: 600px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 24px; gap: 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 16px 50px #17374a22; z-index: 60; }
.u-mega section { min-width: 0; }
.u-mega strong { display: block; font-size: 12px; color: #8b9aab; margin: 0 8px 8px; font-weight: 550; }
.business-nav .u-mega a { display: block; font-size: 14px; border: 0; padding: 8px; border-radius: 6px; color: #26415c; }
.business-nav .u-mega a:hover, .business-nav .u-mega a[aria-current=page] { background: #edf3ff; color: var(--blue); }
.u-skip { position: fixed; top: -100px; left: 20px; z-index: 200; padding: 12px 20px; background: #fff; color: #17479b; border: 2px solid var(--blue); border-radius: 8px; }
.u-skip:focus { top: 10px; }
.u-dock { display: none; }
body[data-route=home] .header, body[data-route=monitor] .header { background: #071624; border-color: #203646; }
body[data-route=home] .header .brand, body[data-route=monitor] .header .brand { color: #f1f6fc; }
body[data-route=home] .brand small, body[data-route=monitor] .brand small { color: #91a9bd; }
body[data-route=home] .header nav>a, body[data-route=monitor] .header nav>a, body[data-route=home] .business-nav, body[data-route=monitor] .business-nav { color: #a1b8c9; }
body[data-route=home] .header nav>a.active, body[data-route=home] .header nav>a:hover, body[data-route=monitor] .header nav>a.active, body[data-route=monitor] .header nav>a:hover { background: #153549; color: #d2f7fa; }
body[data-route=home] #language, body[data-route=monitor] #language, body[data-route=home] #menu-toggle, body[data-route=monitor] #menu-toggle { color: #daedf7; border-color: #2d4559; }
.breadcrumbs { font-size: 13px; color: #63738a; padding: 24px 0 8px; gap: 10px; }
.p-page-title { padding: 22px 0 34px; max-width: 970px; }
.p-page-title h1, .analysis-title h1 { font-size: clamp(30px, 3vw, 42px); line-height: 1.3; font-weight: 650; letter-spacing: -.015em; margin: 14px 0; color: var(--ink); }
.p-page-title p, .analysis-title p { font-size: 16px; line-height: 1.8; color: #63738a; max-width: 780px; }
.section-heading h2 { font-size: clamp(26px, 2.5vw, 34px); letter-spacing: -.01em; line-height: 1.4; }
.section-heading p { font-size: 16px; }
.section-heading { gap: 24px; margin-bottom: 28px; align-items: center; }
.catalog-help { font-size: 14px; border: 1px solid #dce6ef; border-radius: 9px; background: #eef4f9; color: #63768c; padding: 22px 24px; margin: 32px 0; }
.catalog-help p { font-size: 14px; }
.e-monitor { display: block; padding: 28px clamp(22px, 3.6vw, 56px) 28px; background: var(--u-night); margin: 0; }
.e-monitor-heading { display: flex; align-items: center; gap: 20px; margin: 0; }
.e-monitor-heading h1, .e-monitor-heading h2 { font-size: clamp(27px, 2.45vw, 38px); line-height: 1.4; margin: 9px 0 7px; letter-spacing: -.01em; }
.e-monitor-heading p { font-size: 14px; margin: 0; color: #8faabd; }
.e-monitor-heading .eyebrow { font-size: 12px; color: var(--u-cyan); }
.demo-pill { border-radius: 5px; font-size: 12px; padding: 8px 12px; letter-spacing: .03em; }
.u-observer-badge { display: flex; flex-direction: column; align-items: flex-end; padding: 7px 0; flex-shrink: 0; }
.u-observer-badge strong { font-size: 14px; font-weight: 600; color: #b4ecf0; }
.u-observer-badge span { font-size: 12px; color: #7c9aaf; margin-top: 4px; }
.e-orbit-toolbar { padding: 21px 0 0; gap: 10px; flex-wrap: nowrap; }
.e-orbit-toolbar label { font-size: 12px; color: #8faabd; margin: 0; }
.e-orbit-toolbar label:first-child, .e-orbit-toolbar label:nth-child(2) { flex: 0 0 164px; }
.e-orbit-toolbar input, .e-orbit-toolbar select { min-height: 42px; background: #102637; border-color: #274256; border-radius: 6px; font-size: 14px; color-scheme: dark; }
.e-orbit-toolbar .button { min-height: 42px; white-space: nowrap; font-size: 13px; color: #cce3f2; background: #123045; border-color: #31546d; border-radius: 6px; padding: 10px 14px; }
.e-orbit-toolbar .button:hover { background: #1d3f56; }
.u-source-info { color: #7795ab; margin: 13px 0 0; font-size: 12px; }
.u-source-info summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 15px; flex-wrap: wrap; padding: 3px 0; min-height: 28px; }
.u-source-info summary::after { content: '+'; font-size: 16px; color: #9ab6c9; margin-left: auto; }
.u-source-info[open] summary::after { content: '−'; }
.u-source-info summary::-webkit-details-marker { display: none; }
#monitor-freshness { color: #9bb5c7; font-variant-numeric: tabular-nums; }
.u-source-info[data-state=stale] #monitor-freshness, .u-source-info[data-state=unavailable] #monitor-freshness { color: #d6b67f; }
.e-orbit-source { font-size: 12px; line-height: 1.8; margin: 9px 0; padding: 12px 15px; border: 1px solid #2b4152; border-radius: 6px; background: #0c2131; }
.e-orbit-metrics { margin: 16px 0 18px; border-radius: 8px; overflow: hidden; border-color: #254151; background: #254151; }
.e-orbit-metrics>div { background: #0c2233; padding: 13px 17px; }
.e-orbit-metrics span { font-size: 12px; letter-spacing: .01em; color: #8daabc; }
.e-orbit-metrics b { font-size: 25px; line-height: 1.35; margin-top: 5px; font-weight: 550; font-variant-numeric: tabular-nums; }
.e-orbit-metrics i { height: 5px; width: 5px; border-radius: 50%; right: 16px; top: 19px; }
.e-monitor-grid { grid-template-columns: 224px minmax(0, 1fr) 282px; gap: 14px; align-items: stretch; }
.e-monitor-grid>aside { padding: 17px; height: 560px; background: #0b2132; border-color: #263f51; border-radius: 9px; }
.e-monitor-grid .panel-heading { font-size: 12px; margin: 0 0 10px; }
.e-monitor-grid .panel-heading b { font-size: 19px; font-variant-numeric: tabular-nums; color: #ceeaf7; }
.e-monitor-list { height: 420px; margin: 7px -5px 0; scrollbar-width: thin; scrollbar-color: #315367 #0b2132; }
.e-monitor-list .fleet-row { border-radius: 6px; padding: 12px 9px; min-height: 61px; border: 1px solid transparent; border-bottom-color: #1e374b; gap: 8px; }
.e-monitor-list .fleet-row:hover { background: #123149; }
.e-monitor-list .fleet-row.selected { background: #173b50; border: 1px solid #447687; }
.e-monitor-list .fleet-row strong { font-size: 13px; font-weight: 550; }
.e-monitor-list .fleet-row small { font-size: 11px; line-height: 1.6; }
.e-monitor-list .fleet-row>span { font-size: 11px; }
.e-monitor-list .fleet-row>i { width: 3px; height: 25px; border-radius: 2px; }
.e-list-pager { font-size: 12px; padding-top: 12px; }
.e-list-pager button { border-radius: 5px; min-width: 36px; min-height: 35px; }
.e-monitor-stage { background: #071624; border: 1px solid #203b4d; border-radius: 9px; overflow: hidden; }
.u-globe-frame { position: relative; min-width: 0; }
#monitor-globe { height: 558px; }
.e-monitor-overlays { top: 16px; left: 17px; right: 17px; font-size: 11px; gap: 8px; line-height: 1.6; }
.e-monitor-overlays>span:last-child { font-variant-numeric: tabular-nums; font-size: 10px; }
.e-monitor-overlays .u-scene-selection { position: absolute; top: 24px; left: 0; font-size: 12px; color: #b2e8ec; }
.e-monitor-controls { bottom: 42px; gap: 5px; left: 10px; right: 10px; }
.e-monitor-controls button { border-radius: 5px; min-height: 37px; font-size: 12px; padding: 8px 11px; }
#monitor-scene-note { font-size: 10px; bottom: 9px; line-height: 1.6; color: #7898ad; }
.e-monitor-detail .eyebrow { font-size: 11px; letter-spacing: .1em; }
.e-monitor-detail h3 { font-size: 21px; line-height: 1.4; margin: 10px 0 6px; }
.e-monitor-detail>p { font-size: 12px; margin: 4px 0 14px; color: #8ba8bb; }
.e-monitor-detail { display: flex; flex-direction: column; }
.e-monitor-detail dl { flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #32536a #0b2132; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; margin: 0 0 14px; padding-right: 4px; }
.e-monitor-detail dl>div { padding: 9px 0; gap: 5px; min-width: 0; }
.e-monitor-detail dl>div:nth-child(-n+3), .e-monitor-detail dl>div:nth-child(9) { grid-column: 1/-1; }
.e-monitor-detail dt { font-size: 11px; line-height: 1.5; color: #8ca6ba; }
.e-monitor-detail dd { font-size: 13px; line-height: 1.5; font-variant-numeric: tabular-nums; color: #e2f0f7; }
.e-monitor-detail dl>div:nth-child(-n+2) dd { font-size: 15px; color: #b6eff3; font-weight: 500; }
.e-monitor-detail .button { flex-shrink: 0; min-height: 40px; background: #173850; border-color: #325773; color: #cce3f2; font-size: 13px; border-radius: 6px; }
.e-monitor-detail .button:hover { background: #234c64; border-color: #4b7890; }
.e-monitor-detail>small { font-size: 11px; line-height: 1.6; margin-top: 11px; }
.e-monitor-note { margin-top: 17px; font-size: 12px; line-height: 1.75; color: #7595ab; }
.u-monitor-tray, .u-more-parameters, .u-factory-tabs, .u-monitor-mobile-head { display: none; }
.e-business { padding-top: 64px; padding-bottom: 25px; }
.e-business .section-heading h2 { font-size: 32px; }
.e-three { gap: 20px; }
.e-business-card { background: #fff; border: 1px solid #dbe4ef; border-top: 3px solid var(--blue); border-radius: 10px; padding: 28px; min-height: 234px; transition: border-color .15s, box-shadow .15s; }
.e-business-card:hover { border-color: #9fbaec; box-shadow: 0 8px 25px #1e37590c; }
.e-business-card>span { font-size: 13px; color: #63738a; }
.e-business-card h3 { font-size: 24px; line-height: 1.4; margin: 16px 0 12px; }
.e-business-card p { font-size: 15px; line-height: 1.8; }
.e-business-card>b { font-size: 19px; color: #8494aa; }
.e-quick { gap: 10px 24px; padding: 22px 0; font-size: 14px; }
.e-quick a { color: #62768c; }
.e-quick a:hover { color: var(--blue); }
.e-pavilions { gap: 16px; }
.e-pavilion { background: #fff; border-radius: 10px; padding: 24px; }
.e-pavilion>span { font-size: 12px; }
.e-pavilion h3 { font-size: 20px; margin: 16px 0 10px; }
.e-pavilion p { font-size: 14px; }
.e-pavilion:hover { box-shadow: 0 8px 25px #233c5a0b; background: #f9fbff; }
.e-callout { border-radius: 10px; padding: 28px 32px; background: #0c2943; }
.e-callout p { font-size: 15px; }
.e-reference, .e-package { border-radius: 10px; border: 1px solid var(--line); background: #fff; }
.e-reference h3 { font-size: 20px; }
.e-reference p { font-size: 15px; }
.e-reference small { font-size: 12px; }
.e-chain>article { border-radius: 10px; background: #fff; padding: 26px; }
.e-chain-heading>span { border-radius: 8px; background: #edf3ff; color: var(--blue); }
.e-leaves a { border-radius: 6px; padding: 14px 16px; background: #f4f7fb; font-size: 14px; }
.u-market-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 27px; align-items: start; }
.u-market-rail { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 20px 12px; position: sticky; top: 96px; }
.u-market-rail h3 { font-size: 14px; margin: 0 12px 14px; color: #63738a; font-weight: 500; }
.u-market-rail button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; border: 0; background: transparent; color: #465b72; font-size: 13px; min-height: 40px; padding: 10px 12px; text-align: left; border-radius: 6px; }
.u-market-rail button.active { background: #edf3ff; color: var(--blue); font-weight: 600; }
.u-market-rail button:hover { background: #f3f7fd; }
.u-market-rail button small { color: #63738a; font-size: 12px; font-weight: 450; }
.u-rail-footer { border-top: 1px solid #e6edf4; padding: 16px 12px 0; margin-top: 12px; font-size: 12px; color: #63738a; }
.u-market-main { min-width: 0; }
.u-market-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--line); margin-bottom: 18px; padding-bottom: 15px; flex-wrap: wrap; }
.u-market-tabs button { min-height: 42px; font-size: 14px; border: 1px solid transparent; color: #61748b; padding: 9px 14px; background: transparent; border-radius: 6px; }
.u-market-tabs button.active { color: #fff; background: var(--blue); }
.u-market-tabs button:hover:not(.active) { background: #e8eef8; }
.e-market-tools { border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 18px; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.e-market-tools label { font-size: 12px; color: #63738a; margin: 0; }
.u-market-main .e-market-tools label:first-child { display: none; }
.u-market-main .e-market-tools label:nth-child(2) { display: none; }
.e-market-tools input { width: 100%; }
.e-market-tools .e-grow { min-width: 180px; }
.e-market-tools a { min-height: 44px; font-size: 13px; }
.u-market-meta { display: flex; gap: 15px; justify-content: space-between; margin-top: 16px; font-size: 12px; color: #63738a; align-items: center; }
#market-count { font-size: 14px; color: #536b81; margin: 0; }
.e-products { gap: 18px; margin: 20px 0 26px; }
.e-product { border: 1px solid #dce5ef; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: none; display: flex; flex-direction: column; transition: border-color .15s, box-shadow .15s; }
.e-product:hover { border-color: #9eb8dd; box-shadow: 0 6px 20px #1d38660d; }
.e-product-visual { height: 156px; background: #0b2233; overflow: hidden; position: relative; }
.e-product-visual img { height: 100%; width: 100%; object-fit: cover; }
.e-product-visual>span { left: 12px; bottom: 12px; font-size: 10px; background: #ffffffdf; color: #34556d; border-radius: 4px; padding: 4px 7px; }
.u-product-id { position: absolute; right: 12px; top: 12px; color: #a8c9dc; font-size: 10px; letter-spacing: .08em; }
.e-product-copy { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.e-product-copy>small { font-size: 12px; color: #63738a; }
.e-product-copy h3 { font-size: 19px; line-height: 1.5; font-weight: 600; margin: 11px 0 8px; }
.e-product-copy p { font-size: 14px; line-height: 1.75; margin: 0 0 18px; min-height: 49px; color: #63738a; }
.e-product-actions { margin-top: auto; padding-top: 15px; border-top: 1px solid #edf1f6; gap: 10px; }
.e-product-actions .button { font-size: 13px; padding: 9px 13px; min-height: 40px; background: #edf3ff; color: #2a5dbb; border-color: #dce7fa; }
.e-product-actions .button[aria-pressed=true] { background: #f1f5f8; color: #668095; border-color: #e0e8ef; }
.e-product-actions .text-btn { font-size: 13px; color: #6b7e93; padding: 5px; }
.e-product-actions .text-btn[aria-pressed=true] { color: var(--blue); }
.rfq-count, #compare-count { border-radius: 4px; font-size: 11px; min-width: 18px; text-align: center; }
.e-detail { align-items: center; gap: 5%; padding: 30px 0 45px; }
.e-detail-image { border-radius: 12px; overflow: hidden; border: 1px solid #203d51; }
.e-detail h1 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.4; }
.e-detail-lead { font-size: 18px; }
.e-spec { font-size: 14px; }
.e-spec dt { color: #7b8ea1; }
.e-spec dd { font-size: 14px; }
.e-compare-wrap { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: auto; }
.e-compare-wrap table { font-size: 14px; }
.e-rfq-list article { border-radius: 9px; background: #fff; }
.e-factory-grid { grid-template-columns: 242px minmax(0, 1fr) 256px; gap: 18px; align-items: start; }
.e-factory-config, .e-factory-detail { border-radius: 10px; padding: 22px 18px; background: #fff; }
.e-factory-config label { font-size: 13px; }
.e-factory-config input, .e-factory-config select { font-size: 13px; min-width: 0; }
.e-factory-config .button { font-size: 13px; padding: 11px 9px; min-height: 43px; }
.e-module-list { margin: 16px 0; }
.e-module-list>label { padding: 11px 0; gap: 9px; }
.e-module-list>label>span { display: block; font-size: 13px; line-height: 1.5; }
.e-module-list small { font-size: 11px; margin-top: 2px; }
.e-module-list input { width: 17px; height: 17px; min-height: 17px; }
.e-factory-stage { border: 1px solid #dce5ee; border-radius: 10px; overflow: hidden; background: #eaf0f4; }
#factory-canvas { height: 510px; }
.e-factory-top { color: #61788c; font-size: 11px; gap: 20px; }
.e-factory-controls { gap: 6px; bottom: 16px; }
.e-factory-controls button { border-radius: 5px; font-size: 12px; min-height: 38px; padding: 9px; background: #fff; }
.e-process-strip { gap: 7px; margin: 14px 0; }
.e-process-strip button { border-radius: 6px; padding: 12px 10px; font-size: 12px; background: #fff; color: #687d93; }
.e-process-strip button span { font-size: 11px; }
.e-process-strip .current { background: #e9f0ff; color: #2456b5; border-color: #85aaf0; }
.e-factory-stats { gap: 8px; }
.e-factory-stats>div { padding: 18px 16px; border-radius: 8px; background: #fff; border: 1px solid var(--line); }
.e-factory-stats span { font-size: 12px; min-height: 34px; }
.e-factory-stats b { font-size: 27px; line-height: 1.4; }
.e-capacity-note { font-size: 12px; }
.e-factory-detail .eyebrow { font-size: 11px; }
.e-factory-detail h2 { font-size: 22px; margin: 13px 0; }
.e-factory-detail dl>div { font-size: 13px; }
.e-factory-detail dt { font-size: 12px; }
.e-factory-detail label, .e-factory-detail>p { font-size: 12px; }
.e-machine-simulation span { font-size: 11px; }
.e-machine-simulation p { font-size: 12px; }
.e-factory-detail .text-link { font-size: 13px; }
.p-data-band { background: #eef3f9; padding: 22px clamp(22px, 3.6vw, 56px); gap: 35px; border-top: 1px solid #e3ebf2; border-bottom: 1px solid #e3ebf2; }
.p-data-band>span { font-size: 12px; }
.p-data-band a { font-size: 15px; }
.p-data-band small { font-size: 11px; }
.p-section { padding-top: 62px; padding-bottom: 62px; }
.d-modules { padding-top: 55px; padding-bottom: 55px; gap: 20px; }
.d-module, .product-card, .catalog-card, .solution-feature-card, .article-card, .news-card { border-radius: 10px; overflow: hidden; }
.d-module { background: #fff; border: 1px solid var(--line); padding: 26px; }
.d-module span { font-size: 13px; }
.d-module h3 { font-size: 23px; }
.d-module p { font-size: 15px; }
.d-modules>div h2 { font-size: 32px; }
.product-copy p, .article-card p, .news-card p, .solution-feature-card p { font-size: 15px; }
.product-copy>h3 { font-size: 25px; }
.product-foot { font-size: 13px; }
.product-foot>span, .product-foot>a, .article-meta, .news-meta { font-size: 12px; }
.filter-chips button { font-size: 14px; border-radius: 6px; min-height: 41px; }
.p-story-section { background: #edf2f8; }
.p-story-copy p { font-size: 16px; }
.p-story-copy h2 { font-size: 34px; }
.p-story-visual { border-radius: 11px; overflow: hidden; }
.solution-feature-card { border: 1px solid var(--line); background: #fff; }
.solution-feature-card>span { font-size: 12px; }
.solution-feature-card h3 { font-size: 26px; }
.p-process { padding-top: 60px; padding-bottom: 60px; }
.p-process h2 { font-size: 34px; }
.p-process p { font-size: 15px; }
.home-news { padding-top: 60px; padding-bottom: 60px; }
.news-card { padding: 23px; background: #fff; border: 1px solid var(--line); }
.news-card h3 { font-size: 21px; }
.news-card a { font-size: 13px; }
.d-regions { padding-top: 55px; padding-bottom: 50px; }
.analysis-title { align-items: center; }
.engine-layout { gap: 24px; grid-template-columns: 260px minmax(0,1fr); }
.engine-config, .engine-empty, .assistant-side, #assistant-form { background: #fff; border: 1px solid var(--line); border-radius: 11px; }
.engine-config { padding: 25px; }
.engine-config h2 { font-size: 21px; }
.engine-config p { font-size: 12px; }
.engine-stages { gap: 10px; }
.engine-stages li { background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 14px; padding: 16px; }
.engine-stages li span { font-size: 12px; }
.engine-stages li small { font-size: 11px; }
.engine-empty { padding: 30px; }
.engine-empty p { font-size: 15px; }
.engine-empty small { font-size: 12px; }
.engine-empty img { border-radius: 7px; }
.assistant-layout { gap: 24px; grid-template-columns: 300px minmax(0,1fr); }
.assistant-side { padding: 28px; background: #0c2843; color: #fff; }
.assistant-side h2 { font-size: 24px; }
.assistant-side p { font-size: 15px; color: #b3c7d9; }
.assistant-side small { font-size: 12px; line-height: 1.8; color: #8da8c2; }
.assistant-prompts button { min-height: 65px; text-align: left; font-size: 14px; line-height: 1.75; border-radius: 7px; padding: 13px 15px; border-color: #294860; background: #173751; color: #d2e2ef; }
#assistant-form { padding: 30px; }
#assistant-form>label { font-size: 19px; font-weight: 600; }
#assistant-input { font-size: 16px; padding: 18px; margin: 16px 0; min-height: 175px; line-height: 1.8; resize: vertical; border-color: #dae3ed; background: #f9fbfd; }
.assistant-input-actions { gap: 10px; align-items: center; }
.assistant-input-actions .button { font-size: 13px; }
.audio-file-label { min-height: 42px; font-size: 13px; padding: 9px 12px; border-radius: 6px; }
#voice-status { font-size: 13px; }
.assistant-welcome { background: #eef3fa; border: 1px solid var(--line); border-radius: 9px; padding: 24px; }
.assistant-welcome span { font-size: 12px; color: #6e87a1; }
.assistant-welcome p { font-size: 15px; }
.assistant-result h3 { font-size: 21px; }
.assistant-result p, .assistant-result li { font-size: 15px; }
.explore-top { background: #fff; padding: 24px clamp(22px, 3.6vw, 56px); }
.explore-top h2 { font-size: 28px; }
.p-map-toolbar { background: #f5f8fc; padding: 16px 24px; }
.p-map-toolbar label, .p-map-toolbar .button { font-size: 13px; }
.p-map-toolbar select { font-size: 13px; }
.filter-panel { border-color: var(--line); background: #fff; }
.filter-panel label { font-size: 13px; }
.filter-panel p { font-size: 12px; }
.results-panel { background: #f7f9fc; }
.scene-card { border-radius: 8px; background: #fff; }
.scene-info p, .scene-info .button { font-size: 12px; }
.scene-info h3 { font-size: 16px; }
.wc-legend { border-radius: 7px; }
.detail-hero h1, .solution-detail-hero h1 { font-size: clamp(32px, 3.2vw, 44px); line-height: 1.4; }
.detail-image, .detail-aside, .maturity-panel, .editorial-callout { border-radius: 10px; }
.detail-main p, .long-article section p, .about-grid p { font-size: 16px; }
.detail-aside small, .detail-aside strong, .spec-table>div { font-size: 14px; }
.rich-catalog .catalog-card { background: #fff; }
.catalog-card p { font-size: 15px; }
.notice, .login-card, #inquiry-list article, #admin-list article { border-radius: 9px; }
.workspace-tools { margin: 24px 0; }
.p-cta { background: #0b2943; padding: 42px clamp(22px,3.6vw,56px); }
.p-cta h2 { font-size: 30px; }
#footer { background: #071b2e; }
.p-footer-top { padding: 52px clamp(22px,3.6vw,56px); gap: 35px; }
.p-footer-top .brand { color: #edf5fc; }
.p-footer-top p { font-size: 14px; }
.p-footer-top strong { font-size: 14px; margin-bottom: 14px; }
.p-footer-top a { font-size: 13px; padding: 5px 0; }
.p-footer-top small { font-size: 11px; }
.p-footer-bottom { font-size: 11px; padding: 20px clamp(22px,3.6vw,56px); }
dialog { border: 1px solid #d7e2ed; border-radius: 13px; padding: 32px; box-shadow: 0 20px 80px #102b4a40; max-height: 88dvh; }
dialog::backdrop { background: #07182bc0; backdrop-filter: blur(4px); }
.dialog-close { min-width: 42px; min-height: 42px; border-radius: 50%; background: #edf3f9; color: #52677d; font-size: 25px; }
#dialog-body { font-size: 15px; }
.toast { border-radius: 8px; font-size: 14px; bottom: 30px; }
@media (min-width: 1720px) {
  .e-monitor { padding-left: max(56px, calc((100vw - 1510px)/2)); padding-right: max(56px, calc((100vw - 1510px)/2)); }
  .e-monitor-grid { grid-template-columns: 240px minmax(0,1fr) 300px; }
}
@media (max-width: 1280px) {
  .header { gap: 14px; }
  .brand { font-size: 18px; }
  .brand small { font-size: 9px; }
  .header nav>a { padding: 9px; font-size: 13px; }
  .header-actions { gap: 9px; }
  .e-monitor-grid { grid-template-columns: 198px minmax(0,1fr) 255px; gap: 12px; }
  .e-monitor-grid>aside { padding: 14px; }
  .e-monitor-detail dl { gap: 0 10px; }
  .e-monitor-controls button { font-size: 11px; padding: 8px; }
  .u-market-shell { grid-template-columns: 205px minmax(0,1fr); gap: 20px; }
  .e-products { gap: 14px; }
  .e-product-copy { padding: 17px; }
  .e-product-copy h3 { font-size: 18px; }
  .e-factory-grid { grid-template-columns: 225px minmax(0,1fr) 230px; gap: 14px; }
  .e-factory-controls { gap: 4px; }
  .e-factory-controls button { font-size: 11px; padding: 7px; }
}
@media (max-width: 1080px) {
  .header { height: 70px; min-height: 70px; }
  #menu-toggle { display: inline-flex; }
  .header-actions .button { display: none; }
  .header nav { display: none; position: absolute; top: 70px; left: 0; right: 0; height: auto; background: #fff; padding: 18px 22px 22px; max-height: calc(100dvh - 160px); overflow: auto; flex-wrap: wrap; border-bottom: 1px solid var(--line); gap: 7px; }
  .header nav.expanded { display: flex; }
  .header nav>a { flex: 0 0 auto; font-size: 14px; padding: 10px 15px; color: #456079 !important; }
  .header nav>a.active { color: var(--blue) !important; background: #edf3ff !important; }
  .business-nav { width: 100%; margin-top: 10px; padding: 0; }
  .business-nav summary { padding: 10px 0; color: #5f748a; }
  .business-nav .u-mega { width: 100%; position: static; box-shadow: none; border: 0; border-top: 1px solid #e5edf5; border-radius: 0; padding: 17px 0 0; gap: 10px; }
  body[data-route=home] .header nav, body[data-route=monitor] .header nav { background: #fff; }
  .e-monitor-grid { grid-template-columns: 186px minmax(0,1fr) 230px; gap: 10px; }
  .e-monitor-detail dd { font-size: 12px; }
  .e-monitor-detail dl>div:nth-child(-n+2) dd { font-size: 14px; }
  .e-orbit-toolbar label:first-child, .e-orbit-toolbar label:nth-child(2) { flex-basis: 140px; }
  .e-orbit-toolbar>a { display: none; }
  .e-monitor-overlays>span:last-child { font-size: 9px; }
  .e-factory-grid { grid-template-columns: 220px minmax(0,1fr); }
  .e-factory-detail { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
  .e-factory-detail .e-machine-simulation { grid-column: 2; grid-row: 1/7; margin: 0; border: 0; }
  .u-market-shell { grid-template-columns: 195px minmax(0,1fr); }
  .e-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .e-pavilions { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .e-business-card { padding: 22px; }
  .e-business-card h3 { font-size: 22px; }
  .e-business-card p { font-size: 14px; }
}
@media (max-width: 760px) {
  :root { --u-header: 66px; }
  html { scroll-padding-top: 82px; }
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .header { padding: 0 18px; height: 66px; min-height: 66px; gap: 12px; }
  .brand { font-size: 17px; }
  .header .brand { font-size: 17px; }
  .header .brand small { font-size: 9px; }
  .brand-mark { width: 29px; height: 29px; min-width: 29px; font-size: 24px; border-radius: 8px; }
  .header .brand-mark { width: 29px; height: 29px; min-width: 29px; font-size: 24px; }
  .brand small { font-size: 9px; margin-top: 3px; letter-spacing: 0; }
  .header-actions { gap: 7px; }
  #language, #menu-toggle { min-height: 40px; min-width: 36px; }
  .header nav { top: 66px; padding: 16px 18px; }
  .header nav>a { font-size: 13px; padding: 9px 11px; }
  .business-nav .u-mega { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 10px; }
  .business-nav .u-mega a { font-size: 14px; padding: 8px; }
  .u-dock { position: fixed; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); left: 0; right: 0; bottom: 0; height: calc(66px + env(safe-area-inset-bottom)); padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); background: #fffffff5; backdrop-filter: blur(12px); border-top: 1px solid #dbe4ed; box-shadow: 0 -5px 24px #1a3a4a0a; z-index: 45; }
  .u-dock a { color: #7b8da2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 11px; line-height: 1.3; position: relative; border-radius: 7px; }
  .u-dock a.active { color: var(--blue); background: #eff4fd; }
  .u-dock svg { width: 21px; height: 21px; }
  .u-dock .rfq-count { position: absolute; top: 0; right: calc(50% - 23px); padding: 1px 5px; background: var(--blue); color: #fff; font-size: 9px; min-width: 15px; }
  .section { padding-left: 20px; padding-right: 20px; }
  .ecosystem-page { padding-bottom: 36px; }
  .breadcrumbs { font-size: 12px; padding: 21px 0 7px; flex-wrap: wrap; }
  .p-page-title { padding: 18px 0 26px; }
  .p-page-title .eyebrow { font-size: 10px; letter-spacing: .09em; }
  .p-page-title h1, .analysis-title h1 { font-size: 29px; letter-spacing: 0; margin: 12px 0; }
  .p-page-title p, .analysis-title p { font-size: 14px; line-height: 1.8; }
  .section-heading { flex-direction: column; align-items: flex-start; gap: 13px; margin-bottom: 24px; }
  .section-heading h2 { font-size: 26px; letter-spacing: 0; }
  .section-heading p { font-size: 14px; }
  .eyebrow { font-size: 11px; letter-spacing: .09em; }
  .button { font-size: 14px; min-height: 44px; }
  .e-monitor { padding: 25px 18px 25px; }
  .e-monitor-heading { display: block; align-items: start; }
  .e-monitor-heading h1, .e-monitor-heading h2 { font-size: 26px; line-height: 1.45; margin: 8px 0; }
  .e-monitor-heading .eyebrow { font-size: 10px; letter-spacing: .1em; }
  .e-monitor-heading p { font-size: 12px; line-height: 1.7; }
  .u-observer-badge { display: none; }
  .e-orbit-toolbar { display: none; grid-template-columns: 1fr 1fr; gap: 9px; padding-top: 20px; }
  .e-monitor.u-filters-open .e-orbit-toolbar { display: grid; }
  .u-monitor-mobile-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 20px; }
  .u-monitor-mobile-head>span { font-size: 12px; color: #98b5c8; }
  .u-monitor-mobile-head b { font-variant-numeric: tabular-nums; font-size: 16px; color: #d0edf7; margin-left: 8px; font-weight: 600; }
  .u-monitor-mobile-head button { font-size: 12px; border: 1px solid #2d4a5d; min-height: 35px; border-radius: 5px; background: #102c40; color: #b8dbe9; padding: 7px 10px; }
  .e-orbit-toolbar label { font-size: 12px; }
  .e-orbit-toolbar .e-grow { grid-column: 1; min-width: 0; grid-column: 1/-1; }
  .e-orbit-toolbar input, .e-orbit-toolbar select { min-height: 42px; font-size: 14px; }
  .e-orbit-toolbar>button { display: none; }
  .u-source-info summary { font-size: 11px; gap: 2px 9px; line-height: 1.7; }
  .u-source-info summary>span:first-child { display: none; }
  #monitor-freshness { font-size: 11px; }
  .e-orbit-source { font-size: 12px; }
  .e-orbit-metrics { display: none; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 13px 0 16px; }
  .e-monitor.u-filters-open .e-orbit-metrics { display: grid; }
  .e-orbit-metrics>div { padding: 11px 13px; }
  .e-orbit-metrics span { font-size: 10px; }
  .e-orbit-metrics b { font-size: 20px; margin-top: 3px; }
  .e-orbit-metrics i { width: 4px; height: 4px; top: 14px; right: 12px; }
  .e-monitor-grid { display: flex; flex-direction: column; gap: 11px; }
  .e-monitor-stage { order: 0; height: auto; border-radius: 8px; min-height: 370px; margin-top: 7px; }
  #monitor-globe { height: 382px; }
  .e-monitor-overlays { font-size: 9px; top: 12px; left: 12px; right: 12px; }
  .e-monitor-overlays>#monitor-clock { display: none; }
  .e-monitor-overlays .u-scene-selection { display: block; font-size: 11px; top: 21px; }
  .e-monitor-controls { bottom: 48px; gap: 5px; }
  .e-monitor-controls button { font-size: 11px; min-height: 36px; padding: 7px 8px; }
  #monitor-scene-note { font-size: 9px; line-height: 1.65; bottom: 10px; left: 12px; right: 12px; }
  .u-monitor-tray { display: flex; justify-content: space-between; gap: 8px; padding: 11px 12px; border-top: 1px solid #1c394e; background: #0b2335; }
  .u-monitor-tray button { border: 1px solid #34566b; border-radius: 5px; background: #123248; color: #bcd8e8; min-height: 39px; padding: 8px 12px; font-size: 12px; flex: 1; }
  .e-monitor-grid>aside { height: auto; padding: 18px; }
  .e-monitor-detail { order: 1; }
  .e-monitor-grid>aside.u-monitor-catalog { order: 2; display: none; }
  .e-monitor-grid>aside.u-monitor-catalog.u-panel-open { display: block; }
  .e-monitor-list { height: 320px; }
  .e-monitor-detail h3 { font-size: 22px; }
  .e-monitor-detail dl { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; overflow: visible; padding-right: 0; }
  .e-monitor-detail dl>div:nth-child(-n+3) { grid-column: auto; }
  .e-monitor-detail dl>div:first-child { grid-column: 1/-1; }
  .e-monitor-detail dl>div:nth-child(n+4) { display: none; }
  .e-monitor-detail.u-expanded dl>div:nth-child(n+4) { display: flex; }
  .e-monitor-detail dt { font-size: 12px; }
  .e-monitor-detail dd { font-size: 13px; }
  .e-monitor-detail dl>div:nth-child(-n+2) dd { font-size: 15px; }
  .u-more-parameters { display: block; font-size: 12px; border: 0; background: none; color: #93cedb; min-height: 40px; padding: 8px 0; text-align: left; }
  .e-monitor-detail .button { margin-top: 10px; }
  .e-monitor-note { font-size: 11px; line-height: 1.8; }
  .e-business { padding-top: 38px; padding-bottom: 12px; }
  .e-business .section-heading h2 { font-size: 27px; }
  .e-three { grid-template-columns: 1fr; gap: 13px; }
  .e-business-card { min-height: 0; padding: 23px; }
  .e-business-card h3 { font-size: 22px; margin: 10px 0; }
  .e-business-card p { font-size: 14px; margin-bottom: 0; max-width: 29em; }
  .e-quick { font-size: 12px; gap: 14px 20px; }
  .e-pavilions { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .e-pavilion { padding: 20px 16px; }
  .e-pavilion>span { font-size: 10px; }
  .e-pavilion h3 { font-size: 18px; line-height: 1.5; }
  .e-pavilion p { font-size: 12px; }
  .e-callout { flex-direction: column; align-items: flex-start; padding: 23px; margin: 28px 0; }
  .e-callout h3 { font-size: 23px; }
  .e-callout p { font-size: 14px; }
  .e-reference { padding: 24px; }
  .e-reference h3 { font-size: 21px; }
  .e-reference p { font-size: 14px; }
  .e-chain>article { padding: 22px 18px; }
  .e-chain-heading { flex-wrap: wrap; gap: 12px; }
  .e-chain-heading h2 { font-size: 22px; }
  .e-chain-heading>a { font-size: 13px; }
  .e-leaves { grid-template-columns: 1fr; }
  .e-leaves a { font-size: 14px; }
  .u-market-shell { display: block; }
  .u-market-rail { display: none; }
  .u-market-tabs { gap: 7px; padding-bottom: 13px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .u-market-tabs button { font-size: 12px; min-height: 38px; padding: 8px 11px; flex-shrink: 0; }
  .u-market-main .e-market-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px; gap: 12px; }
  .u-market-main .e-market-tools label:nth-child(2) { display: flex; width: 100%; min-width: 0; }
  .e-market-tools .e-grow { min-width: 0; width: 100%; }
  .e-market-tools label { font-size: 12px; }
  .e-market-tools input, .e-market-tools select { font-size: 14px; }
  #market-stage { width: 100%; }
  .e-market-tools a { flex: 1; font-size: 13px; }
  .u-market-meta>span { display: none; }
  #market-count { font-size: 13px; }
  .e-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin-top: 17px; }
  .e-product-visual { height: 108px; }
  .e-product-visual>span { left: 8px; bottom: 7px; padding: 3px 5px; font-size: 8px; }
  .u-product-id { top: 8px; right: 8px; font-size: 8px; }
  .e-product-copy { padding: 13px 11px; }
  .e-product-copy>small { font-size: 10px; line-height: 1.5; }
  .e-product-copy h3 { font-size: 16px; line-height: 1.6; margin: 9px 0 7px; }
  .e-product-copy p { font-size: 12px; line-height: 1.7; min-height: 42px; margin-bottom: 13px; }
  .e-product-actions { flex-direction: column; align-items: stretch; gap: 3px; padding-top: 11px; }
  .e-product-actions .button { padding: 8px 5px; font-size: 12px; min-height: 38px; }
  .e-product-actions .text-btn { font-size: 12px; min-height: 34px; }
  .e-detail { gap: 26px; }
  .e-detail-image { height: 230px; }
  .e-detail h1 { font-size: 29px; }
  .e-detail-lead { font-size: 16px; }
  .e-detail-image>span { font-size: 11px; }
  .e-spec { font-size: 13px; }
  .e-spec dd { font-size: 13px; }
  .catalog-help { padding: 20px; font-size: 13px; margin: 27px 0; }
  .catalog-help p { font-size: 13px; }
  .u-factory-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-bottom: 17px; }
  .u-factory-tabs button { font-size: 13px; min-height: 42px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: #6c7f95; }
  .u-factory-tabs button[aria-selected=true] { background: var(--blue); color: #fff; border-color: var(--blue); }
  .e-factory-grid { display: flex; flex-direction: column; gap: 18px; }
  .e-factory-grid>div { width: 100%; order: 0; }
  .e-factory-config { width: 100%; order: 1; display: none; }
  .e-factory-detail { width: 100%; order: 2; display: none; }
  .e-factory-grid[data-mobile-panel=config] .e-factory-config { display: block; }
  .e-factory-grid[data-mobile-panel=details] .e-factory-detail { display: block; }
  .e-factory-grid[data-mobile-panel=config]>div, .e-factory-grid[data-mobile-panel=details]>div { display: none; }
  .e-factory-config, .e-factory-detail { padding: 24px; }
  .e-factory-config label { font-size: 14px; }
  .e-module-list>label>span { font-size: 14px; }
  .e-module-list small { font-size: 12px; }
  #factory-canvas { height: 365px; }
  .e-factory-stage { min-height: 365px; }
  .e-factory-top { font-size: 9px; left: 13px; right: 13px; gap: 10px; }
  .e-factory-controls { left: 8px; right: 8px; bottom: 11px; gap: 4px; }
  .e-factory-controls button { font-size: 11px; padding: 8px 9px; min-height: 36px; }
  .e-process-strip { gap: 6px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .e-process-strip button { font-size: 12px; min-height: 65px; }
  .e-factory-stats>div { padding: 14px 11px; }
  .e-factory-stats span { font-size: 11px; min-height: 34px; }
  .e-factory-stats b { font-size: 23px; }
  .e-capacity-note { font-size: 12px; }
  .e-factory-detail .e-machine-simulation { margin-top: 25px; }
  .e-factory-detail p, .e-factory-detail label, .e-machine-simulation p { font-size: 13px; }
  .e-factory-detail dl>div { font-size: 14px; }
  .e-factory-blueprint { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 55px 16px 90px; }
  .p-data-band { padding: 22px 20px; gap: 14px 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .p-data-band>span { font-size: 11px; grid-column: 1/-1; }
  .p-data-band a { font-size: 13px; }
  .p-data-band small { font-size: 10px; }
  .p-section { padding-top: 40px; padding-bottom: 40px; }
  .d-modules { padding-top: 40px; padding-bottom: 40px; gap: 13px; }
  .d-modules>div h2 { font-size: 26px; }
  .d-module { padding: 24px; }
  .d-module h3 { font-size: 22px; }
  .d-module p { font-size: 14px; }
  .product-copy h3 { font-size: 24px; }
  .product-copy p, .article-card p, .news-card p, .solution-feature-card p { font-size: 14px; }
  .product-foot>span, .product-foot a { font-size: 12px; }
  .p-story-copy h2 { font-size: 28px; }
  .p-story-copy p { font-size: 15px; }
  .p-process { padding-top: 35px; padding-bottom: 35px; }
  .p-process h2 { font-size: 28px; }
  .p-process p { font-size: 14px; }
  .home-news { padding-top: 40px; padding-bottom: 40px; }
  .news-card h3 { font-size: 20px; }
  .news-card { padding: 22px; }
  .engine-layout { grid-template-columns: 1fr; gap: 20px; }
  .analysis-title { flex-direction: column; align-items: flex-start; gap: 12px; }
  .engine-config { padding: 23px; }
  .engine-config label { font-size: 14px; }
  .engine-stages { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .engine-stages li { font-size: 13px; padding: 13px; }
  .engine-empty { padding: 23px; }
  .engine-empty p { font-size: 14px; }
  .engine-empty small { font-size: 11px; }
  .assistant-layout { display: flex; flex-direction: column; gap: 20px; }
  .assistant-main { order: 0; width: 100%; }
  .assistant-side { order: 1; padding: 25px; }
  #assistant-form { padding: 23px 20px; }
  #assistant-form>label { font-size: 18px; }
  #assistant-input { font-size: 16px; margin: 14px 0; padding: 14px; min-height: 185px; }
  .assistant-input-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .assistant-input-actions .button { font-size: 12px; padding: 10px; }
  .audio-file-label { text-align: center; font-size: 12px; }
  .assistant-input-actions button[type=submit] { grid-column: 1/-1; }
  .assistant-welcome { padding: 21px; }
  .assistant-welcome p, .assistant-result p, .assistant-result li { font-size: 14px; }
  .explore-top { padding: 21px 20px; }
  .explore-top h2 { font-size: 25px; }
  .explore-top .button { font-size: 12px; }
  .p-map-toolbar { padding: 14px 20px; }
  .p-map-toolbar .button { font-size: 12px; }
  .p-map-toolbar label { font-size: 12px; }
  .p-map-toolbar select { font-size: 12px; }
  .map-focus .map-wrap { min-height: 360px; }
  .wc-items>span, .wc-legend summary { font-size: 10px; }
  .detail-hero h1, .solution-detail-hero h1 { font-size: 30px; }
  .detail-main p, .long-article section p, .about-grid p { font-size: 15px; }
  .detail-aside small, .detail-aside strong, .spec-table>div { font-size: 13px; }
  .detail-tabs a { font-size: 13px; }
  .filter-chips button { font-size: 12px; min-height: 40px; padding: 9px 12px; }
  .notice { font-size: 14px; padding: 20px; }
  .workspace-tools { gap: 10px; }
  .workspace-tools .button { font-size: 12px; }
  .p-cta { padding: 35px 20px; }
  .p-cta h2 { font-size: 27px; }
  .p-footer-top { padding: 35px 20px; gap: 25px 15px; }
  .p-footer-top a { font-size: 12px; }
  .p-footer-top strong { font-size: 13px; }
  .p-footer-bottom { font-size: 10px; padding: 20px; }
  dialog { padding: 28px 20px; width: calc(100% - 24px); max-width: calc(100% - 24px); max-height: calc(100dvh - 100px); border-radius: 11px; }
  #dialog-body { font-size: 14px; }
  dialog input, dialog select, dialog textarea { font-size: 16px; }
  .toast { bottom: calc(82px + env(safe-area-inset-bottom)); font-size: 13px; max-width: calc(100% - 30px); }
}
@media (max-width: 350px) {
  .brand small { font-size: 8px; }
  .brand { font-size: 15px; }
  .header .brand { font-size: 15px; }
  .header .brand small { font-size: 8px; }
  .header { padding: 0 12px; gap: 6px; }
  .e-products { grid-template-columns: 1fr; }
  .e-product-visual { height: 165px; }
  .e-product-copy { padding: 21px; }
  .e-product-actions { flex-direction: row; align-items: center; }
  .e-product-copy h3 { font-size: 19px; }
  .e-product-copy p { min-height: 0; font-size: 14px; }
}
@media (max-width: 980px) and (orientation: landscape) {
  .e-monitor-grid { display: grid; grid-template-columns: minmax(0,1fr) 235px; }
  .e-monitor-grid>.u-monitor-catalog { display: none; }
  .e-monitor-stage { min-height: 330px; }
  #monitor-globe { height: 395px; }
  .e-monitor-detail dl>div:nth-child(n+4) { display: none; }
  .e-monitor-detail dl { display: block; }
  .e-monitor-grid>aside { height: auto; }
  .e-monitor-detail dt { font-size: 11px; }
  .e-monitor-detail .u-more-parameters { display: block; }
  .e-monitor-detail.u-expanded dl>div:nth-child(n+4) { display: flex; }
  .e-monitor-grid>.u-monitor-catalog.u-panel-open { display: block; grid-column: 1/-1; }
  .u-monitor-tray { display: flex; }
  .e-factory-grid { display: grid; grid-template-columns: 210px minmax(0,1fr); }
  .e-factory-config { display: block; }
  .e-factory-grid>div { order: 0; }
  .e-factory-detail { display: block; grid-column: 1/-1; }
  #factory-canvas { height: 350px; }
  .u-factory-tabs { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Text contrast on light working surfaces. */
.d-module p,.product-copy p,.article-card p,.news-card p,.solution-feature-card p,.e-reference small,.e-factory-detail>p,.e-machine-simulation p{color:#63738a;}
