:root{--bg-color:#fff;--bg-subtle:#f8fafc;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--border-color:#e2e8f0;--border-light:#f1f5f9;--accent-color:#9b2226;--accent-hover:#7b1a1e;--accent-light:#9b222614;--nav-bg:#fff;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 14px #0000000f;--shadow-lg:0 10px 30px #00000014;--shadow-card:0 4px 20px -2px #0f172a0d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif), Georgia, "Times New Roman", serif;color:var(--text-primary);margin-bottom:var(--spacing-sm);letter-spacing:-.015em;font-weight:700;line-height:1.25}a{color:inherit;text-decoration:none;transition:color .2s cubic-bezier(.16,1,.3,1),opacity .2s}a:hover{color:var(--accent-color)}ul,ol{list-style:none}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1280px;padding:0 var(--spacing-md);margin:0 auto}@media (min-width:768px){.container{padding:0 var(--spacing-xl)}}.text-accent{color:var(--accent-color)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.heading-xl{letter-spacing:-.025em;font-size:clamp(2.25rem,8vw,3.75rem)}.heading-lg{letter-spacing:-.02em;font-size:clamp(1.75rem,6vw,2.75rem)}.heading-md{font-size:clamp(1.35rem,5vw,1.85rem)}.heading-sm{font-size:1.2rem}.heading-xs{font-size:1.05rem}@media (min-width:768px){.heading-xl{font-size:3.75rem}.heading-lg{font-size:2.75rem}.heading-md{font-size:1.85rem}}.font-serif{font-family:var(--font-serif), Georgia, serif}.font-sans{font-family:var(--font-sans), system-ui, sans-serif}.category-tag{font-family:var(--font-sans), system-ui, sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-color);background-color:var(--accent-light);width:fit-content;margin-bottom:var(--spacing-xs);border-radius:4px;padding:3px 9px;font-size:.72rem;font-weight:800;transition:background-color .2s,color .2s;display:inline-block}.category-tag:hover{background-color:var(--accent-color);color:#fff}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:border-r{border-right:1px solid var(--border-color)}.md\:border-b-0{border-bottom:none}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-3{grid-column:span 3/span 3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}nextjs-portal{display:none!important}
