/* Home page only; entrance animations are progressive JS enhancements. */
/* Opaque fallbacks remain in site.css for browsers without backdrop filters. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header {
    background: rgba(251, 250, 248, .76);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
    backdrop-filter: blur(22px) saturate(145%);
    border-bottom-color: rgba(255, 255, 255, .7);
    box-shadow: 0 1px 0 rgba(30, 48, 82, .07), 0 8px 28px rgba(30, 48, 82, .035);
  }
  .concept-grid article {
    background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.58));
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border-color: rgba(255,255,255,.9);
    box-shadow: inset 0 1px 0 #fff, 0 8px 24px rgba(62,77,120,.035);
  }
  .image-arrow { background: rgba(255,255,255,.8); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.85); }
}
@media (prefers-reduced-transparency: reduce) {
  .site-header { background: var(--paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .concept-grid article, .image-arrow { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .button > span, .text-link > span, .featured-link > span,
  .more-projects a > span:last-child, .journal-read > span {
    display: inline-block;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
  }
  .button:hover > span, .text-link:hover > span, .featured-project:hover .featured-link > span,
  .more-projects a:hover > span:last-child, .journal-card:hover .journal-read > span {
    transform: translate(3px, -3px);
  }
  .image-arrow, .format-arrow { transition: color .3s, background .3s, transform .4s cubic-bezier(.22, 1, .36, 1); }
  .project-card:hover .image-arrow, .format-row:hover .format-arrow { transform: rotate(45deg); background: var(--blue); color: white; }
  .featured-image img, .project-image img { transition: transform .8s cubic-bezier(.22, 1, .36, 1); }
  .journal-card { transition: background .3s, border-color .3s; }
  .journal-card:hover { border-color: #d6dfef; background: #eaf0fb; }
  .journal-card > img { transition: filter .5s, clip-path .6s cubic-bezier(.22, 1, .36, 1); clip-path: inset(0 round 0); }
  .journal-card:hover > img { clip-path: inset(5px round 19px); }
  .journal-controls button { transition: color .25s, background .25s, border-color .25s, transform .25s; }
  .journal-controls button:hover:not(:disabled) { transform: translateY(-2px); }
}
