@charset "UTF-8";

/* Shared lower-page layout primitives (TOP CSS already supplies foundation/header/footer/contact). */
.nic-r-section--white { background: var(--nic-r-color-white); }
.nic-r-section--beige { background: var(--nic-r-color-beige); }
.nic-r-section--blue-soft { background: var(--nic-r-color-blue-soft); }
.nic-r-section-label { display:flex; align-items:center; gap:16px; margin-bottom:38px; color:var(--nic-r-color-red); font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.nic-r-section-label::before { content:""; flex:0 0 28px; width:28px; height:2px; background:currentColor; }
.nic-r-section-heading { font-size:clamp(38px,2.55vw,50px); font-weight:600; line-height:1.48; letter-spacing:.045em; }
.nic-r-split-heading { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(50px,8vw,150px); align-items:start; }
.nic-r-breadcrumb { padding-top:54px; color:#9a9e9f; font-size:12px; letter-spacing:.06em; }
.nic-r-breadcrumb ol { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.nic-r-breadcrumb li:not(:last-child)::after { content:">"; margin-left:7px; color:#b4b7b8; }
.nic-r-breadcrumb a:hover,.nic-r-breadcrumb a:focus-visible { color:var(--nic-r-color-ink); }
.nic-r-page-hero { min-height:810px; border-bottom:1px solid var(--nic-r-color-soft-line); }
.nic-r-page-hero__inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(600px,1.1fr); gap:clamp(50px,6vw,110px); align-items:center; min-height:690px; padding:38px 0 70px; }
.nic-r-page-hero__title { font-size:clamp(44px,3vw,58px); font-weight:600; line-height:1.35; }
.nic-r-page-hero__description { margin-top:26px !important; color:var(--nic-r-color-muted); font-size:15px; }

.nic-renewal--sustainability .nic-sus-hero__photo,
.nic-renewal--sustainability .nic-sus-philosophy__photo { margin:0; overflow:hidden; background:#eef1f2; }
.nic-renewal--sustainability .nic-sus-hero__photo > img,
.nic-renewal--sustainability .nic-sus-philosophy__photo > img { width:100%; height:100%; object-fit:cover; }
.nic-renewal--sustainability .nic-sus-diagram-icon { width:58px; height:58px; margin-bottom:14px; }

@media (max-width:1200px) {
  .nic-r-page-hero__inner { grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); gap:36px; }
}
@media (max-width:900px) {
  .nic-r-section-label { margin-bottom:26px; }
  .nic-r-section-heading { font-size:clamp(32px,5.5vw,44px); }
  .nic-r-split-heading { grid-template-columns:minmax(0,1fr); gap:28px; }
  .nic-r-breadcrumb { padding-top:32px; }
  .nic-r-page-hero { min-height:0; }
  .nic-r-page-hero__inner { grid-template-columns:minmax(0,1fr); min-height:0; padding:52px 0 76px; }
  .nic-r-page-hero__visual { order:2; }
}
@media (max-width:600px) {
  .nic-r-section-label { gap:11px; margin-bottom:20px; font-size:10px; }
  .nic-r-section-label::before { flex-basis:20px; width:20px; }
  .nic-r-section-heading { font-size:clamp(28px,8vw,36px); line-height:1.5; }
  .nic-r-breadcrumb { padding-top:22px; font-size:11px; }
  .nic-r-page-hero__inner { gap:42px; padding:42px 0 58px; }
  .nic-r-page-hero__title { font-size:clamp(34px,10vw,44px); }
  .nic-r-page-hero__description { font-size:14px; line-height:1.85; }
}

@charset "UTF-8";

.nic-renewal--building-maintenance .nic-r-section-heading {
  font-size: clamp(34px, 2.05vw, 40px);
  line-height: 1.42;
}

.nic-renewal--building-maintenance .nic-bm-hero {
  min-height: 575px;
}

.nic-renewal--building-maintenance .nic-bm-hero .nic-r-page-hero__inner {
  min-height: 455px;
  padding-bottom: 42px;
}

.nic-renewal--building-maintenance .nic-bm-hero .nic-r-page-hero__title {
  font-size: clamp(34px, 2.15vw, 42px);
}

.nic-renewal--building-maintenance .nic-bm-hero .nic-r-page-hero__lead {
  margin-top: 38px !important;
  font-size: clamp(34px, 2.25vw, 44px);
}

/* Page hero */
.nic-renewal--building-maintenance .nic-bm-hero__collage {
  position: relative;
  height: 440px;
}

.nic-renewal--building-maintenance .nic-bm-hero__photo {
  position: absolute;
}

.nic-renewal--building-maintenance .nic-bm-hero__photo--large {
  top: 0;
  left: 0;
  width: 57%;
  height: 68%;
}

.nic-renewal--building-maintenance .nic-bm-hero__photo--upper {
  top: 7%;
  right: 0;
  width: 38%;
  height: 38%;
}

.nic-renewal--building-maintenance .nic-bm-hero__photo--lower {
  right: 7%;
  bottom: 0;
  width: 31%;
  height: 43%;
}

.nic-renewal--building-maintenance .nic-bm-hero__photo--wide {
  bottom: 2%;
  left: 8%;
  width: 43%;
  height: 27%;
}

/* Large facilities */
.nic-renewal--building-maintenance .nic-bm-large {
  padding: 42px 0 43px;
}

.nic-renewal--building-maintenance .nic-bm-large__lead p + p,
.nic-renewal--building-maintenance .nic-bm-communication__intro p + p,
.nic-renewal--building-maintenance .nic-bm-flow__heading p + p {
  margin-top: 24px;
}

.nic-renewal--building-maintenance .nic-bm-facility-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 35px;
  border-top: 1px solid var(--nic-r-color-line);
  border-bottom: 1px solid var(--nic-r-color-line);
}

.nic-renewal--building-maintenance .nic-bm-facility-card {
  min-height: 160px;
  padding: 20px 28px 18px;
  text-align: center;
}

.nic-renewal--building-maintenance .nic-bm-facility-card + .nic-bm-facility-card {
  border-left: 1px solid var(--nic-r-color-line);
}

.nic-renewal--building-maintenance .nic-bm-icon-placeholder {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-inline: auto;
  border: 1px solid #aeb8bc;
  border-radius: 50%;
  color: #77858a;
}

.nic-renewal--building-maintenance .nic-bm-icon-placeholder span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.nic-renewal--building-maintenance .nic-bm-facility-card h3 {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 600;
}

.nic-renewal--building-maintenance .nic-bm-facility-card p {
  margin-top: 6px;
  color: var(--nic-r-color-muted);
  font-size: 13px;
  line-height: 1.85;
}

/* Communication maintenance */
.nic-renewal--building-maintenance .nic-bm-communication {
  padding: 122px 0 118px;
}

.nic-renewal--building-maintenance .nic-bm-communication__definition {
  margin-bottom: 30px;
  color: var(--nic-r-color-blue);
  font-size: 22px;
  font-weight: 700;
}

.nic-renewal--building-maintenance .nic-bm-communication__definition span {
  display: inline-block;
  margin-inline: 12px;
  color: var(--nic-r-color-red);
}

.nic-renewal--building-maintenance .nic-bm-communication__diagram {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 760px);
  margin: 50px 0 0 auto;
  padding: 30px 36px;
  border: 1px solid #dedbd5;
  background: rgba(255,255,255,.45);
}

.nic-renewal--building-maintenance .nic-bm-role-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 76px 180px 1fr;
  gap: 20px;
  align-items: center;
  min-height: 110px;
  padding: 16px 22px;
  border: 1px solid #cbd5da;
  background: rgba(255,255,255,.76);
  text-align: left;
}

.nic-renewal--building-maintenance .nic-bm-role-card__icon {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin-inline: auto;
  border: 1px solid #9eb0b8;
  border-radius: 50%;
  color: var(--nic-r-color-blue);
}

.nic-renewal--building-maintenance .nic-bm-role-card__icon span {
  font-size: 13px;
  font-weight: 700;
}

.nic-renewal--building-maintenance .nic-bm-role-card h3 {
  margin-top: 0;
  color: var(--nic-r-color-blue);
  font-size: 18px;
  font-weight: 700;
}

.nic-renewal--building-maintenance .nic-bm-role-card p {
  margin-top: 0;
  color: #5e686c;
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
}

.nic-renewal--building-maintenance .nic-bm-connector {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 24px;
  background: transparent;
}

.nic-renewal--building-maintenance .nic-bm-connector::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 55px;
  width: 1px;
  background: #81959d;
}

.nic-renewal--building-maintenance .nic-bm-connector::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 51px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #81959d;
  border-bottom: 1px solid #81959d;
  transform: rotate(45deg);
}

.nic-renewal--building-maintenance .nic-bm-connector span {
  position: absolute;
  top: 2px;
  bottom: auto;
  left: 77px;
  width: auto;
  color: #65777e;
  font-size: 10px;
  font-weight: 600;
  text-align: left;
  transform: none;
}

.nic-renewal--building-maintenance .nic-bm-communication__note {
  width: min(100%, 820px);
  margin: 34px 0 0 auto;
  padding: 22px 32px;
  border-top: 1px solid #aebcc2;
  border-bottom: 1px solid #aebcc2;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}

/* Facility cases */
.nic-renewal--building-maintenance .nic-bm-case {
  padding: 110px 0;
}

.nic-renewal--building-maintenance .nic-bm-case--hospital {
  padding-block: 125px;
}

.nic-renewal--building-maintenance .nic-bm-case--university {
  padding-block: 95px;
}

.nic-renewal--building-maintenance .nic-bm-case__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(540px, .98fr);
  gap: clamp(65px, 7vw, 130px);
  align-items: start;
}

.nic-renewal--building-maintenance .nic-bm-case--hospital .nic-bm-case__visual {
  order: 2;
}

.nic-renewal--building-maintenance .nic-bm-case__visual {
  position: relative;
  width: 100%;
  min-height: 530px;
}

.nic-renewal--building-maintenance .nic-bm-case__photo {
  position: absolute;
}

.nic-renewal--building-maintenance .nic-bm-case__photo--main {
  top: 0;
  right: 0;
  width: 77%;
  aspect-ratio: 1.15;
}

.nic-renewal--building-maintenance .nic-bm-case__photo--detail {
  bottom: 0;
  left: 0;
  width: 42%;
  aspect-ratio: 1.15;
  box-shadow: 0 0 0 12px var(--nic-r-color-white);
}

.nic-renewal--building-maintenance .nic-bm-case--university .nic-bm-case__photo--main {
  right: auto;
  left: 0;
}

.nic-renewal--building-maintenance .nic-bm-case--university .nic-bm-case__photo--detail {
  right: 0;
  left: auto;
  box-shadow: 0 0 0 12px var(--nic-r-color-blue-soft);
}

.nic-renewal--building-maintenance .nic-bm-case__content .nic-r-section-lead {
  margin-top: 38px;
}

.nic-renewal--building-maintenance .nic-bm-check-list {
  display: grid;
  gap: 12px;
  margin-top: 36px;
}

.nic-renewal--building-maintenance .nic-bm-check-list li {
  position: relative;
  padding-left: 29px;
  color: #4f5558;
  font-size: 14px;
}

.nic-renewal--building-maintenance .nic-bm-check-list li::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 2px;
  width: 13px;
  height: 7px;
  border-bottom: 2px solid var(--nic-r-color-red);
  border-left: 2px solid var(--nic-r-color-red);
  transform: rotate(-45deg);
}

.nic-renewal--building-maintenance .nic-bm-cert-summary {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 22px;
  align-items: center;
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--nic-r-color-line);
}

.nic-renewal--building-maintenance .nic-bm-cert-summary__mark {
  width: 82px;
  height: 82px;
  font-size: 10px;
}

.nic-renewal--building-maintenance .nic-bm-cert-summary strong {
  font-size: 15px;
}

.nic-renewal--building-maintenance .nic-bm-cert-summary p {
  margin-top: 5px;
  color: var(--nic-r-color-muted);
  font-size: 12px;
  line-height: 1.7;
}

.nic-renewal--building-maintenance .nic-bm-case .nic-r-button {
  margin-top: 38px;
}

/* Services */
.nic-renewal--building-maintenance .nic-bm-services {
  padding: 69px 0 70px;
}

.nic-renewal--building-maintenance .nic-bm-services__heading {
  padding-bottom: 44px;
}

.nic-renewal--building-maintenance .nic-bm-service-list {
  border-top: 1px solid var(--nic-r-color-ink);
}

.nic-renewal--building-maintenance .nic-bm-service-item {
  display: grid;
  grid-template-columns: .9fr 1.2fr 1fr;
  gap: 64px;
  align-items: start;
  min-height: 124px;
  padding: 26px 0 24px;
  border-bottom: 1px solid var(--nic-r-color-line);
}

.nic-renewal--building-maintenance .nic-bm-service-item__title > span {
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: 14px;
}

.nic-renewal--building-maintenance .nic-bm-service-item__title h3 {
  margin-top: 11px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.55;
}

.nic-renewal--building-maintenance .nic-bm-service-item__title strong {
  display: block;
  margin-top: 9px;
  color: var(--nic-r-color-red);
  font-size: 13px;
}

.nic-renewal--building-maintenance .nic-bm-service-item > p {
  color: var(--nic-r-color-muted);
  font-size: 14px;
  line-height: 1.9;
}

.nic-renewal--building-maintenance .nic-bm-service-item > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.nic-renewal--building-maintenance .nic-bm-service-item > ul li {
  padding: 7px 13px;
  border: 1px solid var(--nic-r-color-line);
  border-radius: 2px;
  background: #fafafa;
  font-size: 12px;
}

.nic-renewal--building-maintenance .nic-bm-service-item--primary {
  min-height: 188px;
  padding-inline: 18px;
  background: #faf8f4;
}

.nic-renewal--building-maintenance .nic-bm-services__note {
  margin-top: 20px;
  color: var(--nic-r-color-muted);
  font-size: 13px;
  text-align: right;
}

/* Certifications */
.nic-renewal--building-maintenance .nic-bm-certifications {
  padding: 13px 0 14px;
}

.nic-renewal--building-maintenance .nic-bm-certifications__featured {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  margin-top: 26px;
}

.nic-renewal--building-maintenance .nic-bm-featured-card {
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 26px;
  align-items: center;
  min-height: 122px;
  padding: 20px 24px;
  border-top: 1px solid #c8c4bd;
  border-bottom: 1px solid #c8c4bd;
  background: transparent;
}

.nic-renewal--building-maintenance .nic-bm-featured-card__mark {
  width: 98px;
  height: 98px;
}

.nic-renewal--building-maintenance .nic-bm-kicker {
  color: var(--nic-r-color-blue);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.nic-renewal--building-maintenance .nic-bm-featured-card h3 {
  margin-top: 7px;
  font-size: 16px;
  line-height: 1.65;
}

.nic-renewal--building-maintenance .nic-bm-featured-card h3 + p {
  margin-top: 8px;
  color: var(--nic-r-color-muted);
  font-size: 13px;
  line-height: 1.8;
}

.nic-renewal--building-maintenance .nic-bm-award-rank strong {
  display: block;
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: 28px;
}

.nic-renewal--building-maintenance .nic-bm-award-rank span {
  display: block;
  font-size: 10px;
}

.nic-renewal--building-maintenance .nic-bm-management-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid #c5d0d4;
  border-bottom: 1px solid #c5d0d4;
}

.nic-renewal--building-maintenance .nic-bm-management-grid article {
  min-height: 178px;
  padding: 24px 34px 22px;
  text-align: center;
}

.nic-renewal--building-maintenance .nic-bm-management-grid article + article {
  border-left: 1px solid #c5d0d4;
}

.nic-renewal--building-maintenance .nic-bm-management-grid .nic-bm-icon-placeholder {
  width: 44px;
  height: 44px;
}

.nic-renewal--building-maintenance .nic-bm-management-grid .nic-bm-kicker {
  margin-top: 9px;
}

.nic-renewal--building-maintenance .nic-bm-management-grid h3 {
  margin-top: 5px;
  font-size: 15px;
  line-height: 1.65;
}

.nic-renewal--building-maintenance .nic-bm-management-grid h3 + p {
  margin-top: 8px;
  color: var(--nic-r-color-muted);
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
}

/* Flow */
.nic-renewal--building-maintenance .nic-bm-flow {
  padding: 66px 0 60px;
}

.nic-renewal--building-maintenance .nic-bm-flow__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 110px;
  align-items: start;
}

.nic-renewal--building-maintenance .nic-bm-flow-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 38px;
}

.nic-renewal--building-maintenance .nic-bm-flow-list li {
  position: relative;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 21px;
  min-height: 104px;
  padding: 17px 0;
}

.nic-renewal--building-maintenance .nic-bm-flow-list li + li {
  border-top: 1px solid var(--nic-r-color-soft-line);
}

.nic-renewal--building-maintenance .nic-bm-flow-list li > span {
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: 17px;
}

.nic-renewal--building-maintenance .nic-bm-flow-list h3 {
  font-size: 18px;
  line-height: 1.6;
}

.nic-renewal--building-maintenance .nic-bm-flow-list p {
  margin-top: 6px;
  color: var(--nic-r-color-muted);
  font-size: 13px;
  line-height: 1.8;
}

.nic-renewal--building-maintenance .nic-bm-flow__overview {
  padding-top: 70px;
}

.nic-renewal--building-maintenance .nic-bm-flow__photo {
  width: 100%;
  margin-top: 52px;
  aspect-ratio: 1.42;
}

.nic-renewal--building-maintenance .nic-bm-flow__contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-top: 30px;
  padding: 22px 32px;
  background: var(--nic-r-color-beige);
}

.nic-renewal--building-maintenance .nic-bm-flow__contact p {
  color: var(--nic-r-color-muted);
  font-size: 13px;
}

@media (max-width: 1200px) {
  .nic-renewal--building-maintenance .nic-bm-hero__collage { height: 510px; }
  .nic-renewal--building-maintenance .nic-bm-communication__diagram { gap: 32px; }
  .nic-renewal--building-maintenance .nic-bm-case__grid { grid-template-columns: minmax(0, 1fr) minmax(480px, 1fr); gap: 55px; }
  .nic-renewal--building-maintenance .nic-bm-service-item { gap: 38px; }
  .nic-renewal--building-maintenance .nic-bm-featured-card { grid-template-columns: 140px 1fr; padding: 32px; }
  .nic-renewal--building-maintenance .nic-bm-featured-card__mark { width: 140px; height: 140px; }
  .nic-renewal--building-maintenance .nic-bm-management-grid article { padding-inline: 32px; }
  .nic-renewal--building-maintenance .nic-bm-flow-list li { padding-inline: 28px; }
}

@media (max-width: 900px) {
  .nic-renewal--building-maintenance .nic-bm-hero__collage { height: min(66vw, 540px); }
  .nic-renewal--building-maintenance .nic-bm-large,
  .nic-renewal--building-maintenance .nic-bm-communication,
  .nic-renewal--building-maintenance .nic-bm-case,
  .nic-renewal--building-maintenance .nic-bm-services,
  .nic-renewal--building-maintenance .nic-bm-certifications,
  .nic-renewal--building-maintenance .nic-bm-flow { padding: 96px 0; }
  .nic-renewal--building-maintenance .nic-bm-facility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 64px; }
  .nic-renewal--building-maintenance .nic-bm-facility-card:nth-child(3) { border-left: 0; }
  .nic-renewal--building-maintenance .nic-bm-facility-card:nth-child(n + 3) { border-top: 1px solid var(--nic-r-color-line); }
  .nic-renewal--building-maintenance .nic-bm-communication__diagram { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 70px; }
  .nic-renewal--building-maintenance .nic-bm-connector { display: none; }
  .nic-renewal--building-maintenance .nic-bm-role-card { min-height: 310px; }
  .nic-renewal--building-maintenance .nic-bm-case__grid { grid-template-columns: minmax(0, 1fr); gap: 55px; }
  .nic-renewal--building-maintenance .nic-bm-case--university .nic-bm-case__photo { order: 0; }
  .nic-renewal--building-maintenance .nic-bm-case__photo { aspect-ratio: 1.65; }
  .nic-renewal--building-maintenance .nic-bm-service-item { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 28px 44px; }
  .nic-renewal--building-maintenance .nic-bm-service-item > ul { grid-column: 2; }
  .nic-renewal--building-maintenance .nic-bm-certifications__featured { grid-template-columns: minmax(0, 1fr); margin-top: 64px; }
  .nic-renewal--building-maintenance .nic-bm-management-grid { grid-template-columns: minmax(0, 1fr); }
  .nic-renewal--building-maintenance .nic-bm-management-grid article { min-height: 0; padding: 42px; }
  .nic-renewal--building-maintenance .nic-bm-management-grid article + article { border-top: 1px solid #c5d0d4; border-left: 0; }
  .nic-renewal--building-maintenance .nic-bm-flow-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nic-renewal--building-maintenance .nic-bm-flow-list li:not(:nth-child(3n + 1)) { border-left: 0; }
  .nic-renewal--building-maintenance .nic-bm-flow-list li:nth-child(even) { border-left: 1px solid var(--nic-r-color-line); }
  .nic-renewal--building-maintenance .nic-bm-flow__contact { flex-direction: column; align-items: stretch; }
  .nic-renewal--building-maintenance .nic-bm-flow__contact .nic-r-button { width: 100%; }
}

@media (max-width: 600px) {
  .nic-renewal--building-maintenance .nic-bm-hero__collage { height: 335px; }
  .nic-renewal--building-maintenance .nic-bm-hero__photo--large { width: 60%; height: 63%; }
  .nic-renewal--building-maintenance .nic-bm-hero__photo--upper { width: 36%; height: 35%; }
  .nic-renewal--building-maintenance .nic-bm-hero__photo--lower { right: 2%; width: 35%; height: 43%; }
  .nic-renewal--building-maintenance .nic-bm-hero__photo--wide { left: 6%; width: 50%; height: 28%; }
  .nic-renewal--building-maintenance .nic-bm-large,
  .nic-renewal--building-maintenance .nic-bm-communication,
  .nic-renewal--building-maintenance .nic-bm-case,
  .nic-renewal--building-maintenance .nic-bm-services,
  .nic-renewal--building-maintenance .nic-bm-certifications,
  .nic-renewal--building-maintenance .nic-bm-flow { padding: 68px 0; }
  .nic-renewal--building-maintenance .nic-bm-facility-grid { margin-top: 46px; }
  .nic-renewal--building-maintenance .nic-bm-facility-card { min-height: 252px; padding: 34px 14px 28px; }
  .nic-renewal--building-maintenance .nic-bm-icon-placeholder { width: 60px; height: 60px; }
  .nic-renewal--building-maintenance .nic-bm-facility-card h3 { margin-top: 20px; font-size: 15px; line-height: 1.55; }
  .nic-renewal--building-maintenance .nic-bm-facility-card p { font-size: 12px; line-height: 1.75; }
  .nic-renewal--building-maintenance .nic-bm-communication__definition { font-size: 17px; line-height: 1.7; }
  .nic-renewal--building-maintenance .nic-bm-communication__definition span { margin-inline: 5px; }
  .nic-renewal--building-maintenance .nic-bm-communication__diagram { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 48px; }
  .nic-renewal--building-maintenance .nic-bm-role-card { display: grid; grid-template-columns: 76px 1fr; gap: 7px 20px; align-items: center; min-height: 0; padding: 24px 20px; text-align: left; }
  .nic-renewal--building-maintenance .nic-bm-role-card__icon { grid-row: 1 / 3; width: 76px; height: 76px; }
  .nic-renewal--building-maintenance .nic-bm-role-card h3 { margin-top: 0; font-size: 16px; }
  .nic-renewal--building-maintenance .nic-bm-role-card p { margin-top: 0; font-size: 12px; }
  .nic-renewal--building-maintenance .nic-bm-communication__note { margin-top: 38px; padding-inline: 8px; font-size: 13px; }
  .nic-renewal--building-maintenance .nic-bm-case__grid { gap: 38px; }
  .nic-renewal--building-maintenance .nic-bm-case__photo { aspect-ratio: 1.42; }
  .nic-renewal--building-maintenance .nic-bm-case__content .nic-r-section-lead { margin-top: 26px; }
  .nic-renewal--building-maintenance .nic-bm-check-list { margin-top: 26px; }
  .nic-renewal--building-maintenance .nic-bm-check-list li { padding-left: 25px; font-size: 13px; line-height: 1.7; }
  .nic-renewal--building-maintenance .nic-bm-cert-summary { grid-template-columns: 68px 1fr; gap: 16px; margin-top: 28px; padding-top: 24px; }
  .nic-renewal--building-maintenance .nic-bm-cert-summary__mark { width: 68px; height: 68px; }
  .nic-renewal--building-maintenance .nic-bm-case .nic-r-button { margin-top: 30px; }
  .nic-renewal--building-maintenance .nic-bm-services__heading,
  .nic-renewal--building-maintenance .nic-bm-flow__heading { padding-bottom: 48px; }
  .nic-renewal--building-maintenance .nic-bm-service-item { grid-template-columns: minmax(0, 1fr); gap: 20px; min-height: 0; padding: 34px 0; }
  .nic-renewal--building-maintenance .nic-bm-service-item > ul { grid-column: auto; }
  .nic-renewal--building-maintenance .nic-bm-service-item__title h3 { font-size: 20px; }
  .nic-renewal--building-maintenance .nic-bm-service-item > p { font-size: 14px; }
  .nic-renewal--building-maintenance .nic-bm-services__note { margin-top: 28px; line-height: 1.75; text-align: left; }
  .nic-renewal--building-maintenance .nic-bm-certifications__featured { margin-top: 48px; }
  .nic-renewal--building-maintenance .nic-bm-featured-card { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 22px; text-align: center; }
  .nic-renewal--building-maintenance .nic-bm-featured-card__mark { width: 138px; height: 138px; margin-inline: auto; }
  .nic-renewal--building-maintenance .nic-bm-management-grid { margin-top: 38px; }
  .nic-renewal--building-maintenance .nic-bm-management-grid article { padding: 36px 22px; }
  .nic-renewal--building-maintenance .nic-bm-management-grid h3 + p { font-size: 13px; }
  .nic-renewal--building-maintenance .nic-bm-flow-list { grid-template-columns: minmax(0, 1fr); }
  .nic-renewal--building-maintenance .nic-bm-flow-list li { grid-template-columns: 42px 1fr; gap: 14px; min-height: 0; padding: 30px 6px; }
  .nic-renewal--building-maintenance .nic-bm-flow-list li:nth-child(even) { border-left: 0; }
  .nic-renewal--building-maintenance .nic-bm-flow-list h3 { font-size: 16px; }
  .nic-renewal--building-maintenance .nic-bm-flow-list p { font-size: 13px; }
  .nic-renewal--building-maintenance .nic-bm-flow__contact { gap: 24px; margin-top: 40px; padding: 28px 20px; }
}

/* Responsive refinements */
@media (max-width: 900px) {
  .nic-renewal--building-maintenance .nic-r-section-heading {
    font-size: clamp(30px, 5.2vw, 40px);
  }

  .nic-renewal--building-maintenance .nic-bm-communication__diagram {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: 100%;
    margin-top: 58px;
    padding: 28px;
  }

  .nic-renewal--building-maintenance .nic-bm-connector {
    display: block;
  }

  .nic-renewal--building-maintenance .nic-bm-role-card {
    grid-template-columns: 76px 180px 1fr;
    min-height: 110px;
  }

  .nic-renewal--building-maintenance .nic-bm-case__visual {
    order: 0 !important;
    min-height: 460px;
  }

  .nic-renewal--building-maintenance .nic-bm-case__photo--main {
    width: 74%;
  }

  .nic-renewal--building-maintenance .nic-bm-case__photo--detail {
    width: 39%;
  }

  .nic-renewal--building-maintenance .nic-bm-flow__main {
    grid-template-columns: minmax(0, 1fr);
    gap: 54px;
  }

  .nic-renewal--building-maintenance .nic-bm-flow-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .nic-renewal--building-maintenance .nic-bm-flow-list li,
  .nic-renewal--building-maintenance .nic-bm-flow-list li:nth-child(even) {
    border-left: 0;
  }

  .nic-renewal--building-maintenance .nic-bm-flow__overview {
    padding-top: 0;
  }

  .nic-renewal--building-maintenance .nic-bm-flow__photo {
    margin-top: 34px;
  }
}

@media (max-width: 600px) {
  .nic-renewal--building-maintenance .nic-bm-hero,
  .nic-renewal--building-maintenance .nic-bm-hero .nic-r-page-hero__inner {
    min-height: 0;
  }

  .nic-renewal--building-maintenance .nic-bm-hero .nic-r-page-hero__title {
    font-size: clamp(31px, 8.4vw, 37px);
  }

  .nic-renewal--building-maintenance .nic-bm-hero .nic-r-page-hero__lead {
    font-size: clamp(26px, 7vw, 32px);
  }

  .nic-renewal--building-maintenance .nic-r-section-heading {
    font-size: clamp(27px, 7.4vw, 33px);
  }

  .nic-renewal--building-maintenance .nic-bm-facility-card {
    min-height: 232px;
    padding: 30px 12px 26px;
  }

  .nic-renewal--building-maintenance .nic-bm-facility-card p,
  .nic-renewal--building-maintenance .nic-bm-role-card p,
  .nic-renewal--building-maintenance .nic-bm-check-list li,
  .nic-renewal--building-maintenance .nic-bm-cert-summary p,
  .nic-renewal--building-maintenance .nic-bm-featured-card h3 + p,
  .nic-renewal--building-maintenance .nic-bm-management-grid h3 + p,
  .nic-renewal--building-maintenance .nic-bm-flow-list p {
    font-size: 14px;
  }

  .nic-renewal--building-maintenance .nic-bm-communication__diagram {
    gap: 0;
    margin-top: 44px;
    padding: 18px;
  }

  .nic-renewal--building-maintenance .nic-bm-role-card {
    grid-template-columns: 68px 1fr;
    gap: 8px 17px;
    padding: 20px 16px;
  }

  .nic-renewal--building-maintenance .nic-bm-role-card__icon {
    width: 68px;
    height: 68px;
  }

  .nic-renewal--building-maintenance .nic-bm-connector::before {
    left: 49px;
  }

  .nic-renewal--building-maintenance .nic-bm-connector::after {
    left: 45px;
  }

  .nic-renewal--building-maintenance .nic-bm-connector span {
    left: 68px;
  }

  .nic-renewal--building-maintenance .nic-bm-case__visual {
    min-height: 295px;
  }

  .nic-renewal--building-maintenance .nic-bm-case__photo--detail {
    box-shadow: 0 0 0 7px var(--nic-r-color-white);
  }

  .nic-renewal--building-maintenance .nic-bm-case--university .nic-bm-case__photo--detail {
    box-shadow: 0 0 0 7px var(--nic-r-color-blue-soft);
  }

  .nic-renewal--building-maintenance .nic-bm-flow__main {
    gap: 42px;
  }

  .nic-renewal--building-maintenance .nic-bm-flow-list li {
    padding-block: 24px;
  }
}


/* WordPress preview image replacements */
.nic-renewal--building-maintenance :where(.nic-bm-hero__photo,.nic-bm-case__photo,.nic-bm-flow__photo){margin:0;overflow:hidden;background:#eef1f2;}
.nic-renewal--building-maintenance :where(.nic-bm-hero__photo,.nic-bm-case__photo,.nic-bm-flow__photo)>img{display:block;width:100%;height:100%;object-fit:cover;}
.nic-renewal--building-maintenance .nic-bm-icon-placeholder .nic-r-svg-icon{width:30px;height:30px;}
.nic-renewal--building-maintenance .nic-bm-flow__photo{min-height:260px;}
.nic-renewal--building-maintenance .nic-bm-flow__photo>img{aspect-ratio:1.45;}
@media (max-width:600px){.nic-renewal--building-maintenance .nic-bm-flow__photo{min-height:0;}.nic-renewal--building-maintenance .nic-bm-flow__photo>img{aspect-ratio:1.45;}}

/* ===== FB revision 2026-08-29: origin / medical quality / specific-many / workforce ===== */
.nic-renewal--building-maintenance .nic-bm-origin {
  padding: 112px 0 118px;
}
.nic-renewal--building-maintenance .nic-bm-origin__grid {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(520px,1.08fr);
  gap: clamp(70px,8vw,145px);
  align-items: center;
}
.nic-renewal--building-maintenance .nic-bm-origin__year {
  margin: -10px 0 24px;
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: clamp(46px,4.5vw,78px);
  line-height: 1;
  letter-spacing: .02em;
}
.nic-renewal--building-maintenance .nic-bm-origin__lead {
  margin-top: 38px;
}
.nic-renewal--building-maintenance .nic-bm-origin__lead p + p {
  margin-top: 18px;
}
.nic-renewal--building-maintenance .nic-bm-origin__visual {
  margin: 0;
}
.nic-renewal--building-maintenance .nic-bm-origin__visual img {
  display: block;
  width: 100%;
  aspect-ratio: 1.42;
  object-fit: cover;
}
.nic-renewal--building-maintenance .nic-bm-origin__visual figcaption {
  margin-top: 16px;
  color: var(--nic-r-color-muted);
  font-size: 12px;
  line-height: 1.8;
}

.nic-renewal--building-maintenance .nic-bm-medical-mark {
  padding: 96px 0 104px;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__grid {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: clamp(60px,7vw,130px);
  align-items: start;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__card {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 36px;
  align-items: center;
  padding: 38px 42px;
  border: 1px solid #d7dcde;
  background: #fafbfb;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__mark {
  display: grid;
  place-items: center;
  min-height: 190px;
  padding: 22px;
  border: 1px solid #e3e5e6;
  background: #fff;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__mark img {
  display: block;
  width: min(100%, 118px);
  height: auto;
  object-fit: contain;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__content h3 {
  font-size: 23px;
  line-height: 1.55;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__content > p {
  margin-top: 18px;
  color: var(--nic-r-color-muted);
  font-size: 14px;
  line-height: 1.95;
}
.nic-renewal--building-maintenance .nic-bm-medical-mark__content .nic-bm-medical-mark__note {
  margin-top: 16px;
  color: #8b9295;
  font-size: 11px;
}

.nic-renewal--building-maintenance .nic-bm-large__contrast-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin-top: 58px;
  border-top: 1px solid var(--nic-r-color-line);
  border-bottom: 1px solid var(--nic-r-color-line);
}
.nic-renewal--building-maintenance .nic-bm-contrast-card {
  min-height: 245px;
  padding: 34px 30px 32px;
}
.nic-renewal--building-maintenance .nic-bm-contrast-card + .nic-bm-contrast-card {
  border-left: 1px solid var(--nic-r-color-line);
}
.nic-renewal--building-maintenance .nic-bm-contrast-card > span {
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: 14px;
}
.nic-renewal--building-maintenance .nic-bm-contrast-card h3 {
  margin-top: 18px;
  font-size: 19px;
  line-height: 1.55;
}
.nic-renewal--building-maintenance .nic-bm-contrast-card p {
  margin-top: 14px;
  color: var(--nic-r-color-muted);
  font-size: 13px;
  line-height: 1.9;
}

.nic-renewal--building-maintenance .nic-bm-workforce {
  padding: 112px 0 118px;
}
.nic-renewal--building-maintenance .nic-bm-workforce__grid {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: clamp(65px,8vw,145px);
  align-items: start;
}
.nic-renewal--building-maintenance .nic-bm-workforce__lead {
  margin-top: 38px;
}
.nic-renewal--building-maintenance .nic-bm-workforce__lead p + p {
  margin-top: 18px;
}
.nic-renewal--building-maintenance .nic-bm-workforce__panel {
  padding: 42px 46px 46px;
  border-top: 3px solid var(--nic-r-color-red);
  background: rgba(255,255,255,.72);
}
.nic-renewal--building-maintenance .nic-bm-workforce__eyebrow {
  color: var(--nic-r-color-red);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
}
.nic-renewal--building-maintenance .nic-bm-workforce__panel h3 {
  margin-top: 15px;
  font-size: 27px;
  line-height: 1.55;
}
.nic-renewal--building-maintenance .nic-bm-workforce__steps {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  margin-top: 34px;
  border-top: 1px solid #cbd4d7;
  border-bottom: 1px solid #cbd4d7;
}
.nic-renewal--building-maintenance .nic-bm-workforce__steps li {
  padding: 18px 8px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.nic-renewal--building-maintenance .nic-bm-workforce__steps li + li {
  border-left: 1px solid #cbd4d7;
}
.nic-renewal--building-maintenance .nic-bm-workforce__steps span {
  display: block;
  margin-bottom: 7px;
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: 12px;
}
.nic-renewal--building-maintenance .nic-bm-workforce__panel > p:not(.nic-bm-workforce__eyebrow) {
  margin-top: 26px;
  color: var(--nic-r-color-muted);
  font-size: 14px;
  line-height: 1.95;
}
.nic-renewal--building-maintenance .nic-bm-workforce__panel .nic-r-button {
  margin-top: 30px;
}

@media (max-width:900px) {
  .nic-renewal--building-maintenance .nic-bm-origin,
  .nic-renewal--building-maintenance .nic-bm-medical-mark,
  .nic-renewal--building-maintenance .nic-bm-workforce { padding: 88px 0; }
  .nic-renewal--building-maintenance .nic-bm-origin__grid,
  .nic-renewal--building-maintenance .nic-bm-medical-mark__grid,
  .nic-renewal--building-maintenance .nic-bm-workforce__grid { grid-template-columns:minmax(0,1fr); gap:48px; }
  .nic-renewal--building-maintenance .nic-bm-origin__visual { width:min(100%,680px); }
  .nic-renewal--building-maintenance .nic-bm-large__contrast-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nic-renewal--building-maintenance .nic-bm-contrast-card:nth-child(3) { border-left:0; }
  .nic-renewal--building-maintenance .nic-bm-contrast-card:nth-child(n+3) { border-top:1px solid var(--nic-r-color-line); }
}

@media (max-width:600px) {
  .nic-renewal--building-maintenance .nic-bm-origin,
  .nic-renewal--building-maintenance .nic-bm-medical-mark,
  .nic-renewal--building-maintenance .nic-bm-workforce { padding:68px 0; }
  .nic-renewal--building-maintenance .nic-bm-origin__year { margin-bottom:18px; font-size:52px; }
  .nic-renewal--building-maintenance .nic-bm-origin__lead,
  .nic-renewal--building-maintenance .nic-bm-workforce__lead { margin-top:26px; }
  .nic-renewal--building-maintenance .nic-bm-medical-mark__card { grid-template-columns:minmax(0,1fr); gap:24px; padding:26px 22px; }
  .nic-renewal--building-maintenance .nic-bm-medical-mark__mark { width:min(100%,190px); min-height:170px; margin-inline:auto; }
  .nic-renewal--building-maintenance .nic-bm-medical-mark__content h3 { font-size:20px; }
  .nic-renewal--building-maintenance .nic-bm-large__contrast-grid { grid-template-columns:minmax(0,1fr); margin-top:42px; }
  .nic-renewal--building-maintenance .nic-bm-contrast-card { min-height:0; padding:28px 8px; }
  .nic-renewal--building-maintenance .nic-bm-contrast-card + .nic-bm-contrast-card { border-left:0; border-top:1px solid var(--nic-r-color-line); }
  .nic-renewal--building-maintenance .nic-bm-workforce__panel { padding:30px 22px 34px; }
  .nic-renewal--building-maintenance .nic-bm-workforce__panel h3 { font-size:22px; }
  .nic-renewal--building-maintenance .nic-bm-workforce__steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nic-renewal--building-maintenance .nic-bm-workforce__steps li { border-bottom:1px solid #cbd4d7; }
  .nic-renewal--building-maintenance .nic-bm-workforce__steps li:nth-child(odd) { border-left:0; }
  .nic-renewal--building-maintenance .nic-bm-workforce__steps li:last-child { grid-column:1 / -1; border-bottom:0; }
}

/* Step5: replace public-facing placeholder labels */
.nic-renewal--building-maintenance .nic-bm-featured-card__mark--service {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}
.nic-renewal--building-maintenance .nic-bm-featured-card__mark--service img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nic-renewal--building-maintenance .nic-bm-award-mark {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8c4bd;
  background: #fff;
  color: var(--nic-r-color-ink);
  line-height: 1;
  text-align: center;
}
.nic-renewal--building-maintenance .nic-bm-award-mark span {
  font-size: 11px;
  font-weight: 700;
}
.nic-renewal--building-maintenance .nic-bm-award-mark strong {
  margin-top: 8px;
  color: var(--nic-r-color-red);
  font-family: var(--nic-r-font-serif);
  font-size: 30px;
}
