/* riron.org */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #FFFFFF; color: #444444; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.6; }
.accent-bar { width: 40px; height: 4px; background: #D42B2B; margin-bottom: 16px; }
.hero { max-width: 880px; margin: 0 auto; padding: 64px 32px 32px; }
.org-name { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 3rem; color: #0A0A0A; letter-spacing: 0.02em; text-transform: uppercase; margin-bottom: 16px; }
.mission { font-size: 1rem; color: #444444; max-width: 600px; margin-bottom: 32px; }
.nav-row { display: flex; gap: 24px; }
.nav-link { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.9rem; color: #1A5CA8; text-decoration: underline; }
.section-title { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 1.25rem; color: #0A0A0A; letter-spacing: 0.02em; text-transform: uppercase; margin-bottom: 24px; }
.research-areas { max-width: 880px; margin: 0 auto; padding: 48px 32px; }
.areas-grid { display: flex; gap: 0; }
.area { flex: 1; padding: 0 24px; }
.area:first-child { padding-left: 0; }
.area:last-child { padding-right: 0; }
.area-divider { width: 1px; background: #E0E0E0; }
.section-number { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 1.5rem; color: #D42B2B; display: block; margin-bottom: 8px; }
.area-name { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 1.1rem; color: #0A0A0A; margin-bottom: 8px; }
.area-desc { font-size: 0.9rem; color: #444444; }
.papers { max-width: 880px; margin: 0 auto; padding: 48px 32px; }
.paper-table { width: 100%; border-collapse: collapse; }
.paper-table th { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.8rem; color: #888888; text-align: left; padding: 8px 0; border-bottom: 2px solid #E0E0E0; text-transform: uppercase; letter-spacing: 0.04em; }
.paper-table td { padding: 12px 0; border-bottom: 1px solid #E0E0E0; vertical-align: top; }
.paper-table tbody tr:nth-child(even) { background: #F5F5F5; }
.paper-date { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; color: #888888; white-space: nowrap; padding-right: 16px; }
.paper-title { font-weight: 500; color: #0A0A0A; padding-right: 16px; }
.paper-authors { font-size: 0.9rem; color: #444444; white-space: nowrap; padding-right: 16px; }
.status-pill { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; padding: 2px 8px; border-radius: 2px; }
.status-pill.published { background: rgba(22,163,74,0.1); color: #16A34A; }
.status-pill.preprint { background: rgba(26,92,168,0.1); color: #1A5CA8; }
.status-pill.draft { background: rgba(136,136,136,0.1); color: #888888; }
.tools-section { max-width: 880px; margin: 0 auto; padding: 48px 32px; }
.tools-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.tool-item { padding: 0; }
.tool-name { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 1.1rem; color: #0A0A0A; display: inline; }
.tool-version { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: #888888; margin-left: 8px; }
.tool-desc { font-size: 0.9rem; color: #444444; margin: 8px 0; }
.repo-link { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #1A5CA8; text-decoration: underline; }
.footer { max-width: 880px; margin: 0 auto; padding: 32px; }
.footer-rule { border-top: 2px solid #0A0A0A; margin-bottom: 32px; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 32px; margin-bottom: 32px; }
.footer-heading { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 0.85rem; color: #0A0A0A; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 8px; }
.footer-link { display: block; font-size: 0.85rem; color: #444444; text-decoration: none; margin-bottom: 4px; }
.version-number { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: #888888; }
@media (max-width: 640px) {
    .areas-grid { flex-direction: column; }
    .area-divider { width: 100%; height: 1px; margin: 16px 0; }
    .area { padding: 0; }
    .tools-grid { grid-template-columns: 1fr; }
    .paper-table { font-size: 0.85rem; }
}
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
