/* =========================================================
   SULVEO — 3. Layout & Helpers
   ========================================================= */

.container {
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media (min-width: 1024px) {
  .container {
    padding-inline: 2rem;
  }
}

.section {
  position: relative;
  padding-block: 6rem;
  overflow-x: clip;
  max-width: 100vw;
  width: 100%;
  scroll-margin-top: var(--header-h, 60px);
}
@media (min-width: 1024px) {
  .section {
    padding-block: 8rem;
  }
}

.section--tint {
  background: rgb(var(--coal-rgb) / .4);
  border-block: 1px solid rgb(var(--line-rgb) / .6);
}

.text-center { text-align: center; }
.h-full { height: 100%; }
.min-w-0 { min-width: 0; }
.num { font-family: var(--font-num); }
.ltr { direction: ltr; }

/* SVG Icons */
.icon, .icon-fill {
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
}
.icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon-fill {
  fill: currentColor;
  stroke: none;
}
.arrow {
  width: 1rem;
  height: 1rem;
  stroke-width: 2.4;
}
[dir="ltr"] .arrow {
  transform: rotate(180deg);
}

/* Headings & Gradients */
.grad {
  background: linear-gradient(120deg, var(--bronze-lt) 0%, var(--bronze) 45%, #9c5c2d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.eyebrow {
  font-family: var(--font-num);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--bronze);
}

.h2 {
  margin-top: 1rem;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 2.25rem;
  line-height: 1.32;
}
@media (min-width: 1024px) {
  .h2 {
    font-size: 3rem;
  }
}

/* Atmospheric Glows & Grids */
.glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  max-width: 100vw;
}

.hairline {
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(to left, transparent, rgb(var(--bronze-rgb) / .6), transparent);
}

.grid-bg {
  background-image:
    linear-gradient(rgb(233 178 133 / .055) 1px, transparent 1px),
    linear-gradient(90deg, rgb(233 178 133 / .055) 1px, transparent 1px);
  background-size: 54px 54px;
  animation: grid-drift 26s linear infinite;
}
