@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root { --ink: #12211f; --muted: #5d6d69; --paper: #f5f5ef; --line: #d7ded8; --accent: #bd4532; --blue: #dfeaf2; --mint: #dcece2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'DM Sans', sans-serif; line-height: 1.65; }
a { color: inherit; }
a:hover { color: var(--accent); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
img { max-width: 100%; height: auto; }
.shell { width: min(1160px, 100%); margin: auto; padding-left: 28px; padding-right: 28px; }
.site-header { min-height: 78px; max-width: 1160px; margin: auto; padding: 20px 28px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; color: var(--ink); text-decoration: none; font-family: 'Space Grotesk', sans-serif; font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: -.025em; white-space: nowrap; }
.brand:hover { color: var(--ink); }
.brand-mark { display: block; width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; }
.brand-ai { color: #0659ff; }
nav { display: flex; gap: 25px; flex-wrap: wrap; font-size: 13px; }
nav a { text-decoration: none; }
h1, h2, h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 600; line-height: 1.12; }
h1 { font-size: clamp(45px, 6vw, 76px); letter-spacing: -.055em; margin: 0 0 25px; }
h2 { font-size: clamp(30px, 4vw, 42px); letter-spacing: -.045em; margin: 0 0 25px; }
h3 { font-size: 23px; letter-spacing: -.025em; margin: 12px 0; }
em { font-style: normal; color: var(--accent); }
.eyebrow { color: var(--accent); font-size: 11px; font-weight: 600; letter-spacing: .12em; margin: 0 0 20px; }
.lede { max-width: 720px; font-size: 19px; color: var(--muted); }
.home-hero { padding: 95px 0 75px; }
.home-project { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; padding: 55px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.home-project h2 { font-size: 48px; margin-bottom: 15px; }
.home-project h2 a { text-decoration: none; }
.home-project p { color: var(--muted); }
.project-subtitle { font-weight: 600; color: var(--ink) !important; }
.project-thumbnail { display: block; background: white; padding: 10px; border: 1px solid var(--line); }
.home-project + .home-project { border-top: 0; }
.research-spectrum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 48px; }
.research-spectrum a { position: relative; padding-top: 15px; border-top: 1px solid var(--line); font-size: 14px; text-decoration: none; }
.research-spectrum span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 9px; letter-spacing: .12em; }
.research-spectrum b { float: right; color: #236552; font-weight: 400; }
.statistical-project h2 { font-size: clamp(33px, 4vw, 47px); }
.statistical-project .eyebrow { color: #236552; }
.statistical-project .button { background: #236552; }
.statistical-project .button:hover { background: var(--ink); }
.statistical-thumbnail { display: block; }
.statistical-thumbnail img { display: block; width: 100%; }
.home-project .project-authors { font-size: 14px; margin: 20px 0 4px; color: var(--ink); }
.runtime-project h2 { font-size: clamp(32px, 4vw, 46px); }
.runtime-framework img { display: block; width: 100%; }
.paper-hero.runtime-hero h1 { max-width: 980px; margin: 0 auto 28px; font-size: clamp(34px, 5.5vw, 62px); line-height: 1.12; }
.runtime-overview { border-top: 1px solid var(--line); }
.paper-release { padding-top: 0; }
.paper-release p { color: var(--muted); }
.home-publications { padding: 70px 0; border-bottom: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; }
.home-publications h2 { font-size: 28px; margin: 0; }
.section-note { max-width: 320px; margin: 0 0 2px; color: var(--muted); font-size: 14px; }
.publication-card { display: grid; grid-template-columns: minmax(210px, 280px) 1fr; gap: clamp(28px, 5vw, 62px); align-items: center; padding: 28px; background: #fff; border: 1px solid var(--line); }
.publication-cover { display: block; padding: 10px; background: #eef1ec; border: 1px solid var(--line); box-shadow: 8px 8px 0 var(--mint); transition: transform .2s ease, box-shadow .2s ease; }
.publication-cover:hover { transform: translate(-3px, -3px); box-shadow: 11px 11px 0 var(--mint); }
.publication-cover img { display: block; width: 100%; aspect-ratio: 0.773; object-fit: cover; object-position: top; }
.publication { max-width: 780px; }
.publication .eyebrow { margin-bottom: 14px; }
.publication h3 { font-size: clamp(23px, 3vw, 32px); line-height: 1.22; margin: 0 0 16px; }
.publication h3 a { text-decoration: none; }
.publication-authors { color: var(--muted); font-size: 14px; }
.publication-summary { color: var(--muted); margin-bottom: 24px; }
.publication .button { padding: 10px 15px; }
.home-resources { max-width: 820px; padding: 70px 0; }
.home-resources h2 { font-size: 28px; }
.actions, .inline-links { display: flex; align-items: center; gap: 23px; flex-wrap: wrap; }
.actions { margin-top: 30px; }
.button { display: inline-block; padding: 13px 20px; background: var(--ink); color: white; text-decoration: none; border-radius: 4px; font-size: 14px; font-weight: 600; }
.button:hover { background: var(--accent); color: white; }
.text-link { font-size: 14px; font-weight: 600; text-underline-offset: 5px; }
.paper-hero { text-align: center; padding-top: 85px; padding-bottom: 65px; }
.paper-hero h1 { font-size: clamp(60px, 9vw, 96px); margin-bottom: 14px; }
.paper-title { font-family: 'Space Grotesk', sans-serif; font-size: clamp(25px, 3.4vw, 39px); letter-spacing: -.035em; line-height: 1.18; margin: 0 0 27px; }
.authors { line-height: 1.8; margin-bottom: 5px; }
.author-note { color: var(--muted); font-size: 13px; margin-top: 0; }
.paper-hero .actions { justify-content: center; }
.paper-summary { margin: 36px auto 0; }
.stats-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); padding-top: 27px; padding-bottom: 27px; gap: 24px; }
.stats-strip div { border-right: 1px solid var(--line); padding-right: 20px; }
.stats-strip div:last-child { border-right: 0; }
.stats-strip strong { font-family: 'Space Grotesk', sans-serif; font-size: 31px; display: block; letter-spacing: -.04em; }
.stats-strip span { font-size: 13px; color: var(--muted); }
.section { padding-top: 80px; padding-bottom: 80px; }
.narrow { max-width: 900px; }
.narrow p { font-size: 17px; }
.framework-section { background: var(--blue); }
.framework-card { margin: 30px 0 0; padding: 14px; background: white; border: 1px solid var(--line); }
.framework-card img { display: block; width: 100%; }
figcaption { margin-top: 15px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.section-caption { max-width: 900px; color: var(--muted); }
.task-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 35px 0; }
.task-grid article { border-top: 2px solid var(--accent); padding: 20px 16px; background: white; }
.task-grid h3 { font-size: 20px; }
.task-grid p { color: var(--muted); font-size: 14px; }
.task-grid strong { font-size: 13px; }
.results-section { background: #e9eee8; }
.result-block { display: grid; grid-template-columns: .95fr 1.05fr; gap: 55px; padding: 45px 0; border-bottom: 1px solid #becac1; }
.result-block:last-child { border-bottom: 0; padding-bottom: 0; }
.result-label { font-size: 12px; font-weight: 700; color: var(--accent); }
.result-block p { color: var(--muted); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
caption { text-align: left; font-size: 13px; color: var(--muted); margin-bottom: 12px; }
th, td { padding: 13px 12px; border-bottom: 1px solid #c6d0c7; }
thead { background: var(--ink); color: white; }
tbody th { font-weight: 500; }
.highlight { background: var(--mint); }
.highlight th, .highlight td { font-weight: 700; }
.table-note { font-size: 12px; line-height: 1.5; }
.citation-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.citation-heading h2 { margin-bottom: 20px; }
button { background: transparent; color: var(--ink); border: 1px solid var(--ink); border-radius: 3px; padding: 10px 14px; cursor: pointer; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.7; background: #e6e7dc; padding: 24px; }
.site-footer { border-top: 1px solid var(--ink); display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; padding-bottom: 30px; font-size: 12px; color: var(--muted); }
@media (max-width: 760px) {
  .site-header { align-items: flex-start; flex-direction: column; gap: 16px; }
  nav { gap: 20px; }
  .home-hero, .paper-hero { padding-top: 60px; }
  .home-project, .publication-card, .result-block { grid-template-columns: 1fr; gap: 30px; }
  .home-project { padding-top: 35px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .publication-cover { max-width: 280px; }
  .stats-strip, .task-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-strip div:nth-child(2) { border-right: 0; }
  .section { padding-top: 60px; padding-bottom: 60px; }
  .citation-heading { align-items: flex-start; flex-direction: column; gap: 0; }
}
@media (max-width: 420px) {
  .research-spectrum { grid-template-columns: 1fr; gap: 17px; margin-top: 30px; }
  .shell, .site-header { padding-left: 20px; padding-right: 20px; }
  .task-grid { grid-template-columns: 1fr; }
  th, td { padding: 10px 7px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
