/* LifeSupport IT — Layout system */
.container { width: 100%; max-width: var(--lsit-container); margin-inline: auto; padding-inline: var(--lsit-gutter); }
.container--narrow { max-width: var(--lsit-container-narrow); }
.section { padding-block: var(--lsit-section-y); position: relative; }
.section--soft { background: var(--lsit-soft); }
.section--white { background: var(--lsit-white); }
.section--navy { background: var(--lsit-grad-navy); color: var(--lsit-text-on-dark); overflow: hidden; }
.section--navy h1, .section--navy h2, .section--navy h3, .section--navy h4 { color: #fff; }
.section--navy p { color: var(--lsit-text-on-dark-muted); }
.section__head { max-width: 720px; margin: 0 auto var(--lsit-space-7); text-align: center; }
.eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: var(--lsit-fs-xs); font-weight: var(--lsit-fw-semibold);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--lsit-primary); background: var(--lsit-soft);
  padding: .4rem .9rem; border-radius: var(--lsit-radius-pill); margin-bottom: var(--lsit-space-4);
}
.section--navy .eyebrow { background: rgba(255,255,255,.1); color: var(--lsit-accent); }
.text-gradient { background: var(--lsit-grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Grid: 12-col helpers, auto-collapsing */
.grid { display: grid; gap: var(--lsit-space-5); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.flex { display: flex; gap: var(--lsit-space-4); }
.flex--center { align-items: center; }
.flex--between { justify-content: space-between; }
.flex--wrap { flex-wrap: wrap; }
.stack > * + * { margin-top: var(--lsit-space-4); }

@media (max-width: 1024px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .section__head { margin-bottom: var(--lsit-space-6); }
}