/* RP Book — Royal Speed design tokens (PHP edition) */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; }
.font-display { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Bold", sans-serif; }
html[lang="hi"] .font-display { font-family: "Baloo 2", Impact, "Noto Sans Devanagari", sans-serif; font-weight: 800; letter-spacing: 0.01em; }
.font-mono-lbl { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }

.ln { display: block; overflow: hidden; }
.ln > span { display: block; animation: d1-up 0.85s cubic-bezier(0.2, 0.7, 0, 1) both; }
.ln:nth-child(2) > span { animation-delay: 0.12s; }
.ln:nth-child(3) > span { animation-delay: 0.24s; }
.d1-fade { animation: d1-up 0.8s 0.45s cubic-bezier(0.2, 0.7, 0, 1) both; }
.d1-card-1 { animation: d1-up 0.7s 0.6s cubic-bezier(0.2, 0.7, 0, 1) both; }
.d1-card-2 { animation: d1-up 0.7s 0.7s cubic-bezier(0.2, 0.7, 0, 1) both; }
.d1-card-3 { animation: d1-up 0.7s 0.8s cubic-bezier(0.2, 0.7, 0, 1) both; }
.mq { display: flex; width: max-content; animation: d1-mq 28s linear infinite; }
.mq:hover { animation-play-state: paused; }
.d1-pulse { animation: d1-glow 3s ease-in-out infinite alternate; }
.d1-crest-spin { animation: d1-crest 18s ease-in-out infinite alternate; }

/* proof slider */
.proof-track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.proof-track::-webkit-scrollbar { display: none; }
.proof-track > div { scroll-snap-align: start; flex: 0 0 78%; }
@media (min-width: 640px) { .proof-track > div { flex-basis: 42%; } }
@media (min-width: 768px) { .proof-track > div { flex-basis: 28%; } }
@media (min-width: 1024px) { .proof-track > div { flex-basis: 22%; } }

@keyframes d1-up { from { transform: translateY(110%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes d1-mq { to { transform: translateX(-50%); } }
@keyframes d1-glow { 0% { box-shadow: 0 0 15px rgba(245, 215, 110, 0.25); } 100% { box-shadow: 0 0 32px rgba(245, 215, 110, 0.6); } }
@keyframes d1-crest { 0% { transform: rotate(-2deg) scale(0.99); } 100% { transform: rotate(2deg) scale(1.02); } }

@media (prefers-reduced-motion: reduce) {
  .ln > span, .d1-fade, .d1-card-1, .d1-card-2, .d1-card-3, .mq, .d1-pulse, .d1-crest-spin { animation: none !important; }
}

.toast { position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); background: #f5d76e; color: #06153d; font-weight: 700; font-size: 0.8rem; padding: 0.6rem 1rem; border-radius: 0.5rem; box-shadow: 0 10px 30px rgba(0,0,0,.4); z-index: 100; }
