/* ============================================================
   One Zyme · New Product Planning Intelligence, page styles
   Reuses se-page.css / rd-page.css shells (.rd-stage, .rd-bar,
   .rd-h, .rd-stats, .ps-grid, .wf-grid-3, .se-compare, .md-strip,
   .closer). This file adds the bespoke visuals:
     · Hero TPP snapshot          (.npp-hero-card)
     · TPP benchmark matrix        (#tpp-stage)
     · Indication sequencing       (#seq-stage)
     · Launch catalyst calendar    (#cal-stage)
   Palette accents lightly speckled from the Models & Data
   architecture stack: blue #3E8BE6 · purple #7C5CE0 ·
   pink #E0529B · orange #F08A3C.
   ============================================================ */

:root{
  --npp-blue:#3E8BE6;  --npp-blue-l:#7CC4FF;
  --npp-purple:#7C5CE0;--npp-purple-l:#B9A8FF;
  --npp-pink:#E0529B;  --npp-pink-l:#FFA8D2;
  --npp-orange:#F08A3C;--npp-orange-l:#FFC98A;
}

/* ──────────────────────────────────────────────
   HERO VISUAL · TPP snapshot
   ────────────────────────────────────────────── */
.npp-hero-card{
  position:relative;background:rgba(10,22,40,0.55);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid var(--oz-on-dark-line);border-radius:22px;
  box-shadow:0 30px 70px rgba(0,0,0,0.4);overflow:hidden;
}
.npp-hero-card .nh-q{display:flex;gap:12px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--oz-on-dark-line);background:rgba(244,240,230,0.02);}
.npp-hero-card .nh-q .ico{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:var(--oz-cyan-soft);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.npp-hero-card .nh-q .tx{font-size:14.5px;line-height:1.4;color:var(--oz-on-dark-1);font-weight:500;}
.npp-hero-card .nh-body{padding:18px 22px 8px;}
.npp-hero-card .nh-lab{display:flex;align-items:center;justify-content:space-between;font-family:var(--oz-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--oz-on-dark-3);font-weight:600;margin-bottom:14px;}
.npp-hero-card .nh-lab b{color:var(--oz-cyan);font-weight:600;}

.nh-attr{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(244,240,230,0.06);}
.nh-attr:last-child{border-bottom:0;}
.nh-attr .k{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--oz-on-dark-2);}
.nh-attr .k .rail{width:4px;height:22px;border-radius:3px;background:var(--accent,var(--oz-cyan));flex:0 0 auto;}
.nh-chip{font-family:var(--oz-font-mono);font-size:10.5px;font-weight:700;letter-spacing:0.04em;padding:5px 11px;border-radius:9999px;text-transform:uppercase;white-space:nowrap;}
.nh-chip.adv{color:#062a1e;background:#52E0A8;}
.nh-chip.par{color:#3a2c00;background:var(--npp-orange-l);}
.nh-chip.gap{color:var(--oz-on-dark-3);background:rgba(244,240,230,0.06);border:1px solid var(--oz-on-dark-line);}
.npp-hero-card .nh-foot{margin-top:6px;padding:16px 22px;border-top:1px solid var(--oz-on-dark-line);background:rgba(10,22,40,0.4);display:flex;align-items:center;gap:12px;}
.npp-hero-card .nh-foot .v{font-family:var(--oz-font-display);font-size:22px;font-weight:500;color:var(--oz-bone);letter-spacing:-0.02em;}
.npp-hero-card .nh-foot .l{font-size:12.5px;color:var(--oz-on-dark-3);line-height:1.4;}

/* ──────────────────────────────────────────────
   TPP BENCHMARK MATRIX
   ────────────────────────────────────────────── */
.tpp{padding:6px 0;}
.tpp-scroll{overflow-x:auto;}
.tpp-grid{display:grid;grid-template-columns:230px repeat(4,minmax(150px,1fr));min-width:760px;}
.tpp-cellbox{padding:14px 16px;border-bottom:1px solid var(--oz-on-dark-line);border-right:1px solid var(--oz-on-dark-line);}
.tpp-cellbox:nth-child(5n){border-right:0;}
.tpp-grid > .tpp-cellbox:nth-last-child(-n+5){border-bottom:0;}

/* header row */
.tpp-h{background:rgba(244,240,230,0.02);}
.tpp-h .ph{font-family:var(--oz-font-mono);font-size:10px;letter-spacing:0.10em;text-transform:uppercase;color:var(--oz-on-dark-3);font-weight:600;}
.tpp-prod{display:flex;flex-direction:column;gap:3px;}
.tpp-prod .pn{font-size:13.5px;font-weight:600;color:var(--oz-on-dark-1);line-height:1.2;}
.tpp-prod .pm{font-family:var(--oz-font-mono);font-size:10px;color:var(--oz-on-dark-3);letter-spacing:0.02em;}
.tpp-prod.own{position:relative;}
.tpp-prod.own .pn{color:var(--oz-cyan);}
.tpp-h.own-col{background:rgba(6,182,212,0.07);box-shadow:inset 0 2px 0 var(--oz-cyan);}

/* attribute label cells */
.tpp-attr{display:flex;align-items:center;gap:11px;}
.tpp-attr .rail{width:4px;height:30px;border-radius:3px;background:var(--accent,var(--oz-cyan));flex:0 0 auto;}
.tpp-attr .at{display:flex;flex-direction:column;gap:2px;}
.tpp-attr .at .t{font-size:13.5px;font-weight:500;color:var(--oz-on-dark-1);line-height:1.25;}
.tpp-attr .at .s{font-family:var(--oz-font-mono);font-size:9.5px;color:var(--oz-on-dark-3);letter-spacing:0.04em;text-transform:uppercase;}

/* rating cells */
.tpp-cell{display:flex;flex-direction:column;gap:9px;justify-content:center;}
.tpp-cell.own-col{background:rgba(6,182,212,0.05);}
.tpp-rate{display:flex;align-items:center;gap:8px;font-family:var(--oz-font-mono);font-size:10.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;}
.tpp-rate .ic{width:18px;height:18px;border-radius:9999px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.tpp-rate.adv{color:#52E0A8;}
.tpp-rate.adv .ic{background:rgba(82,224,168,0.16);color:#52E0A8;}
.tpp-rate.par{color:var(--npp-orange-l);}
.tpp-rate.par .ic{background:rgba(240,138,60,0.16);color:var(--npp-orange-l);}
.tpp-rate.gap{color:var(--oz-on-dark-3);}
.tpp-rate.gap .ic{background:rgba(244,240,230,0.06);color:var(--oz-on-dark-3);}
.tpp-meter{height:5px;border-radius:9999px;background:rgba(244,240,230,0.07);overflow:hidden;}
.tpp-meter > i{display:block;height:100%;width:0;border-radius:9999px;transition:width .9s cubic-bezier(.22,.61,.36,1);}
.tpp-cell.adv .tpp-meter > i{background:linear-gradient(90deg,#3ECf93,#52E0A8);}
.tpp-cell.par .tpp-meter > i{background:linear-gradient(90deg,var(--npp-orange),var(--npp-orange-l));}
.tpp-cell.gap .tpp-meter > i{background:rgba(244,240,230,0.22);}

/* row reveal */
.tpp-rowwrap{display:contents;}
.tpp-grid.show .tpp-cellbox{animation:npp-fade .5s var(--oz-ease) both;}

@keyframes npp-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.tpp-verdict{display:flex;align-items:center;gap:14px;padding:18px 22px;border-top:1px solid var(--oz-on-dark-line);background:rgba(10,22,40,0.4);}
.tpp-verdict .vt{font-family:var(--oz-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--oz-cyan);font-weight:700;}
.tpp-verdict .vb{font-size:14px;color:var(--oz-on-dark-1);line-height:1.5;}
.tpp-verdict .vb b{color:var(--oz-bone);font-weight:600;}

/* ──────────────────────────────────────────────
   INDICATION SEQUENCING
   ────────────────────────────────────────────── */
.seq-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:26px;align-items:start;}
@media (max-width:1000px){.seq-grid{grid-template-columns:1fr;}}

.seq-track{display:flex;flex-direction:column;gap:14px;}
.seq-node{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:16px;padding:18px 20px;opacity:0;transform:translateX(-10px);}
.seq-node.show{animation:npp-slidein .55s var(--oz-ease) forwards;}
@keyframes npp-slidein{to{opacity:1;transform:none;}}
.seq-node .seq-rank{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--oz-font-mono);font-size:14px;font-weight:700;color:#fff;background:var(--accent,var(--oz-midnight));flex:0 0 auto;}
.seq-node .seq-main{min-width:0;}
.seq-node .seq-stage-tag{font-family:var(--oz-font-mono);font-size:9.5px;letter-spacing:0.10em;text-transform:uppercase;font-weight:700;color:var(--accent,var(--oz-fg-3));margin-bottom:4px;}
.seq-node .seq-nm{font-family:var(--oz-font-display);font-size:18.5px;font-weight:500;letter-spacing:-0.012em;color:var(--oz-midnight);line-height:1.15;}
.seq-node .seq-sub{font-size:13px;color:var(--oz-fg-2);line-height:1.45;margin-top:4px;}
.seq-node .seq-scores{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex:0 0 auto;}
.seq-node .seq-fit{font-family:var(--oz-font-mono);font-size:18px;font-weight:600;color:var(--oz-midnight);letter-spacing:-0.02em;line-height:1;}
.seq-node .seq-fitl{font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--oz-fg-3);}
.seq-node .seq-bar{width:84px;height:6px;border-radius:9999px;background:rgba(11,22,40,0.08);overflow:hidden;}
.seq-node .seq-bar > i{display:block;height:100%;width:0;border-radius:9999px;background:var(--accent,var(--oz-cyan));transition:width .9s cubic-bezier(.22,.61,.36,1);}
.seq-node.lead{background:var(--oz-midnight);border-color:transparent;box-shadow:0 18px 40px rgba(11,22,40,0.16);}
.seq-node.lead .seq-nm{color:var(--oz-bone);}
.seq-node.lead .seq-sub{color:var(--oz-on-dark-2);}
.seq-node.lead .seq-fit{color:var(--oz-bone);}
.seq-node.lead .seq-fitl{color:var(--oz-on-dark-3);}
.seq-node.lead .seq-bar{background:rgba(244,240,230,0.12);}
.seq-leadtag{position:absolute;top:-9px;left:18px;font-family:var(--oz-font-mono);font-size:9px;letter-spacing:0.10em;text-transform:uppercase;font-weight:700;color:#062a1e;background:#52E0A8;padding:3px 10px;border-radius:9999px;}
.seq-connect{display:flex;justify-content:center;height:8px;}
.seq-connect span{width:2px;height:100%;background:repeating-linear-gradient(var(--oz-midnight-15) 0 3px,transparent 3px 6px);}

.seq-side{background:#FBF9F3;border:1px solid var(--oz-bone-line);border-radius:18px;padding:24px;}
.seq-side h4{font-family:var(--oz-font-display);font-size:18px;font-weight:500;letter-spacing:-0.014em;color:var(--oz-midnight);margin:0 0 6px;}
.seq-side > p{font-size:13.5px;color:var(--oz-fg-2);line-height:1.55;margin:0 0 18px;}
.seq-fac{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--oz-bone-line);}
.seq-fac .sd{width:9px;height:9px;border-radius:9999px;background:var(--accent,var(--oz-cyan));margin-top:4px;flex:0 0 auto;}
.seq-fac .sf{min-width:0;}
.seq-fac .sf .t{font-size:13.5px;font-weight:600;color:var(--oz-midnight);}
.seq-fac .sf .d{font-size:12.5px;color:var(--oz-fg-2);line-height:1.45;margin-top:2px;}

/* ──────────────────────────────────────────────
   LAUNCH CATALYST CALENDAR
   ────────────────────────────────────────────── */
.cal-stage{position:relative;}
.cal{position:relative;padding:8px 6px 6px;}
.cal-rail{position:relative;display:flex;flex-direction:column;gap:0;}
.cal-rail::before{content:"";position:absolute;left:121px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--oz-cyan),rgba(6,182,212,0.12));}
@media (max-width:680px){.cal-rail::before{left:13px;}}
.cal-ev{position:relative;display:grid;grid-template-columns:106px 28px 1fr;align-items:flex-start;gap:0;padding:14px 0;opacity:0;}
.cal-ev.show{animation:npp-fade .5s var(--oz-ease) forwards;}
.cal-when{text-align:right;padding-right:18px;padding-top:1px;}
.cal-when .q{font-family:var(--oz-font-mono);font-size:13px;font-weight:600;color:var(--oz-on-dark-1);letter-spacing:-0.01em;}
.cal-when .y{display:block;font-family:var(--oz-font-mono);font-size:9.5px;color:var(--oz-on-dark-3);letter-spacing:0.06em;margin-top:2px;}
.cal-mark{display:flex;justify-content:center;padding-top:2px;position:relative;z-index:2;}
.cal-mark .dot{width:14px;height:14px;border-radius:9999px;background:var(--accent,var(--oz-cyan));box-shadow:0 0 0 4px var(--oz-midnight),0 0 0 6px color-mix(in srgb,var(--accent,var(--oz-cyan)) 35%,transparent);}
.cal-card{background:rgba(244,240,230,0.03);border:1px solid var(--oz-on-dark-line);border-left:3px solid var(--accent,var(--oz-cyan));border-radius:12px;padding:13px 16px;margin-left:6px;}
.cal-card .ct{font-size:14.5px;font-weight:600;color:var(--oz-on-dark-1);line-height:1.3;}
.cal-card .cd{font-size:12.5px;color:var(--oz-on-dark-2);line-height:1.5;margin-top:5px;}
.cal-card .ctag{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-family:var(--oz-font-mono);font-size:9.5px;letter-spacing:0.06em;text-transform:uppercase;font-weight:700;color:var(--accent,var(--oz-cyan));}
.cal-card .ctag .impact{color:var(--oz-on-dark-3);font-weight:600;}

@media (prefers-reduced-motion: reduce){
  .tpp-grid.show .tpp-cellbox,.seq-node.show,.cal-ev.show{animation:none;opacity:1;transform:none;}
}
