:root{
  --bg:#f8f3ea;
  --panel:#fffaf1;
  --card:#fffdf8;
  --ink:#1f1d1a;
  --muted:#746b5e;
  --line:#e5d8c6;
  --copper:#b8792c;
  --copper-strong:#a9681e;
  --dark:#171614;
  --dark-soft:#27231f;
  --radius:8px;
  --shadow:0 18px 45px rgba(31,29,26,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  line-height:1.55;
  letter-spacing:0;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}

.topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  height:70px;
  padding:0 clamp(24px,3.2vw,54px);
  background:rgba(248,243,234,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.brand{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:218px;
}
.brand-symbol{
  flex:0 0 auto;
  width:34px;
  height:32px;
  object-fit:contain;
}
.brand-wordmark{
  display:flex;
  align-items:flex-end;
  gap:10px;
}
.brand-en{
  font-size:33px;
  line-height:1;
  font-weight:850;
  letter-spacing:0;
}
.brand-cn{
  margin-bottom:3px;
  font-size:13px;
  font-weight:750;
}
.site-nav{
  display:flex;
  justify-content:center;
  align-items:stretch;
  height:70px;
  gap:0;
}
.nav-item{
  position:relative;
  display:flex;
  align-items:stretch;
}
.nav-link{
  display:flex;
  align-items:center;
  padding:0 clamp(16px,2vw,32px);
  border-bottom:2px solid transparent;
  font-weight:650;
  font-size:15px;
  transition:color .18s ease,border-color .18s ease;
}
.nav-link:hover,.nav-link.is-active{
  color:var(--copper-strong);
  border-color:var(--copper);
}
.subnav-panel{
  position:absolute;
  top:100%;
  left:50%;
  z-index:40;
  display:grid;
  gap:0;
  min-width:168px;
  padding:10px 0;
  border:1px solid rgba(229,216,198,.82);
  border-radius:8px;
  background:rgba(255,253,248,.98);
  box-shadow:0 12px 30px rgba(96,64,28,.11);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .16s ease,transform .16s ease;
}
.has-subnav:hover .subnav-panel,
.has-subnav:focus-within .subnav-panel{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.subnav-panel a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 22px;
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}
.subnav-panel a:hover,
.subnav-panel a.is-active{
  color:var(--copper-strong);
  background:rgba(184,121,44,.09);
}
.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  min-width:280px;
}
.docs-link{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:14px;
  font-weight:650;
}
.docs-link span{color:var(--copper)}
.header-divider{
  width:1px;
  height:22px;
  background:var(--line);
}
.outline-button,.nav-toggle{
  border:1px solid var(--copper);
  background:transparent;
  color:var(--copper-strong);
  border-radius:6px;
  cursor:pointer;
  font-weight:750;
}
.outline-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  min-height:40px;
  padding:0 18px;
}
.outline-button:hover,.nav-toggle:hover{
  background:var(--copper);
  color:#fff;
}
.nav-toggle{display:none;min-height:38px;padding:0 14px}

.hero-section{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(360px,.95fr) minmax(280px,.72fr) minmax(420px,1.05fr);
  min-height:468px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  background:
    linear-gradient(90deg,var(--bg) 0%,rgba(248,243,234,.96) 27%,rgba(248,243,234,.58) 43%,rgba(23,22,20,.24) 60%,rgba(15,14,13,.72) 100%),
    url("/assets/visual-direction-2/model-redraw/elements/hero-field-deployment-redraw.webp");
  background-size:cover;
  background-position:center 56%;
}
.hero-copy{
  position:relative;
  z-index:3;
  padding:clamp(56px,6vw,86px) clamp(18px,2.8vw,56px) 54px clamp(26px,4vw,66px);
  background:var(--bg);
}
.hero-copy::after{
  content:"";
  position:absolute;
  top:0;
  right:-138px;
  bottom:0;
  width:190px;
  z-index:0;
  background:linear-gradient(90deg,var(--bg) 0%,rgba(248,243,234,.9) 42%,rgba(248,243,234,.4) 72%,rgba(248,243,234,0) 100%);
  pointer-events:none;
}
.hero-copy>*{
  position:relative;
  z-index:1;
}
.hero-copy h1{
  margin:0;
  max-width:610px;
  font-size:clamp(38px,3.2vw,52px);
  line-height:1.12;
  font-weight:900;
  white-space:nowrap;
}
.hero-lead{
  margin:22px 0 42px;
  color:var(--muted);
  font-size:clamp(17px,1.4vw,22px);
  font-weight:600;
  white-space:nowrap;
}
.value-points{
  display:flex;
  flex-wrap:nowrap;
  gap:22px;
  max-width:760px;
}
.value-point{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:8px 10px;
  align-items:start;
  min-width:max-content;
}
.point-icon{
  grid-row:span 2;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid rgba(184,121,44,.42);
  border-radius:50%;
  color:var(--copper);
  font-size:14px;
}
.value-point strong{
  font-size:14px;
  line-height:1.25;
  white-space:nowrap;
}
.value-point small{
  color:#6c6258;
  font-size:12px;
}
.hero-product{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  min-height:468px;
  background:transparent;
}
.hero-product::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(ellipse at 52% 78%,rgba(150,112,72,.28) 0%,rgba(150,112,72,.16) 19%,rgba(150,112,72,0) 44%),
    linear-gradient(90deg,rgba(248,243,234,.26) 0%,rgba(248,243,234,.08) 42%,rgba(18,17,15,.12) 100%);
}
.hero-product::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(248,243,234,.28) 0%,rgba(248,243,234,0) 34%),
    linear-gradient(270deg,rgba(23,22,20,.28) 0%,rgba(23,22,20,0) 35%);
  pointer-events:none;
}
.hero-product::before{
  box-shadow:inset 0 -42px 80px rgba(31,29,26,.08);
}
.hero-product img{
  position:relative;
  z-index:2;
  width:min(74%,300px);
  margin-bottom:40px;
  filter:contrast(1.06) saturate(.98) drop-shadow(0 28px 22px rgba(31,29,26,.34));
}
.hero-field{
  position:relative;
  z-index:1;
  min-height:468px;
  overflow:hidden;
  background:transparent;
}
.field-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% center;
  opacity:1;
  filter:saturate(.9) contrast(1.04);
}
.hero-field::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(18,17,15,.92) 0%,rgba(18,17,15,.78) 40%,rgba(18,17,15,.34) 66%,rgba(18,17,15,.04) 100%),
    linear-gradient(0deg,rgba(10,10,10,.16),rgba(10,10,10,.04));
}
.field-panel{
  position:absolute;
  z-index:1;
  top:48px;
  bottom:32px;
  left:56px;
  width:min(540px,60%);
  display:flex;
  flex-direction:column;
  color:#fff;
}
.field-kicker{
  margin:0;
  font-size:22px;
  font-weight:850;
}
.field-subtitle{
  margin:4px 0 26px;
  color:#e4d8c8;
  font-weight:600;
}
.spec-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0 0 18px;
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.spec-grid div{
  min-width:0;
  padding:14px 18px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.spec-grid dt{
  color:#c9b89e;
  font-size:12px;
  font-weight:650;
}
.spec-grid dd{
  margin:3px 0 0;
  font-size:17px;
  font-weight:850;
}
.text-link,.ghost-link,.center-link,.news-more{
  color:var(--copper);
  font-weight:800;
}
.text-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:auto;
  padding-top:12px;
}
.text-link:hover,.ghost-link:hover,.center-link:hover,.news-more:hover{text-decoration:underline}

.scene-strip,.product-matrix,.proof-news,.contact-band{
  width:min(100%,1680px);
  margin:0 auto;
}
.scene-strip{
  display:grid;
  grid-template-columns:190px 1fr auto;
  gap:26px;
  align-items:center;
  min-height:126px;
  padding:20px clamp(22px,3.2vw,56px);
  border-bottom:1px solid var(--line);
  background:rgba(255,253,248,.6);
}
.section-label h2{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.15;
  font-weight:900;
}
.section-label p{
  margin:0;
  color:var(--muted);
  font-weight:600;
}
.scene-track{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  padding:0 4px;
}
.scene-track::-webkit-scrollbar{display:none}
.scene-item{
  flex:0 0 150px;
  display:grid;
  justify-items:center;
  gap:8px;
  padding:4px 0 8px;
  border-radius:var(--radius);
  transition:transform .18s ease,background .18s ease;
}
.scene-item:hover,.scene-item.is-selected{
  transform:translateY(-3px);
  background:#fffaf2;
}
.scene-item img{
  height:60px;
  width:132px;
  object-fit:contain;
}
.scene-item span{
  font-size:13px;
  font-weight:800;
}
.scene-arrow{
  color:#b8aa9a;
  font-size:30px;
}
.all-link{
  white-space:nowrap;
  color:var(--copper);
  font-size:14px;
  font-weight:800;
}

.product-matrix{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:26px;
  padding:30px clamp(22px,3.2vw,56px) 34px;
  border-bottom:1px solid var(--line);
}
.product-matrix>.section-label{
  display:grid;
  justify-items:center;
  align-content:start;
  text-align:center;
  padding-top:4px;
}
.product-matrix>.section-label h2{
  margin-bottom:12px;
}
.product-filters{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  width:100%;
  max-width:180px;
  margin:32px auto 28px;
}
.product-filters button,.news-tabs button{
  min-height:32px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffaf2;
  color:var(--ink);
  cursor:pointer;
  padding:0 14px;
  font-size:13px;
  font-weight:750;
}
.product-filters button{
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:stretch;
  min-width:0;
  min-height:44px;
  padding:0 18px;
  font-size:14px;
  text-align:center;
}
.product-filters button.is-active,.news-tabs button.is-active{
  border-color:var(--dark);
  background:var(--dark);
  color:#fff;
}
.product-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(190px,1fr));
  gap:20px;
}
.product-card{
  position:relative;
  display:block;
  min-height:205px;
  padding:20px 96px 14px 20px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--card);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.product-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:#d3bd9d;
}
.product-card[hidden]{display:none}
.product-card .model{
  margin:0 0 2px;
  font-size:20px;
  font-weight:900;
  white-space:nowrap;
}
.product-card h3{
  margin:0 0 8px;
  font-size:14px;
  font-weight:850;
  line-height:1.35;
}
.product-card ul{
  margin:0 0 10px 0;
  padding:0;
  list-style:none;
  color:#5f564d;
  font-size:12px;
  font-weight:650;
}
.product-card li::before{
  content:"·";
  margin-right:6px;
  color:var(--copper);
  font-weight:900;
}
.product-card a{
  color:var(--copper);
  font-size:13px;
  font-weight:800;
}
.product-card img{
  position:absolute;
  right:10px;
  bottom:14px;
  width:92px;
  height:118px;
  object-fit:contain;
  filter:drop-shadow(0 10px 10px rgba(31,29,26,.16));
}

.proof-news{
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(360px,.9fr);
  gap:34px;
  padding:30px clamp(22px,3.2vw,56px) 26px;
  border-bottom:1px solid var(--line);
}
.case-zone{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:22px;
}
.inline-label{padding-top:8px}
.case-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.case-card{
  position:relative;
  display:grid;
  grid-template-rows:auto 66px 40px 74px auto;
  align-content:start;
  min-height:192px;
  overflow:hidden;
  padding:18px;
  border-radius:var(--radius);
  color:#fff;
  background-image:linear-gradient(rgba(9,9,9,.54),rgba(9,9,9,.76)),var(--case-bg);
  background-size:cover;
  background-position:center;
}
.case-card span{
  display:inline-flex;
  padding:3px 10px;
  background:rgba(184,121,44,.88);
  border-radius:4px;
  font-size:12px;
  font-weight:800;
}
.case-card h3{
  margin:10px 0 2px;
  font-size:18px;
  line-height:1.22;
  align-self:start;
}
.case-card p{
  margin:0 0 12px;
  color:#e8dfd3;
  font-size:13px;
  font-weight:650;
  align-self:start;
}
.case-card dl{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin:0 0 12px;
  align-self:start;
}
.case-card div{
  display:grid;
  grid-template-rows:28px 34px;
  align-items:start;
  border-right:1px solid rgba(255,255,255,.2);
  padding-right:8px;
}
.case-card div:last-child{border-right:0}
.case-card dt{
  color:#c9bba9;
  font-size:11px;
  line-height:1.25;
  max-width:72px;
}
.case-card dd{
  margin:2px 0 0;
  color:#d79237;
  font-size:22px;
  line-height:1;
  font-weight:900;
}
.case-card small{
  align-self:start;
  font-size:13px;
  font-weight:800;
}
.center-link{
  grid-column:2;
  justify-self:center;
  margin-top:4px;
}
.news-zone{
  padding-left:32px;
  border-left:1px solid var(--line);
}
.news-zone h2{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.15;
}
.news-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}
.news-list{
  display:grid;
  gap:10px;
}
.news-item{
  display:grid;
  grid-template-columns:58px auto 1fr auto;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:5px 0;
  border-bottom:1px solid rgba(229,216,198,.65);
}
.news-item[hidden]{display:none}
.news-item img{
  width:58px;
  height:34px;
  object-fit:cover;
  border-radius:4px;
}
.news-item span{
  padding:3px 7px;
  border-radius:4px;
  background:#f0e6d8;
  color:#75654f;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.news-item strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}
.news-item time{
  color:#8f8374;
  font-size:12px;
}
.news-more{
  display:inline-flex;
  margin-top:14px;
  font-size:14px;
}

.mqtt-demo{
  width:min(100%,1680px);
  margin:0 auto;
  display:grid;
  grid-template-columns:190px 1fr;
  gap:24px;
  padding:26px clamp(22px,3.2vw,56px) 30px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#f8f3ea 0%,#f3eee6 100%);
}
.mqtt-label{padding-top:8px}
.mqtt-workspace{
  display:grid;
  gap:14px;
}
.mqtt-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:18px;
  align-items:stretch;
}
.code-window{
  overflow:hidden;
  min-height:284px;
  border:1px solid #d6c6b1;
  border-radius:8px;
  background:#11100f;
  box-shadow:0 14px 34px rgba(31,29,26,.14);
}
.code-titlebar{
  display:flex;
  align-items:center;
  gap:10px;
  height:44px;
  padding:0 18px;
  background:#1d1a17;
  border-bottom:1px solid rgba(245,238,226,.16);
}
.code-titlebar strong{
  margin-right:auto;
  color:#c8bba9;
  font-size:13px;
  font-weight:850;
}
.code-titlebar span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c66b55;
}
.code-titlebar span:nth-of-type(2){background:#d59b42}
.code-titlebar span:nth-of-type(3){background:#4fb587}
.code-window pre{
  margin:0;
  padding:20px 22px;
  color:#e9dfd2;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:15px;
  line-height:1.62;
  white-space:pre-wrap;
}
.code-blue{color:#9cc8d8}
.code-gold{color:#d99a3d}
.code-green{color:#8ccf9f}
.mqtt-panel{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:14px;
}
.topic-card,.telemetry-card,.flow-steps div{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fffdf8;
}
.topic-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 14px;
  padding:16px 18px;
}
.topic-card span,.telemetry-card span{
  color:#83786b;
  font-size:13px;
  font-weight:800;
}
.topic-card strong{
  grid-column:1 / -1;
  color:#1f1d1a;
  font-size:20px;
  line-height:1.25;
  word-break:break-all;
}
.copy-topic{
  border:1px solid #d9bd98;
  border-radius:999px;
  background:#fff8ee;
  color:var(--copper);
  cursor:pointer;
  padding:4px 10px;
  font-size:12px;
  font-weight:900;
}
.copy-topic.is-copied{color:#16875a;border-color:#9fceb8;background:#f3fff9}
.telemetry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.telemetry-card{
  padding:16px 18px;
}
.telemetry-card strong{
  display:block;
  margin-top:8px;
  color:#1f1d1a;
  font-size:24px;
  line-height:1;
  font-weight:900;
}
.telemetry-card .state-ok{color:#12a66a}
.flow-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}
.flow-steps div{
  padding:14px;
}
.flow-steps b{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-bottom:12px;
  border-radius:999px;
  background:var(--copper);
  color:#fff;
  font-size:14px;
}
.flow-steps strong{
  display:block;
  color:#1f1d1a;
  font-size:15px;
  font-weight:900;
}
.flow-steps p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
  font-weight:650;
}

.contact-band{
  display:grid;
  grid-template-columns:1.05fr minmax(640px,2.2fr) auto auto;
  gap:24px;
  align-items:center;
  margin-top:26px;
  margin-bottom:10px;
  padding:20px 38px;
  border:1px solid #ddbf97;
  border-radius:var(--radius);
  background:#fff3df;
}
.contact-title{
  display:flex;
  align-items:center;
  gap:14px;
}
.contact-title>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:2px solid var(--copper);
  border-radius:50%;
  color:var(--copper);
  font-size:22px;
}
.contact-title h2{
  margin:0;
  font-size:22px;
}
.contact-title p{margin:2px 0 0;color:var(--muted)}
.contact-info{
  display:grid;
  grid-template-columns:minmax(150px,.82fr) minmax(210px,1fr) minmax(260px,1.12fr);
  gap:22px;
  align-items:center;
}
.contact-info p{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:0 12px;
  align-items:center;
  margin:0;
  color:var(--ink);
  font-weight:650;
  line-height:1.25;
}
.contact-info span{
  grid-row:span 2;
  display:grid;
  place-items:center;
  align-self:center;
  width:42px;
  height:42px;
  color:var(--copper);
  font-size:34px;
  line-height:1;
}
.contact-info strong{
  color:#776b5f;
  font-size:12px;
  line-height:1.2;
}
.cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:146px;
  min-height:48px;
  border:0;
  border-radius:6px;
  background:var(--copper);
  color:#fff;
  cursor:pointer;
  font-size:16px;
  font-weight:850;
  box-shadow:0 12px 20px rgba(184,121,44,.24);
}
.cta-button:hover{background:var(--copper-strong)}
.qr-card{
  display:grid;
  grid-template-columns:70px 112px;
  gap:10px;
  align-items:center;
}
.qr-card img{
  width:70px;
  height:70px;
  object-fit:cover;
  border:4px solid #fff;
}
.qr-card p{
  margin:0;
  color:#60584f;
  font-size:12px;
  font-weight:700;
}

.footer{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr);
  gap:24px;
  align-items:end;
  justify-items:stretch;
  min-height:94px;
  padding:24px clamp(24px,3.2vw,56px);
  background:var(--dark);
  color:#d9d0c5;
  text-align:left;
}
.footer>div{
  justify-self:start;
  grid-column:1;
}
.footer-brand{
  display:flex;
  align-items:flex-end;
  gap:12px;
}
.footer-symbol{
  flex:0 0 auto;
  width:38px;
  height:36px;
  object-fit:contain;
  margin-bottom:2px;
}
.footer strong{
  display:block;
  color:#fff7eb;
  font-size:26px;
}
.footer small{font-size:12px}
.footer p{
  margin:3px 0 0;
  color:#958c81;
  font-size:13px;
}
.footer a:hover{color:#fff}
.copyright{
  grid-column:2;
  justify-self:center;
  text-align:center;
  white-space:nowrap;
}

.backtop{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:25;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--dark);
  color:#fff;
  cursor:pointer;
  padding:0 16px;
  font-weight:800;
}

@media (max-width:1320px){
  .hero-section{grid-template-columns:1fr 1fr}
  .hero-copy{grid-column:1}
  .hero-product{grid-column:2;grid-row:1}
  .hero-field{grid-column:1 / -1;min-height:360px}
  .product-cards{grid-template-columns:repeat(3,minmax(220px,1fr))}
  .product-card{padding-right:110px}
  .proof-news{grid-template-columns:1fr}
  .news-zone{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:24px}
  .mqtt-grid{grid-template-columns:1fr}
  .flow-steps{margin-top:12px}
  .contact-band{grid-template-columns:1fr 1.4fr;align-items:start}
  .qr-card{justify-self:start}
}

@media (max-width:980px){
  .topbar{
    grid-template-columns:1fr auto;
    height:auto;
    min-height:62px;
    padding:10px 16px;
  }
  .brand-en{font-size:27px}
  .nav-toggle{display:inline-flex;align-items:center}
  .site-nav{
    grid-column:1 / -1;
    display:none;
    height:auto;
    gap:8px;
    padding:12px 0 2px;
    border-top:1px solid var(--line);
  }
  .site-nav.is-open{display:grid}
  .nav-item{
    display:grid;
  }
  .nav-link{
    min-height:44px;
    padding:0;
    border-bottom:0;
  }
  .subnav-panel{
    top:44px;
    left:0;
    min-width:210px;
    transform:translate(0,8px);
  }
  .has-subnav:hover .subnav-panel,
  .has-subnav:focus-within .subnav-panel{
    transform:translate(0,0);
  }
  .subnav-panel::before{
    left:22px;
    transform:rotate(45deg);
  }
  .subnav-panel a{
    min-height:38px;
    padding:0 14px;
    font-size:14px;
    white-space:nowrap;
  }
  .header-actions{display:none}
  .hero-section{grid-template-columns:1fr}
  .hero-copy{padding:42px 20px 24px}
  .hero-copy h1{font-size:38px;white-space:normal}
  .hero-lead{white-space:normal}
  .value-points{flex-wrap:wrap;gap:18px 24px}
  .value-point{min-width:150px}
  .hero-product{grid-column:auto;grid-row:auto;min-height:300px}
  .hero-field{min-height:620px}
  .field-panel{
    top:32px;
    right:auto;
    bottom:32px;
    left:22px;
    width:calc(100% - 44px);
  }
  .scene-strip,.product-matrix{
    grid-template-columns:1fr;
  }
  .product-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-zone{grid-template-columns:1fr}
  .case-cards{grid-template-columns:1fr}
  .center-link{grid-column:auto}
  .mqtt-demo{grid-template-columns:1fr}
  .mqtt-summary{display:grid;align-items:start}
  .mqtt-tags{justify-content:flex-start}
  .code-window pre{font-size:14px;padding:22px 18px}
  .telemetry-grid,.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-info{grid-template-columns:1fr}
  .footer{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:left;
  }
  .footer>div{
    justify-self:start;
    grid-column:1;
  }
  .copyright{
    grid-column:1;
    justify-self:center;
    max-width:100%;
    text-align:center;
    white-space:normal;
  }
}

@media (max-width:640px){
  .hero-copy h1{font-size:34px}
  .hero-lead{font-size:17px;margin-bottom:26px}
  .value-points{display:grid;grid-template-columns:1fr;gap:18px}
  .value-point{min-width:0}
  .hero-product img{width:min(78%,280px)}
  .hero-field{min-height:700px}
  .field-kicker{font-size:20px}
  .spec-grid{grid-template-columns:1fr}
  .scene-strip,.product-matrix,.proof-news{
    padding-left:14px;
    padding-right:14px;
  }
  .scene-track{
    margin-right:-14px;
    padding-right:14px;
  }
  .product-cards{grid-template-columns:1fr}
  .product-card{padding-right:120px}
  .mqtt-demo{padding-left:14px;padding-right:14px}
  .mqtt-summary p{font-size:14px}
  .topic-card{grid-template-columns:1fr}
  .topic-card strong{font-size:20px}
  .telemetry-grid,.flow-steps{grid-template-columns:1fr}
  .news-item{
    grid-template-columns:54px auto 1fr;
  }
  .news-item time{
    grid-column:3;
    justify-self:start;
  }
  .contact-band{
    grid-template-columns:1fr;
    width:auto;
    margin-left:14px;
    margin-right:14px;
    padding:18px;
  }
  .qr-card{grid-template-columns:70px 1fr}
  .modal-grid{grid-template-columns:1fr}
}


.product-matrix .product-card img{
  mix-blend-mode:multiply;
}
