:root {
  --paper: #f7f9fc;
  --ink: #27324b;
  --muted: #5d667a;
  --blue: #586ca7;
  --lime: #dce9df;
  --line: #d8deeb;
  --cover-back: #e9e4f4;
}
.site-header { background: rgba(247,249,252,.97); }
.monogram { background: #e4e6f3; color: var(--blue); font-weight: 550; }
h1 { font-size: clamp(3.25rem, 8vw, 8rem); font-weight: 430; letter-spacing: -.065em; }
.hero { column-gap: 68px; row-gap: 38px; padding: 48px 0 66px; }
.personal-line { font-size: 2.2rem; font-weight: 450; line-height: 1.24; letter-spacing: -.035em; }
.personal-line em { font-weight: 430; }
.research-preview { background: var(--cover-back); color: var(--ink); border: 1px solid #dce0ee; border-radius: 22px; }
.research-preview > span { border-top-color: #d1d5e7; }
.preview-link { border: 1px solid #dce0ee; border-radius: 20px; }
.preview-sql { background: #f3e5e7; }
.preview-retrieval { background: #e5eee7; }
.preview-link > span { font-weight: 500; }
.pin-badge { background: #425172; font-weight: 550; }
h2 { font-size: 3.7rem; font-weight: 450; letter-spacing: -.05em; }
.paper-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: 28px; margin-top: 0; }
.paper-card { background: #ffffff; border: 1px solid #dfe5ef; border-radius: 20px; overflow: hidden; box-shadow: 0 5px 18px rgba(39,50,75,.035); }
.paper-cover { margin: 8px 8px 0; border-radius: 14px; }
.cover-caption { padding: 10px 14px; border-top-color: rgba(39,50,75,.12); }
.cover-caption .pin-badge { padding-inline: 8px; font-size: .75rem; }
.paper-content { padding: 20px; }
.paper-meta { gap: 10px; margin-bottom: 12px; }
.paper-question { font-size: 1.5rem; font-weight: 500; line-height: 1.2; letter-spacing: -.04em; margin-bottom: 14px; }
.paper-content h3 { font-size: .9375rem; }
.paper-content > p:not(.paper-question) { margin-top: 10px; font-size: .9375rem; line-height: 1.6; }
.paper-content details { margin-top: 12px; }
.paper-links { column-gap: 16px; margin-top: 8px; }
.featured { gap: 22px; padding-bottom: 0; }
.featured .paper-cover { margin: 12px 0 12px 12px; }
.featured .paper-content { padding: 30px 28px 27px 8px; }
.featured .paper-question { font-size: 2.65rem; }
.big-bio { font-size: 2.65rem; font-weight: 450; line-height: 1.4; letter-spacing: -.035em; }
.contact-section { background: #e1eae8; border: 1px solid #d4dfdd; border-radius: 24px; }
.contact-email:hover { color: var(--blue); }
@media (max-width: 1100px) {
  .hero { column-gap: 40px; }
  .paper-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .featured .paper-content { padding-top: 25px; }
  .featured .paper-question { font-size: 2.15rem; }
}
@media (max-width: 760px) {
  .hero { row-gap: 28px; padding: 35px 0 48px; }
  h1 { font-size: clamp(3.25rem, 10vw, 5.1rem); }
  .personal-line { font-size: 1.9rem; }
  h2 { font-size: 2.8rem; }
  .paper-grid { grid-template-columns: 1fr; row-gap: 24px; margin-top: 0; }
  .featured { gap: 0; }
  .featured .paper-cover { margin: 10px 10px 0; }
  .paper-content, .featured .paper-content { padding: 20px; }
  .paper-question, .featured .paper-question { font-size: 1.6rem; }
  .big-bio { font-size: 2rem; }
}
@media (max-width: 430px) {
  h1 { font-size: clamp(2.8rem, 11.2vw, 3.8rem); }
  .personal-line { font-size: 1.8rem; }
  .paper-content, .featured .paper-content { padding: 18px; }
  .paper-question, .featured .paper-question { font-size: 1.5rem; }
}
@media print {
  body { background: white; }
  h1 { font-size: 3rem; }
  .paper-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .paper-card { box-shadow: none; border-radius: 0; }
  .paper-content, .featured .paper-content { padding: 16px; }
  .big-bio { font-size: 1.7rem; }
}

/* Paper captions share each diagram's light ground and dark ink. */
:root { --cover-back: #e9e4f4; }
#abiss { --panel: #e2eaf7; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#sql-challenges-2026 { --panel: #f7efcf; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#digital-maktaba-lp-journal { --panel: #ebe5f4; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#maktaba-platform { --panel: #e0efe9; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#dm-lp { --panel: #dfeef1; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#cover { --panel: #e9e4f4; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#refused-sql { --panel: #f5e4ea; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#arabic-ocr-abstract { --panel: #f7efd8; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#arabic-text-enhancement { --panel: #f6e4dd; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#sensitive-retrieval { --panel: #e0ebf8; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#sql-promise-pitfalls { --panel: #f7e5db; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
#digital-humanities { --panel: #f4e3e9; --panel-ink: #27324b; --panel-line: rgba(39,50,75,.15); }
