/* LMA - small helper classes applied through Elementor's "CSS Classes" field.
   Each one covers a detail Elementor has no native control for. Everything
   else on the page is plain Elementor settings. No !important anywhere. */

/* Gold italic emphasis inside a serif headline */
.lma-em,
h1 .lma-em, h2 .lma-em, h3 .lma-em {
  font-style: italic;
  font-weight: 300;
  color: #cbb182;
}
.lma-on-light .lma-em { color: #a9843f; }

/* Hero spec callouts */
.lma-spec .elementor-widget-container > p { margin: 0; }
.lma-spec-label {
  display: block;
  font-family: Jost, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(243, 241, 234, 0.62);
  margin-bottom: 7px;
}
.lma-spec-label::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cbb182;
  margin-right: 9px;
  vertical-align: middle;
}
.lma-spec-value {
  display: block;
  font-family: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.1;
  color: #f3f1ea;
}
.lma-spec-r { text-align: right; }
.lma-spec-r .lma-spec-label::before { margin: 0 0 0 9px; float: right; position: relative; top: 6px; }

/* Lifecycle phases - rendered by an Icon List widget */
.lma-lifecycle .elementor-icon-list-items { gap: 10px 8px; }
.lma-lifecycle .elementor-icon-list-item {
  border: 1px solid #e6e1d4;
  border-radius: 999px;
  padding: 9px 15px;
  transition: border-color 220ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lma-lifecycle .elementor-icon-list-item:hover { border-color: #cbb182; }

/* Assessment criteria chips - Icon List with no icon */
.lma-chips .elementor-icon-list-items { gap: 10px 12px; }
.lma-chips .elementor-icon-list-item {
  border: 1px solid #e6e1d4;
  border-radius: 4px;
  padding: 7px 14px;
  background: #f7f5ef;
}

/* Process step - hairline with an orbit node on it */
.lma-step { position: relative; }
.lma-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(243, 241, 234, 0.18);
}
.lma-step::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 0;
  width: 11px;
  height: 11px;
  border: 1px solid #cbb182;
  border-radius: 50%;
  background: #0b2d5a;
  box-shadow: inset 0 0 0 3px #0b2d5a, inset 0 0 0 6px #cbb182;
}
.lma-step:last-child::before { background: transparent; }

/* Pillar index with its trailing rule */
.lma-pillar-num .elementor-heading-title::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 1px;
  background: #cbb182;
  margin-left: 12px;
  position: relative;
  top: -0.15em;
}

/* Section index with its trailing rule (01 / 02 / A / B / C) */
.lma-index .elementor-heading-title::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 1px;
  background: #bc9c63;
  margin-left: 14px;
  position: relative;
  top: -0.12em;
}

/* Eyebrow with its leading rule */
.lma-eyebrow .elementor-heading-title::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 34px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
  margin-right: 0.9em;
  position: relative;
  top: -0.12em;
}
