/* Molang Showbiz — "Obsidian Premiere" extras on top of Tailwind CDN */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; color-scheme: dark; background: #131317; }
body { overflow-x: hidden; }
.no-scrollbar { scrollbar-width: none; } .no-scrollbar::-webkit-scrollbar { display: none; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; line-height: 1; user-select: none; }
.icon-fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.pb-safe { padding-bottom: env(safe-area-inset-bottom, 0px); }
.stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.above-stretch { position: relative; z-index: 2; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { display: inline-flex; animation: marquee 45s linear infinite; }
.marquee:hover { animation-play-state: paused; }
@keyframes slowzoom { from { transform: scale(1.05); } to { transform: scale(1.12); } }
.hero-zoom { animation: slowzoom 24s ease-in-out infinite alternate; }
@media (prefers-reduced-motion: reduce) { .marquee, .hero-zoom, .animate-ping, .animate-pulse { animation: none !important; } * { scroll-behavior: auto !important; } }
.radial-scrim { background: radial-gradient(ellipse at 30% 40%, transparent 0%, rgba(19,19,23,.4) 55%, #131317 100%); }
.glass { background: rgba(28, 28, 36, 0.65); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.06); border-top-color: rgba(245,158,11,0.2); }
.halo { box-shadow: 0 0 24px rgba(245,158,11,0.35); } .halo:hover { box-shadow: 0 0 36px rgba(245,158,11,0.6); }
.gold-btn { background: linear-gradient(90deg, #f59e0b, #d97706); color: #0d0d11; }
:focus-visible { outline: 2px solid #f59e0b; outline-offset: 2px; }
input, select, textarea { color-scheme: dark; }
.field { width: 100%; background: #353439; padding: .55rem 1rem; border-radius: .5rem; color: #e4e1e7; font: 400 15px/24px "Plus Jakarta Sans", sans-serif; border: 1px solid transparent; transition: box-shadow .2s, border-color .2s; }
.field::placeholder { color: #a08e7a; }
.field:focus { outline: none; border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.15); }
details > summary { list-style: none; cursor: pointer; } details > summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(180deg); }
.chip-on { background: #f59e0b; color: #472a00; font-weight: 700; }
/* Long-form copy */
.prose-copy { font-family: "Plus Jakarta Sans", sans-serif; font-size: 17px; line-height: 30px; color: #d8c3ad; }
.prose-copy > * + * { margin-top: 1.1em; }
.prose-copy h2 { font-family: Syne, sans-serif; color: #e4e1e7; font-size: 26px; line-height: 34px; font-weight: 700; margin-top: 1.8em; letter-spacing: -0.01em; scroll-margin-top: 110px; }
.prose-copy h3 { font-family: Syne, sans-serif; color: #e4e1e7; font-size: 20px; line-height: 28px; font-weight: 600; margin-top: 1.5em; }
.prose-copy strong { color: #e4e1e7; font-weight: 700; }
.prose-copy ul, .prose-copy ol { padding-left: 1.4em; } .prose-copy ul { list-style: disc; } .prose-copy ol { list-style: decimal; }
.prose-copy li { margin-top: .45em; padding-left: .2em; } .prose-copy li::marker { color: #f59e0b; font-weight: 700; }
.prose-copy blockquote { border-left: 3px solid #f59e0b; background: #1b1b1f; padding: 18px 22px; border-radius: 0 .75rem .75rem 0; color: #e4e1e7; font-size: 19px; line-height: 30px; font-style: italic; }
@media (max-width: 767px) { .prose-copy { font-size: 16px; line-height: 28px; } .prose-copy h2 { font-size: 22px; line-height: 30px; } }
