/* Template additions on top of the design-system layer (site.css): placeholder slots for product
   visuals. Replace each .ph-media block with an <img> or <video> when you have the asset. */
.ph-media{ position:relative; display:grid; place-content:center; justify-items:center; gap:10px; text-align:center;
  width:100%; aspect-ratio:16/9; padding:clamp(20px,4vw,48px); border-radius:var(--r-5);
  background:linear-gradient(135deg, var(--wash-lilac), var(--wash-peri) 55%, var(--wash-pink)); color:var(--ink-900); }
.ph-media b{ font-weight:500; font-size:clamp(16px,1.8vw,22px); letter-spacing:-.01em; }
.ph-media span{ font-size:14px; color:var(--slate-600); max-width:38em; }
.seq-frame .ph-media{ border-radius:inherit; height:100%; aspect-ratio:auto; min-height:320px; }
.svc-photo .ph-media{ aspect-ratio:16/9; }

/* Product team hub */
.ptools-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:20px; }
.a-totals{ color:var(--slate-500); font-size:15px; margin:6px 0 0; }
.a-table{ background:#fff; border:1px solid var(--line); border-radius:var(--r-4); overflow:hidden; }
.a-row{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) 90px 90px 90px; gap:12px; padding:12px 18px; border-top:1px solid var(--line-soft); font-size:15px; color:var(--ink-900); }
.a-row:first-child{ border-top:0; }
.a-row .n{ text-align:right; font-variant-numeric:tabular-nums; }
.a-row .pg{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.a-head{ font:400 12px/1 var(--f-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--slate-500); background:var(--surface-3); }
.a-bar{ position:absolute; left:18px; right:18px; bottom:4px; height:2px; background:transparent; }
.a-bar i{ display:block; height:100%; background:var(--blue-600); opacity:.5; border-radius:2px; }
.a-note,.a-foot{ color:var(--slate-500); font-size:14px; padding:14px 18px; margin:0; }
.a-foot{ padding-inline:0; max-width:46em; }
@media (max-width:560px){ .a-row{ grid-template-columns:minmax(0,1fr) 64px 64px 64px; gap:8px; padding-inline:12px; } }
