/* AXM product pages and the progressive-enhancement ecosystem diagram. */
.eco-product-hero { padding:calc(var(--header-h,74px) + 50px) var(--pad,24px) 38px; }
.eco-product-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(28px,5vw,72px); align-items:center; }
.eco-product-copy h1 { font-size:clamp(40px,5.4vw,78px); font-weight:500; line-height:1.03; letter-spacing:-.055em; margin:25px 0; }
.eco-product-copy h1 em { color:var(--accent); font-style:normal; }
.eco-product-copy .lead { font-size:clamp(17px,1.65vw,21px); line-height:1.55; max-width:40ch; }
.eco-product-copy .hero-cta { margin-top:28px; }
.eco-status-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.eco-object { margin:0; min-width:0; }
.eco-object img { display:block; width:100%; height:auto; border-radius:14px; }
.eco-object figcaption { display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:space-between; color:var(--muted,#B1B3B2); font-size:12px; line-height:1.6; margin-top:12px; }
.eco-object--screen { padding:12px; border:1px solid var(--line); border-radius:16px; background:var(--bg-2); }
.eco-object--screen img { border-radius:6px; max-height:580px; object-fit:cover; object-position:top; }
.eco-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:44px; }
.eco-facts > div { padding:22px 18px 22px 0; }
.eco-facts > div + div { border-left:1px solid var(--line); padding-left:24px; }
.eco-facts strong { display:block; font-size:clamp(21px,2.5vw,34px); font-weight:500; margin-bottom:7px; }
.eco-facts span { display:block; max-width:30ch; color:var(--muted,#B1B3B2); font-size:13px; line-height:1.6; }
.eco-section-head { display:grid; grid-template-columns:100px minmax(0,1fr); gap:24px; align-items:start; margin-bottom:30px; }
.eco-section-head .section-index { font-size:58px; line-height:1; color:var(--accent); opacity:.65; }
.eco-section-head .section-title { max-width:22ch; margin-bottom:15px; }
.eco-section-head p { max-width:64ch; color:var(--muted,#B1B3B2); line-height:1.7; }
.eco-proof-link { display:inline-flex; align-items:center; gap:12px; color:var(--accent); margin-top:18px; font-size:13px; }
.eco-note { border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:0 10px 10px 0; padding:20px 24px; background:var(--bg-2); font-size:15px; line-height:1.7; color:var(--muted,#B1B3B2); }
.eco-note b { display:block; font-weight:500; color:var(--ink,#fff); margin-bottom:5px; }
.eco-note + .perf-calc { margin-top:24px; }
.eco-material { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(26px,5vw,72px); align-items:center; }
.eco-material h2 { font-size:clamp(30px,3.8vw,52px); line-height:1.12; font-weight:500; margin:18px 0; }
.eco-material p { font-size:16px; line-height:1.75; color:var(--muted,#B1B3B2); }
.eco-spec-list { margin:25px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.eco-spec-list li { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.5; }
.eco-spec-list span { color:var(--muted,#B1B3B2); }
.eco-spec-list b { font-weight:500; text-align:right; }
.eco-cell-object { padding:28px 22px 14px; border:1px solid var(--line); border-radius:16px; background:var(--bg-2); }
.eco-cell-object .concept3d { height:440px; min-height:0; border:none; border-radius:10px; }
.eco-system { border:1px solid var(--line); border-radius:16px; padding:clamp(18px,3vw,38px); background:var(--bg-2); }
.eco-intro { max-width:65ch; margin:0 0 25px; color:var(--muted,#B1B3B2); font-size:14px; line-height:1.7; }
.eco-nodes { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:26px; }
.eco-node { position:relative; display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:13px; min-height:150px; padding:17px 15px; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--ink,#fff); font:inherit; cursor:pointer; transition:border-color .2s,background-color .2s; }
.eco-node:hover { border-color:var(--accent); }
.eco-node[aria-pressed="true"] { color:var(--accent); background:var(--bg); border-color:var(--accent); }
.eco-node:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.eco-node-number { font-size:12px; color:var(--muted,#B1B3B2); letter-spacing:.1em; }
.eco-node-name { font-size:clamp(16px,1.7vw,23px); font-weight:500; }
.eco-node-state { font-size:11px; line-height:1.5; color:var(--muted,#B1B3B2); }
.eco-node[aria-pressed="true"] .eco-node-number { color:var(--accent); }
.eco-detail { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:24px 45px; padding-top:25px; border-top:1px solid var(--line); }
.eco-detail h3 { font-size:clamp(23px,3vw,36px); font-weight:500; line-height:1.15; margin:0 0 14px; }
.eco-detail-status { display:inline-block; color:var(--accent); font-size:12px; line-height:1.6; }
.eco-detail p { margin:0 0 18px; font-size:15px; line-height:1.75; color:var(--muted,#B1B3B2); }
.eco-detail dl { display:grid; grid-template-columns:86px 1fr; gap:11px 17px; margin:0; font-size:13px; line-height:1.65; }
.eco-detail dt { color:var(--accent); }
.eco-detail dd { margin:0; color:var(--muted,#B1B3B2); }
.eco-detail a { display:inline-flex; align-items:center; gap:12px; margin-top:23px; font-size:13px; color:var(--accent); }
.eco-disclaimer { margin:24px 0 0; font-size:12px; line-height:1.65; color:var(--muted,#B1B3B2); }
@media(max-width:900px) {
  .eco-product-grid,.eco-material { grid-template-columns:1fr; }
  .eco-product-copy .lead { max-width:60ch; }
  .eco-object--screen img { max-height:500px; }
  .eco-nodes { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .eco-node { min-height:125px; }
}
@media(max-width:600px) {
  .eco-product-hero { padding-top:calc(var(--header-h,74px) + 35px); }
  .eco-product-copy h1 { font-size:clamp(38px,11vw,60px); }
  .eco-facts { grid-template-columns:1fr; margin-top:28px; }
  .eco-facts > div,.eco-facts > div + div { padding:16px 0; border-left:0; }
  .eco-facts > div + div { border-top:1px solid var(--line); }
  .eco-facts strong { font-size:26px; }
  .eco-facts span { max-width:none; }
  .eco-section-head { grid-template-columns:46px minmax(0,1fr); gap:15px; }
  .eco-section-head .section-index { font-size:32px; }
  .eco-section-head .section-title { font-size:30px; }
  .eco-material .eco-spec-list { margin-top:20px; }
  .eco-cell-object { padding:12px; }
  .eco-cell-object .concept3d { height:350px; }
  .eco-nodes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .eco-node { min-height:120px; gap:9px; }
  .eco-node:last-child { grid-column:1/-1; min-height:105px; }
  .eco-detail { grid-template-columns:1fr; gap:18px; }
  .eco-detail dl { grid-template-columns:65px minmax(0,1fr); gap:10px; }
  .eco-note { padding:17px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .eco-node { transition:none; } }
