.fx-guide { --fx-accent: #076574; }
.fx-guide .product-article-header h1 { max-width: 19ch; }
.fx-guide .article-meta { font-size: .875rem; }
.fx-pullquote { margin: 1rem 0 2rem; padding: clamp(1.3rem,4vw,2.8rem); border-left: 6px solid var(--fx-accent); background: var(--white); }
.fx-pullquote p { font: 600 clamp(1.5rem,3vw,2rem)/1.45 var(--font-serif); margin: 0 0 1rem; }
.fx-pullquote cite { font: 500 .875rem var(--font-mono); font-style: normal; }
.fx-method { max-width: 80ch; font-size: .9375rem; line-height: 1.7; color: var(--muted); }
.fx-contents { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--line-strong); margin: 2.5rem 0 0; }
.fx-contents a { padding: 1.2rem .8rem; text-decoration: none; font-weight: 700; line-height: 1.4; font-size: 1rem; }
.fx-contents span { display: block; color: var(--fx-accent); font: 500 .875rem var(--font-mono); margin-bottom: .5rem; }
.fx-part { padding: 3.5rem 0; border-bottom: 1px solid var(--line-strong); scroll-margin-top: 2rem; }
.fx-part-heading { display: flex; gap: 1.5rem; align-items: baseline; margin-bottom: 2rem; }
.fx-part-heading > span { font: 600 clamp(2rem,6vw,4rem)/1 var(--font-mono); color: var(--fx-accent); }
.fx-part-heading h2 { font-size: clamp(2rem,4vw,3rem); margin: 0 0 .5rem; }
.fx-part-heading p { font-size: 1.0625rem; color: var(--muted); margin: 0; }
.fx-prose { max-width: 76ch; }
.fx-prose p, .fx-prose li { font: 400 1.125rem/1.85 var(--font-serif); }
.fx-guide .product-methodology { font-size: 1rem; overflow-wrap: anywhere; }
.fx-guide .product-status-badge { font-size: .875rem; line-height:1.5; }
.fx-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem; }
.fx-photo { margin:0; background:#07121c; color:#f3f6f8; }
.fx-photo img { display:block; width:100%; height:auto; }
.fx-photo figcaption { padding:1.2rem; display:grid; gap:.55rem; font-size:.875rem; line-height:1.6; }
.fx-photo figcaption strong { font-size:1.125rem; }
.fx-photo a { color:#c6e9f6; text-decoration:underline; }
.fx-subsection { margin-top:2.7rem; }
.fx-subsection h3 { font-size:clamp(1.4rem,3vw,1.85rem); line-height:1.3; margin-bottom:1rem; }
.fx-guide .fx-source-line { font-family:var(--font-sans); font-size:.875rem; line-height:1.65; color:#445965; margin-top:1rem; overflow-wrap:anywhere; }
.fx-source-line a { text-decoration:underline; }
.fx-timeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; gap:1rem; margin:2rem 0; }
.fx-timeline li { padding:1.5rem; border:1px solid var(--line-strong); border-top:4px solid var(--fx-accent); background:var(--white); }
.fx-timeline span { font:600 .875rem/1.4 var(--font-mono); color:var(--fx-accent); }
.fx-timeline h3 { margin:1rem 0 .7rem; font-size:1.25rem; }
.fx-timeline p,.fx-decision-grid p { font-size:1rem; line-height:1.75; margin:0; }
.fx-decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; margin:2rem 0; }
.fx-decision-grid > div { padding:1.5rem; border-top:4px solid var(--fx-accent); background:var(--white); }
.fx-decision-grid h3 { font-size:1.25rem; margin:0 0 1rem; }
.fx-sku { font:400 .875rem var(--font-mono); }
.fx-guide .spec-comparison-table { min-width:780px; }
.fx-guide .spec-comparison-table :is(th,td,caption) { font-size:1rem; line-height:1.65; }
/* Reuse LUMACTA's native article charts. Exact values stay readable outside SVG marks. */
.fx-guide .astra-chart { margin:3rem 0; padding:1.5rem 0; border-top:3px solid #2066a8; border-bottom:1px solid #d5dfe8; color:#172d40; }
.fx-guide .astra-chart figcaption { display:block; padding:0; }
.fx-guide .astra-chart-index { font:700 .875rem/1.5 var(--font-mono); letter-spacing:.08em; color:#2066a8; }
.fx-guide .astra-chart h3 { font-size:clamp(1.4rem,3vw,1.85rem); line-height:1.3; margin:.6rem 0; }
.fx-guide .astra-chart figcaption p { font-size:1rem; line-height:1.65; margin:.6rem 0 1.25rem; }
.fx-guide .astra-chart-rows { list-style:none; padding:0; margin:1.5rem 0 .75rem; }
.fx-guide .astra-chart-rows li { padding:0; margin:0 0 1.2rem; }
.fx-guide .astra-chart-row-label { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; font-size:1rem; line-height:1.5; margin-bottom:.5rem; }
.fx-guide .astra-chart-row-label span { min-width:0; overflow-wrap:anywhere; }
.fx-guide .astra-chart-row-label strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
.fx-guide .astra-chart svg { display:block; max-width:100%; }
.fx-guide .astra-chart-track { fill:#edf1f5; }
.fx-guide .astra-chart-input { fill:#2066a8; stroke:#173147; stroke-width:.5; }
.fx-guide .astra-chart-axis { display:flex; justify-content:space-between; gap:.25rem; border-top:1px solid #718394; padding-top:.5rem; font-size:.875rem; font-variant-numeric:tabular-nums; }
.fx-guide .astra-chart-note,.fx-guide .astra-chart-source { font-size:.9375rem; line-height:1.7; margin:1rem 0 0; color:#445965; overflow-wrap:anywhere; }
@media(max-width:720px) { .fx-photo-grid,.fx-decision-grid { grid-template-columns:1fr; } }
@media(max-width:500px) { .fx-timeline { grid-template-columns:1fr; } .fx-guide .astra-chart-row-label { flex-wrap:wrap; gap:.35rem; } .fx-guide .astra-chart-axis { font-size:.8125rem; } }
@media print { .fx-guide .astra-chart,.fx-photo,.fx-timeline li { break-inside:avoid; } .fx-guide svg { print-color-adjust:exact; } }
@media(max-width:600px) { .fx-contents { grid-template-columns:repeat(2,minmax(0,1fr)); } .fx-part-heading { gap:1rem; } }

/* FX30 and FX3 retain consistent colours across the quantitative figures. */
.fx-guide { --fx-camera-30:#076574; --fx-camera-3:#38566d; }
.fx-guide .astra-chart { border-top-color:var(--fx-camera-30); scroll-margin-top:2rem; padding-top:1.75rem; }
.fx-guide .astra-chart-index { color:var(--fx-camera-30); }
.fx-guide .fx-mark-fx30 { fill:var(--fx-camera-30); }
.fx-guide .fx-mark-fx3 { fill:var(--fx-camera-3); }
.fx-guide .fx-mark { stroke:none; }
.fx-spec-nav,.fx-figure-nav { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin:1.5rem 0; border-bottom:1px solid var(--line-strong); padding-bottom:1rem; }
.fx-spec-nav a,.fx-figure-nav a { font-size:.9375rem; font-weight:650; line-height:1.6; color:var(--fx-accent); text-decoration:underline; text-underline-offset:.2em; padding:.35rem 0; }
.fx-spec-group { margin:2.5rem 0; scroll-margin-top:2rem; }
.fx-spec-group > h3 { font-size:1.3rem; margin-bottom:.8rem; }
.fx-guide .spec-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.fx-guide :is(.spec-table-scroll,a):focus-visible { outline:3px solid var(--fx-accent); outline-offset:4px; }
.fx-guide .spec-comparison-table th:nth-child(2) { color:var(--fx-camera-30); }
.fx-guide .spec-comparison-table th:nth-child(3) { color:var(--fx-camera-3); }
.fx-guide .spec-comparison-table caption { text-align:left; }
.fx-sensor-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:2.5rem; align-items:center; margin:1.5rem 0; }
.fx-guide .fx-sensor-drawing { width:100%; height:auto; }
.fx-sensor-outer { fill:#e4ebf0; stroke:#38566d; stroke-width:2; }
.fx-sensor-inner { fill:#076574; stroke:#fff; stroke-width:2; }
.fx-sensor-metrics { margin:0; }
.fx-sensor-metrics > div { padding:1rem 0; border-bottom:1px solid #d5dfe8; }
.fx-sensor-metrics dt { display:flex; gap:.7rem; align-items:center; font-weight:700; font-size:1rem; }
.fx-sensor-metrics dd { margin:.5rem 0 0 1.5rem; display:grid; gap:.4rem; font-size:1rem; line-height:1.5; }
.fx-sensor-metrics dd strong { font-size:clamp(1.35rem,2.6vw,1.8rem); font-variant-numeric:tabular-nums; font-weight:600; }
.fx-sensor-metrics dd strong span { font-size:1rem; font-weight:400; }
.fx-camera-key { display:inline-block; width:.8rem; height:.8rem; flex:none; }
.fx-camera-key.fx30 { background:var(--fx-camera-30); }
.fx-camera-key.fx3 { background:#e4ebf0; border:2px solid var(--fx-camera-3); }
.fx-guide .fx-figure-takeaway { font-size:1rem; line-height:1.75; border-left:3px solid var(--fx-camera-30); padding-left:1rem; margin:1.5rem 0; }
.fx-guide .fx-figure-takeaway strong { color:var(--fx-camera-30); font-variant-numeric:tabular-nums; }
.fx-crop-reference { display:flex; justify-content:space-between; gap:1rem; font:.75rem/1.6 var(--font-mono); color:#445965; margin:2rem 0 1rem; }
.fx-crop-reference span:nth-child(2) { text-align:center; }
.fx-crop-rows { padding:0; margin:0; list-style:none; }
.fx-crop-rows li { margin:0 0 1.4rem; }
.fx-crop-rows li + li { margin-top:1.5rem; }
.fx-crop-rows small { display:block; font-size:.875rem; color:#445965; font-weight:400; line-height:1.6; }
.fx-crop-rows strong { text-align:right; }
.fx-crop-centre { stroke:#fff; stroke-width:2; stroke-dasharray:5 4; }
.fx-weight-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; margin-top:2rem; }
.fx-weight-layout h4 { font-size:1.0625rem; margin:0; padding-bottom:.75rem; border-bottom:1px solid #d5dfe8; }
.fx-guide .fx-chart-detail { font-size:.875rem; line-height:1.7; margin:.45rem 0 0; color:#445965; }
.fx-guide .fx-storage-rows li { margin-bottom:1.7rem; }
@media(max-width:680px) {
  .fx-sensor-layout,.fx-weight-layout { grid-template-columns:1fr; gap:1rem; }
  .fx-sensor-drawing { max-width:440px; margin-inline:auto; }
  .fx-sensor-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  .fx-sensor-metrics dd { margin-left:0; }
  .fx-weight-layout { gap:2rem; }
}
@media(max-width:400px) {
  .fx-sensor-metrics { grid-template-columns:1fr; }
  .fx-crop-reference { font-size:.65rem; gap:.5rem; }
  .fx-guide .fx-crop-rows .astra-chart-row-label { flex-wrap:wrap; }
  .fx-crop-rows strong { text-align:left; }
}
