/* Title pop: gold gradient wordmark + slow shimmer, flourish under the hero title. No fonts/images from outside. */
.hero h1.tp { font-size: clamp(2.25rem, 4.8vw, 3.65rem); font-weight: 600; letter-spacing: .004em; text-shadow: 0 2px 14px rgba(5,10,22,.45); }
.tp-em, .bn-g {
  color: #e9cf8f; /* fallback when background-clip:text is unsupported */
  background: linear-gradient(100deg, #e0b866 0%, #f0cf86 20%, #fbe7b3 36%, #fffaea 45%, #f7dc9c 54%, #e6bf6f 72%, #f2d48f 100%);
  background-size: 260% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.tp-em { font-style: italic; font-weight: 700; padding: 0 .06em .06em 0; filter: drop-shadow(0 0 18px rgba(240,207,134,.35)) drop-shadow(0 1px 1px rgba(5,10,22,.5)); animation: tp-shine 9s ease-in-out 1.2s infinite; }
.bn-g { font-weight: 600; filter: drop-shadow(0 0 6px rgba(226,199,136,.22)); animation: tp-shine 14s ease-in-out 3s infinite; }
@keyframes tp-shine { 0% { background-position: 100% 0; } 38%, 100% { background-position: 0% 0; } }
.tp-orn { display: flex; align-items: center; gap: 0; width: min(260px, 70%); margin: 12px 0 14px; color: var(--gold-2); opacity: 1; filter: drop-shadow(0 0 6px rgba(240,207,134,.4)); animation: rise .8s cubic-bezier(.2,.8,.2,1) .15s both; }
.tp-orn svg { display: block; width: 100%; height: 14px; overflow: visible; }
@media (max-width: 680px) { .hero h1.tp { font-size: clamp(2rem, 9vw, 2.6rem); } .tp-orn { margin: 9px 0 11px; width: 200px; } }
@media (prefers-reduced-motion: reduce) { .tp-em, .bn-g { animation: none; background-position: 40% 0; } .tp-orn { animation: none; } }
@media print {
  .tp-em, .bn-g { background: none !important; -webkit-text-fill-color: currentColor; color: #6b5020 !important; filter: none !important; animation: none !important; }
  .hero h1.tp { text-shadow: none; }
  .tp-orn { display: none !important; }
}
.tp-orn + .hero-lede { margin-top: 0; }
