/* ==========================================================================
   产品与方案页（/products）
   只放本页专属样式：页头 / 页内目录 / 分层图 / 系统与模块 / 上线顺序。
   通用组件（按钮、卡片、区块标题）在 site.css，这里不重复定义。
   ========================================================================== */

/* ---------------------------------------------------------- 01 页头 */

.prod-hero {
  position: relative;
  padding: var(--sp-6) 0;
  border-bottom: 1px solid var(--c-line);
  background:
    radial-gradient(900px 320px at 88% -20%, var(--c-primary-soft), transparent 70%),
    var(--c-bg);
  overflow: hidden;
}
.prod-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(0, .76fr);
  gap: var(--sp-6);
  align-items: center;
}
.prod-hero__title {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-h1);
}
.prod-hero__lead {
  margin: 0;
  max-width: 32em;
  font-size: var(--fs-h4);
  line-height: 1.75;
  color: var(--c-text-2);
}
.prod-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}

/* 「按制程段看方案」：一行内链，和按钮组留一档间距，不抢主按钮 */
.prod-hero__byprocess {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-1) var(--sp-2);
  margin: var(--sp-2) 0 0;
  font-size: var(--fs-sm);
}
.prod-hero__byprocess span { color: var(--c-text-3); }
.prod-hero__byprocess a {
  color: var(--c-primary);
  text-decoration: underline;
  text-decoration-color: var(--c-line-2);
  text-underline-offset: 4px;
}
.prod-hero__byprocess a:hover {
  color: var(--c-accent-ink);
  text-decoration-color: currentColor;
}

/* 右侧行业选择：11 项两列，一屏放下，点一下直接进行业页。
   首屏只回答一个问题——「你这行有没有做过」，所以只放行业名，
   行业里的关注点、模块、案例留到落地页展开。 */
.ind-pick {
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  background: var(--c-bg);
  box-shadow: 0 10px 30px rgba(16, 23, 32, .06);
}
.ind-pick__cap {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-1);
  padding-bottom: var(--sp-1);
  border-bottom: 1px solid var(--c-line);
}
.ind-pick__cap b {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-ink);
}
.ind-pick__cap em {
  flex: 0 0 auto;
  font-style: normal;
  font-size: var(--fs-xs);
  color: var(--c-text-3);
}
.ind-pick__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ind-pick__item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 10px;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  color: var(--c-ink);
  text-decoration: none;
  transition: background var(--t-fast) var(--e-out), color var(--t-fast) var(--e-out);
}
.ind-pick__item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ind-pick__item svg {
  flex: 0 0 auto;
  margin-left: auto;
  opacity: 0;
  color: var(--c-primary);
  transition: opacity var(--t-fast) var(--e-out);
}
.ind-pick__item:hover {
  background: var(--c-primary-soft);
  color: var(--c-primary-dark);
}
.ind-pick__item:hover svg { opacity: 1; }
/* 兜底项：没列到的行业走这里，用虚线边框区别于具体行业 */
.ind-pick__item.is-more {
  border: 1px dashed var(--c-line-2);
  color: var(--c-text-2);
}
.ind-pick__note {
  margin: var(--sp-2) 0 0;
  padding-top: var(--sp-1);
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-xs);
  line-height: 1.7;
  color: var(--c-text-3);
}

/* -------------------------------------------------------- 02 页内目录 */
/* .subnav 已提到 site.css：产品页与方案页共用同一个组件 */

/* -------------------------------------------------------- 03 分层图 */

.arch__stack { border-top: 1px solid var(--c-dark-line); }

.arch__lane {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: var(--sp-5);
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--c-dark-line);
}
.arch__no {
  display: block;
  margin-bottom: var(--sp-1);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: .14em;
  color: var(--c-accent);
}
.arch__meta h3 {
  margin: 0 0 var(--sp-1);
  font-size: var(--fs-h4);
}
.arch__meta p {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--c-dark-text-2);
}

.arch__chips {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: var(--sp-2);
}

/* 等分但设上限：4 块层自动分四份（804px 可用宽度下 4×170+3×16=728 不会换行），
   单块层停在上限宽度，不拉成一整条输入框的样子。 */
.chip {
  flex: 1 1 170px;
  max-width: 280px;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2);
  border: 1px solid var(--c-dark-line);
  border-radius: var(--r-sm);
  background: rgba(255, 255, 255, .04);
  color: #fff;
  transition: transform var(--t-base) var(--e-out),
              border-color var(--t-base) var(--e-out),
              background var(--t-base) var(--e-out);
}
.chip:hover {
  color: #fff;
  border-color: var(--c-accent);
  background: rgba(232, 119, 34, .10);
  transform: translateY(-1px);
}
.chip__icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--c-dark-text);
  transition: color var(--t-base) var(--e-out);
}
.chip:hover .chip__icon { color: var(--c-accent); }
.chip__text {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
}
.chip__text b {
  font-size: var(--fs-sm);
  font-weight: 500;
}
.chip__text em {
  font-style: normal;
  font-size: var(--fs-micro);
  letter-spacing: .12em;
  color: var(--c-dark-text-2);
}
/* 现场层是设备与终端，不是可点系统，去掉悬停反馈 */
.chip--plain { cursor: default; }
.chip--plain:hover {
  border-color: var(--c-dark-line);
  background: rgba(255, 255, 255, .04);
  transform: none;
}

.arch__note {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  margin: var(--sp-4) 0 0;
  padding: var(--sp-2) var(--sp-3);
  border-left: 2px solid var(--c-accent);
  background: rgba(255, 255, 255, .04);
  font-size: var(--fs-sm);
  line-height: 1.75;
  color: var(--c-dark-text);
}
.arch__note .icon {
  flex-shrink: 0;
  margin-top: var(--sp-0);
  color: var(--c-accent);
}

/* -------------------------------------------------- 04 系统与模块 */

.sys-list { border-top: 1px solid var(--c-line); }

.sys {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: var(--sp-6);
  padding: var(--sp-5) 0;
  border-bottom: 1px solid var(--c-line);
  /* html 的 scroll-padding 已让出页头高度，这里只补页内目录的 52px */
  scroll-margin-top: 52px;
}
/* 最后一个系统不留底线：下面紧接灰底区块，再多一条线会变成悬空的分隔 */
.sys:last-child { border-bottom: 0; }

/* 左侧系统说明随滚动固定，右侧模块多时也始终能看到这是哪个系统 */
.sys__rail {
  position: sticky;
  top: calc(var(--h-header) + 52px + var(--sp-3));
  align-self: start;
}
.sys__no {
  margin: 0 0 var(--sp-1);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: .14em;
  color: var(--c-accent-ink);
}
.sys__name {
  margin: 0;
  font-size: var(--fs-h3);
}
.sys__en {
  margin: var(--sp-0) 0 var(--sp-2);
  font-size: var(--fs-micro);
  letter-spacing: .16em;
  color: var(--c-text-3);
}
.sys__desc {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  line-height: 1.75;
  color: var(--c-text-2);
}
.sys__count {
  margin: 0;
  padding-top: var(--sp-2);
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-xs);
  color: var(--c-text-3);
}
.sys__empty {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--c-text-3);
}

.pmods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
  gap: var(--sp-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.pmod {
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-bg);
  scroll-margin-top: 52px;
  transition: border-color var(--t-base) var(--e-out),
              box-shadow var(--t-base) var(--e-out);
}
.pmod:hover {
  border-color: var(--c-line-2);
  box-shadow: var(--sh-1);
}
/* 从首页「/products#dashboard」这类链接跳进来时，给落点一个明确提示 */
.pmod:target {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 4px var(--c-primary-soft);
}
.pmod__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-2);
}
.pmod__icon {
  display: inline-flex;
  color: var(--c-primary);
}
.pmod__no {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: .08em;
  color: var(--c-text-3);
}
.pmod__name {
  margin: 0 0 var(--sp-0);
  font-size: var(--fs-h4);
}
.pmod__desc {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--c-text-2);
}

/* ----------------------------------------------------- 05 上线顺序 */

.steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.step {
  display: flex;
  flex-direction: column;
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-top: 2px solid var(--c-primary);
  border-radius: var(--r-sm);
  background: var(--c-bg);
}
.step__no {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: .08em;
  color: var(--c-accent-ink);
}
.step h3 {
  margin: 0 0 var(--sp-1);
  font-size: var(--fs-h4);
}
.step__desc {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--c-text-2);
}
.step__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-0) var(--sp-1);
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}
.step__tags li {
  padding: 2px 8px;
  border-radius: var(--r-xs);
  background: var(--c-primary-soft);
  color: var(--c-primary-dark);
  font-size: var(--fs-xs);
  line-height: 1.6;
}

/* ------------------------------------------------------- 06 响应式 */

@media (max-width: 1024px) {
  .prod-hero__grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .ind-pick { max-width: 100%; }
  .arch__lane { grid-template-columns: 240px minmax(0, 1fr); gap: var(--sp-4); }
  .sys { grid-template-columns: 240px minmax(0, 1fr); gap: var(--sp-4); }
  .pmods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .prod-hero { padding: var(--sp-5) 0; }
  .prod-hero__lead { font-size: var(--fs-body); }
  .ind-pick { padding: var(--sp-2); }
  .ind-pick__item { padding: 10px 8px; }

  .arch__stack { border-top: 0; }
  .arch__lane {
    grid-template-columns: 1fr;
    gap: var(--sp-2);
    padding: var(--sp-3) 0;
  }
  /* 窄屏去掉宽度上限：单个方块铺满一行，两个方块各占一半 */
  .chip {
    flex: 1 1 calc(50% - var(--sp-2));
    max-width: none;
    min-width: 0;
  }

  .sys { grid-template-columns: 1fr; gap: var(--sp-3); padding: var(--sp-4) 0; }
  .sys__rail { position: static; }
  .sys__desc { margin-bottom: var(--sp-1); }
  .sys__count { border-top: 0; padding-top: 0; }
  .pmods { grid-template-columns: 1fr; }
  /* 15 张卡片单列排下来，内边距收紧一档，整页少滚约 240px */
  .pmod { padding: var(--sp-2); }
  .pmod__top { margin-bottom: var(--sp-1); }

  .steps { grid-template-columns: 1fr; }
}

/* ==========================================================================
   行业入口（/products 顶部）与行业详情页（/products/industry/{slug}）
   ========================================================================== */

/* ---------------------------------------------------------- 行业卡片网格 */
.ind-hub { border-top: 1px solid var(--c-line); }

.ind-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}

.ind-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-bg);
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ind-card:hover {
  border-color: var(--c-primary);
  box-shadow: 0 8px 24px rgba(15, 76, 129, .10);
  transform: translateY(-2px);
}
.ind-card__no {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  color: var(--c-text-3);
  letter-spacing: .06em;
}
.ind-card__name {
  margin-top: 6px;
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-ink);
}
.ind-card__en {
  margin-top: 2px;
  font-size: var(--fs-micro);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-text-3);
}
.ind-card__sum {
  margin-top: var(--sp-2);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--c-text-2);
  flex: 1 1 auto;
}
.ind-card__foot {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  margin-top: var(--sp-3);
  padding-top: var(--sp-2);
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-xs);
  color: var(--c-text-3);
}
.ind-card__tag { color: var(--c-accent-ink); }
.ind-card__go {
  display: flex;
  margin-left: auto;
  color: var(--c-primary);
  transition: transform .18s ease;
}
.ind-card:hover .ind-card__go { transform: translateX(3px); }

/* ---------------------------------------------------------------- 页头 */
.ind-hero {
  padding: var(--sp-6) 0;
  border-bottom: 1px solid var(--c-line);
  background:
    radial-gradient(900px 320px at 88% -20%, var(--c-primary-soft), transparent 70%),
    var(--c-bg);
}
.ind-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
  gap: var(--sp-6);
  align-items: start;
}
.ind-hero__title {
  margin: var(--sp-1) 0 var(--sp-2);
  font-size: var(--fs-h1);
  line-height: 1.2;
  color: var(--c-ink);
}
.ind-hero__lead {
  margin: 0;
  max-width: 34em;
  font-size: var(--fs-h4);
  line-height: 1.8;
  color: var(--c-text-2);
}
.ind-hero__chain {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-1);
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-sm);
}
.ind-hero__chain span { color: var(--c-text-3); margin-right: var(--sp-1); }
.ind-hero__chain i {
  padding: 3px 10px;
  border: 1px solid var(--c-line-2);
  border-radius: var(--r-full);
  font-style: normal;
  color: var(--c-text-2);
  background: var(--c-bg);
}
.ind-hero__acts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}

.ind-hero__req {
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  background: var(--c-bg);
  box-shadow: 0 10px 30px rgba(16, 23, 32, .06);
}
.ind-hero__req-title {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--c-ink);
}
.ind-hero__req-title svg { color: var(--c-primary); }
.ind-hero__req ul { margin: 0; padding: 0; list-style: none; }
.ind-hero__req li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-1);
  padding: 9px 0;
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--c-text-2);
}
.ind-hero__req li:first-child { border-top: 0; padding-top: 0; }
.ind-hero__req li svg { flex: none; margin-top: 4px; color: var(--c-primary); }

/* -------------------------------------------------------------- 关注点 */
.ind-points__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2);
  margin: var(--sp-4) 0 0;
  padding: 0;
  list-style: none;
}
.ind-point {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  min-width: 0;
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-bg);
}
.ind-point__no {
  flex: none;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  line-height: 1.9;
  color: var(--c-accent-ink);
}
.ind-point__text {
  margin: 0;
  font-size: var(--fs-body);
  line-height: 1.7;
  color: var(--c-text);
}

/* ---------------------------------------------------------------- 模块 */
.ind-mods__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}
.ind-mod {
  min-width: 0;
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-bg);
}
.ind-mod__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: var(--r-sm);
  background: var(--c-primary-soft);
  color: var(--c-primary);
}
.ind-mod h3 {
  margin: var(--sp-2) 0 6px;
  font-size: var(--fs-h4);
  color: var(--c-ink);
}
.ind-mod p {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--c-text-2);
}
.ind-mods__more { margin: var(--sp-4) 0 0; }

/* ---------------------------------------------------------------- 案例 */
.ind-cases__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}
.ind-case {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--sp-3);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-bg);
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.ind-case:hover { border-color: var(--c-primary); box-shadow: 0 8px 24px rgba(15, 76, 129, .10); }
.ind-case__ind {
  font-size: var(--fs-xs);
  color: var(--c-accent-ink);
  letter-spacing: .04em;
}
.ind-case__name {
  margin-top: 6px;
  font-size: var(--fs-h4);
  font-weight: 600;
  color: var(--c-ink);
}
.ind-case__id { margin-top: 2px; font-size: var(--fs-xs); color: var(--c-text-3); }
.ind-case__sum {
  margin-top: var(--sp-2);
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--c-text-2);
  flex: 1 1 auto;
}
.ind-case__go {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--c-primary);
}

/* ---------------------------------------------------------------- 硬件 */
.ind-hw__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-5);
  align-items: center;
}
.ind-hw__copy h2 { margin: var(--sp-1) 0 var(--sp-1); font-size: var(--fs-h3); color: var(--c-ink); }
.ind-hw__copy p { margin: 0; font-size: var(--fs-sm); color: var(--c-text-2); line-height: 1.75; }
.ind-hw__side { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-3); }
.ind-hw__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-1);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ind-hw__list li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid var(--c-line);
  border-radius: var(--r-full);
  background: var(--c-bg);
  font-size: var(--fs-sm);
  color: var(--c-text-2);
}
.ind-hw__list svg { color: var(--c-primary); }

/* -------------------------------------------------------------- 其他行业 */
.ind-others__label { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); color: var(--c-text-3); }
.ind-others__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-1);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ind-others__list a {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid var(--c-line-2);
  border-radius: var(--r-full);
  background: var(--c-bg);
  font-size: var(--fs-sm);
  color: var(--c-text);
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease;
}
.ind-others__list a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.ind-others__list span {
  font-size: var(--fs-micro);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-text-3);
}

/* -------------------------------------------------------------- 响应式 */
@media (max-width: 1024px) {
  .ind-hero { padding: var(--sp-5) 0; }
  .ind-hero__grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .ind-hero__lead { font-size: var(--fs-body); }
  .ind-mods__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ind-hw__inner { grid-template-columns: 1fr; gap: var(--sp-3); }
}

@media (max-width: 768px) {
  .ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-1); }
  .ind-card { padding: var(--sp-2); }
  .ind-card__foot { flex-wrap: wrap; }
  .ind-points__list { grid-template-columns: 1fr; }
  .ind-cases__grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .ind-grid { grid-template-columns: 1fr; }
  .ind-mods__grid { grid-template-columns: 1fr; }
}
