/* luxo textures A+B — Visibility escalate (2026-09-09)
 * Cap surface grain 0.14 (never ≥0.18). multiply for readable ice speck.
 * 2px platinum bar under .section-title (Serviços em destaque / O que dizem…).
 * Never marble / cream / chrome / grain on photos / Ligar / cards / form.
 */

/* ---------- A · Cool gallery grain (large fields only) ---------- */
.b10-content,
.b30-list,
.section.bg-surface {
  position: relative;
  isolation: isolate;
}

.b10-content::after,
.b30-list::after,
.section.bg-surface::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.14;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22120%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.85%22%20numOctaves%3D%224%22%20stitchTiles%3D%22stitch%22/%3E%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200.04%20%200%200%200%200%200.04%20%200%200%200%200%200.05%20%200%200%200%200.55%200%22/%3E%3C/filter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23n%29%22/%3E%3C/svg%3E");
  background-size: 120px 120px;
  border-radius: inherit;
}

.b10-content::after { opacity: 0.11; }

.b10-content > *,
.b30-list > *,
.section.bg-surface > * {
  position: relative;
  z-index: 1;
}

.b10-media,
.b10-media img,
.b61-media,
.b61-media img {
  position: relative;
  z-index: 2;
}
.b10-media::after,
.b61-media::after {
  content: none !important;
}

.b30-panel::after,
.b90::after,
.b50::after,
.b61-strong::after,
.site-footer::after,
.card::after,
.quote-card::after,
.form-card::after {
  content: none !important;
}

/* ---------- B · Brushed platinum hairline ---------- */
.section-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.section-header .section-title {
  position: relative;
  display: inline-block;
  max-width: 100%;
  padding-bottom: 0.85rem;
  margin-bottom: 0;
}
.section-header .section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 12rem;
  max-width: 100%;
  height: 2px;
  background: repeating-linear-gradient(
    90deg,
    #9a9a9a 0 1px,
    #6e6e6e 1px 2px,
    #c4c4c4 2px 3px,
    #8a8a8a 3px 4px
  );
  opacity: 1;
}

.luxo-brush-rule {
  display: block;
  height: 2px;
  border: 0;
  margin-top: 0.85rem;
  width: 12rem;
  max-width: 100%;
  background: repeating-linear-gradient(
    90deg,
    #9a9a9a 0 1px,
    #6e6e6e 1px 2px,
    #c4c4c4 2px 3px,
    #8a8a8a 3px 4px
  );
  opacity: 1;
}

.b30 {
  position: relative;
}
.b30::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: repeating-linear-gradient(
    180deg,
    #9a9a9a 0 1px,
    #6e6e6e 1px 2px,
    #c4c4c4 2px 3px,
    #8a8a8a 3px 4px
  );
  opacity: 0.85;
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 820px) {
  .b30::after { display: none; }
}

.b90,
.b50 {
  position: relative;
}
.b90::before,
.b50::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: repeating-linear-gradient(
    90deg,
    #9a9a9a 0 1px,
    #6e6e6e 1px 2px,
    #c4c4c4 2px 3px,
    #8a8a8a 3px 4px
  );
  opacity: 0.95;
  pointer-events: none;
  z-index: 2;
}

.chip-accent,
.badge-signal {
  background-image: repeating-linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.09) 0 1px,
    transparent 1px 3px
  );
}

.btn-primary {
  background-image: none !important;
}
