/* Device illustrations and the public Smart Campus entry point. */
.iot-home-showcase { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 32px 44px; align-items: center; }
.iot-home-copy h2 { margin: 14px 0 20px; color: var(--navy-950); font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.08; letter-spacing: -.035em; }
.iot-home-copy > p { color: var(--slate-600); line-height: 1.75; }
.iot-device-labels { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.iot-device-labels span { padding: 8px 11px; border: 1px solid #b6d7ee; border-radius: 999px; background: #eff9ff; color: #164d73; font-size: .78rem; font-weight: 800; }
.iot-home-visual { overflow: hidden; margin: 0; border: 1px solid #d0e7f5; border-radius: 28px; background: #eef9ff; box-shadow: 0 24px 65px rgba(7, 31, 64, .13); }
.iot-home-visual img { display: block; width: 100%; height: auto; }
.iot-home-visual figcaption { padding: 15px 20px; background: #082b52; color: #e4f5ff; font-size: .84rem; line-height: 1.5; }
.iot-home-copy .iot-illustration-note { margin-top: 18px; font-size: .8rem; line-height: 1.6; }
.iot-home-paths { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.iot-home-paths a { display: grid; gap: 9px; padding: 22px; border: 1px solid #cce0ef; border-radius: 20px; background: #f7fcff; text-decoration: none; }
.iot-home-paths a:hover { border-color: #087d9d; background: #edfaff; }
.iot-home-paths strong { color: #0a3168; font-size: 1.1rem; }
.iot-home-paths span { color: #46647b; font-size: .88rem; line-height: 1.55; }

/* Let the architectural artwork carry colour; the reading surfaces stay neutral. */
main .campus-ecosystem-card,
main .iot-home-visual,
main .smart-campus-hero-visual {
  border: 1px solid #dedfda;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}
main .campus-ecosystem-card figcaption,
main .iot-home-visual figcaption,
main .smart-campus-hero-visual figcaption {
  position: static;
  max-width: none;
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(183, 212, 238, .2);
  border-radius: 0;
  padding: 18px 22px;
  color: #5c625e;
  background: #f6f6f3;
  box-shadow: none;
  backdrop-filter: none;
}
main .campus-ecosystem-card figcaption strong,
main .smart-campus-hero-visual figcaption strong { color: #272c29; }
main .campus-ecosystem-card .command-kicker { color: #315c50; }

@media screen {
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero, .smart-campus-evidence) {
    color: #272c29; background: #fff; border-block: 1px solid #dedfda; border-radius: 0; box-shadow: none;
  }
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero) { min-height: 0; padding-block: clamp(40px, 5vw, 76px); }
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero) h1 { color: #272c29; font-weight: 500; }
  .smart-campus-page :is(.smart-campus-hero-copy, .smart-campus-detail-hero > div, .smart-campus-evidence > div) > p,
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero) .breadcrumb,
  .smart-campus-page .smart-campus-evidence li span { color: #5c625e; }
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero, .smart-campus-evidence) .eyebrow,
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero) .breadcrumb a { color: #315c50; }
  .smart-campus-page :is(.smart-campus-hero, .smart-campus-detail-hero) .button-secondary { color: #272c29; border-color: #c9cec9; background: #fff; }
  .smart-campus-page .smart-campus-principles li { padding: 16px 0; border: 0; border-top: 1px solid #dedfda; border-radius: 0; background: none; backdrop-filter: none; }
  .smart-campus-page .smart-campus-principles strong,
  .smart-campus-page .smart-campus-evidence :is(h2, li strong) { color: #272c29; }
  .smart-campus-page .smart-campus-principles span { color: #5c625e; font-size: .875rem; }
  .smart-campus-page :is(.smart-campus-detail-hero figure, .smart-campus-classroom figure) { border-color: #dedfda; border-radius: 4px; background: #fff; box-shadow: none; }
  .smart-campus-page .smart-campus-detail-hero figcaption { color: #5c625e; background: #f6f6f3; }
  .smart-campus-page :is(.smart-campus-evidence li, .smart-campus-workflow-grid article, .smart-campus-detail-grid > article, .smart-problem-grid > article, .smart-campus-scope-grid > article, .smart-campus-next-grid a) { border: 1px solid #dedfda; border-radius: 4px; background: #fff; box-shadow: none; }
  .smart-campus-page .smart-problem-grid > article::after { display: none; }
  .smart-campus-page .smart-campus-next-grid a:hover { transform: none; box-shadow: none; border-color: #315c50; }
  .smart-campus-page .smart-campus-value-strip { margin-top: 24px; border-color: #dedfda; border-radius: 4px; background: #dedfda; box-shadow: none; }
  .smart-campus-page .smart-campus-local-nav a { color: #424943; border-color: #dedfda; border-radius: 4px; background: #fff; }
  .smart-campus-page .smart-campus-local-nav a[aria-current="page"] { color: #272c29; border-color: #272c29; background: #f4f5f1; }
}

@media (max-width: 1000px) { .iot-home-showcase { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .iot-home-paths { grid-template-columns: minmax(0, 1fr); } }
