.smart-home-automations {
    margin: 2.5rem 0 3rem;
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: .9rem;
    line-height: 1.5;
  }
  .article-content .smart-home-automations h2 {
    margin: 0 0 1.4rem;
    font-family: var(--serif);
    font-size: clamp(1.7rem, 4vw, 2.2rem);
  }
  .smart-home-automations__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
  .smart-home-automations__card { display: flex; min-width: 0; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-top: 3px solid var(--tech); background: var(--paper-light); }
  .article-content .smart-home-automations__card h3 { margin: 0 0 1rem; color: var(--tech-deep); font-family: var(--serif); font-size: 1.28rem; font-weight: 400; }
  .smart-home-automations dl { display: flex; flex: 1; flex-direction: column; gap: .8rem; margin: 0; }
  .smart-home-automations dd { margin: 0; }
  .smart-home-automations dt { margin-bottom: .12rem; color: var(--muted); font-size: .7rem; font-weight: 700; }
  .smart-home-automations dd { overflow-wrap: anywhere; }
  .smart-home-automations dl > .smart-home-automations__benefit { margin: auto -1rem 0; padding: .8rem 1rem; background: #e4efed; }
  .smart-home-automations__benefit dd { color: var(--tech-deep); }
  .smart-home-automations__more { margin: auto 0 0; padding-top: 1rem; font-size: .8rem; }
  .smart-home-automations__more a { color: var(--tech-deep); font-weight: 700; overflow-wrap: anywhere; }
  @media (max-width: 620px) {
    .smart-home-automations__grid { grid-template-columns: minmax(0, 1fr); }
  }
  @media print {
    .smart-home-automations,
    .smart-home-automations__card,
    .smart-home-automations__benefit { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  }

.smart-home-map {
    --map-border: #8ba7a8;
    margin: 2.5rem 0 3rem;
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid var(--map-border);
    background: #e4efed;
    color: var(--ink);
    font-family: var(--sans);
    font-size: .88rem;
    line-height: 1.45;
  }
  .smart-home-map h3,
  .article-content .smart-home-map h3 {
    margin: .25rem 0 0;
    color: var(--tech-deep);
    font-family: var(--serif);
    font-size: 1.18rem;
    font-weight: 400;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .smart-home-map p { margin: 0; overflow-wrap: anywhere; }
  .smart-home-map__header { margin-bottom: 1rem; }
  .smart-home-map__header h3,
  .article-content .smart-home-map__header h3 { font-size: clamp(1.4rem, 4vw, 1.95rem); }
  .smart-home-map__kicker,
  .smart-home-map__label { color: var(--tech-deep); font-size: .69rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
  .smart-home-map__sources,
  .smart-home-map__host > div { display: grid; gap: .75rem; }
  .smart-home-map__card,
  .smart-home-map__service { min-width: 0; padding: .9rem; border: 1px solid var(--map-border); background: #f8fbf9; }
  .smart-home-map__card > p:last-child,
  .smart-home-map__service > p:last-child { margin-top: .4rem; color: #405154; font-size: .8rem; }
  .smart-home-map__data { display: grid; place-items: center; gap: .15rem; padding: .55rem 0; color: var(--tech-deep); font-size: .72rem; font-weight: 700; text-align: center; text-transform: uppercase; }
  .smart-home-map__data b { font-size: 1rem; font-weight: 400; }
  .smart-home-map__host { min-width: 0; padding: .9rem; border: 2px solid var(--tech-deep); background: #d6e7e4; }
  .smart-home-map__host > header { margin-bottom: .75rem; }
  .smart-home-map__commands { display: grid; gap: .45rem; margin-top: .75rem; }
  .smart-home-map__commands p { padding: .65rem .75rem; border-left: 4px solid var(--tech); background: #f8fbf9; }
  .smart-home-map figcaption { margin-top: .9rem; color: var(--muted); font-size: .74rem; line-height: 1.5; }
  @media (min-width: 620px) {
    .smart-home-map__sources,
    .smart-home-map__host > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media print {
    .smart-home-map { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  }

.article-content .article-result-photo .article-figure-fullsize,
.article-content .article-result-photo img { width: 100%; }
