:root {
  --iad-service-green: #62d52f;
  --iad-service-green-strong: #43bd16;
  --iad-service-ink: #0b110e;
  --iad-service-charcoal: #121a16;
  --iad-service-panel: #19231d;
  --iad-service-line: rgba(132, 159, 141, 0.25);
  --iad-service-muted: #9eaaa2;
  --iad-service-paper: #f5f7f4;
  --iad-service-white: #fff;
  --iad-service-radius: 14px;
  --iad-service-shell: 1360px;
  --iad-service-section-y: clamp(38px, 3.75vw, 54px);
  --iad-service-section-y-feature: clamp(42px, 4vw, 58px);
}

html {
  scroll-behavior: smooth;
}

body#module-boncollection-collection #boncollection-page.boncollection-page--services {
  overflow: hidden;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  background: var(--iad-service-paper);
  color: var(--iad-service-ink);
}

body#module-boncollection-collection #boncollection-page.boncollection-page--services,
body#module-boncollection-collection #boncollection-page.boncollection-page--services * {
  box-sizing: border-box;
}

body#module-boncollection-collection #boncollection-page.boncollection-page--services .iad-services-shell {
  width: min(calc(100% - 64px), var(--iad-service-shell));
  margin-inline: auto;
}

body#module-boncollection-collection #boncollection-page.boncollection-page--services .boncollection-wrapper {
  position: relative;
  width: 100vw;
  isolation: isolate;
  min-height: clamp(620px, 49vw, 710px);
  margin-top: 0;
  margin-right: calc(50% - 50vw);
  margin-bottom: 0;
  margin-left: calc(50% - 50vw);
  padding: clamp(92px, 9vw, 132px) max(32px, calc((100vw - var(--iad-service-shell)) / 2));
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(240px, 1fr);
  align-items: center;
  gap: clamp(40px, 7vw, 110px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--iad-service-ink);
  box-shadow: none;
}

.boncollection-page--services .iad-services-hero__media,
.boncollection-page--services .iad-services-hero__overlay {
  position: absolute;
  inset: 0;
}

.boncollection-page--services .iad-services-hero__media {
  z-index: -3;
}

.boncollection-page--services .iad-services-hero__media picture,
.boncollection-page--services .iad-services-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.boncollection-page--services .iad-services-hero__media img {
  object-fit: cover;
  object-position: 62% 48%;
}

.boncollection-page--services .iad-services-hero__overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5, 11, 8, 0.97) 0%, rgba(7, 14, 10, 0.94) 34%, rgba(8, 16, 11, 0.76) 59%, rgba(8, 16, 11, 0.24) 100%),
    linear-gradient(180deg, rgba(5, 9, 7, 0.12), rgba(5, 10, 7, 0.72));
}

.boncollection-page--services .iad-services-hero__overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.13;
  background-image:
    linear-gradient(rgba(114, 213, 73, 0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(114, 213, 73, 0.2) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 58%);
}

body#module-boncollection-collection .boncollection-page--services .boncollection-info {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  float: none;
  width: min(100%, 760px);
  max-width: 760px;
  align-self: center;
  justify-self: start;
  display: block !important;
  padding: 0;
  color: #fff;
}

.boncollection-page--services .boncollection-hero-copy {
  width: min(100%, 760px);
  max-width: 760px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  text-align: left;
}

.boncollection-page--services .iad-services-kicker,
.boncollection-page--services .iad-services-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  color: #34711e;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-kicker {
  color: #a9f486;
}

.boncollection-page--services .iad-services-kicker > span,
.boncollection-page--services .iad-services-eyebrow > span {
  width: 34px;
  height: 3px;
  flex: 0 0 34px;
  border-radius: 99px;
  background: var(--iad-service-green);
}

#boncollection-page.boncollection-page--services .boncollection-title-main {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(3.15rem, 4.35vw, 4.05rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.052em !important;
  text-align: left !important;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.24);
  text-wrap: balance;
}

#boncollection-page.boncollection-page--services .boncollection-description {
  max-width: 690px !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#boncollection-page.boncollection-page--services .boncollection-description::before {
  display: none !important;
}

#boncollection-page.boncollection-page--services .boncollection-description p {
  margin: 0 !important;
  color: rgba(240, 246, 241, 0.92) !important;
  font-size: clamp(1.02rem, 1.2vw, 1.16rem) !important;
  line-height: 1.66 !important;
  letter-spacing: -0.01em;
  text-align: left !important;
  background: transparent !important;
  text-wrap: pretty;
}

#boncollection-page.boncollection-page--services .boncollection-description p + p {
  margin-top: 8px !important;
  color: rgba(215, 225, 218, 0.84) !important;
  font-size: clamp(0.94rem, 1.05vw, 1rem) !important;
}

.boncollection-page--services .iad-services-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 30px;
}

.boncollection-page--services .iad-services-hero__actions .boncollection-hero-link {
  min-height: 48px;
  padding: 12px 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease, transform 240ms ease;
}

.boncollection-page--services .iad-services-hero__actions .boncollection-hero-link--primary {
  border-color: var(--iad-service-green);
  background: var(--iad-service-green);
  color: #0b160c;
}

.boncollection-page--services .iad-services-hero__actions .boncollection-hero-link:hover {
  border-color: var(--iad-service-green);
  background: rgba(98, 213, 47, 0.14);
  color: #fff;
  transform: translateY(-2px);
}

.boncollection-page--services .iad-services-hero__actions .boncollection-hero-link--primary:hover {
  background: var(--iad-service-green-strong);
  color: #071006;
}

.boncollection-page--services .iad-services-hero__modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 21px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.boncollection-page--services .iad-services-hero__modes li {
  position: relative;
  padding-left: 13px;
  color: #d2ddd5;
  font-size: 13px;
  font-weight: 700;
}

.boncollection-page--services .iad-services-hero__modes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.56em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--iad-service-green);
  box-shadow: 0 0 0 4px rgba(98, 213, 47, 0.12);
}

.boncollection-page--services .iad-services-hero__process {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1;
  width: min(100%, 330px);
  align-self: center;
  justify-self: end;
  padding: 22px;
  display: grid;
  gap: 0;
  border: 1px solid rgba(178, 217, 186, 0.26);
  border-radius: var(--iad-service-radius);
  background: rgba(8, 16, 11, 0.72);
  backdrop-filter: blur(9px);
}

.boncollection-page--services .iad-services-hero__process span {
  position: relative;
  min-height: 52px;
  padding: 16px 14px 14px 44px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-hero__process span:last-child {
  border-bottom: 0;
}

.boncollection-page--services .iad-services-hero__process span::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 18px;
  width: 12px;
  height: 12px;
  border: 2px solid var(--iad-service-green);
  border-radius: 50%;
}

.boncollection-page--services .iad-services-hero__process span:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 31px;
  width: 2px;
  height: 39px;
  background: rgba(98, 213, 47, 0.48);
}

.boncollection-page--services .iad-services-content {
  position: relative;
  z-index: 3;
}

.boncollection-page--services .iad-services-heading {
  max-width: 810px;
}

.boncollection-page--services .iad-services-heading--center {
  margin-inline: auto;
  text-align: center;
}

.boncollection-page--services .iad-services-heading--center .iad-services-eyebrow {
  justify-content: center;
}

.boncollection-page--services .iad-services-heading h2,
.boncollection-page--services .iad-services-copy-block h2,
.boncollection-page--services .iad-services-diagnostics__content h2,
.boncollection-page--services .iad-services-deliverables__copy h2,
.boncollection-page--services .iad-services-project-bridge h2,
.boncollection-page--services .iad-services-final h2 {
  margin: 0;
  color: var(--iad-service-ink);
  font-size: clamp(2rem, 3.6vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.boncollection-page--services .iad-services-heading > p:last-child,
.boncollection-page--services .iad-services-copy-block > p,
.boncollection-page--services .iad-services-diagnostics__content > p,
.boncollection-page--services .iad-services-deliverables__copy > p,
.boncollection-page--services .iad-services-project-bridge p,
.boncollection-page--services .iad-services-final p {
  margin: 20px 0 0;
  color: #536057;
  font-size: 17px;
  line-height: 1.7;
}

.boncollection-page--services .iad-services-copy-block > p + p {
  margin-top: 12px;
}

.boncollection-page--services .iad-services-heading--light h2,
.boncollection-page--services .iad-services-heading--light > p:last-child,
.boncollection-page--services .iad-services-eyebrow--light,
.boncollection-page--services .iad-services-project-bridge h2,
.boncollection-page--services .iad-services-project-bridge p,
.boncollection-page--services .iad-services-final h2,
.boncollection-page--services .iad-services-final p {
  color: #fff;
}

.boncollection-page--services .iad-services-heading--light > p:last-child,
.boncollection-page--services .iad-services-project-bridge p,
.boncollection-page--services .iad-services-final p {
  color: #bbc6be;
}

/* Signals */
.boncollection-page--services .iad-services-signals {
  background: #0d1511;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.boncollection-page--services .iad-services-signals__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.boncollection-page--services .iad-services-signals article {
  min-height: 122px;
  padding: 27px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.boncollection-page--services .iad-services-signals article:last-child {
  border-right: 0;
}

.boncollection-page--services .iad-services-signal__mark {
  color: var(--iad-service-green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.13em;
}

.boncollection-page--services .iad-services-signals h2 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-signals p {
  margin: 0;
  color: #97a59c;
  font-size: 13px;
  line-height: 1.45;
}

/* Continuity */
.boncollection-page--services .iad-services-continuity {
  padding: var(--iad-service-section-y) 0;
  background:
    radial-gradient(circle at 92% 10%, rgba(98, 213, 47, 0.1), transparent 26%),
    #fff;
}

.boncollection-page--services .iad-services-continuity__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(400px, 0.75fr);
  align-items: center;
  gap: clamp(56px, 8vw, 130px);
}

.boncollection-page--services .iad-services-continuity__cycle {
  position: relative;
  display: grid;
  gap: 14px;
  padding: 28px;
  border: 1px solid #dce4de;
  border-radius: 20px;
  background: #f7faf7;
}

.boncollection-page--services .iad-services-continuity__cycle::before {
  content: "";
  position: absolute;
  left: 49px;
  top: 60px;
  bottom: 60px;
  width: 2px;
  background: linear-gradient(var(--iad-service-green), #b7c4bb);
}

.boncollection-page--services .iad-services-continuity__cycle article {
  position: relative;
  z-index: 1;
  min-height: 74px;
  padding: 15px 18px 15px 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: 1px solid #e2e8e3;
}

.boncollection-page--services .iad-services-continuity__cycle article:last-child {
  border-bottom: 0;
}

.boncollection-page--services .iad-services-continuity__cycle article > span {
  position: absolute;
  left: 13px;
  top: 26px;
  width: 18px;
  height: 18px;
  border: 4px solid #edf6e9;
  border-radius: 50%;
  background: var(--iad-service-green-strong);
  box-shadow: 0 0 0 1px #b8d7ad;
}

.boncollection-page--services .iad-services-continuity__cycle strong {
  color: #122017;
  font-size: 17px;
}

.boncollection-page--services .iad-services-continuity__cycle small {
  margin-top: 4px;
  color: #6f7e74;
  font-size: 13px;
}

/* Modalities */
.boncollection-page--services .iad-services-modalities {
  padding: var(--iad-service-section-y) 0;
  background: #0d1511;
}

.boncollection-page--services .iad-services-modalities__panel {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #314038;
  border-radius: var(--iad-service-radius);
  overflow: hidden;
  background: #131d17;
}

.boncollection-page--services .iad-services-modalities__panel article {
  min-width: 0;
  padding: 30px 26px;
  border-right: 1px solid #314038;
  transition: background-color 260ms ease, box-shadow 260ms ease;
}

.boncollection-page--services .iad-services-modalities__panel article:last-child {
  border-right: 0;
}

.boncollection-page--services .iad-services-modality__icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(98, 213, 47, 0.36);
  border-radius: 10px;
  background: rgba(98, 213, 47, 0.08);
}

.boncollection-page--services .iad-services-modality__icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: var(--iad-service-green);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.boncollection-page--services .iad-services-modality__type {
  margin: 20px 0 8px;
  color: var(--iad-service-green) !important;
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-modalities h3 {
  min-height: 58px;
  margin: 0 0 13px;
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
}

.boncollection-page--services .iad-services-modalities article > strong {
  display: block;
  min-height: 46px;
  color: #dce7df;
  font-size: 14px;
  line-height: 1.45;
}

.boncollection-page--services .iad-services-modalities article > p:not(.iad-services-modality__type) {
  min-height: 135px;
  margin: 14px 0 22px;
  color: #9fada3;
  font-size: 14px;
  line-height: 1.62;
}

.boncollection-page--services .iad-services-modalities ul,
.boncollection-page--services .iad-service-card ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.boncollection-page--services .iad-services-modalities li,
.boncollection-page--services .iad-service-card li {
  padding: 6px 9px;
  border: 1px solid rgba(128, 153, 136, 0.28);
  border-radius: 99px;
  color: #c5d0c8;
  font-size: 11px;
  font-weight: 700;
}

/* Programs */
.boncollection-page--services .iad-services-programs {
  padding: var(--iad-service-section-y) 0;
  background:
    linear-gradient(135deg, rgba(98, 213, 47, 0.06), transparent 38%),
    #edf1ed;
}

.boncollection-page--services .iad-services-programs__layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(56px, 8vw, 120px);
  align-items: start;
}

.boncollection-page--services .iad-services-programs__rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.boncollection-page--services .iad-services-programs__rail article {
  min-height: 178px;
  padding: 23px;
  border: 1px solid #d1dad3;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.75);
}

.boncollection-page--services .iad-services-programs__rail article > span {
  display: inline-block;
  margin-bottom: 26px;
  color: #3c7d26;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-programs h3 {
  margin: 0 0 8px;
  color: #122017;
  font-size: 18px;
}

.boncollection-page--services .iad-services-programs__rail article p {
  margin: 0;
  color: #617067;
  font-size: 14px;
  line-height: 1.55;
}

.boncollection-page--services .iad-services-programs__cta {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
  padding: 11px 18px;
  border: 1px solid var(--iad-service-green);
  border-radius: 4px;
  color: #102313;
  background: var(--iad-service-green);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.boncollection-page--services .iad-services-programs__cta:hover,
.boncollection-page--services .iad-services-programs__cta:focus-visible {
  color: #fff;
  background: var(--iad-service-charcoal);
  border-color: var(--iad-service-charcoal);
  transform: translateY(-2px);
}

.boncollection-page--services .iad-services-programs__cta:focus-visible {
  outline: 3px solid rgba(85, 220, 46, 0.34);
  outline-offset: 3px;
}

.boncollection-page--services .iad-services-programs__support {
  grid-column: 1 / -1;
  margin: 3px 0 0;
  padding: 17px 20px;
  border-radius: 8px;
  background: #152018;
  color: #bfcac2;
  font-size: 13px;
  line-height: 1.5;
}

.boncollection-page--services .iad-services-programs__support > span {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--iad-service-green);
}

.boncollection-page--services .iad-services-programs__support strong {
  color: #fff;
}

/* Specialized service mosaic */
.boncollection-page--services .iad-services-specialized {
  padding: var(--iad-service-section-y-feature) 0;
  background: #fff;
  scroll-margin-top: 92px;
}

.boncollection-page--services .iad-services-specialized__grid {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 22px;
}

.boncollection-page--services .iad-service-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dce3de;
  border-radius: var(--iad-service-radius);
  background: #111a15;
  box-shadow: 0 14px 34px rgba(11, 26, 15, 0.07);
  transition: transform 280ms ease, border-color 280ms ease, box-shadow 280ms ease;
}

.boncollection-page--services .iad-service-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #202b24;
}

.boncollection-page--services .iad-service-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(7, 14, 9, 0.62));
  pointer-events: none;
}

.boncollection-page--services .iad-service-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease;
}

.boncollection-page--services .iad-service-card__icon {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 18px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(151, 229, 118, 0.4);
  border-radius: 10px;
  background: rgba(9, 19, 12, 0.9);
}

.boncollection-page--services .iad-service-card__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: var(--iad-service-green);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.boncollection-page--services .iad-service-card__body {
  flex: 1;
  padding: 25px 25px 23px;
  display: flex;
  flex-direction: column;
}

.boncollection-page--services .iad-service-card h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.18;
}

.boncollection-page--services .iad-service-card__body > p {
  margin: 13px 0 18px;
  color: #b4c0b8;
  font-size: 14px;
  line-height: 1.62;
}

.boncollection-page--services .iad-service-card ul {
  margin-bottom: 23px;
}

.boncollection-page--services .iad-service-card__body > a {
  min-height: 44px;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--iad-service-green);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.boncollection-page--services .iad-service-card__body > a span {
  transition: transform 220ms ease;
}

/* Diagnostics */
.boncollection-page--services .iad-services-diagnostics {
  padding: var(--iad-service-section-y) 0;
  background: #0d1511;
}

.boncollection-page--services .iad-services-diagnostics__grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(50px, 7vw, 108px);
}

.boncollection-page--services .iad-services-diagnostics__media {
  position: sticky;
  top: 120px;
  overflow: hidden;
  border-radius: var(--iad-service-radius);
  background: #162018;
}

.boncollection-page--services .iad-services-diagnostics__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.boncollection-page--services .iad-services-diagnostics__caption {
  padding: 17px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d9e3dc;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-diagnostics__caption span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--iad-service-green);
}

.boncollection-page--services .iad-services-diagnostics__content h2 {
  color: #fff;
}

.boncollection-page--services .iad-services-diagnostics__content > p {
  color: #aebcb2;
}

.boncollection-page--services .iad-services-diagnostics__list {
  margin-top: 35px;
  border-top: 1px solid #314038;
}

.boncollection-page--services .iad-services-diagnostics__list article {
  padding: 22px 0;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 15px;
  border-bottom: 1px solid #314038;
}

.boncollection-page--services .iad-services-diagnostics__list article > span {
  color: var(--iad-service-green);
  font-size: 11px;
  font-weight: 900;
}

.boncollection-page--services .iad-services-diagnostics__list h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 18px;
}

.boncollection-page--services .iad-services-diagnostics__list p {
  margin: 0;
  color: #9fada3;
  font-size: 14px;
  line-height: 1.55;
}

.boncollection-page--services .iad-services-diagnostics__list small {
  display: block;
  margin-top: 9px;
  color: #d2ded5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* Criticality */
.boncollection-page--services .iad-services-criticality {
  padding: var(--iad-service-section-y) 0;
  background: #fff;
}

.boncollection-page--services .iad-services-criticality__grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.7fr) minmax(520px, 1.3fr);
  gap: clamp(56px, 8vw, 120px);
  align-items: center;
}

.boncollection-page--services .iad-services-criticality__visual {
  position: relative;
  min-height: 520px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: space-between;
  gap: 110px 160px;
}

.boncollection-page--services .iad-services-criticality__visual::before,
.boncollection-page--services .iad-services-criticality__visual::after {
  content: "";
  position: absolute;
  background: #d6e0d8;
}

.boncollection-page--services .iad-services-criticality__visual::before {
  left: 50%;
  top: 50px;
  bottom: 50px;
  width: 1px;
}

.boncollection-page--services .iad-services-criticality__visual::after {
  left: 50px;
  right: 50px;
  top: 50%;
  height: 1px;
}

.boncollection-page--services .iad-services-criticality__core {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 180px;
  height: 180px;
  transform: translate(-50%, -50%);
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid #a8d49a;
  border-radius: 50%;
  background: #102017;
  box-shadow: 0 0 0 14px #edf5ea;
}

.boncollection-page--services .iad-services-criticality__core span {
  color: var(--iad-service-green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.boncollection-page--services .iad-services-criticality__core strong {
  max-width: 130px;
  margin: 7px auto 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
}

.boncollection-page--services .iad-services-criticality__visual article {
  position: relative;
  z-index: 1;
  min-height: 148px;
  padding: 20px;
  border: 1px solid #dbe3dd;
  border-radius: 12px;
  background: #f6f8f6;
}

.boncollection-page--services .iad-services-criticality__visual article > span {
  color: #3f8727;
  font-size: 10px;
  font-weight: 900;
}

.boncollection-page--services .iad-services-criticality__visual h3 {
  margin: 15px 0 7px;
  color: #122017;
  font-size: 17px;
}

.boncollection-page--services .iad-services-criticality__visual p {
  margin: 0;
  color: #69776e;
  font-size: 13px;
  line-height: 1.45;
}

/* Service cycle */
.boncollection-page--services .iad-services-cycle {
  padding: var(--iad-service-section-y) 0;
  background: #101814;
}

.boncollection-page--services .iad-services-cycle__flow {
  position: relative;
  margin: 36px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  list-style: none;
}

.boncollection-page--services .iad-services-cycle__flow::before {
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  top: 21px;
  height: 2px;
  background: linear-gradient(90deg, var(--iad-service-green), #44534a);
}

.boncollection-page--services .iad-services-cycle__flow li {
  position: relative;
  z-index: 1;
  padding: 0 10px;
  text-align: center;
}

.boncollection-page--services .iad-services-cycle__flow li > span {
  width: 44px;
  height: 44px;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  border: 1px solid #435248;
  border-radius: 50%;
  background: #17231b;
  color: var(--iad-service-green);
  font-size: 10px;
  font-weight: 900;
}

.boncollection-page--services .iad-services-cycle__flow strong,
.boncollection-page--services .iad-services-cycle__flow small {
  display: block;
}

.boncollection-page--services .iad-services-cycle__flow strong {
  color: #fff;
  font-size: 13px;
  line-height: 1.3;
}

.boncollection-page--services .iad-services-cycle__flow small {
  margin-top: 5px;
  color: #8f9c93;
  font-size: 11px;
  line-height: 1.35;
}

/* Deliverables */
.boncollection-page--services .iad-services-deliverables {
  padding: var(--iad-service-section-y) 0;
  background: #edf1ed;
}

.boncollection-page--services .iad-services-deliverables__panel {
  padding: clamp(30px, 5vw, 62px);
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(44px, 7vw, 100px);
  border: 1px solid #d4ddd6;
  border-radius: 18px;
  background: #fff;
}

.boncollection-page--services .iad-services-deliverables__list {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  list-style: none;
}

.boncollection-page--services .iad-services-deliverables__list li {
  min-height: 100px;
  padding: 17px;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  border-radius: 10px;
  background: #f4f7f4;
}

.boncollection-page--services .iad-services-deliverables__list li > span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dff2d7;
  color: #2d7916;
  font-weight: 900;
}

.boncollection-page--services .iad-services-deliverables__list strong,
.boncollection-page--services .iad-services-deliverables__list small {
  display: block;
}

.boncollection-page--services .iad-services-deliverables__list strong {
  color: #132018;
  font-size: 15px;
}

.boncollection-page--services .iad-services-deliverables__list small {
  margin-top: 5px;
  color: #68766d;
  font-size: 12px;
  line-height: 1.45;
}

.boncollection-page--services .iad-services-deliverables__list li:last-child {
  grid-column: 1 / -1;
}

/* Project bridge and final CTA */
.boncollection-page--services .iad-services-project-bridge {
  padding: 6px 0 0;
  background: #edf1ed;
}

.boncollection-page--services .iad-services-project-bridge__inner {
  padding: clamp(36px, 5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 52px;
  border: 1px solid rgba(126, 159, 136, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(10, 20, 13, 0.98), rgba(18, 41, 23, 0.92)),
    radial-gradient(circle at 90% 20%, rgba(98, 213, 47, 0.2), transparent 32%);
  box-shadow: 0 16px 38px rgba(10, 20, 13, 0.08);
}

.boncollection-page--services .iad-services-project-bridge__inner > div {
  max-width: 830px;
}

.boncollection-page--services .iad-services-project-bridge h2 {
  font-size: clamp(1.9rem, 3vw, 3rem);
}

.boncollection-page--services .iad-services-project-bridge a {
  min-height: 48px;
  padding: 13px 19px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.boncollection-page--services .iad-services-final {
  padding: 6px 0 0;
  background: #edf1ed;
}

.boncollection-page--services .iad-services-final__inner {
  padding: clamp(36px, 5vw, 64px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(42px, 8vw, 120px);
  border: 1px solid rgba(126, 159, 136, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(105deg, rgba(7, 15, 10, 0.99), rgba(12, 28, 17, 0.97)),
    radial-gradient(circle at 88% 24%, rgba(98, 213, 47, 0.14), transparent 32%);
  box-shadow: 0 16px 38px rgba(10, 20, 13, 0.08);
}

.boncollection-page--services .iad-services-final__inner > div:first-child {
  max-width: 790px;
}

.boncollection-page--services .iad-services-final__actions {
  min-width: 310px;
  display: grid;
  gap: 11px;
}

.boncollection-page--services .iad-services-button {
  min-height: 50px;
  padding: 13px 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #657169;
  border-radius: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  transition: background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.boncollection-page--services .iad-services-button--primary {
  border-color: var(--iad-service-green);
  background: var(--iad-service-green);
  color: #091109;
}

/* Interaction and focus */
@media (hover: hover) {
  .boncollection-page--services .iad-services-modalities__panel article:hover {
    background: #1a281f;
    box-shadow: inset 0 3px 0 var(--iad-service-green);
  }

  .boncollection-page--services .iad-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(98, 213, 47, 0.52);
    box-shadow: 0 18px 42px rgba(11, 26, 15, 0.13);
  }

  .boncollection-page--services .iad-service-card:hover .iad-service-card__media img {
    transform: scale(1.035);
  }

  .boncollection-page--services .iad-service-card:hover .iad-service-card__body > a span,
  .boncollection-page--services .iad-services-project-bridge a:hover span,
  .boncollection-page--services .iad-services-button:hover span {
    transform: translateX(3px);
  }

  .boncollection-page--services .iad-services-project-bridge a:hover,
  .boncollection-page--services .iad-services-button--secondary:hover {
    border-color: var(--iad-service-green);
    background: rgba(98, 213, 47, 0.1);
  }

  .boncollection-page--services .iad-services-button--primary:hover {
    border-color: var(--iad-service-green-strong);
    background: var(--iad-service-green-strong);
    transform: translateY(-2px);
  }
}

.boncollection-page--services a:focus-visible {
  outline: 3px solid #b8f59e;
  outline-offset: 4px;
}

body#module-boncollection-collection .boncollection-page--services + * {
  clear: both;
}

body#module-boncollection-collection .footer_before {
  margin-top: 0 !important;
  padding: 18px 0 !important;
  background: #edf1ed;
}

body#module-boncollection-collection .footer_before .block_newsletter {
  width: min(calc(100vw - 64px), var(--iad-service-shell));
  margin: 0 auto !important;
  overflow: hidden;
  border: 1px solid rgba(126, 159, 136, 0.24);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(10, 20, 13, 0.08);
}

@media (max-width: 1199px) {
  body#module-boncollection-collection #boncollection-page.boncollection-page--services .boncollection-wrapper {
    grid-template-columns: minmax(0, 1fr) 280px;
  }

  .boncollection-page--services .iad-services-modalities__panel {
    grid-template-columns: repeat(2, 1fr);
  }

  .boncollection-page--services .iad-services-modalities__panel article:nth-child(2) {
    border-right: 0;
  }

  .boncollection-page--services .iad-services-modalities__panel article:nth-child(-n + 2) {
    border-bottom: 1px solid #314038;
  }

  .boncollection-page--services .iad-services-modalities h3,
  .boncollection-page--services .iad-services-modalities article > strong,
  .boncollection-page--services .iad-services-modalities article > p:not(.iad-services-modality__type) {
    min-height: 0;
  }

  .boncollection-page--services .iad-services-modalities article > p:not(.iad-services-modality__type) {
    margin-bottom: 20px;
  }

  .boncollection-page--services .iad-services-criticality__visual {
    gap-inline: 120px;
  }
}

@media (max-width: 991px) {
  body#module-boncollection-collection #boncollection-page.boncollection-page--services {
    padding-bottom: 0 !important;
  }

  body#module-boncollection-collection #boncollection-page.boncollection-page--services .iad-services-shell {
    width: min(calc(100% - 48px), var(--iad-service-shell));
  }

  body#module-boncollection-collection #boncollection-page.boncollection-page--services .boncollection-wrapper {
    min-height: 650px;
    padding: 82px 24px 72px;
    grid-template-columns: 1fr;
  }

  body#module-boncollection-collection .boncollection-page--services .boncollection-info {
    grid-column: 1;
    width: min(100%, 760px);
  }

  .boncollection-page--services .iad-services-hero__process {
    display: none;
  }

  .boncollection-page--services .iad-services-hero__media img {
    object-position: 63% center;
  }

  .boncollection-page--services .iad-services-signals__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .boncollection-page--services .iad-services-signals article:nth-child(2) {
    border-right: 0;
  }

  .boncollection-page--services .iad-services-signals article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .boncollection-page--services .iad-services-continuity__grid,
  .boncollection-page--services .iad-services-programs__layout,
  .boncollection-page--services .iad-services-diagnostics__grid,
  .boncollection-page--services .iad-services-criticality__grid,
  .boncollection-page--services .iad-services-deliverables__panel {
    grid-template-columns: 1fr;
  }

  .boncollection-page--services .iad-services-diagnostics__media {
    position: relative;
    top: auto;
  }

  .boncollection-page--services .iad-services-diagnostics__media img {
    aspect-ratio: 16 / 8.5;
  }

  .boncollection-page--services .iad-services-specialized__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .boncollection-page--services .iad-service-card,
  .boncollection-page--services .iad-service-card--featured,
  .boncollection-page--services .iad-service-card--wide {
    grid-column: auto;
  }

  .boncollection-page--services .iad-services-criticality__visual {
    width: min(100%, 720px);
    margin-inline: auto;
  }

  .boncollection-page--services .iad-services-cycle__flow {
    grid-template-columns: repeat(4, 1fr);
    gap: 34px 0;
  }

  .boncollection-page--services .iad-services-cycle__flow::before {
    display: none;
  }

  .boncollection-page--services .iad-services-project-bridge__inner,
  .boncollection-page--services .iad-services-final__inner {
    grid-template-columns: 1fr;
  }

  .boncollection-page--services .iad-services-project-bridge a {
    justify-self: start;
  }

  .boncollection-page--services .iad-services-final__actions {
    width: min(100%, 460px);
    min-width: 0;
  }
}

@media (max-width: 767px) {
  body#module-boncollection-collection #boncollection-page.boncollection-page--services .iad-services-shell {
    width: calc(100% - 40px);
  }

  body#module-boncollection-collection #boncollection-page.boncollection-page--services .boncollection-wrapper {
    min-height: auto;
    padding: 72px 20px 58px;
  }

  .boncollection-page--services .iad-services-hero__media img {
    object-position: 61% center;
  }

  .boncollection-page--services .iad-services-hero__overlay {
    background:
      linear-gradient(180deg, rgba(5, 11, 8, 0.62) 0%, rgba(5, 11, 8, 0.88) 42%, rgba(5, 11, 8, 0.98) 100%),
      linear-gradient(90deg, rgba(5, 11, 8, 0.75), rgba(5, 11, 8, 0.38));
  }

  .boncollection-page--services .iad-services-kicker,
  .boncollection-page--services .iad-services-eyebrow {
    font-size: 10px;
  }

  #boncollection-page.boncollection-page--services .boncollection-title-main {
    font-size: clamp(2.25rem, 10.8vw, 3.2rem) !important;
    line-height: 1.03 !important;
  }

  #boncollection-page.boncollection-page--services .boncollection-description {
    margin-top: 21px !important;
  }

  #boncollection-page.boncollection-page--services .boncollection-description p {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  .boncollection-page--services .iad-services-hero__actions {
    display: grid;
  }

  .boncollection-page--services .iad-services-hero__actions .boncollection-hero-link {
    width: 100%;
  }

  .boncollection-page--services .iad-services-hero__modes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 15px;
  }

  .boncollection-page--services .iad-services-signals article {
    min-height: 110px;
    padding: 20px 16px;
    align-items: flex-start;
  }

  .boncollection-page--services .iad-services-continuity__grid {
    gap: 32px;
  }

  .boncollection-page--services .iad-services-continuity__cycle {
    padding: 17px;
  }

  .boncollection-page--services .iad-services-continuity__cycle::before {
    left: 38px;
  }

  .boncollection-page--services .iad-services-continuity__cycle article {
    padding-left: 48px;
  }

  .boncollection-page--services .iad-services-continuity__cycle article > span {
    left: 7px;
  }

  .boncollection-page--services .iad-services-modalities__panel {
    grid-template-columns: 1fr;
  }

  .boncollection-page--services .iad-services-modalities__panel article {
    padding: 26px 22px;
    border-right: 0;
    border-bottom: 1px solid #314038;
  }

  .boncollection-page--services .iad-services-modalities__panel article:last-child {
    border-bottom: 0;
  }

  .boncollection-page--services .iad-services-programs__rail {
    grid-template-columns: 1fr;
  }

  .boncollection-page--services .iad-services-programs__layout,
  .boncollection-page--services .iad-services-criticality__grid {
    row-gap: 36px;
  }

  .boncollection-page--services .iad-services-programs__rail article {
    min-height: 0;
  }

  .boncollection-page--services .iad-services-programs__support {
    grid-column: auto;
  }

  .boncollection-page--services .iad-services-specialized__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 17px;
  }

  .boncollection-page--services .iad-service-card__media {
    aspect-ratio: 16 / 9;
  }

  .boncollection-page--services .iad-service-card__body {
    padding: 22px 20px 19px;
  }

  .boncollection-page--services .iad-services-diagnostics__grid {
    gap: 30px;
  }

  .boncollection-page--services .iad-services-diagnostics__media img {
    aspect-ratio: 16 / 10;
  }

  .boncollection-page--services .iad-services-criticality__visual {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .boncollection-page--services .iad-services-criticality__visual::before,
  .boncollection-page--services .iad-services-criticality__visual::after,
  .boncollection-page--services .iad-services-criticality__core {
    display: none;
  }

  .boncollection-page--services .iad-services-criticality__visual article {
    min-height: 0;
  }

  .boncollection-page--services .iad-services-cycle__flow {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .boncollection-page--services .iad-services-cycle__flow li {
    min-height: 72px;
    padding: 0 0 18px 65px;
    text-align: left;
  }

  .boncollection-page--services .iad-services-cycle__flow li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 22px;
    top: 44px;
    bottom: 0;
    width: 1px;
    background: #435248;
  }

  .boncollection-page--services .iad-services-cycle__flow li > span {
    position: absolute;
    left: 0;
    top: 0;
  }

  .boncollection-page--services .iad-services-cycle__flow strong {
    padding-top: 3px;
    font-size: 15px;
  }

  .boncollection-page--services .iad-services-deliverables__panel {
    width: calc(100% - 40px);
    gap: 32px;
    padding: 27px 20px;
  }

  .boncollection-page--services .iad-services-deliverables__list {
    grid-template-columns: 1fr;
  }

  .boncollection-page--services .iad-services-deliverables__list li:last-child {
    grid-column: auto;
  }

  .boncollection-page--services .iad-services-project-bridge__inner {
    width: calc(100% - 40px);
    padding: 35px 20px;
    border-radius: 16px;
  }

  .boncollection-page--services .iad-services-project-bridge a,
  .boncollection-page--services .iad-services-button {
    width: 100%;
  }

  .boncollection-page--services .iad-services-final__inner {
    padding: 35px 20px;
    border-radius: 16px;
  }

  body#module-boncollection-collection .footer_before {
    padding: 16px 0 !important;
  }

  body#module-boncollection-collection .footer_before .block_newsletter {
    width: calc(100vw - 40px);
    border-radius: 16px;
  }
}

@media (max-width: 430px) {
  .boncollection-page--services .iad-services-signals__grid {
    grid-template-columns: 1fr;
  }

  .boncollection-page--services .iad-services-signals article,
  .boncollection-page--services .iad-services-signals article:nth-child(2) {
    min-height: 88px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .boncollection-page--services .iad-services-signals article:last-child {
    border-bottom: 0;
  }

  .boncollection-page--services .iad-services-heading h2,
  .boncollection-page--services .iad-services-copy-block h2,
  .boncollection-page--services .iad-services-diagnostics__content h2,
  .boncollection-page--services .iad-services-deliverables__copy h2,
  .boncollection-page--services .iad-services-project-bridge h2,
  .boncollection-page--services .iad-services-final h2 {
    font-size: 1.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .boncollection-page--services *,
  .boncollection-page--services *::before,
  .boncollection-page--services *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Hero detail pass: common editorial alignment across the three collection hubs. */
@media (min-width: 768px) {
  body#module-boncollection-collection #boncollection-page.boncollection-page--services .boncollection-wrapper {
    padding-right: clamp(32px, 5.5vw, 80px);
    padding-left: clamp(32px, 5.5vw, 80px);
  }

  body#module-boncollection-collection .boncollection-page--services .boncollection-info {
    align-self: center;
    justify-self: start;
  }

  .boncollection-page--services .boncollection-hero-copy,
  .boncollection-page--services .boncollection-title-main,
  .boncollection-page--services .boncollection-description,
  .boncollection-page--services .iad-services-hero__actions,
  .boncollection-page--services .iad-services-hero__modes {
    text-align: left;
  }

  .boncollection-page--services .iad-services-hero__modes {
    margin-top: 36px;
  }
}

@media (max-width: 767px) {
  .boncollection-page--services .iad-services-hero__modes {
    margin-top: 26px;
  }
}
