/* Project dossiers and the written archive. */
.project-summary { max-width: 450px; min-height: 3.8em; margin-top: 20px; color: #aaa49d; font-size: 12px; line-height: 1.9; }
.writing { border-top: 1px solid var(--line); background: #0e0d0e; }
.writing .section-heading { margin-bottom: 0; }
.writing-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 55px; padding: 22px 0; border-top: 1px solid var(--line); color: #a69f95; font-size: 8px; letter-spacing: 1px; }
.writing-topline > span:last-child { color: var(--muted); }
.article-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.article-card { min-width: 0; border: 1px solid #3a2f31; background: linear-gradient(140deg,#1b1415,#111112 70%); transition: border-color .3s, background .3s; }
.article-card:hover { border-color: #99504c; background: linear-gradient(140deg,#26171a,#141213 70%); }
.article-link { display: flex; flex-direction: column; height: 100%; min-height: 350px; padding: 30px; }
.article-link:focus-visible { outline-offset: 5px; }
.article-topline { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 22px; border-bottom: 1px solid #423235; color: #a5938e; font-size: 7px; line-height: 1.7; letter-spacing: .9px; }
.article-topline time { white-space: nowrap; }
.article-cover { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin-top: 22px; filter: saturate(.85); }
.article-format { color: var(--red-text); font-size: 8px; letter-spacing: 1.4px; margin-top: 26px; }
.article-card h3 { font: 600 clamp(31px,3vw,43px)/1.12 var(--display); letter-spacing: -.2px; margin-top: 15px; overflow-wrap: anywhere; }
.article-excerpt { font-size: 12px; line-height: 1.9; color: #aaa29b; margin-top: 17px; }
.article-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 30px; color: #d3c5bb; font-size: 11px; }
.article-bottom .icon { transition: transform .3s, color .3s; }
.article-link:hover .article-bottom .icon { color: var(--red-text); transform: translate(3px,-3px); }
.writing-footer { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 28px; }
.writing-footer > .mono { font-size: 7px; color: #8f827c; letter-spacing: .7px; line-height: 1.9; }
.writing-footer .text-link { font-size: 11px; }
.writing-empty { grid-column: 1 / -1; padding: 35px; border: 1px solid #3a2f31; background: linear-gradient(120deg,#1a1315,#111112); }
.writing-empty .eyebrow { font-size: 8px; color: var(--red-text); }
.writing-empty p { font-size: 17px; line-height: 1.7; margin-top: 20px; }
.writing-empty .text-link { font-size: 11px; margin-top: 20px; }
@media(min-width:761px) and (max-width:1050px) {
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 9px; }
}
@media(max-width:760px) {
  .project-summary { min-height: 0; font-size: 11px; margin-top: 17px; }
  .writing-topline { margin-top: 30px; padding: 20px 0; font-size: 6px; gap: 12px; }
  .article-grid { grid-template-columns: 1fr; gap: 20px; }
  .article-link { min-height: 290px; padding: 24px; }
  .article-topline { font-size: 6px; letter-spacing: .6px; padding-bottom: 19px; }
  .article-format { font-size: 7px; margin-top: 23px; }
  .article-card h3 { font-size: 34px; }
  .article-excerpt { font-size: 11px; }
  .article-bottom { font-size: 10px; padding-top: 26px; }
  .writing-footer { flex-direction: column; align-items: flex-start; gap: 13px; }
  .writing-footer > .mono { font-size: 6px; }
  .writing-empty { padding: 25px; }
  .writing-empty p { font-size: 15px; }
}
@media(max-width:370px) {
  .article-link { padding: 20px; }
  .article-card h3 { font-size: 30px; }
  .writing-topline { font-size: 5.5px; }
}
@media(prefers-reduced-motion:reduce) {
  .article-link:hover .article-bottom .icon { transform: none; }
}
