/* Product moments (21 Oct 2026): a few elements lifted out of an app screen and shown larger, without the window
   frame, so a visitor reads them at a glance (the Ramp check's first gap). Labels are the app's own; every moment says
   it uses sample data. Two corner sizes only: 12px for cards and panels, 4px for controls. Every class starts with pm-. */

.pm{position:relative;margin:0;padding:44px 28px 28px;border-radius:12px;background:var(--panel);overflow:hidden}
.pm-tag{position:absolute;top:14px;right:16px;font-size:12px;line-height:16px;color:var(--ink-2)}
.pm-card{position:relative;padding:18px 20px;border:1px solid var(--rule);border-radius:12px;background:#fff;box-shadow:0 18px 40px -26px rgb(16 41 58 / .5)}
.pm-card + .pm-card{margin-top:12px}
.pm-eye{margin:0 0 6px;font-weight:600;font-size:11.5px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.pm-nm{margin:0;font-weight:500;font-size:18px;line-height:24px;color:var(--ink)}
.pm-nm small{margin-left:8px;font-weight:400;font-size:14px;color:var(--ink-2)}
.pm-sub{margin:2px 0 0;font-size:14px;line-height:20px;color:var(--ink-2)}
.pm-kind{margin:6px 0 0;font-weight:600;font-size:11.5px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--link)}
.pm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pm-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--edge);border-radius:4px;background:#fbfdfe;font-size:14px;line-height:18px;color:var(--ink)}
.pm-chip::before{content:'';flex:none;width:7px;height:7px;border-radius:50%;background:#2f7a55}
.pm-chip.no::before{background:#a3321f}
.pm-chip.plain::before{display:none}
.pm-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pm-b{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid var(--edge);border-radius:4px;background:#fbfdfe;font-size:14px;color:var(--ink);white-space:nowrap}
.pm-b.pri{background:var(--navy);border-color:var(--navy);color:#fff}
.pm-b.on{box-shadow:inset 0 0 0 2px var(--navy)}
/* a moment is a picture of the app: nothing inside it is a control */
.pm-pic{pointer-events:none;user-select:none}
@media (max-width:600px){
  .pm{padding:40px 14px 14px}
  .pm-card{padding:14px 14px}
  .pm-nm{font-size:16px;line-height:22px}
  .pm-nm small{display:block;margin:2px 0 0}
  .pm-chip{font-size:13px}
}

/* a live moment's buttons: real controls, drawn like the app's */
button.pm-b{font-family:var(--sans);cursor:pointer;transition:border-color .2s,box-shadow .2s}
button.pm-b:hover{border-color:var(--ink)}
.pm-b:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.pm-b.down{box-shadow:inset 0 1px 3px rgb(0 0 0 / .35)}

/* ---------- product-page sections built from moments (Monitoring pilot 21 Oct, shared 22 Oct 2026) ---------- */
/* what it does, in the app's own labels */
.pm-ben{padding-top:72px}
.pm-bens{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:0;padding:32px 0 0;border-top:1px solid var(--rule)}
.pm-bens .t-h4{margin-top:20px}
.pm-bens .t-small{margin-top:8px;max-width:360px}
.pm-spec{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:5px 12px;border:1px solid var(--edge);border-radius:4px;background:#fff;font-size:14px;line-height:20px;color:var(--ink)}
.pm-spec i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--navy)}
.pm-spec i.g{background:#2f7a55}
.pm-spec i.a{background:var(--amber)}

/* two moments, side by side with their words, alternating */
.pm-zrow{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:center}
.pm-zrow + .pm-zrow{margin-top:128px}
.pm-zrow.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.pm-zrow.rev .pm-ztxt{order:2}
.pm-ztxt .t-h3{margin-top:14px}
.pm-ztxt .t-body{margin-top:16px;max-width:440px}
.pm-zz .pm{padding:60px 36px 36px}

/* the navy band: four still moments in a 2×2 */
.pm-band{margin-top:var(--sec);padding:112px 0 120px}
.pm-bh{max-width:780px;margin:0 auto;text-align:center}
.pm-bh .t-h2{margin-top:16px}
.pm-bh .t-body{max-width:560px;margin:18px auto 0}
.pm-tiles{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 24px;margin:64px 0 0;padding:0}
/* each tile spans three rows of the band's grid, so pictures and captions line up across a row */
.pm-tile{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
.pm-tpic{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:360px;margin:0;padding:56px 36px 36px;box-sizing:border-box;border-radius:12px;background:var(--panel);color:var(--ink);overflow:hidden}
.pm-tpic > .pm-pic{width:100%;max-width:540px;min-width:0}
.pm-tile .t-h4{margin-top:24px}
.pm-tile .t-small{margin-top:8px;max-width:440px}
/* below 1025px the four scroll sideways; these step through them (moments.js) */
.pm-tnav{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px;font-size:14px;color:var(--navy-ink-2)}
.pm-tnav[hidden]{display:none}
.pm-tb{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:4px;background:#2b5d78;color:var(--navy-ink);cursor:pointer;transition:background-color .2s,opacity .2s}
.pm-tb:hover:not([aria-disabled=true]){background:#356b88}
.pm-tb[aria-disabled=true]{opacity:.4;cursor:default;background:#2b5d78}
.pm-tb:focus-visible{outline:2px solid var(--navy-ink);outline-offset:2px}
.pm-tb svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pm-tpos{min-width:44px;text-align:center}

/* questions beside their heading, and the section spacing after them */
.pm-qa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.pm-qh{position:sticky;top:104px}
.pm-qh .t-body{margin-top:16px;max-width:400px}
.pm-nx{padding-top:104px}

@media (max-width:1279px){
  .pm-zrow,.pm-zrow.rev,.pm-qa{gap:48px}
}
@media (max-width:1024px){
  .pm-zrow,.pm-zrow.rev{grid-template-columns:minmax(0,1fr);gap:32px}
  .pm-zrow.rev .pm-ztxt{order:0}
  .pm-zrow + .pm-zrow{margin-top:96px}
  /* the four become a row to swipe, one and the edge of the next in view */
  .pm-tiles{display:flex;gap:16px;margin:48px calc(-1 * var(--gut)) 0;padding:0 var(--gut) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .pm-tiles::-webkit-scrollbar{display:none}
  .pm-tile{display:flex;flex-direction:column;flex:0 0 min(86%,600px);min-width:0;scroll-snap-align:start}
  /* the row is a keyboard stop (it scrolls); its ring sits inside the screen edges */
  .pm-tiles:focus-visible{outline:2px solid var(--navy-ink);outline-offset:-4px}
  .pm-tpic{min-height:0}
  .pm-qa{grid-template-columns:minmax(0,1fr);gap:32px}
  .pm-qh{position:static}
}
@media (max-width:900px){
  .pm-bens{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media (max-width:760px){
  .pm-zz .pm{padding:52px 14px 14px}
  .pm-tpic{padding:52px 14px 18px}
  .pm-bens{gap:28px}
  .pm-bens .t-h4{margin-top:14px;font-size:19px;line-height:25px}
  .pm-band{padding:88px 0 96px}
}
@media (max-width:600px){
  .pm-zz .pm{padding-top:84px}
  .pm-zz .pm-tag{top:50px;left:14px;right:auto}
  .pm-bh{text-align:left}
}
