.blq-container {
  max-width: var(--blq-container);
  margin-inline: auto;
  padding-inline: var(--blq-gutter);
}

.blq-section {
  padding-block: var(--blq-section-y);
  position: relative;
}
.blq-section--cream    { background: var(--blq-cream); }
.blq-section--sand      { background: var(--blq-sand); }
.blq-section--espresso  { background: var(--blq-espresso); color: var(--blq-ink-invert); }
.blq-section--espresso h2,
.blq-section--espresso h3 { color: var(--blq-ink-invert); }

.blq-ghost-word {
  position: absolute;
  font-family: var(--blq-font-display);
  font-weight: 600;
  font-style: italic;
  color: rgba(189, 154, 104, 0.14);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  line-height: 1;
  z-index: 0;
  transform: translateY(var(--blq-parallax, 0px));
  will-change: transform;
}
.blq-ghost-word--stroke {
  color: transparent;
  -webkit-text-stroke: 1px rgba(189, 154, 104, 0.22);
}
@media (max-width: 768px) {
  .blq-ghost-word { font-size: clamp(3.5rem, 18vw, 9rem) !important; opacity: 0.5; }
}

/* Corner-bracket image frame (de-identified alternative to an offset stack) */
.blq-framed-image {
  position: relative;
  padding: 18px;
}
.blq-framed-image img {
  position: relative;
  z-index: 1;
  border-radius: 6px;
  width: 100%;
  height: auto;
  aspect-ratio: var(--blq-frame-ratio, 4 / 5);
  object-fit: cover;
}
.blq-framed-image::before,
.blq-framed-image::after {
  content: '';
  position: absolute;
  width: 44px;
  height: 44px;
  border: 2px solid var(--blq-gold);
  z-index: 2;
}
.blq-framed-image::before {
  top: 0; left: 0;
  border-right: none;
  border-bottom: none;
}
.blq-framed-image::after {
  bottom: 0; right: 0;
  border-left: none;
  border-top: none;
}
@media (max-width: 768px) {
  .blq-framed-image { padding: 10px; }
  .blq-framed-image::before,
  .blq-framed-image::after { width: 28px; height: 28px; }
}

.blq-grid-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}
.blq-grid-2 > * { min-width: 0; }
@media (max-width: 768px) {
  .blq-grid-2 { grid-template-columns: 1fr; gap: 2.5rem; }
}

[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 700ms var(--blq-ease), transform 700ms var(--blq-ease);
}
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal-delay="1"] { transition-delay: 90ms; }
[data-reveal-delay="2"] { transition-delay: 180ms; }
[data-reveal-delay="3"] { transition-delay: 270ms; }
[data-reveal-delay="4"] { transition-delay: 360ms; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}
