/* PULSE, where attention goes + the Pulse made calmer and richer (crank W49, 4 Oct 2026; /sexify). Loaded after
   site.css and pulse-geo.css; every rule is scoped to #pulse, so nothing else on the site moves. House grammar:
   calm dark glass with a colour wash from one corner and a 2px glowing top edge; the five innovator colours in order
   (245,206,52 · 255,92,34 · 47,120,255 · 46,200,110 · 150,80,225); Jost for headings (never a bold serif), Arial for
   reading and card titles, IBM Plex Mono for kickers and numbers. Motion only on entry, and none for reduced motion. */

/* ---------- the whole Pulse ---------- */
#pulse{--pa-ink:#f2efe8;--pa-dim:#a9a59c;--pa-faint:#8f8b82;--pa-gold:227,200,120;
  background:radial-gradient(1200px 600px at 8% -10%,rgba(47,120,255,.10),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(150,80,225,.08),transparent 60%)}
#pulse .q-head h2{font:500 clamp(32px,3.6vw,52px)/1.05 "Jost",Futura,sans-serif;letter-spacing:-.01em}
#pulse .q-k{font:500 11px "IBM Plex Mono",monospace;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--pa-gold))}
#pulse .pu-kpi{border-radius:22px;padding:20px 20px 18px;background:radial-gradient(130% 100% at 0% 0%,rgba(var(--bc),.22),transparent 58%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0)),rgba(10,11,26,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 18px 40px -24px rgba(var(--bc),.55);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
#pulse .pu-kpi::before{height:2px;box-shadow:0 0 14px rgba(var(--bc),.8)}
#pulse .pu-kpi:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 50px -22px rgba(var(--bc),.7)}
#pulse .pu-kpi b{font:500 44px/1 "Jost",sans-serif;letter-spacing:-.02em}
#pulse .pu-kpi small,#pulse .pu-bar,#pulse .pu-t,#pulse .pu-list li,#pulse .pu-none,#pulse .pu-at,#pulse .pu-key{font-family:Arial,Helvetica,sans-serif}
#pulse .pu-card{position:relative;overflow:hidden;border-radius:22px;padding:22px;background:radial-gradient(120% 80% at 0% 0%,rgba(var(--cc,227,200,120),.10),transparent 55%),rgba(10,11,26,.72);
  border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 50px -30px rgba(0,0,0,.8)}
#pulse .pu-card::before{content:"";position:absolute;left:22px;right:22px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--cc,227,200,120),.65),transparent)}
#pulse .pu-grid>.pu-card:nth-child(5n+1){--cc:245,206,52}#pulse .pu-grid>.pu-card:nth-child(5n+2){--cc:255,92,34}#pulse .pu-grid>.pu-card:nth-child(5n+3){--cc:47,120,255}
#pulse .pu-grid>.pu-card:nth-child(5n+4){--cc:46,200,110}#pulse .pu-grid>.pu-card:nth-child(5n+5){--cc:150,80,225}
#pulse .pu-card h3{font:700 15px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.01em;color:#fff}
#pulse .pu-card h3 small{display:block;margin:4px 0 0;font:400 12.5px Arial,Helvetica,sans-serif;color:var(--pa-faint)}
#pulse .pu-bar i{height:7px}
#pulse .pu-t th{color:rgb(var(--pa-gold))}
#pulse .pu-quotes q{font:italic 15px/1.5 Arial,Helvetica,sans-serif;color:var(--pa-ink)}
#pulse .pg-head h3{font:500 24px "Jost",sans-serif}
#pulse .pg-devc b{font-weight:500}

/* ---------- where attention goes ---------- */
#pulse .pa{margin:30px 0 34px}
.pa-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;margin:0 0 16px}
.pa-k{margin:0 0 6px;font:500 11px "IBM Plex Mono",monospace;letter-spacing:.22em;text-transform:uppercase;color:#f5ce34}
.pa-h{margin:0;font:500 clamp(22px,2.4vw,30px)/1.15 "Jost",sans-serif;color:#fff;letter-spacing:-.01em}
.pa-span{display:inline-flex;padding:3px;border-radius:999px;background:rgba(10,11,26,.8);border:1px solid rgba(255,255,255,.09)}
.pa-span button{appearance:none;border:0;background:none;color:#c9d3e2;font:500 12.5px "IBM Plex Mono",monospace;padding:8px 14px;border-radius:999px;cursor:pointer;min-height:36px}
.pa-span button:hover{color:#fff}
.pa-span button[aria-pressed="true"]{background:rgba(227,200,120,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(227,200,120,.4)}

/* the three lines: the focal point */
.pa-now{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pa-now li{position:relative;overflow:hidden;padding:20px 22px 22px;border-radius:22px;min-height:132px;
  background:radial-gradient(120% 110% at 0% 0%,rgba(var(--bc),.22),transparent 60%),rgba(10,11,26,.8);border:1px solid rgba(var(--bc),.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 22px 50px -30px rgba(var(--bc),.7)}
.pa-now li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgb(var(--bc)),transparent 85%);box-shadow:0 0 14px rgba(var(--bc),.8)}
.pa-nk{display:inline-block;padding:4px 10px;border-radius:999px;font:500 10.5px "IBM Plex Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--bc));background:rgba(var(--bc),.1);border:1px solid rgba(var(--bc),.3)}
.pa-now p{position:relative;z-index:1;margin:12px 0 0;font:16px/1.5 Arial,Helvetica,sans-serif;color:#f2efe8;max-width:34ch}
.pa-now p b{color:#fff}
.pa-nn{position:absolute;right:-6px;bottom:-34px;font:500 140px/1 "Jost",sans-serif;color:transparent;-webkit-text-stroke:1.5px rgba(var(--bc),.28);pointer-events:none}

/* attention map */
.pa-rooms{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pa-rooms li{display:grid;grid-template-columns:30px minmax(120px,1.1fr) minmax(80px,2fr) 70px minmax(0,1.5fr);align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid transparent;transition:background .25s,border-color .25s}
.pa-rooms li:nth-child(even){background:rgba(255,255,255,.04)}
.pa-rooms li:hover{background:rgba(var(--bc),.08);border-color:rgba(var(--bc),.25)}
.pa-rooms li:first-child{background:radial-gradient(120% 140% at 0% 50%,rgba(var(--bc),.16),transparent 70%),rgba(255,255,255,.04);border-color:rgba(var(--bc),.3)}
.pa-rk{font:500 12px "IBM Plex Mono",monospace;color:#8f8b82}
.pa-rooms li:first-child .pa-rk{color:rgb(var(--bc))}
.pa-rn{display:flex;flex-direction:column;min-width:0}
.pa-rn b{font:700 14px Arial,Helvetica,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-rn small{font:11px "IBM Plex Mono",monospace;letter-spacing:.06em;color:rgba(var(--bc),.85)}
.pa-tr{height:10px;border-radius:10px;background:rgba(255,255,255,.05);overflow:hidden}
.pa-tr i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,rgba(var(--bc),.55),rgb(var(--bc)));box-shadow:0 0 12px rgba(var(--bc),.45);min-width:3px}
.pa-sh{display:flex;align-items:baseline;gap:6px;justify-content:flex-end}
.pa-sh b{font:500 17px "Jost",sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.pa em{font:500 11px "IBM Plex Mono",monospace;font-style:normal}.pa em.up{color:#2ec86e}.pa em.dn{color:#ff5c22}
.pa-st{display:flex;flex-wrap:wrap;gap:4px 14px;font:12.5px Arial,Helvetica,sans-serif;color:#a9a59c}
.pa-st b{font:600 12.5px "IBM Plex Mono",monospace;color:#f2efe8}

/* funnel */
.pa-fun{list-style:none;margin:0;padding:0}
.pa-step{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0}
.pa-sn{display:flex;flex-direction:column;font:700 13.5px Arial,Helvetica,sans-serif;color:#fff;min-width:0}
.pa-sn small{font:400 11.5px Arial,Helvetica,sans-serif;color:#8f8b82}
.pa-sb{height:12px;border-radius:12px;background:rgba(255,255,255,.05);overflow:hidden}
.pa-sb i{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,rgba(var(--bc),.5),rgb(var(--bc)));box-shadow:0 0 12px rgba(var(--bc),.4)}
.pa-step>b{font:500 18px "Jost",sans-serif;color:#fff;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
.pa-drop{display:flex;align-items:center;gap:10px;margin-left:10px;padding:1px 0 1px 14px;border-left:1px dashed rgba(255,255,255,.14);font:11.5px "IBM Plex Mono",monospace;color:#8f8b82}
.pa-drop.is-leak{border-left:2px solid #ff5c22;color:#ffb08f}
.pa-drop b{padding:3px 9px;border-radius:999px;font:500 10px "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(255,92,34,.22);border:1px solid rgba(255,92,34,.6);box-shadow:0 0 16px rgba(255,92,34,.45)}
.pa-fine{margin:12px 0 0;font:12px/1.45 Arial,Helvetica,sans-serif;color:#8f8b82}

/* click-through */
.pa-ct td small{display:block;font-size:11.5px;color:#8f8b82;white-space:normal}
.pa-ct td:nth-child(3) small{display:inline}
.pa-rate{font:500 15px "Jost",sans-serif;color:#fff;margin-right:6px}
.pa-ct tr.t-good .pa-rate{color:#2ec86e}.pa-ct tr.t-bad .pa-rate{color:#ff8a5c}.pa-ct tr.t-wait .pa-rate{color:#8f8b82}
.pa-next{white-space:normal!important;min-width:220px;color:#f2efe8}
.pa-ct tr.t-good .pa-next{color:#bdf0d0}.pa-ct tr.t-bad .pa-next{color:#ffd2bf}.pa-ct tr.t-wait .pa-next{color:#a9a59c}
.pa-ct tbody tr{transition:background .2s}.pa-ct tbody tr:hover{background:rgba(255,255,255,.03)}

/* paths */
.pa-ends{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.pa-ends:last-child{margin:12px 0 0}
.pa-ek{font:500 10.5px "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:#a9a59c;margin-right:4px}
.pa-chip{padding:5px 11px;border-radius:999px;font:13px Arial,Helvetica,sans-serif;color:#f2efe8;background:rgba(var(--bc),.1);border:1px solid rgba(var(--bc),.35)}
.pa-chip b{font:600 12px "IBM Plex Mono",monospace;color:rgb(var(--bc));margin-left:4px}
.pa-flow{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pa-flow li{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) minmax(40px,.8fr) auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.pa-flow svg{width:18px;height:18px;color:#8f8b82}
.pa-fa{font:700 13px Arial,Helvetica,sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:10px;border-left:3px solid rgb(var(--bc))}
.pa-fw{height:6px;border-radius:6px;background:rgba(255,255,255,.05);overflow:hidden}
.pa-fw i{display:block;height:100%;background:linear-gradient(90deg,rgba(227,200,120,.4),#e3c878)}
.pa-flow b{font:600 13px "IBM Plex Mono",monospace;color:#fff;text-align:right;min-width:3ch}

/* scroll depth */
.pa-scw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pa-scw>.pa-fine{grid-column:1/-1;margin:0}
.pa-sch{margin:0 0 10px;font:700 14px Arial,Helvetica,sans-serif;color:#fff}.pa-sch small{font-weight:400;color:#8f8b82;margin-left:6px}
.pa-scb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;height:150px}
.pa-scb span{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;border-radius:12px;background:rgba(255,255,255,.03);overflow:hidden}
.pa-scb i{position:absolute;left:0;right:0;bottom:0;height:var(--h);background:linear-gradient(0deg,rgba(var(--bc),.55),rgba(var(--bc),.15));border-top:2px solid rgb(var(--bc));box-shadow:0 -6px 18px -6px rgba(var(--bc),.7)}
.pa-scb b{position:relative;font:500 18px "Jost",sans-serif;color:#fff;margin-bottom:2px}
.pa-scb small{position:relative;font:11px "IBM Plex Mono",monospace;color:#d8d3c8;margin-bottom:8px}

/* entry: a staggered rise, only for those who welcome motion */
@media (prefers-reduced-motion:no-preference){
  .pa-now li,.pa-rooms li{animation:pa-rise .6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
  @keyframes pa-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}

@media (max-width:1100px){.pa-now{grid-template-columns:1fr}.pa-now li{min-height:0}.pa-now p{max-width:none}}
@media (max-width:700px){
  .pa-rooms li{grid-template-columns:26px minmax(0,1fr) auto;row-gap:6px}
  .pa-tr{grid-column:2/-1;grid-row:2}
  .pa-st{grid-column:2/-1;grid-row:3}
  .pa-sh{grid-column:3;grid-row:1}
  .pa-scw{grid-template-columns:1fr}
  .pa-flow li{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) auto}
  .pa-fw{display:none}
  .pa-nn{font-size:110px}
  #pulse .pu-kpi b{font-size:38px}
}
.pa-cold b{color:#f2efe8;margin-right:6px}.pa-cold small{color:#8f8b82}
/* phone: each call to action becomes a small stacked card (name, then clicks, base and rate, then the next step) */
@media (max-width:700px){
  .pa-ct thead{display:none}
  .pa-ct,.pa-ct tbody{display:block}
  .pa-ct tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
  .pa-ct td{padding:0!important;border:0!important;white-space:normal!important}
  .pa-ct td:nth-child(1){grid-column:1/-1}
  .pa-ct td:nth-child(2)::after{content:" clicks";color:#8f8b82;font-size:12px}
  .pa-ct td:nth-child(3){font-size:12px;color:#a9a59c}
  .pa-ct td:nth-child(4){text-align:right}
  .pa-ct td.pa-next{grid-column:1/-1;min-width:0}
}
