/* What Floati makes (templates/home/products.html): three equal cards in the
   site's own style. Each card shows its product mock-up, then the name, three
   points and the call to action pinned to the bottom. */
.pc-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0 40px; }
.pc-head .fp-h2 { margin-bottom: 30px; }
.pc-head .fp-lede { margin-bottom: 34px; max-width: 42ch; }

.pc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 26px); }
.pc-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 20px; background: var(--bg2);
  border: 1px solid var(--bd); box-shadow: 0 1px 2px rgba(20,16,12,.05);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease); }
.pc-card:hover, .pc-card:focus-within { transform: translateY(-4px); border-color: color-mix(in srgb, var(--pc) 35%, var(--bd));
  box-shadow: 0 26px 50px -30px rgba(20,16,12,.4); }
.dark .pc-card:hover, .dark .pc-card:focus-within { box-shadow: 0 26px 50px -26px rgba(0,0,0,.8); }

/* the mock-up sits on a soft tinted stage and runs off the bottom edge */
.pc-art { position: relative; height: 210px; overflow: hidden; padding: 26px 24px 0;
  background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--pc) 12%, var(--bg3)), var(--bg3) 70%);
  border-bottom: 1px solid var(--bd); }
.pc-art .fp-mock { border-radius: 12px; box-shadow: 0 18px 40px -22px rgba(20,16,12,.45);
  transition: transform .4s var(--ease); }
.pc-card:hover .pc-art .fp-mock { transform: translateY(-6px); }
.pc-art .mk-cv-head { padding: 14px 16px; }
.pc-art .mk-cv-main, .pc-art .mk-cv-side { padding: 14px 16px; }
.pc-art .mk-code pre { padding: 14px 16px; font-size: .74rem; }
.pc-art .mk-code-out { padding: 10px 16px; }
.pc-art .mk-win-read { padding: 14px 16px; }
.pc-art .mk-win-view { grid-template-columns: 1fr 120px; }

.pc-body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.pc-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 12px; font-family: var(--mono);
  font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--t3); }
.pc-eyebrow .n { color: var(--pc); }
.pc-eyebrow .st { font-size: .56rem; padding: 3px 8px; border-radius: 100px; letter-spacing: .08em; }
.pc-eyebrow .st.live { color: #16a34a; background: color-mix(in srgb, #16a34a 14%, transparent); }
.pc-name { margin: 0 0 14px; font-family: var(--display); font-weight: 600; font-size: 1.32rem; line-height: 1.2;
  letter-spacing: -.025em; color: var(--t1); text-wrap: balance; }
.pc-points { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 8px; }
.pc-points li { position: relative; padding-left: 20px; font-size: .92rem; line-height: 1.45; color: var(--t2); }
.pc-points li::before { content: ''; position: absolute; left: 2px; top: .5em; width: 9px; height: 5px;
  border-left: 2px solid var(--pc); border-bottom: 2px solid var(--pc); transform: rotate(-45deg); }
.lp .pc-cta { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px;
  border-radius: 100px; background: var(--pc); color: #fff; font-family: var(--display); font-weight: 600; font-size: .9rem;
  box-shadow: 0 10px 24px -14px var(--pc); transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.lp .pc-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -14px var(--pc); color: #fff; }
.pc-cta svg { width: 14px; height: 14px; }

@media (max-width: 1000px) {
  .pc-grid { grid-template-columns: 1fr; max-width: 560px; }
}
@media (prefers-reduced-motion: reduce) {
  .pc-card, .pc-art .fp-mock { transition: none; }
  .pc-card:hover, .pc-card:focus-within, .pc-card:hover .pc-art .fp-mock { transform: none; }
}
