/* Portfolio preview cards */
.ms-pf-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; margin: 24px 0; }
.ms-pf-card{ display:flex; flex-direction:column; background:#fff; border:1px solid #E3E7F0; border-radius:14px; overflow:hidden; box-shadow: 0 6px 20px rgba(11,23,48,0.08); }
.ms-pf-card__window{ display:block; position:relative; height:300px; overflow:hidden; background:#F5F7FB; }
@media (max-width: 600px){ .ms-pf-card__window{ height:240px; } }
.ms-pf-card__window:focus-visible{ outline:3px solid #F4B000; outline-offset:-3px; }
.ms-pf-card__shot{ display:block; width:100%; height:auto; transform: translateY(0); transition: transform var(--pf-duration, 6s) linear; will-change: transform; }
.ms-pf-card.is-scrolling .ms-pf-card__shot{ transform: translateY(calc(var(--pf-scroll, 0px) * -1)); }
.ms-pf-card__soon{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#5B6478; font-style:italic; }
.ms-pf-card__body{ padding: 16px 18px 18px; display:flex; flex-direction:column; gap:4px; }
.ms-pf-card__title{ margin:0; font-size:1.05rem; }
.ms-pf-card__title a{ color:#1F2937; text-decoration:none; }
.ms-pf-card__title a:hover{ color:#0B5ED7; }
.ms-pf-card__meta{ margin:0; color:#5B6478; font-size:0.86rem; }
.ms-pf-card__hint{ margin:8px 0 0; font-size:0.8rem; color:#0B5ED7; font-weight:600; }
.ms-pf-card__hint--touch{ display:none; }
@media (hover: none){
  .ms-pf-card__hint--pointer{ display:none; }
  .ms-pf-card__hint--touch{ display:inline; }
}
@media (prefers-reduced-motion: reduce){
  .ms-pf-card__shot{ transition:none; }
  .ms-pf-card.is-scrolling .ms-pf-card__shot{ transform:none; }
}
