/* Feature showcase — light editorial photo collage on the shared Pearl canvas.
   Three real photographs overlap with glass UI-detail chips; a minimal pillar
   row carries the copy. Palette: Pearl #F8F9FF · Obsidian #0A0F1E · Electric
   #2563EB · Emerald #059669 · Gold #C9A84C. File name is historical. */

.nb-feature-section {
  position: relative; overflow: hidden; padding: 112px 0 104px;
  background: #f8f9ff;
}
.nb-feature-mesh {
  position: absolute; inset: -10%; pointer-events: none;
  background:
    radial-gradient(circle at 12% 16%, rgba(37,99,235,.1), transparent 36%),
    radial-gradient(circle at 88% 34%, rgba(5,150,105,.08), transparent 32%),
    radial-gradient(circle at 62% 94%, rgba(201,168,76,.09), transparent 30%);
  filter: blur(8px);
}
.nb-feature-ring {
  position: absolute; top: 9%; right: 6%; width: 136px; height: 136px;
  border: 1.5px solid rgba(37,99,235,.16); border-radius: 50%;
  animation: nbFeatureDrift 11s ease-in-out infinite;
  pointer-events: none;
}
.nb-feature-shell { position: relative; z-index: 1; }

/* Heading — display left, one supporting line bottom-right (shared pattern) */
.nb-feature-heading {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 34px; margin-bottom: 46px;
}
.nb-feature-section .nb-section-label { color: #2563eb; }
.nb-feature-heading h2 {
  margin: 13px 0 0; color: #0a0f1e;
  font: 700 clamp(1.9rem, 3.2vw, 3rem)/1.08 "Sora", sans-serif;
  letter-spacing: -.045em;
}
.nb-feature-heading h2 span { color: #2563eb; }
/* Body-text tier: same size/color as the Problem intro line and Closing CTA
   paragraph — was its own one-off size (.92rem) with the washed-out gray. */
.nb-feature-heading > p {
  max-width: 320px; margin: 0 0 8px; color: #1e293b;
  font-size: .95rem; line-height: 1.65; text-align: right;
}

/* Collage — overlapping photo cards. Radius/shadow live on the images so the
   figures can keep overflow visible and let chips hang past their edges. */
.nb-feature-collage { position: relative; height: min(44vw, 600px); }
.nb-collage-card {
  position: absolute; margin: 0;
  transition: transform .7s cubic-bezier(.2,.75,.2,1);
}
.nb-collage-card:hover { transform: translateY(-7px); }
.nb-collage-card img {
  width: 100%; height: 100%; object-fit: cover;
  border: 1px solid rgba(255,255,255,.9); border-radius: 24px;
  background: #dbe4ef;
}
.nb-collage-card.is-primary { top: 0; left: 0; z-index: 1; width: 58%; height: 100%; }
.nb-collage-card.is-primary img { object-position: center 30%; box-shadow: 0 24px 60px rgba(15,23,42,.14); }
.nb-collage-card.is-side { top: 6%; left: 55%; z-index: 2; width: 42%; height: 58%; }
.nb-collage-card.is-side img { object-position: center 32%; box-shadow: 0 30px 70px rgba(15,23,42,.18); }
.nb-collage-card.is-accent { top: 70%; left: 60%; z-index: 3; width: 31%; height: 30%; }
.nb-collage-card.is-accent img { border-radius: 20px; box-shadow: 0 26px 60px rgba(15,23,42,.16); }

/* Glass UI-detail chips */
.nb-feature-chip {
  position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px;
  padding: 11px 14px; border: 1px solid rgba(226,232,240,.95); border-radius: 14px;
  background: rgba(255,255,255,.92); color: #0f172a;
  box-shadow: 0 18px 44px rgba(15,23,42,.16);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  animation: nbFeatureFloat 6s ease-in-out infinite;
}
.nb-feature-chip > i { font-size: 1.05rem; }
.nb-feature-chip span { display: grid; gap: 1px; }
.nb-feature-chip small { color: #475569; font-size: .58rem; }
.nb-feature-chip strong { font-size: .7rem; font-weight: 650; letter-spacing: .01em; }
.nb-feature-chip.is-approved { top: 20px; left: 20px; }
.nb-feature-chip.is-approved > i { color: #059669; }
.nb-feature-chip.is-payment { right: 20px; bottom: 20px; animation-delay: -3s; }
.nb-feature-chip.is-payment > i { color: #2563eb; }
.nb-feature-chip.is-fbr { top: 24px; left: -30px; animation-delay: -1.5s; }
.nb-feature-chip.is-fbr > i { color: #a8862f; }
.nb-feature-chip.is-fbr strong { font-family: "IBM Plex Mono", monospace; font-weight: 500; font-size: .66rem; }

/* Small caption on the paperwork photo */
.nb-collage-note {
  position: absolute; bottom: 14px; left: 14px; z-index: 4;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 11px; border: 1px solid rgba(226,232,240,.95); border-radius: 99px;
  background: rgba(255,255,255,.92); color: #334155;
  font-size: .62rem; font-weight: 650;
  box-shadow: 0 10px 26px rgba(15,23,42,.14);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.nb-collage-note i { color: #2563eb; }

/* Pillar row */
.nb-feature-pillars {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
  margin-top: 56px;
}
.nb-feature-pillars > div { padding-top: 22px; border-top: 1px solid #e2e8f0; }
.nb-feature-pillars small {
  display: block; margin-bottom: 12px; color: #2563eb;
  font: 500 .62rem "IBM Plex Mono", monospace; letter-spacing: .12em;
}
/* Card-title tier: bumped from 650/1.05rem to 700/1.1rem for a more
   confident, less-thin presence, per the brief's "not thin/washed-out". */
.nb-feature-pillars h3 {
  margin: 0 0 9px; color: #0a0f1e;
  font: 700 1.1rem/1.3 "Sora", sans-serif; letter-spacing: -.02em;
}
/* Card-body tier: matches the hero showcase card description exactly
   (.875rem/400/1.6/Graphite) — was a one-off size (.84rem) with the
   washed-out gray. */
.nb-feature-pillars p { margin: 0; color: #1e293b; font-size: .875rem; line-height: 1.6; }

@keyframes nbFeatureFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes nbFeatureDrift {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(8px,-12px,0); }
}

@media (max-width: 991.98px) {
  .nb-feature-section { padding: 88px 0 82px; }
  .nb-feature-heading { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 36px; }
  .nb-feature-heading > p { max-width: 560px; margin: 0; text-align: left; }
  .nb-feature-collage { height: 58vw; }
  .nb-feature-chip { padding: 9px 12px; }
  .nb-feature-chip strong { font-size: .65rem; }
  .nb-feature-pillars { gap: 24px; margin-top: 46px; }
  .nb-feature-ring { top: 6%; right: -40px; }
}

@media (max-width: 767.98px) {
  .nb-feature-section { padding: 72px 0 66px; }
  .nb-feature-collage { height: auto; }
  .nb-collage-card,
  .nb-collage-card.is-primary,
  .nb-collage-card.is-side,
  .nb-collage-card.is-accent { position: relative; top: auto; left: auto; width: 100%; height: auto; }
  .nb-collage-card.is-primary { aspect-ratio: 16 / 10; margin-bottom: 16px; }
  .nb-collage-card.is-side { aspect-ratio: 16 / 9; margin-bottom: 16px; }
  .nb-collage-card.is-accent { aspect-ratio: 21 / 9; }
  .nb-collage-card img { border-radius: 18px; }
  .nb-feature-chip.is-approved { top: 14px; left: 14px; }
  .nb-feature-chip.is-payment { right: 14px; bottom: 14px; }
  .nb-feature-chip.is-fbr { top: auto; left: auto; right: 14px; bottom: 14px; }
  .nb-feature-pillars { grid-template-columns: 1fr; gap: 22px; margin-top: 40px; }
}

@media (max-width: 479.98px) {
  .nb-feature-chip strong { font-size: .62rem; }
  .nb-feature-chip.is-fbr strong { font-size: .58rem; }
  .nb-collage-note { bottom: 10px; left: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .nb-collage-card, .nb-feature-chip, .nb-feature-ring { animation: none !important; transition: none !important; }
}
