/* ── Single article hero ──────────────────────────────────────────── */
.ns-hero {
  height: clamp(300px, 40vw, 456px);
  border-radius: 0 0 3.75rem 0;
}

.ns-hero-overlay {
  z-index: 1;
  pointer-events: none;
  /* Brand teal from the logical start (right in RTL) + base tint + bottom read zone — aligned with services hero */
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.12) 0%, transparent 42%, rgba(0, 0, 0, 0.58) 100%),
    linear-gradient(270deg, rgba(4, 113, 168, 0.88) 28%, rgba(4, 113, 168, 0.2) 58%, transparent 92%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.36) 0%, rgba(0, 0, 0, 0.36) 100%);
}

.ns-hero-meta { z-index: 2; }

/* ── Share buttons ────────────────────────────────────────────────── */
.ns-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: .5rem;
  background: rgba(255,255,255,.15);
  color: #fff;
  font-size: 1rem;
  text-decoration: none;
  transition: background .2s;
}

.ns-share-btn:hover { background: rgba(255,255,255,.3); color: #fff; }

/* ── Article body ─────────────────────────────────────────────────── */
.ns-article-title {
  font-size: clamp(1.5rem, 3vw, 2.6rem);
  line-height: 1.35;
}

.ns-article-body p {
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.9;
  color: #2a2a2a;
  margin-bottom: 1.25rem;
}

/* Featured image beside title + body (RTL: column order places image on the right). */
.ns-article-featured {
  position: relative;
}

.ns-article-featured-img {
  aspect-ratio: 4 / 3;
  max-height: min(520px, 70vh);
  background: #e8eef2;
}

@media (min-width: 992px) {
  .ns-article-featured {
    position: sticky;
    top: calc(var(--bs-navbar-height, 72px) + 1rem);
  }
}
