/* ==========================================================================
   Карточка проекта (главная и полоса «Другие проекты» в кейсах) и курсор «Смотреть».
   ========================================================================== */
.project-card {
  display: flex; flex-direction: column; align-items: center; padding: 64px 24px; overflow: hidden; color: inherit; cursor: pointer;
}
.project-card.is-placeholder { cursor: default; }
.project-card__image {
  position: relative; width: 100%; aspect-ratio: 1.33256; border-radius: 26px; overflow: clip; pointer-events: none; user-select: none;
  box-shadow: .18px .76px .78px -.14px rgba(0, 0, 0, .03), .43px 1.87px 1.92px -.29px rgba(0, 0, 0, .03), .82px 3.55px 3.64px -.43px rgba(0, 0, 0, .03), 1.43px 6.19px 6.35px -.57px rgba(0, 0, 0, .04), 2.49px 10.78px 11.06px -.71px rgba(0, 0, 0, .04), 4.55px 19.74px 20.26px -.86px rgba(0, 0, 0, .06), 9px 39px 40.03px -1px rgba(0, 0, 0, .1);
}
.project-card__cover {
  position: absolute; inset: 0; border-radius: inherit; background-size: cover; background-position: center; background-repeat: no-repeat;
  transform: scale(var(--hover-scale, 1)); transition: transform 550ms cubic-bezier(.2, .7, .2, 1);
}
.project-card__details {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; row-gap: 8px; align-items: start;
  width: 100%; padding-top: 24px;
}
.project-card__title {
  grid-column: 1; grid-row: 1; color: var(--text); font: 500 35px/1.4 var(--font-display); white-space: pre;
  transition: color 180ms ease;
}
.project-card__desc {
  grid-column: 1; grid-row: 2; color: var(--text-muted); font: 400 16px/25.6px var(--font-text); letter-spacing: -.02em; text-wrap: pretty;
}
.project-card__arrow {
  grid-column: 2; grid-row: 1 / span 2; display: flex; justify-content: center; align-items: center;
  width: 49px; height: 49px; border-radius: 90px; background: var(--surface); transition: background-color 180ms ease;
}
.project-card__arrow::before {
  content: ''; width: 13px; height: 13px; background: var(--text); transition: background-color 180ms ease;
  -webkit-mask: url('/assets/site/icons/arrow.svg') center / contain no-repeat; mask: url('/assets/site/icons/arrow.svg') center / contain no-repeat;
}
.project-card.is-placeholder .project-card__arrow { opacity: .45; }
a.project-card:is(:hover, :focus-visible) .project-card__title { color: var(--accent); }
a.project-card:is(:hover, :focus-visible) .project-card__arrow { background: var(--accent); }
a.project-card:is(:hover, :focus-visible) .project-card__arrow::before { background: #fff; }
@media (hover: hover) and (pointer: fine) {
  a.project-card:is(:hover, :focus-visible) { --hover-scale: 1.035; }
  a.project-card.is-view-cursor, a.project-card.is-view-cursor * { cursor: none; }
}

/* Круглый курсор «Смотреть» над карточками */
.view-cursor {
  position: fixed; top: 0; left: 0; z-index: 13; display: none; width: 100px; height: 100px;
  pointer-events: none; opacity: 0; visibility: hidden;
  transform: translate3d(-150px, -150px, 0) translate(-50%, -50%); transition: opacity 120ms ease; will-change: transform, opacity;
}
.view-cursor > span {
  display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%;
  background: rgba(28, 28, 28, .37); box-shadow: 0 1px 2px #fff; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px);
  color: #fff; font: 600 16px/1.2 var(--font-text); transform: scale(.82); transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}
.view-cursor.is-visible { opacity: 1; visibility: visible; }
.view-cursor.is-visible > span { transform: scale(1); }
@media (any-hover: hover) and (any-pointer: fine) { .view-cursor { display: block; } }

@media (max-width: 1199.98px) {
  .project-card__title { font-size: 25px; }
  .project-card__desc { font-size: 15px; line-height: 24px; }
}
@media (max-width: 809.98px) {
  .project-card { padding: 64px 16px 62px; }
  .project-card__image { border-radius: 20px; }
  .project-card__title { align-self: center; }
  .project-card__desc { grid-column: 1 / -1; }
  .project-card__arrow { grid-row: 1; align-self: center; width: 37px; height: 37px; }
}
@media (prefers-reduced-motion: reduce) {
  .project-card__cover, .view-cursor, .view-cursor > span { transition: none; }
}

/* Альтернативные начертания у названия проекта (в конце: font выше их сбрасывает) */
.project-card__title { font-feature-settings: "blwf", "cv03", "cv04", "cv09", "cv11"; }
