/* AD1 Elementor Widgets 0.11.8 — reusable modular sections.
 * Component roots are deliberately isolated; no page, theme or generic Elementor selectors.
 */
:where(
  .ad1m-split-hero,
  .ad1m-routes,
  .ad1m-dark-strip,
  .ad1m-review,
  .ad1m-image-feature,
  .ad1m-team,
  .ad1m-logo-rail,
  .ad1m-credentials,
  .ad1m-stages-cta
) {
  --ad1m-paper: var(--ad1-color-background-light, #f6f2ef);
  --ad1m-dark: var(--ad1-color-background-dark, #111314);
  --ad1m-ink: var(--ad1-color-text-dark, var(--e-global-color-primary, #131213));
  --ad1m-text: var(--ad1-color-body, var(--e-global-color-text, #3d3838));
  --ad1m-muted: var(--e-global-color-secondary, #535456);
  --ad1m-accent: var(--ad1-color-brand-burgundy, var(--e-global-color-accent, #971d1e));
  --ad1m-line: color-mix(in srgb, var(--ad1m-ink) 16%, transparent);
  box-sizing: border-box;
  min-width: 0;
  color: var(--ad1m-text);
  background: var(--ad1m-paper);
}

:where(
  .ad1m-split-hero,
  .ad1m-routes,
  .ad1m-dark-strip,
  .ad1m-review,
  .ad1m-image-feature,
  .ad1m-team,
  .ad1m-logo-rail,
  .ad1m-credentials,
  .ad1m-stages-cta
) *,
:where(
  .ad1m-split-hero,
  .ad1m-routes,
  .ad1m-dark-strip,
  .ad1m-review,
  .ad1m-image-feature,
  .ad1m-team,
  .ad1m-logo-rail,
  .ad1m-credentials,
  .ad1m-stages-cta
) *::before,
:where(
  .ad1m-split-hero,
  .ad1m-routes,
  .ad1m-dark-strip,
  .ad1m-review,
  .ad1m-image-feature,
  .ad1m-team,
  .ad1m-logo-rail,
  .ad1m-credentials,
  .ad1m-stages-cta
) *::after {
  box-sizing: inherit;
}

:where(.ad1m-split-hero,.ad1m-routes,.ad1m-dark-strip,.ad1m-review,.ad1m-image-feature,.ad1m-team,.ad1m-logo-rail,.ad1m-credentials,.ad1m-stages-cta) :where(h1,h2,h3,h4,h5,h6,p,figure,dl,dd) {
  margin-top: 0;
}

.ad1m-eyebrow {
  margin: 0 0 14px;
  color: var(--ad1m-accent);
  
  
  
  
  
  text-transform: uppercase;
}

.ad1m-rich > :last-child,
.ad1m-routes__body:last-child,
.ad1m-review__intro > :last-child,
.ad1m-image-feature__body:last-child,
.ad1m-team__body:last-child,
.ad1m-logo-rail__body:last-child,
.ad1m-stages-cta__body:last-child {
  margin-bottom: 0;
}

.ad1m-actions,
.ad1m-dark-strip__actions,
.ad1m-stages-cta__action {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.ad1m-btn,
.ad1m-text-link {
  min-height: 50px;
  max-width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 12px 20px;
  border: 1px solid var(--ad1m-accent);
  color:var(--ad1-color-text-light,#fff);
  background: var(--ad1m-accent);
  
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}


.ad1m-btn > span:first-child,
.ad1m-text-link > span:first-child {
  min-width: 0;
  overflow-wrap: break-word;
}

.ad1m-btn:hover,
.ad1m-btn:focus-visible,
.ad1m-text-link:hover,
.ad1m-text-link:focus-visible {
  color: var(--ad1m-accent);
  background: transparent;
  outline: none;
  transform: translateY(-1px);
}

.ad1m-btn--ghost {
  color: var(--ad1m-accent);
  background: transparent;
}

.ad1m-btn--ghost:hover,
.ad1m-btn--ghost:focus-visible {
  color:var(--ad1-color-text-light,#fff);
  background: var(--ad1m-accent);
}

/* Editorial split hero */
.ad1m-split-hero {
  --ad1m-hero-min-height: 560px;
  --ad1m-hero-copy-width: 44%;
  --ad1m-hero-fade-width: 10%;
  --ad1m-hero-image-position: center center;
  --ad1m-hero-image-fit: cover;
  --ad1m-hero-image-opacity: 1;
  --ad1m-hero-image-blur: 0px;
  position: relative;
  min-height: var(--ad1m-hero-min-height);
  display: grid;
  grid-template-columns: minmax(0, var(--ad1m-hero-copy-width)) minmax(0, 1fr);
  overflow: clip;
  isolation: isolate;
}

.ad1m-split-hero.is-reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--ad1m-hero-copy-width));
}

.ad1m-split-hero.has-no-media {
  display: block;
}

.ad1m-split-hero__copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(42px, 6vw, 92px);
  background: var(--ad1m-paper);
}

.ad1m-split-hero.is-reverse .ad1m-split-hero__copy {
  grid-column: 2;
}

.ad1m-split-hero.has-no-media .ad1m-split-hero__copy {
  max-width: 840px;
}

.ad1m-split-hero__title {
  max-width: 17ch;
  margin-bottom: clamp(20px, 2.5vw, 34px);
  color: var(--ad1m-ink);
  
  
  
  
  overflow-wrap: anywhere;
}

.ad1m-split-hero__accent {
  color: var(--ad1m-accent);
}

.ad1m-split-hero__body {
  max-width: 58ch;
  color: var(--ad1m-text);
  
  
}

.ad1m-split-hero .ad1m-actions {
  margin-top: 28px;
}

.ad1m-split-hero__media {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: inherit;
  overflow: hidden;
  background: var(--ad1m-paper);
}

.ad1m-split-hero.is-reverse .ad1m-split-hero__media {
  grid-column: 1;
  grid-row: 1;
}

.ad1m-split-hero__media.has-edge-fade::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 2;
  width: max(1px, var(--ad1m-hero-fade-width));
  pointer-events: none;
  background: linear-gradient(90deg, var(--ad1m-paper), transparent);
}

.ad1m-split-hero.is-reverse .ad1m-split-hero__media.has-edge-fade::after {
  inset: 0 0 0 auto;
  background: linear-gradient(270deg, var(--ad1m-paper), transparent);
}

.ad1m-split-hero__slide {
  position: absolute;
  inset: 0;
  opacity: var(--ad1m-hero-image-opacity);
}

.ad1m-split-hero__slide:first-child {
  position: absolute;
}

.ad1m-split-hero__slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: var(--ad1m-hero-image-fit);
  object-position: var(--ad1m-hero-image-position);
  filter: blur(var(--ad1m-hero-image-blur));
}

.ad1m-split-hero__media:not(.is-crossfade) .ad1m-split-hero__slide {
  position: absolute;
  opacity: var(--ad1m-hero-image-opacity);
}

.ad1m-split-hero__media.is-crossfade .ad1m-split-hero__slide {
  opacity: 0;
  animation: ad1m-split-crossfade var(--ad1m-slider-total, 12s) infinite;
  animation-delay: var(--ad1m-slide-delay, 0s);
}

@keyframes ad1m-split-crossfade {
  0%, 30% { opacity: var(--ad1m-hero-image-opacity); }
  42%, 92% { opacity: 0; }
  100% { opacity: var(--ad1m-hero-image-opacity); }
}

/* Audience routes */
.ad1m-routes {
  padding: clamp(48px, 7vw, 100px);
}

.ad1m-routes__intro {
  max-width: 820px;
  margin-bottom: clamp(28px, 4vw, 52px);
}

.ad1m-routes__title {
  max-width: 18ch;
  margin-bottom: 16px;
  color: var(--ad1m-ink);
  
  
  
  
}

.ad1m-routes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ad1m-line);
  border-left: 1px solid var(--ad1m-line);
}

.ad1m-route {
  position: relative;
  min-width: 0;
  min-height: 430px;
  overflow: hidden;
  border-right: 1px solid var(--ad1m-line);
  border-bottom: 1px solid var(--ad1m-line);
  background: var(--ad1m-route-bg) center / cover no-repeat, var(--ad1m-paper);
  isolation: isolate;
}

.ad1m-route__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ad1m-paper) 94%, transparent), color-mix(in srgb, var(--ad1m-paper) 82%, transparent));
  transition: background-color .25s ease;
}

.ad1m-route__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 3vw, 42px);
}

.ad1m-route__number {
  margin-bottom: auto;
  color: var(--ad1m-accent);
  
  
}

.ad1m-route__title {
  margin-bottom: 16px;
  color: var(--ad1m-ink);
  
  
  
}

.ad1m-route__body {
  color: var(--ad1m-text);
  
}

.ad1m-route__links {
  display: grid;
  gap: 8px;
  margin-top: 24px;
}

.ad1m-route__links a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 10px;
  color: var(--ad1m-ink);
  border-top: 1px solid var(--ad1m-line);
  text-decoration: none;
}

/* Dark promotional strip */
.ad1m-dark-strip {
  position: relative;
  min-height: 260px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  padding: clamp(38px, 6vw, 78px);
  overflow: hidden;
  color:var(--ad1-color-text-light,#fff);
  background: var(--ad1m-strip-bg) center / cover no-repeat, var(--ad1m-dark);
  isolation: isolate;
}

.ad1m-dark-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, color-mix(in srgb, var(--ad1m-dark) 96%, transparent), color-mix(in srgb, var(--ad1m-dark) 68%, transparent));
}

.ad1m-dark-strip--split_media::before {
  background: linear-gradient(90deg, var(--ad1m-dark) 0 54%, color-mix(in srgb, var(--ad1m-dark) 12%, transparent) 78%);
}

.ad1m-dark-strip__copy {
  max-width: 780px;
}

.ad1m-dark-strip__title {
  margin-bottom: 14px;
  color: inherit;
  
  
}

.ad1m-dark-strip__body {
  max-width: 62ch;
  color: color-mix(in srgb, #fff 78%, transparent);
  
}

.ad1m-dark-strip .ad1m-text-link {
  min-height: 42px;
  padding-inline: 0;
  color:var(--ad1-color-text-light,#fff);
  background: transparent;
  border-width: 0 0 1px;
  border-color: color-mix(in srgb, #fff 40%, transparent);
}

/* Review steps */
.ad1m-review {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr) minmax(220px, .65fr);
  gap: clamp(26px, 4vw, 58px);
  padding: clamp(48px, 7vw, 100px);
  align-items: start;
}

.ad1m-review__title {
  color: var(--ad1m-ink);
  
  
}

.ad1m-review__steps {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--ad1m-line);
}

.ad1m-review__steps-title {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ad1m-line);
}

.ad1m-review__steps ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: ad1-review;
}

.ad1m-review__steps li {
  counter-increment: ad1-review;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--ad1m-line);
}

.ad1m-review__steps li::before {
  content: counter(ad1-review, decimal-leading-zero);
  color: var(--ad1m-accent);
}

.ad1m-review__note {
  padding: 24px;
  color:var(--ad1-color-text-light,#fff);
  background: var(--ad1m-accent);
}

.ad1m-review__note-symbol {
  display: block;
  margin-bottom: 30px;
  
}

/* Image / text feature */
.ad1m-image-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr);
  min-height: 420px;
}

.ad1m-image-feature.is-reverse {
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1fr);
}

.ad1m-image-feature > figure {
  min-height: inherit;
  margin: 0;
  overflow: hidden;
}

.ad1m-image-feature.is-reverse > figure {
  grid-column: 2;
}

.ad1m-image-feature > figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.ad1m-image-feature__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 6vw, 84px);
}

.ad1m-image-feature.is-reverse .ad1m-image-feature__copy {
  grid-column: 1;
  grid-row: 1;
}

.ad1m-image-feature__title {
  color: var(--ad1m-ink);
  
  
}

/* Shared slider controls */
.ad1m-carousel-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ad1m-carousel-controls button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--ad1m-ink);
  background: transparent;
  border: 1px solid var(--ad1m-line);
  cursor: pointer;
}

.ad1m-carousel-controls button:hover,
.ad1m-carousel-controls button:focus-visible {
  color: var(--ad1m-accent);
  border-color: var(--ad1m-accent);
  outline: none;
}

.ad1m-carousel-controls button:disabled {
  opacity: .35;
  cursor: default;
}

/* Team slider */
.ad1m-team {
  --ad1m-team-gap: 24px;
  --ad1m-team-portrait-size: 150px;
  --ad1m-team-image-position: center center;
  --ad1m-team-image-fit: cover;
  --ad1m-team-card-align: center;
  --ad1m-team-text-align: center;
  --ad1m-team-columns: 3;
  --ad1m-team-columns-tablet: 2;
  --ad1m-team-columns-mobile: 1;
  padding: clamp(48px, 7vw, 96px);
  overflow: hidden;
}

.ad1m-team__header,
.ad1m-logo-rail__header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: clamp(28px, 4vw, 50px);
}

.ad1m-team__intro,
.ad1m-logo-rail__intro {
  max-width: 690px;
  min-width: 0;
}

.ad1m-team__title,
.ad1m-logo-rail__title {
  max-width: 18ch;
  margin-bottom: 14px;
  color: var(--ad1m-ink);
  
  
  
}

.ad1m-team__viewport {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  touch-action: pan-y;
}

.ad1m-team__grid {
  display: flex;
  align-items: stretch;
  gap: var(--ad1m-team-gap);
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}

.ad1m-team__card {
  min-width: 0;
  width: calc((100% - (var(--ad1m-team-columns) - 1) * var(--ad1m-team-gap)) / var(--ad1m-team-columns));
  flex: 0 0 calc((100% - (var(--ad1m-team-columns) - 1) * var(--ad1m-team-gap)) / var(--ad1m-team-columns));
}

.ad1m-team--align-left {
  --ad1m-team-card-align: flex-start;
  --ad1m-team-text-align: left;
}

.ad1m-team__card-inner {
  height: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: var(--ad1m-team-card-align);
  color: inherit;
  text-align: var(--ad1m-team-text-align);
  text-decoration: none;
}

.ad1m-team__portrait {
  width: min(100%, var(--ad1m-team-portrait-size));
  max-width: 100%;
  margin: 0 auto 18px;
  overflow: hidden;
  background: color-mix(in srgb, var(--ad1m-paper) 80%, var(--ad1m-line));
}

.ad1m-team--shape-circle .ad1m-team__portrait {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}

.ad1m-team--shape-square .ad1m-team__portrait {
  aspect-ratio: 1 / 1;
  border-radius: 0;
}

.ad1m-team--shape-portrait .ad1m-team__portrait {
  width: 100%;
  max-width: 360px;
  aspect-ratio: 4 / 5;
  border-radius: 0;
}

.ad1m-team__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: var(--ad1m-team-image-fit);
  object-position: var(--ad1m-team-image-position);
}

.ad1m-team.is-monochrome .ad1m-team__portrait img,
.ad1m-team.is-grayscale .ad1m-team__portrait img {
  filter: grayscale(1);
}

.ad1m-team__name {
  max-width: 100%;
  margin-bottom: 8px;
  color: var(--ad1m-ink);
  
  
  
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.ad1m-team__role {
  max-width: 24ch;
  margin-bottom: 0;
  color: var(--ad1m-muted);
  
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.ad1m-team > .ad1m-btn {
  margin-top: 34px;
}

/* Logo rail */
.ad1m-logo-rail {
  --ad1m-logo-item-width: 190px;
  --ad1m-logo-card-height: 120px;
  --ad1m-logo-image-height: 72px;
  --ad1m-logo-gap: 12px;
  padding: clamp(46px, 6vw, 88px);
  overflow: hidden;
}

.ad1m-logo-rail__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}

.ad1m-logo-rail__viewport::-webkit-scrollbar {
  display: none;
}

.ad1m-logo-rail__track {
  width: max-content;
  min-width: 100%;
  display: flex;
  align-items: stretch;
  gap: var(--ad1m-logo-gap);
}

.ad1m-logo-rail__item {
  width: var(--ad1m-logo-item-width);
  min-width: var(--ad1m-logo-item-width);
  height: var(--ad1m-logo-card-height);
  display: grid;
  place-items: center;
  padding: 16px;
  color: inherit;
  background: transparent;
  border: 1px solid var(--ad1m-line);
  text-decoration: none;
  scroll-snap-align: start;
}

.ad1m-logo-rail__item img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: var(--ad1m-logo-image-height);
  display: block;
  object-fit: contain;
}

.ad1m-logo-rail.is-monochrome .ad1m-logo-rail__item img {
  filter: grayscale(1);
  opacity: .72;
  transition: filter .2s ease, opacity .2s ease;
}

.ad1m-logo-rail.is-monochrome .ad1m-logo-rail__item:hover img,
.ad1m-logo-rail.is-monochrome .ad1m-logo-rail__item:focus-visible img {
  filter: grayscale(0);
  opacity: 1;
}

/* Credentials and official documents */
.ad1m-credentials {
  --ad1m-credentials-info-width: 38%;
  --ad1m-credentials-gap: 18px;
  --ad1m-document-min: 210px;
  --ad1m-document-ratio: 4 / 3;
  --ad1m-document-fit: contain;
  --ad1m-ministry-logo-width: 150px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, var(--ad1m-credentials-info-width)) minmax(0, 1fr);
  gap: clamp(30px, 5vw, 72px);
  padding: clamp(48px, 7vw, 96px);
}

.ad1m-credentials__title {
  margin-bottom: 14px;
  color: var(--ad1m-ink);
  
  
  
}

.ad1m-credentials__legal-name {
  margin-bottom: 10px;
  color: var(--ad1m-ink);
  
}

.ad1m-credentials__location {
  color: var(--ad1m-muted);
}

.ad1m-credentials dl {
  margin: 28px 0 0;
}

.ad1m-credentials dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ad1m-line);
}

.ad1m-credentials dt,
.ad1m-credentials dd {
  margin: 0;
}

.ad1m-credentials dt {
  color: var(--ad1m-text);
}

.ad1m-credentials dd {
  color: var(--ad1m-accent);
}

.ad1m-credentials__documents-layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: clamp(18px, 3vw, 36px);
}

.ad1m-credentials__documents {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ad1m-document-min)), 1fr));
  align-items: start;
  gap: var(--ad1m-credentials-gap);
}

.ad1m-credentials__document {
  min-width: 0;
  padding: 0;
  color: var(--ad1m-ink);
  text-align: start;
  background: transparent;
  border: 0;
  cursor: zoom-in;
}

.ad1m-credentials__document figure,
.ad1m-credentials__seal {
  margin: 0;
}

.ad1m-credentials__document figure {
  aspect-ratio: var(--ad1m-document-ratio);
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  background: transparent;
}

.ad1m-credentials__document figure img {
  width: 100%;
  height: auto;
  max-height: 520px;
  display: block;
  object-fit: var(--ad1m-document-fit);
}

.ad1m-credentials__document-copy {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}

.ad1m-credentials__document-title {
  color: var(--ad1m-ink);
}

.ad1m-credentials__document-caption {
  color: var(--ad1m-muted);
}

.ad1m-credentials__ministry-logo,
.ad1m-credentials__seal {
  width: min(100%, var(--ad1m-ministry-logo-width));
  margin: 0;
  align-self: center;
  display: grid;
  place-items: center;
  padding: 0;
}

.ad1m-credentials__ministry-logo img,
.ad1m-credentials__seal img {
  width: 100%;
  max-width: var(--ad1m-ministry-logo-width);
  height: auto;
  display: block;
  object-fit: contain;
}

/* Shared document lightbox, only inside credentials. */
.ad1m-credentials .ad1dm-lightbox[hidden] {
  display: none;
}

.ad1m-credentials .ad1dm-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 20px;
}

.ad1m-credentials .ad1dm-lightbox__backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  background: rgb(5 6 6 / 92%);
  border: 0;
}

.ad1m-credentials .ad1dm-lightbox__panel {
  position: relative;
  z-index: 1;
  max-width: min(1000px, 94vw);
  max-height: 90vh;
}

.ad1m-credentials .ad1dm-lightbox__panel img {
  max-width: 100%;
  max-height: 90vh;
  display: block;
}

.ad1m-credentials .ad1dm-lightbox__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 42px;
  height: 42px;
  color:var(--ad1-color-text-light,#fff);
  background: rgb(17 17 17 / 75%);
  border: 1px solid rgb(255 255 255 / 35%);
}

/* Project stages CTA */
.ad1m-stages-cta {
  --ad1m-stages-side-width: 24%;
  --ad1m-stages-columns: 4;
  padding: clamp(48px, 7vw, 96px);
}

.ad1m-stages-cta__layout {
  display: grid;
  grid-template-columns: minmax(190px, var(--ad1m-stages-side-width)) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 50px);
}

.ad1m-stages-cta__intro {
  padding-right: clamp(18px, 3vw, 38px);
  border-right: 1px solid var(--ad1m-line);
}

.ad1m-stages-cta__title {
  color: var(--ad1m-ink);
  
  
  
  
}

.ad1m-stages-cta__body {
  
}

.ad1m-stages-cta__grid {
  display: grid;
  grid-template-columns: repeat(var(--ad1m-stages-columns), minmax(0, 1fr));
  border-top: 1px solid var(--ad1m-line);
  border-left: 1px solid var(--ad1m-line);
}

.ad1m-stage {
  min-width: 0;
  min-height: 126px;
  padding: 24px 18px;
  border-right: 1px solid var(--ad1m-line);
  border-bottom: 1px solid var(--ad1m-line);
}

.ad1m-stage__number {
  display: block;
  margin-bottom: 10px;
  color: var(--ad1m-accent);
  
  
  
}

.ad1m-stage__title {
  margin-bottom: 0;
  color: var(--ad1m-ink);
  
  
  
  
  
  overflow-wrap: anywhere;
}

.ad1m-stages-cta__action {
  justify-content: center;
  margin-top: 26px;
}

@media (max-width: 1024px) {
  .ad1m-team__card {
    width: calc((100% - (var(--ad1m-team-columns-tablet) - 1) * var(--ad1m-team-gap)) / var(--ad1m-team-columns-tablet));
    flex-basis: calc((100% - (var(--ad1m-team-columns-tablet) - 1) * var(--ad1m-team-gap)) / var(--ad1m-team-columns-tablet));
  }

  .ad1m-split-hero {
    --ad1m-hero-copy-width: 48%;
  }

  .ad1m-routes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ad1m-review {
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  }

  .ad1m-review__note {
    grid-column: 1 / -1;
  }

  .ad1m-credentials {
    grid-template-columns: 1fr;
  }

  .ad1m-stages-cta__layout {
    grid-template-columns: 1fr;
  }

  .ad1m-stages-cta__intro {
    padding-right: 0;
    padding-bottom: 24px;
    border-right: 0;
    border-bottom: 1px solid var(--ad1m-line);
  }
}

@media (max-width: 767px) {
  /* Stage 79 — Mobile/Web-App is a real stacked team list. Desktop/tablet
     remain carousel-owned. !important only defeats JS-authored inline geometry
     when crossing the 767px breakpoint; it is scoped to this component. */
  .ad1m-team { min-height: 0; overflow: visible; }
  .ad1m-team__header { margin-bottom: 22px; }
  .ad1m-team__viewport { width: 100%; min-height: 0; height: auto!important; overflow: visible; touch-action: auto; }
  .ad1m-team__grid {
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(12px, 3vw, 18px);
    transform: none!important;
    transition: none;
    will-change: auto;
  }
  .ad1m-team__card { width: 100%!important; min-height: 0; flex: none!important; }
  .ad1m-team__card-inner { height: auto; min-height: 0; align-items: stretch; text-align: left; }
  .ad1m-team__card.has-portrait .ad1m-team__card-inner {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-areas: "portrait name" "portrait role";
    column-gap: 16px;
    align-items: center;
  }
  .ad1m-team__card.has-portrait .ad1m-team__portrait {
    grid-area: portrait;
    width: 112px!important;
    max-width: 112px!important;
    margin: 0;
    align-self: center;
  }
  .ad1m-team__card.has-portrait .ad1m-team__name { grid-area: name; align-self: end; }
  .ad1m-team__card.has-portrait .ad1m-team__role { grid-area: role; align-self: start; }
  .ad1m-team__name { max-width: none; margin: 0 0 6px; }
  .ad1m-team__role { max-width: none; margin: 0; }
  .ad1m-team .ad1m-carousel-controls { display: none; }

  .ad1m-split-hero,
  .ad1m-split-hero.is-reverse {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .ad1m-split-hero__copy,
  .ad1m-split-hero.is-reverse .ad1m-split-hero__copy {
    order: 2;
    width: 100%;
    padding: 34px 22px 42px;
  }

  .ad1m-split-hero__media,
  .ad1m-split-hero.is-reverse .ad1m-split-hero__media {
    order: 1;
    width: 100%;
    min-height: 46vh;
    grid-column: auto;
  }

  .ad1m-split-hero__media::after,
  .ad1m-split-hero.is-reverse .ad1m-split-hero__media.has-edge-fade::after {
    inset: auto 0 0;
    width: 100%;
    height: max(1px, var(--ad1m-hero-fade-width));
    background: linear-gradient(0deg, var(--ad1m-paper), transparent);
  }

  .ad1m-actions,
  .ad1m-dark-strip__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ad1m-btn,
  .ad1m-text-link {
    width: 100%;
  }

  .ad1m-routes,
  .ad1m-team,
  .ad1m-logo-rail,
  .ad1m-credentials,
  .ad1m-stages-cta,
  .ad1m-review {
    padding: 38px 20px;
  }

  .ad1m-routes__grid {
    grid-template-columns: 1fr;
  }

  .ad1m-route {
    min-height: 340px;
  }

  .ad1m-dark-strip {
    grid-template-columns: 1fr;
    align-items: end;
    gap: 26px;
    min-height: 360px;
    padding: 38px 22px;
  }

  .ad1m-dark-strip::before,
  .ad1m-dark-strip--split_media::before {
    background: linear-gradient(0deg, var(--ad1m-dark) 0 45%, color-mix(in srgb, var(--ad1m-dark) 25%, transparent));
  }

  .ad1m-review {
    grid-template-columns: 1fr;
  }

  .ad1m-image-feature,
  .ad1m-image-feature.is-reverse {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .ad1m-image-feature > figure,
  .ad1m-image-feature.is-reverse > figure {
    min-height: 330px;
    order: 1;
  }

  .ad1m-image-feature__copy,
  .ad1m-image-feature.is-reverse .ad1m-image-feature__copy {
    order: 2;
    padding: 36px 22px;
  }

  .ad1m-team__header,
  .ad1m-logo-rail__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .ad1m-logo-rail__item {
    min-width: min(var(--ad1m-logo-item-width), 78vw);
    width: min(var(--ad1m-logo-item-width), 78vw);
  }

  .ad1m-credentials__documents-layout {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .ad1m-credentials__ministry-logo,
  .ad1m-credentials__seal {
    justify-self: start;
  }

  .ad1m-credentials dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .ad1m-stages-cta__grid {
    grid-template-columns: repeat(var(--ad1m-stages-columns), minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ad1m-split-hero__media.is-crossfade .ad1m-split-hero__slide {
    animation: none;
    opacity: 0;
  }

  .ad1m-split-hero__media.is-crossfade .ad1m-split-hero__slide:first-child {
    opacity: var(--ad1m-hero-image-opacity);
  }

  .ad1m-team__grid,
  .ad1m-btn,
  .ad1m-text-link {
    transition: none;
  }
}

/* Imported logo references may temporarily lack a Media Library attachment ID. */
.ad1m-logo-rail__fallback{display:grid;place-items:center;min-height:44px;padding:8px 12px;color:var(--ad1m-text);text-align:center;text-transform:uppercase;}


/* 0.12.5 canonical control/layout fixes */
.ad1m-routes{padding:clamp(38px,5vw,76px);}
.ad1m-routes__grid{gap:var(--ad1m-route-gap,0);}
.ad1m-route__inner{display:grid;grid-template-columns:1fr;align-content:start;gap:0;min-width:0;}
.ad1m-route__number{display:block;margin:0 0 18px;}
.ad1m-route__title{display:block;width:100%;max-width:22ch;margin:0 0 14px;overflow-wrap:normal;word-break:normal;hyphens:manual;}
.ad1m-route__body{max-width:38ch;overflow-wrap:normal;word-break:normal;}
.ad1m-route__links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;}
.ad1m-review{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(360px,1.35fr) minmax(220px,.7fr);gap:var(--ad1m-review-gap,42px);align-items:start;padding:clamp(38px,5vw,76px);}
.ad1m-review>*{min-width:0;}
.ad1m-review__steps{width:100%;min-width:0;}
.ad1m-review__steps ol{width:100%;min-width:0;margin:0;padding:0;}
.ad1m-review__steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;width:100%;min-width:0;align-items:start;}
.ad1m-review__steps li::before{display:none;}
.ad1m-review__step-number{display:block;white-space:nowrap;}
.ad1m-review__step-text{display:block;min-width:0;width:100%;max-width:none;margin:0;overflow-wrap:normal;word-break:normal;hyphens:manual;}
.ad1m-review__note{min-width:0;}
.ad1m-team>.ad1m-btn{color:inherit;}
.ad1m-logo-rail__track{gap:var(--ad1m-logo-gap,12px);}
.ad1m-logo-rail__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:var(--ad1m-logo-item-width,190px);height:var(--ad1m-logo-card-height,120px);padding:14px;text-decoration:none;overflow:hidden;}
.ad1m-logo-rail__label{display:block;max-width:100%;text-align:center;overflow-wrap:normal;word-break:normal;}
.ad1m-logo-rail--label_only .ad1m-logo-rail__item img{display:none;}
.ad1m-logo-rail.has-dividers .ad1m-logo-rail__item{border-inline-end:1px solid var(--ad1m-line);}
.ad1m-logo-rail:not(.has-dividers) .ad1m-logo-rail__item{border-color:transparent;}
.ad1m-credentials__info{min-width:0;}
.ad1m-credentials__ministry-logo{margin:28px 0 0;justify-content:flex-start;}
.ad1m-credentials__documents-layout{display:block;min-width:0;}
.ad1m-credentials__documents{grid-template-columns:repeat(var(--ad1m-document-columns,2),minmax(min(100%,var(--ad1m-document-min,210px)),1fr));}
.ad1m-credentials.has-document-zoom .ad1m-credentials__document figure img{transition:transform .35s ease;}
.ad1m-credentials.has-document-zoom .ad1m-credentials__document:hover figure img,.ad1m-credentials.has-document-zoom .ad1m-credentials__document:focus-visible figure img{transform:scale(1.045);}
@media(max-width:1024px){.ad1m-review{grid-template-columns:1fr 1.35fr}.ad1m-review__note{grid-column:1/-1}.ad1m-credentials__documents{grid-template-columns:repeat(var(--ad1m-document-columns,2),minmax(min(100%,var(--ad1m-document-min,210px)),1fr));}}
@media(max-width:767px){.ad1m-review{grid-template-columns:1fr;gap:26px;padding:32px 20px}.ad1m-review__note{grid-column:auto}.ad1m-routes__grid{grid-template-columns:1fr}.ad1m-route__title{max-width:none}.ad1m-logo-rail__item{min-width:min(72vw,var(--ad1m-logo-item-width,190px))}.ad1m-credentials__documents{grid-template-columns:repeat(var(--ad1m-document-columns,1),minmax(0,1fr));}}


/* 0.12.5.1 — logo + label cards grow instead of clipping their label. */
.ad1m-logo-rail__item{height:auto;min-height:var(--ad1m-logo-card-height,120px);}
.ad1m-logo-rail--logo_label .ad1m-logo-rail__item{padding-block:16px;}
.ad1m-logo-rail--logo_label .ad1m-logo-rail__item img{flex:0 1 auto;min-height:0;}
.ad1m-logo-rail__label{flex:0 0 auto;}


/* 0.12.5.2 — optional number/title alignment in Audience Routes. */
.ad1m-routes.is-title-beside .ad1m-route__inner{grid-template-columns:auto minmax(0,1fr);column-gap:18px;}
.ad1m-routes.is-title-beside .ad1m-route__number{grid-column:1;margin:4px 0 14px;}
.ad1m-routes.is-title-beside .ad1m-route__title{grid-column:2;margin:0 0 14px;align-self:start;}
.ad1m-routes.is-title-beside .ad1m-route__body,.ad1m-routes.is-title-beside .ad1m-route__links{grid-column:1/-1;}
@media(max-width:480px){.ad1m-routes.is-title-beside .ad1m-route__inner{column-gap:12px}.ad1m-routes.is-title-beside .ad1m-route__title{}}

/* 0.12.7 — centered connected timeline slider preset for Review Steps. */
.ad1m-review.is-timeline-slider{
  --ad1-review-per-view:4;
  --ad1-review-line:color-mix(in srgb,var(--ad1m-ink,#131213) 34%,transparent);
  display:block;
  padding:clamp(54px,7vw,100px);
}
.ad1m-review.is-timeline-slider>*{width:min(100%,var(--ad1-shell,1240px));margin-inline:auto}
.ad1m-review.is-timeline-slider .ad1m-review__intro{max-width:780px;text-align:center}
.ad1m-review.is-timeline-slider .ad1m-review__title{max-width:none;margin:0 auto;}
.ad1m-review.is-timeline-slider .ad1m-review__intro .ad1m-rich{max-width:68ch;margin:20px auto 0}
.ad1m-review.is-timeline-slider .ad1m-review__steps{display:block;margin-top:clamp(36px,5vw,68px);border:0}
.ad1m-review.is-timeline-slider .ad1m-review__steps-title{margin:0 0 26px;padding:0;border:0;text-align:center;text-transform:uppercase;}
.ad1m-review.is-timeline-slider .ad1m-review__viewport{overflow:hidden;touch-action:pan-y}
.ad1m-review.is-timeline-slider .ad1m-review__track{position:relative;display:flex!important;gap:var(--ad1m-review-gap,42px);width:max-content!important;margin:0!important;padding:0!important;list-style:none;transform:translate3d(0,0,0);transition:transform .42s cubic-bezier(.22,1,.36,1)}
.ad1m-review.is-timeline-slider .ad1m-review__step{position:relative;display:block!important;flex:0 0 calc((min(100vw,var(--ad1-shell,1240px)) - (var(--ad1-review-per-view) - 1)*var(--ad1m-review-gap,42px))/var(--ad1-review-per-view));width:auto!important;min-width:0;padding:38px 16px 0!important;border:0!important;text-align:center}
.ad1m-review.is-timeline-slider .ad1m-review__step::before{display:none!important}
.ad1m-review.is-timeline-slider .ad1m-review__step::after{content:"";position:absolute;z-index:0;top:7px;left:50%;width:calc(100% + var(--ad1m-review-gap,42px));height:1px;background:var(--ad1-review-line);pointer-events:none}
.ad1m-review.is-timeline-slider .ad1m-review__step:last-child::after{display:none}
.ad1m-review.is-timeline-slider .ad1m-review__step-dot{position:absolute;z-index:1;top:2px;left:50%;width:11px;height:11px;border:1px solid var(--ad1-review-line);border-radius:50%;background:var(--e-global-color-secondary,#f6f2ef);transform:translateX(-50%)}
.ad1m-review.is-timeline-slider .ad1m-review__step-number{display:block;margin:0 0 12px;color:var(--ad1m-accent,#971d1e);}
.ad1m-review.is-timeline-slider .ad1m-review__step-title{margin:0;color:var(--ad1m-ink,#131213);}
.ad1m-review.is-timeline-slider .ad1m-review__step-text{max-width:28ch;margin:10px auto 0;}
.ad1m-review.is-timeline-slider .ad1m-review__controls{display:flex;justify-content:center;gap:8px;margin-top:30px}
.ad1m-review.is-timeline-slider .ad1m-review__controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;color:var(--ad1m-ink,#131213);background:transparent;border:1px solid var(--ad1-review-line);border-radius:0;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
.ad1m-review.is-timeline-slider .ad1m-review__controls button:hover,.ad1m-review.is-timeline-slider .ad1m-review__controls button:focus-visible{color:var(--ad1-color-meta-on-dark,#fff);background:var(--ad1m-accent,#971d1e);border-color:var(--ad1m-accent,#971d1e);transform:translateY(-2px);}
.ad1m-review.is-timeline-slider .ad1m-review__controls button:disabled{opacity:.32;cursor:not-allowed;transform:none}
.ad1m-review.is-timeline-slider .ad1m-review__note{max-width:740px;margin-top:32px;padding:18px 22px;text-align:center}
.ad1m-review.is-timeline-slider .ad1m-review__note-symbol{display:inline;margin:0 10px 0 0;}
.ad1m-review.is-timeline-slider .ad1m-review__note p{display:inline}
@media(max-width:1024px){.ad1m-review.is-timeline-slider{--ad1-review-per-view:2}.ad1m-review.is-timeline-slider .ad1m-review__step{flex-basis:calc((100vw - 64px - (var(--ad1-review-per-view) - 1)*var(--ad1m-review-gap,28px))/var(--ad1-review-per-view))}}
@media(max-width:767px){
  .ad1m-review.is-timeline-slider{--ad1-review-per-view:1;padding:48px 20px}
  .ad1m-review.is-timeline-slider .ad1m-review__intro{text-align:center}
  .ad1m-review.is-timeline-slider .ad1m-review__steps{margin-top:36px}
  .ad1m-review.is-timeline-slider .ad1m-review__track{gap:22px}
  .ad1m-review.is-timeline-slider .ad1m-review__step{flex-basis:calc(100vw - 40px);padding-inline:20px!important}
  .ad1m-review.is-timeline-slider .ad1m-review__step-text{max-width:34ch}
}
@media(prefers-reduced-motion:reduce){.ad1m-review.is-timeline-slider .ad1m-review__track,.ad1m-review.is-timeline-slider .ad1m-review__controls button{transition:none}}

/* 0.12.11 — Review Steps child placement fix.
 * The step dot/number/title/body are separate DOM nodes. In Editorial Columns
 * they must not auto-flow into the 42px number column. */
.ad1m-review.is-columns .ad1m-review__step-dot{display:none}
.ad1m-review.is-columns .ad1m-review__step-number{grid-column:1;grid-row:1 / span 2;align-self:start}
.ad1m-review.is-columns .ad1m-review__step-title{grid-column:2;min-width:0;margin:0 0 5px;overflow-wrap:normal;word-break:normal}
.ad1m-review.is-columns .ad1m-review__step-text{grid-column:2;min-width:0;width:100%;max-width:none;margin:0;overflow-wrap:normal;word-break:normal;hyphens:manual}

/* AD1 0.12.14 — Review Steps / Production Approach
 * Static icon timeline: no third-party slider/runtime. Layout-only CSS, hover via transforms.
 */
.ad1m-review.is-production-timeline{
  --ad1-review-intro-width:25%;
  display:grid;
  grid-template-columns:minmax(210px,var(--ad1-review-intro-width)) minmax(0,1fr);
  gap:var(--ad1m-review-gap,42px);
  align-items:stretch;
  position:relative;
}
.ad1m-review.is-production-timeline .ad1m-review__intro{
  align-self:center;
  min-width:0;
}
.ad1m-review.is-production-timeline .ad1m-review__eyebrow{
  margin:0 0 18px;
}
.ad1m-review.is-production-timeline .ad1m-review__title{
  margin:0;
  max-width:12ch;
}
.ad1m-review.is-production-timeline .ad1m-review__intro .ad1m-rich{
  margin-top:18px;
  max-width:34ch;
}
.ad1m-review.is-production-timeline .ad1m-review__steps{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ad1m-review.is-production-timeline .ad1m-review__steps-title{
  margin:0 0 24px;
  padding:0;
  border:0;
}
.ad1m-review.is-production-timeline .ad1m-review__steps ol{
  display:grid;
  grid-template-columns:repeat(var(--ad1-review-count,6),minmax(0,1fr));
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.ad1m-review.is-production-timeline .ad1m-review__step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  padding:0 12px;
  text-align:center;
  border:0;
  transition:transform .24s ease;
}
.ad1m-review.is-production-timeline .ad1m-review__step::before{
  content:"";
  position:absolute;
  z-index:0;
  top:25px;
  left:calc(50% + 27px);
  width:calc(100% - 54px);
  border-top:1px dotted var(--ad1-review-line,currentColor);
  opacity:.64;
}
.ad1m-review.is-production-timeline .ad1m-review__step:last-child::before{display:none}
.ad1m-review.is-production-timeline .ad1m-review__step-icon-wrap{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:52px;
  height:52px;
  border:1px solid currentColor;
  border-radius:50%;
  background:transparent;
  transition:transform .24s ease,color .24s ease,border-color .24s ease,background-color .24s ease;
}
.ad1m-review.is-production-timeline .ad1m-review__step-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  line-height:1;
}
.ad1m-review.is-production-timeline .ad1m-review__step-icon :is(svg,i){
  width:1em;
  height:1em;
  fill:currentColor;
}
.ad1m-review.is-production-timeline .ad1m-review__step-number{
  display:block;
  margin:12px 0 5px;
}
.ad1m-review.is-production-timeline .ad1m-review__step-title{
  margin:0;
  max-width:15ch;
}
.ad1m-review.is-production-timeline .ad1m-review__step-text{
  margin:8px auto 0;
  max-width:20ch;
  overflow-wrap:normal;
  word-break:normal;
}
.ad1m-review.is-production-timeline .ad1m-review__footer-note{
  margin:26px 0 0;
  padding-top:14px;
  text-align:center;
  border-top:1px solid var(--ad1-review-line,currentColor);
}
.ad1m-review.is-production-timeline .ad1m-review__note{
  grid-column:1/-1;
  margin-top:8px;
}
@media (hover:hover){
  .ad1m-review.is-production-timeline .ad1m-review__step:hover{
    transform:translateY(-4px);
  }
  .ad1m-review.is-production-timeline .ad1m-review__step:hover .ad1m-review__step-icon-wrap{
    transform:scale(1.06);
  }
}
@media(max-width:1024px){
  .ad1m-review.is-production-timeline{
    grid-template-columns:1fr;
  }
  .ad1m-review.is-production-timeline .ad1m-review__title{max-width:none}
  .ad1m-review.is-production-timeline .ad1m-review__intro .ad1m-rich{max-width:66ch}
  .ad1m-review.is-production-timeline .ad1m-review__steps ol{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:34px;
  }
  .ad1m-review.is-production-timeline .ad1m-review__step:nth-child(2n)::before{display:none}
}
@media(max-width:767px){
  .ad1m-review.is-production-timeline{
    gap:32px;
  }
  .ad1m-review.is-production-timeline .ad1m-review__steps ol{
    grid-template-columns:1fr;
    gap:0;
  }
  .ad1m-review.is-production-timeline .ad1m-review__step{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    column-gap:18px;
    align-items:start;
    padding:0 0 28px;
    text-align:left;
  }
  .ad1m-review.is-production-timeline .ad1m-review__step::before{
    display:block;
    top:52px;
    bottom:0;
    left:25px;
    width:0;
    height:auto;
    border-top:0;
    border-left:1px dotted var(--ad1-review-line,currentColor);
  }
  .ad1m-review.is-production-timeline .ad1m-review__step:last-child::before{display:none}
  .ad1m-review.is-production-timeline .ad1m-review__step-icon-wrap{
    grid-column:1;
    grid-row:1/4;
  }
  .ad1m-review.is-production-timeline .ad1m-review__step-number{
    grid-column:2;
    grid-row:1;
    margin:0 0 4px;
  }
  .ad1m-review.is-production-timeline .ad1m-review__step-title{
    grid-column:2;
    grid-row:2;
    max-width:none;
  }
  .ad1m-review.is-production-timeline .ad1m-review__step-text{
    grid-column:2;
    grid-row:3;
    max-width:none;
    margin:7px 0 0;
  }
  .ad1m-review.is-production-timeline .ad1m-review__footer-note{
    text-align:left;
  }
}
@media(prefers-reduced-motion:reduce){
  .ad1m-review.is-production-timeline .ad1m-review__step,
  .ad1m-review.is-production-timeline .ad1m-review__step-icon-wrap{transition:none}
}

/* AD1 0.12.16 — Review Steps unified timeline system.
 * Three presets remain: Editorial Columns, Collaborative Timeline, Production Approach.
 * Timeline presets can use icons, horizontal/vertical orientation and optional connectors.
 */
.ad1m-review:is(.is-timeline-slider,.is-production-timeline){
  --ad1-review-connector-color:var(--ad1-review-line,currentColor);
  --ad1-review-connector-width:1px;
  --ad1-review-connector-style:dotted;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__track{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__track::before{display:none}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).has-connector .ad1m-review__track::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  opacity:.78;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step::before,
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step::after{display:none!important}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-icon-wrap,
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-dot{position:relative;z-index:2}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-icon-wrap{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:50px;
  height:50px;
  border:1px solid currentColor;
  border-radius:50%;
  background:inherit;
  transition:transform .24s ease,color .24s ease,border-color .24s ease,background-color .24s ease;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-icon{display:grid;place-items:center;width:22px;height:22px;line-height:1}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-icon :is(svg,i){width:1em;height:1em;fill:currentColor}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-dot{
  display:block;
  width:11px;
  height:11px;
  border:1px solid var(--ad1-review-connector-color);
  border-radius:50%;
  background:var(--e-global-color-secondary,#f6f2ef);
}

/* Horizontal timeline */
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal .ad1m-review__track{
  display:flex!important;
  flex-direction:row;
  align-items:flex-start;
  gap:var(--ad1m-review-gap,42px);
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal.has-connector .ad1m-review__track::before{
  top:25px;
  left:25px;
  right:25px;
  border-top-width:var(--ad1-review-connector-width);
  border-top-style:var(--ad1-review-connector-style);
  border-top-color:var(--ad1-review-connector-color);
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal.has-dots.has-connector .ad1m-review__track::before{top:5px;left:5px;right:5px}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal .ad1m-review__step{
  position:relative;
  display:flex!important;
  flex:1 1 0;
  flex-direction:column;
  align-items:center;
  min-width:0;
  padding:0 10px!important;
  text-align:center;
  border:0!important;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal .ad1m-review__step-number{display:block;margin:12px 0 5px}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal .ad1m-review__step-title{max-width:16ch;margin:0}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-horizontal .ad1m-review__step-text{max-width:22ch;margin:8px auto 0}

/* Vertical timeline */
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__track{
  display:flex!important;
  flex-direction:column;
  gap:0;
  width:100%!important;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical.has-connector .ad1m-review__track::before{
  top:25px;
  bottom:25px;
  left:25px;
  border-left-width:var(--ad1-review-connector-width);
  border-left-style:var(--ad1-review-connector-style);
  border-left-color:var(--ad1-review-connector-color);
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical.has-dots.has-connector .ad1m-review__track::before{top:5px;bottom:5px;left:5px}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__step{
  position:relative;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:18px;
  align-items:start;
  width:100%!important;
  min-width:0;
  padding:0 0 30px!important;
  text-align:left;
  border:0!important;
}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__step-icon-wrap,
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__step-dot{grid-column:1;grid-row:1/4}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__step-number{grid-column:2;grid-row:1;margin:0 0 4px}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__step-title{grid-column:2;grid-row:2;max-width:none;margin:0}
.ad1m-review:is(.is-timeline-slider,.is-production-timeline).is-orientation-vertical .ad1m-review__step-text{grid-column:2;grid-row:3;max-width:54ch;margin:7px 0 0}

/* Production preset keeps the intro beside the timeline on desktop. */
.ad1m-review.is-production-timeline{
  display:grid;
  grid-template-columns:minmax(210px,var(--ad1-review-intro-width,25%)) minmax(0,1fr);
  gap:var(--ad1m-review-gap,42px);
  align-items:center;
}
.ad1m-review.is-production-timeline .ad1m-review__intro{align-self:center;min-width:0}
.ad1m-review.is-production-timeline .ad1m-review__title{max-width:12ch}
.ad1m-review.is-production-timeline .ad1m-review__steps{min-width:0;display:block}
.ad1m-review.is-production-timeline .ad1m-review__steps-title{margin:0 0 24px;padding:0;border:0}
.ad1m-review.is-production-timeline .ad1m-review__footer-note{margin:26px 0 0;padding-top:14px;text-align:center;border-top:1px solid var(--ad1-review-line,currentColor)}
.ad1m-review.is-production-timeline .ad1m-review__note{grid-column:1/-1}

/* Collaborative preset: slider can be disabled and used as a static timeline. */
.ad1m-review.is-timeline-slider.is-static-timeline .ad1m-review__viewport{overflow:visible}
.ad1m-review.is-timeline-slider.is-static-timeline .ad1m-review__track{width:100%!important;transform:none!important}
.ad1m-review.is-timeline-slider.is-static-timeline.is-orientation-horizontal .ad1m-review__step{flex:1 1 0!important;width:auto!important}
.ad1m-review.is-timeline-slider.is-slider-enabled.is-orientation-horizontal .ad1m-review__track{width:max-content!important;transform:translate3d(0,0,0);transition:transform .42s cubic-bezier(.22,1,.36,1)}
.ad1m-review.is-timeline-slider.is-slider-enabled.is-orientation-horizontal .ad1m-review__step{
  flex:0 0 calc((min(100vw,var(--ad1-shell,1240px)) - (var(--ad1-review-per-view) - 1)*var(--ad1m-review-gap,42px))/var(--ad1-review-per-view))!important;
  width:auto!important;
}
.ad1m-review.is-timeline-slider.is-slider-enabled.is-orientation-vertical .ad1m-review__viewport{overflow:hidden;transition:height .28s ease}
.ad1m-review.is-timeline-slider.is-slider-enabled.is-orientation-vertical .ad1m-review__track{transition:transform .42s cubic-bezier(.22,1,.36,1)}
.ad1m-review.is-timeline-slider.is-slider-enabled.is-orientation-vertical .ad1m-review__step{flex:0 0 auto!important}

@media (hover:hover){
  .ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step{transition:transform .24s ease}
  .ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step:hover{transform:translateY(-3px)}
  .ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step:hover .ad1m-review__step-icon-wrap{transform:scale(1.06)}
}
@media(max-width:1024px){
  .ad1m-review.is-production-timeline{grid-template-columns:1fr;align-items:start}
  .ad1m-review.is-production-timeline .ad1m-review__title{max-width:none}
  .ad1m-review.is-production-timeline .ad1m-review__intro .ad1m-rich{max-width:66ch}
}
@media(max-width:767px){
  /* Web-app default remains legible even if desktop orientation is horizontal. */
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__track{
    flex-direction:column;
    gap:0;
  }
  .ad1m-review.is-production-timeline.is-orientation-horizontal.has-connector .ad1m-review__track::before{
    top:25px;bottom:25px;left:25px;right:auto;
    border-top:0;
    border-left-width:var(--ad1-review-connector-width);
    border-left-style:var(--ad1-review-connector-style);
    border-left-color:var(--ad1-review-connector-color);
  }
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__step{
    display:grid!important;
    grid-template-columns:50px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    column-gap:18px;
    align-items:start;
    width:100%!important;
    padding:0 0 28px!important;
    text-align:left;
  }
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__step-icon-wrap,
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__step-dot{grid-column:1;grid-row:1/4}
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__step-number{grid-column:2;grid-row:1;margin:0 0 4px}
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__step-title{grid-column:2;grid-row:2;max-width:none}
  .ad1m-review.is-production-timeline.is-orientation-horizontal .ad1m-review__step-text{grid-column:2;grid-row:3;max-width:none;margin:7px 0 0}
  .ad1m-review.is-production-timeline .ad1m-review__footer-note{text-align:left}
  .ad1m-review.is-timeline-slider.is-slider-enabled.is-orientation-horizontal .ad1m-review__step{flex-basis:calc(100vw - 40px)!important}
}
@media(prefers-reduced-motion:reduce){
  .ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__track,
  .ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step,
  .ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-icon-wrap{transition:none}
}
/* Reset legacy absolute-dot positioning after the 0.12.16 timeline refactor. */
.ad1m-review:is(.is-timeline-slider,.is-production-timeline) .ad1m-review__step-dot{top:auto;left:auto;transform:none}

/* Stage 58 — Logo Rail width contract.
 * A short row expands across the actual Elementor container; a long row remains scrollable.
 * No max-width is imposed by the widget itself. */
.elementor-widget-ad1-logo-rail,
.elementor-widget-ad1-logo-rail > .elementor-widget-container,
.ad1m-logo-rail {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.ad1m-logo-rail__viewport { width: 100%; max-width: none; }
.ad1m-logo-rail--width-fill .ad1m-logo-rail__track {
  width: 100%;
  min-width: max-content;
}
.ad1m-logo-rail--width-fill .ad1m-logo-rail__item {
  flex: 1 0 var(--ad1m-logo-item-width, 190px);
  width: auto;
}
.ad1m-logo-rail--width-fixed .ad1m-logo-rail__track { width: max-content; min-width: 100%; }
.ad1m-logo-rail--width-fixed .ad1m-logo-rail__item {
  flex: 0 0 var(--ad1m-logo-item-width, 190px);
  width: var(--ad1m-logo-item-width, 190px);
}
@media (max-width: 767px) {
  .ad1m-logo-rail--width-fill .ad1m-logo-rail__track { width: max-content; min-width: 100%; }
  .ad1m-logo-rail--width-fill .ad1m-logo-rail__item {
    flex: 0 0 min(72vw, var(--ad1m-logo-item-width, 190px));
    width: min(72vw, var(--ad1m-logo-item-width, 190px));
  }
}
