/* Section divider — reusable (D-W20-008 / D-W20-010) */
.ax-divider {
  background: var(--ax-paper);
}

/* C — divider reads as the top of the following section */
.ax-divider:has(+ .ax-on-ink),
.ax-divider:has(+ .ax-section--dark) {
  background: var(--ax-ink);
}

.ax-divider:has(+ .ax-on-sand),
.ax-divider:has(+ .ax-files) {
  background: var(--ax-sand);
}

/* Explicit CMS tone wins over :has inheritance */
.ax-divider--sand {
  background: var(--ax-sand);
}

.ax-divider--ink {
  background: var(--ax-ink);
}

.ax-divider__inner {
  max-width: var(--ax-maxw);
  margin: 0 auto;
  padding: 0 var(--ax-gutter);
}

.ax-divider__row {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 22px);
  padding: var(--ax-div-pad-top) 0 var(--ax-div-pad-bottom);
}

.ax-divider__rule {
  flex: 0 0 clamp(40px, 6vw, 120px);
  height: 1px;
  background: rgba(53, 59, 102, 0.22);
  display: block;
}

.ax-divider--ink .ax-divider__rule,
.ax-divider:has(+ .ax-on-ink):not(.ax-divider--sand) .ax-divider__rule,
.ax-divider:has(+ .ax-section--dark):not(.ax-divider--sand) .ax-divider__rule {
  background: rgba(244, 241, 235, 0.22);
}

.ax-divider__rule--grow {
  flex: 1;
}

.ax-divider__mark {
  width: 11px;
  height: 8.8px;
  flex: 0 0 auto;
  display: block;
  fill: var(--ax-steel);
}

.ax-divider__mark--muted {
  width: 7px;
  height: 5.6px;
  fill: rgba(53, 59, 102, 0.32);
}

.ax-divider--ink .ax-divider__mark--muted,
.ax-divider:has(+ .ax-on-ink):not(.ax-divider--sand) .ax-divider__mark--muted,
.ax-divider:has(+ .ax-section--dark):not(.ax-divider--sand) .ax-divider__mark--muted {
  fill: rgba(244, 241, 235, 0.32);
}

.ax-divider__label {
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(53, 59, 102, 0.45);
  white-space: nowrap;
}

.ax-divider--ink .ax-divider__label,
.ax-divider:has(+ .ax-on-ink):not(.ax-divider--sand) .ax-divider__label,
.ax-divider:has(+ .ax-section--dark):not(.ax-divider--sand) .ax-divider__label {
  color: rgba(244, 241, 235, 0.45);
}

/*
 * B — one owner of top air: after a standalone divider the section
 * does not add padding-top (divider --ax-div-pad-* already did).
 * contact-phone hides its preceding divider — keep its own top pad.
 */
.ax-divider + [data-sec]:not(.ax-contact-phone) {
  padding-top: 0;
}

@media (max-width: 900px) {
  .ax-divider__label {
    white-space: normal;
  }
}
