/* ============================================================
   comp-marketing.css (Lego Block)
   PDF Banner and Manifesto section
   ============================================================ */

/* ── PDF banner ── */
.pdf-banner {
  background: linear-gradient(135deg, rgba(21, 15, 41, 0.7), rgba(36, 26, 69, 0.7));
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(157, 111, 255, 0.3);
  box-shadow: var(--card-shadow), 0 0 50px rgba(167, 139, 250, 0.06);
  border-radius: 22px; padding: clamp(44px, 6vw, 68px) clamp(28px, 5vw, 64px);
  color: #fff; text-align: center; position: relative; overflow: hidden;
}
.pdf-banner .glyph {
  position: absolute; left: -20px; bottom: -60px; font-size: 240px;
  color: rgba(255,255,255,0.05); font-weight: bold; pointer-events: none;
}
.pdf-banner h2 { font-size: clamp(26px, 3.4vw, 38px); letter-spacing: -0.02em; position: relative; }
.pdf-banner p {
  margin: 16px auto 30px; max-width: 52ch; color: #C8D0E0; position: relative;
}
.pdf-banner .btn-primary { position: relative; }

/* ── Manifesto strip ──
   Was italic serif at body-text scale (reads as a dated template quote
   block). Now a single oversized, non-italic sans statement — the kind of
   scale jump that gives a page one deliberate "impact moment" instead of
   staying at the same type size the whole way down. */
.manifesto { text-align: center; }
.manifesto blockquote {
  font-family: var(--sans); font-weight: 700;
  font-size: clamp(28px, 4.2vw, 46px); line-height: 1.25;
  max-width: 22ch; margin: 0 auto; letter-spacing: -0.03em;
  color: var(--text-primary);
}
.manifesto blockquote strong {
  font-weight: 800;
  background: var(--gradient-primary);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.manifesto cite {
  display: block; margin-top: 26px; font-family: var(--sans); font-style: normal;
  font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-muted);
}

/* "Why klang-guide exists" reveal — a plain supporting line under a blockquote,
   and a closing CTA row. Deliberately its own class (not .hero-cta) since that
   class carries a `justify-content: flex-start !important` rule scoped to the
   hero split layout on desktop, which would fight this section's centering. */
.reveal-sub {
  max-width: 56ch; margin: 22px auto 0; color: var(--text-secondary);
  font-size: 15.5px; line-height: 1.7;
}
.manifesto-cta {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 34px;
}
