/* Lumen · shared tokens for CUETEKS custom sections (theme 107) */
.lm {
  --lm-hair: rgba(var(--color-foreground), .16);
  --lm-hair-strong: rgba(var(--color-foreground), .32);
  --lm-muted: rgb(var(--color-foreground-secondary));
  --lm-ease: cubic-bezier(.2, .7, .2, 1);
  --lm-gutter: clamp(20px, 3.2vw, 48px);
  position: relative;
  padding-top: var(--lm-pt, 96px);
  padding-bottom: var(--lm-pb, 96px);
  font-family: var(--font-stack-body);
  color: rgb(var(--color-foreground));
  overflow: hidden;
  overflow: clip; /* clip keeps position:sticky working inside the section */
}
@media (max-width: 767px) {
  .lm {
    padding-top: calc(var(--lm-pt, 96px) * .6);
    padding-bottom: calc(var(--lm-pb, 96px) * .6);
  }
}
.lm *, .lm *::before, .lm *::after { box-sizing: border-box; }

.lm .lm-eyebrow {
  margin: 0 0 20px;
  font: 500 12px/1.4 var(--font-stack-body);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--lm-muted);
}
.lm .lm-display {
  margin: 0;
  font-family: var(--font-stack-header);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -.015em;
  color: rgb(var(--color-heading));
  white-space: pre-line;
  text-wrap: balance;
}
.lm .lm-h2 { font-size: clamp(36px, 4.6vw, 68px); }
.lm .lm-lead {
  margin: 0;
  max-width: 34em;
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.65;
  color: var(--lm-muted);
}

/* buttons & links */
.lm .lm-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 52px;
  padding: 0 30px;
  border: 1px solid rgb(var(--color-button));
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  font: 500 13px/1 var(--font-stack-body);
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .3s var(--lm-ease), color .3s var(--lm-ease), border-color .3s var(--lm-ease);
}
.lm .lm-btn:hover {
  background: rgb(var(--color-button-hover));
  border-color: rgb(var(--color-button-hover));
  color: rgb(var(--color-button-text-hover));
}
.lm .lm-btn__arrow { transition: transform .35s var(--lm-ease); }
.lm .lm-btn:hover .lm-btn__arrow { transform: translateX(4px); }
.lm .lm-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid var(--lm-hair-strong);
  color: rgb(var(--color-foreground));
  font: 500 13px/1.2 var(--font-stack-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: border-color .3s var(--lm-ease), gap .3s var(--lm-ease);
}
.lm .lm-link:hover { border-color: rgb(var(--color-foreground)); gap: 14px; }
.lm a:focus-visible, .lm button:focus-visible, .lm input:focus-visible + .lm-focus-ring {
  outline: 2px solid rgb(var(--color-foreground));
  outline-offset: 4px;
}

/* shared section header */
.lm .lm-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: clamp(36px, 4vw, 64px);
}
.lm .lm-head__copy { max-width: 760px; }
.lm .lm-head__copy .lm-lead { margin-top: 20px; }
@media (max-width: 767px) {
  .lm .lm-head { flex-direction: column; align-items: flex-start; gap: 20px; }
}

/* round icon buttons */
.lm .lm-round {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid var(--lm-hair-strong);
  border-radius: 50%;
  background: transparent;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  transition: background-color .3s var(--lm-ease), color .3s var(--lm-ease), border-color .3s var(--lm-ease);
}
.lm .lm-round:hover {
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
  border-color: rgb(var(--color-foreground));
}
.lm .lm-round svg { width: 18px; height: 18px; }

.lm .lm-btn__arrow, .lm .lm-flip { display: inline-block; }
[dir="rtl"] .lm .lm-btn__arrow, [dir="rtl"] .lm .lm-flip { transform: scaleX(-1); }
[dir="rtl"] .lm .lm-btn:hover .lm-btn__arrow { transform: scaleX(-1) translateX(4px); }

@media (prefers-reduced-motion: reduce) {
  .lm *, .lm *::before, .lm *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
