html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; line-height: 1; display: inline-block; flex-shrink: 0; }
.fill-1 { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.no-scrollbar { scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.above-stretch { position: relative; z-index: 2; }
:focus-visible { outline: 2px solid #0284c7; outline-offset: 2px; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] .chev { transform: rotate(180deg); }
.chev { transition: transform .15s; }
.num { font-variant-numeric: tabular-nums; }
.prose-article { font-size: 16px; line-height: 1.75; color: #1e293b; }
.prose-article > * + * { margin-top: 1.1em; }
.prose-article h2 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 30px; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; color: #0f172a; margin-top: 1.8em; scroll-margin-top: 110px; }
.prose-article h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; text-transform: uppercase; letter-spacing: .03em; color: #0f172a; margin-top: 1.4em; }
.prose-article ul, .prose-article ol { padding-left: 1.4em; }
.prose-article ul { list-style: disc; } .prose-article ol { list-style: decimal; }
.prose-article li + li { margin-top: .4em; }
.prose-article li::marker { color: #ea580c; }
.prose-article a { color: #c2410c; text-decoration: underline; }
.prose-article blockquote { border-left: 4px solid #ea580c; padding: .2em 1em; color: #334155; background: #fff7ed; border-radius: 0 .5rem .5rem 0; }
.toast { position: fixed; left: 50%; bottom: 88px; transform: translateX(-50%); z-index: 100; max-width: calc(100vw - 32px); }
.hero-grad { background-image: linear-gradient(to right, #ea580c, #d97706, #ea580c); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (min-width: 1280px) { .toast { bottom: 24px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .animate-ping, .animate-pulse, .animate-bounce { animation: none !important; } }
