/* Radio Party Mix / visual redesign 2026-11-01.
   VISUAL LAYER ONLY. No audio, chat, queue or greeting logic is modified.
   The pre-existing Alexandra portrait and original white logo are reused. */
:root {
  --rpm-magenta: #f40779;
  --rpm-magenta-dark: #ac005c;
  --rpm-ink: #11132f;
  --rpm-muted: #555a7b;
  --rpm-light-border: #f2d2e5;
  --rpm-paper: rgba(255, 255, 255, .88);
  --rpm-panel-shadow: 0 18px 46px rgba(130, 25, 91, .12);
}
body.np-home {
  background:
    radial-gradient(ellipse at 4% 6%, rgba(255, 97, 178, .3), transparent 25%),
    radial-gradient(ellipse at 93% 14%, rgba(255, 87, 160, .27), transparent 25%),
    radial-gradient(ellipse at 52% 52%, rgba(255, 180, 218, .22), transparent 38%),
    linear-gradient(180deg, #fff7fc 0%, #ffeff8 35%, #fff 58%, #fff3fa 100%);
  color: var(--rpm-ink);
}
body.np-home::before {
  opacity: .42;
  background-image: radial-gradient(circle, rgba(248, 80, 153, .14) 1px, transparent 1px);
  background-size: 22px 22px;
}
body.np-home a { -webkit-tap-highlight-color: rgba(244, 7, 121, .15); }
body.np-home :focus-visible { outline: 3px solid #ff78b5; outline-offset: 3px; }
body.np-home .np-header {
  width: min(1500px, calc(100% - 34px));
  height: 82px;
  grid-template-columns: 225px minmax(0, 1fr) auto;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 194, 225, .58);
  border-radius: 0 0 22px 22px;
  box-shadow: 0 12px 26px rgba(173, 24, 91, .08);
  padding: 0 17px;
  box-sizing: border-box;
  position: relative;
  z-index: 30;
}
body.np-home .np-logo {
  background: linear-gradient(130deg, #252136, #a50062);
  border-radius: 14px;
  padding: 8px 12px;
  width: 194px;
  height: 56px;
  box-sizing: border-box;
  box-shadow: 0 7px 19px rgba(136, 0, 78, .18);
}
body.np-home .np-logo img { width: 171px; max-height: 42px; object-fit: contain; }
body.np-home .np-nav { gap: clamp(12px, 1.8vw, 27px); }
body.np-home .np-nav a { color: #40425f; font-weight: 750; font-size: 12px; }
body.np-home .np-nav a:hover, body.np-home .np-nav a.active { color: var(--rpm-ink); }
body.np-home .np-nav a::after { background: var(--rpm-magenta); }
body.np-home .np-social-top a {
  color: #23243c;
  border: 1px solid #f4d4e3;
  background: #fff;
}
body.np-home .np-shell {
  width: min(1460px, calc(100% - 38px));
  display: flex;
  flex-direction: column;
  gap: 20px;
  isolation: isolate;
  margin: 0 auto;
  padding-bottom: 18px;
}
body.np-home .rpm-hero {
  position: relative;
  display: flex;
  align-items: center;
  isolation: isolate;
  min-height: 570px;
  overflow: hidden;
  order: 0;
  padding: 30px clamp(20px, 3vw, 48px);
  box-sizing: border-box;
  border-radius: 0 0 25px 25px;
  background:
    radial-gradient(ellipse at 70% 75%, rgba(250, 47, 138, .35), transparent 32%),
    radial-gradient(ellipse at 20% 0%, rgba(255, 198, 229, .52), transparent 50%),
    linear-gradient(108deg, #fff7fc 12%, #ffd6ec 58%, #ed88c1 100%);
  box-shadow: 0 16px 45px rgba(176, 38, 111, .13);
}
.rpm-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 100px;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(255, 62, 156, .3), transparent);
  z-index: -1;
}
.rpm-hero-copy { position: relative; z-index: 4; width: min(47%, 630px); }
.rpm-eyebrow {
  color: var(--rpm-magenta);
  letter-spacing: .23em;
  font-weight: 850;
  font-size: 11px;
  line-height: 1.4;
  margin: 0 0 11px;
  text-transform: uppercase;
}
.rpm-hero h1 {
  color: #11112a;
  font-family: 'Montserrat', 'Inter', Arial, sans-serif;
  font-size: clamp(31px, 3.6vw, 60px);
  font-weight: 850;
  letter-spacing: -.055em;
  line-height: 1.035;
  margin: 8px 0 14px;
}
.rpm-hero h1 em { color: var(--rpm-magenta); font-style: normal; }
.rpm-hero-lead {
  color: #16182f;
  font-weight: 850;
  font-size: clamp(15px, 1.45vw, 21px);
  letter-spacing: -.02em;
  line-height: 1.25;
  margin: 0 0 11px;
}
.rpm-hero-lead strong { color: var(--rpm-magenta); }
.rpm-hero-desc { margin: 0; color: #4d506d; font-size: 15px; line-height: 1.45; }
.rpm-hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 21px; }
.rpm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 13px 22px;
  text-decoration: none;
  font: 800 14px/1.2 'Inter', sans-serif;
  cursor: pointer;
  min-height: 48px;
  box-sizing: border-box;
  transition: transform .18s, box-shadow .18s;
}
.rpm-btn:hover { transform: translateY(-2px); }
.rpm-btn-primary { background: linear-gradient(135deg, #ff087f, #c0006b); color: #fff !important; box-shadow: 0 7px 19px rgba(234, 8, 114, .31); }
.rpm-btn-light { background: #fff; color: var(--rpm-ink); box-shadow: 0 7px 22px rgba(156, 46, 102, .13); }
.rpm-btn-light i { color: var(--rpm-magenta); }
.rpm-hero-perks { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 28px; color: #30324c; font-size: 11px; font-weight: 750; }
.rpm-hero-perks span { display: inline-flex; align-items: center; gap: 7px; }
.rpm-hero-perks i { color: var(--rpm-magenta); font-size: 15px; }
.rpm-hero-portrait {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  width: 450px;
  height: 565px;
  left: 49%;
  top: 4px;
  transform: translateX(-27%);
  background: url('../images/alexandra-premium-hero.webp') center bottom / contain no-repeat;
  filter: drop-shadow(0 20px 26px rgba(191, 11, 104, .28));
}
.rpm-on-air {
  position: absolute;
  z-index: 1;
  right: 7%;
  top: 52px;
  font: 800 clamp(25px, 3vw, 45px)/1 'Montserrat', sans-serif;
  letter-spacing: .06em;
  transform: rotate(-7deg);
  color: #fff;
  padding: 12px 19px;
  border: 3px solid rgba(255, 255, 255, .72);
  border-radius: 12px;
  box-shadow: 0 0 20px #fa3aaf, inset 0 0 17px #f550b7, 0 0 4px #fa3aaf;
  text-shadow: 0 0 10px #ff1187;
}
.rpm-hero-script { position: absolute; right: 3%; top: 151px; z-index: 1; color: #e70070; font: italic 21px/1.2 Georgia, serif; transform: rotate(-8deg); text-align: center; }
body.np-home .np-player-card {
  position: absolute;
  top: 263px;
  right: 22px;
  z-index: 12;
  width: min(38%, 500px);
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .88);
  background: rgba(255, 255, 255, .94);
  color: var(--rpm-ink);
  box-shadow: 0 19px 47px rgba(132, 22, 86, .23);
  border-radius: 23px;
  backdrop-filter: blur(15px);
}
body.np-home .np-player-card::after { display: none; }
body.np-home .np-player-main { padding: 17px 20px 16px; }
body.np-home .np-live-row { gap: 9px; margin-bottom: 13px; justify-content: space-between; }
body.np-home .np-live-badge { font-size: 11px; color: var(--rpm-magenta); background: #fff; border: 1px solid #ffc9e5; box-shadow: none; border-radius: 999px; padding: 5px 10px; }
body.np-home .np-live-text { color: #65667d; font-size: 11px; white-space: nowrap; }
body.np-home .np-ai-host-badge { max-width: 160px; padding: 4px 6px; border-color: #f5d4e6; background: #fff8fc; box-shadow: none; }
body.np-home .np-ai-host-copy strong { font-size: 10px; }
body.np-home .np-ai-host-status { display: none; }
body.np-home .np-live-row .np-main-greeting-cta { display: none !important; }
body.np-home .np-player-content {
  display: grid;
  grid-template-columns: 73px minmax(0, 1fr);
  grid-template-rows: auto 64px;
  gap: 11px 14px;
  align-items: center;
}
body.np-home .np-album-cover { grid-column: 1; grid-row: 1; width: 72px; height: 72px; border-radius: 15px; border: none; box-shadow: 0 8px 18px rgba(231, 0, 112, .1); background: #f7d2e6; }
body.np-home .np-track-copy { grid-column: 2; grid-row: 1; }
body.np-home .np-kicker { color: #797a93; font-size: 10px; margin: 0 0 5px; }
body.np-home .np-stream-info { min-height: 35px; color: #4b4d69; font-size: 12px; line-height: 1.3; }
body.np-home .np-stream-info strong { color: #191a34; font-size: clamp(14px, 1.4vw, 18px); -webkit-line-clamp: 2; }
body.np-home .np-ghost-button { padding: 5px 9px; margin-top: 5px; font-size: 10px; color: #5a5d7a; border-color: #f3dbe8; background: #fff8fb; }
body.np-home .np-visualizer {
  grid-column: 2; grid-row: 2;
  height: 62px;
  padding: 5px 0;
  border: 0;
  gap: 3px;
  align-items: flex-end;
}
body.np-home .np-visualizer::before, body.np-home .np-visualizer::after { display: none; }
body.np-home .np-visualizer span { width: 3px; background: linear-gradient(to top, #f41182, #ff79b9); }
body.np-home .np-big-play {
  grid-column: 1; grid-row: 2;
  width: 52px; height: 52px; font-size: 18px;
  justify-self: center; border: 0;
  background: linear-gradient(145deg, #ff248a, #bb0068);
  color: #fff; box-shadow: 0 5px 15px rgba(255, 0, 114, .32);
}
body.np-home .np-player-bottom { margin-top: 10px; padding-top: 10px; border-color: #f7d9e9; display: flex; flex-wrap: wrap; gap: 8px; }
body.np-home .np-stream-quality { font-size: 10px; color: #707389; }
body.np-home .np-player-controls { margin-left: auto; }
body.np-home .np-icon-button { color: #34334f; }
body.np-home .np-volume-slider { width: 90px; }
body.np-home .np-now-marquee { display: none; }
body.np-home .np-greetings-strip { order: 1; width: 100%; margin: 0; }
body.np-home .np-greetings-shell {
  border: 1px solid rgba(255, 255, 255, .8);
  background: rgba(255, 255, 255, .84);
  box-shadow: var(--rpm-panel-shadow);
  border-radius: 18px;
}
body.np-home .np-greetings-head h2 { color: var(--rpm-magenta); font-size: 20px; }
body.np-home .np-greetings-intro { color: #60627f; }
body.np-home .np-greetings-refresh { color: #ae0066; border-color: #ffd0e7; background: #fff9fc; }
body.np-home .np-greeting-card { background: #fff8fc; border: 1px solid #f4d8e7; color: #22243e; box-shadow: none; }
body.np-home .np-greeting-body, body.np-home .np-greeting-body p { color: #40425a; }
body.np-home .rpm-feature-grid { order: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.rpm-feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 224px;
  box-sizing: border-box;
  padding: 22px;
  background: rgba(255, 255, 255, .90);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow: var(--rpm-panel-shadow);
  border-radius: 17px;
  overflow: hidden;
}
.rpm-feature-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(circle, #fff, #ffe5f2);
  border: 1px solid #ffd2e7;
  color: var(--rpm-magenta);
  box-shadow: 0 8px 18px rgba(234, 16, 114, .12);
  font-size: 25px;
  margin-bottom: 13px;
}
.rpm-feature-card h2 { color: #15162f; margin: 0 0 7px; font: 800 clamp(15px, 1.3vw, 19px)/1.2 'Montserrat', sans-serif; }
.rpm-feature-card p { color: var(--rpm-muted); margin: 0 0 18px; font: 500 13px/1.45 'Inter', sans-serif; }
.rpm-feature-alex { background: linear-gradient(180deg, #ffe1f1 0%, #fff 72%); }
.rpm-feature-alex::before { content: ''; position: absolute; right: -36px; top: -33px; width: 137px; height: 180px; background: url('../images/alexandra-premium-hero.webp') center / contain no-repeat; opacity: .55; pointer-events: none; }
.rpm-card-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  margin-top: auto;
  padding: 9px 12px;
  color: var(--rpm-magenta);
  border: 1px solid #ffcee6;
  border-radius: 9px;
  background: #fffafd;
  font: 750 12px/1.3 'Inter', sans-serif;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}
.rpm-card-link:hover { background: #ffe9f4; }
body.np-home .np-actions { order: 3; margin-top: 0; gap: 12px; }
body.np-home .np-actions .np-card { background: #fff; border: 1px solid #ffe1ef; box-shadow: 0 6px 23px rgba(130, 25, 91, .08); min-height: 194px; }
body.np-home .np-actions .np-card h2 { color: #191a31; }
body.np-home .np-actions .np-card p { color: #565a78; }
body.np-home .np-actions .np-ai-card-status { color: #9b0055; }
body.np-home .np-actions .np-primary-btn { background: linear-gradient(135deg,#fa1383,#bc0065); color: #fff; }
body.np-home .rpm-partners { order: 4; }
body.np-home .rpm-how { order: 5; }
body.np-home .rpm-mobile-promo { order: 6; }
body.np-home .np-secondary-grid { order: 7; margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.np-home .np-partners-panel { display: none; }
body.np-home .np-program-panel { background: linear-gradient(145deg,#231624,#120d1b); }
body.np-home .np-chat-panel { background: linear-gradient(145deg,#1e1322,#0e0d18); }
body.np-home .np-recent-panel { order: 8; margin-top: 0; }
body.np-home .np-footer {
  color: #656780;
  border-top-color: #f2cee1;
  background: rgba(255, 255, 255, .76);
  border-radius: 20px 20px 0 0;
  padding: 18px 25px;
  width: min(1460px, calc(100% - 38px));
  box-sizing: border-box;
}
body.np-home .np-footer-brand img { background: linear-gradient(130deg, #252136, #a50062); padding: 7px 13px; border-radius: 11px; box-sizing: content-box; }
.rpm-section-header { display: flex; justify-content: space-between; gap: 15px; align-items: end; margin: 0 4px 14px; }
.rpm-section-header h2 { color: #11132e; margin: 0 0 4px; font: 850 clamp(26px, 3vw, 38px)/1.1 'Montserrat', sans-serif; letter-spacing: -.035em; }
.rpm-section-header p { margin: 0; color: #5f607d; font-size: 14px; }
.rpm-partners, .rpm-how { padding: 21px 15px; border-radius: 16px; background: rgba(255, 255, 255, .48); }
.rpm-partner-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.rpm-partner-tile { height: 130px; border-radius: 15px; border: 1px solid #f5dfeb; background: #fff; display: grid; place-items: center; padding: 14px; box-shadow: 0 9px 26px rgba(152, 38, 91, .08); box-sizing: border-box; }
.rpm-partner-tile img { width: auto; max-width: 90%; height: auto; max-height: 100px; object-fit: contain; }
.rpm-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.rpm-how-item { background: #fff; border: 1px solid #ffe1ef; border-radius: 16px; padding: 23px; box-shadow: 0 8px 22px rgba(141, 32, 98, .08); position: relative; }
.rpm-step-icon { width: 67px; height: 67px; display: grid; place-items: center; border-radius: 50%; background: #fff2f8; border: 1px solid #ffd7e9; color: var(--rpm-magenta); font-size: 29px; margin-bottom: 15px; }
.rpm-step-number { position: absolute; left: 76px; top: 59px; display: grid; place-items: center; background: var(--rpm-magenta); color: #fff; border-radius: 50%; width: 28px; height: 28px; font: 850 13px/1 'Inter', sans-serif; }
.rpm-how-item h3 { color: #14152c; font: 850 18px/1.3 'Montserrat', sans-serif; margin: 0 0 7px; }
.rpm-how-item p { margin: 0; color: #555978; font-size: 13px; line-height: 1.5; }
.rpm-mobile-promo { min-height: 280px; border-radius: 20px; position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; padding: 25px 9% 25px 48%; background: linear-gradient(115deg,#ffc0df,#fff4fb 60%,#ffd8ed); box-shadow: var(--rpm-panel-shadow); box-sizing: border-box; }
.rpm-mobile-portrait { position: absolute; width: 40%; height: 120%; left: 8%; bottom: -33%; background: url('../images/alexandra-premium-hero.webp') center top / contain no-repeat; }
.rpm-mobile-copy { position: relative; z-index: 1; }
.rpm-mobile-copy h2 { margin: 0 0 8px; font: 850 clamp(27px, 3vw, 42px)/1.1 'Montserrat', sans-serif; color: #10132d; }
.rpm-mobile-copy p { max-width: 520px; font-size: 15px; color: #4e516d; line-height: 1.5; margin: 0 0 15px; }
@media (max-width: 1220px) {
 body.np-home .np-header { grid-template-columns: 180px minmax(0,1fr) auto; gap: 9px; }
 body.np-home .np-logo { width: 170px; }
 body.np-home .np-logo img { width: 150px; }
 body.np-home .np-nav { gap: 12px; }
 body.np-home .np-nav a { font-size: 10px; }
 .rpm-hero-portrait { left: 47%; width: 390px; }
 .rpm-hero-copy { width: 48%; }
 body.np-home .np-player-card { width: 39%; }
}
@media (max-width: 980px) {
 body.np-home .np-header { grid-template-columns: 190px 1fr auto; }
 body.np-home .np-shell { gap: 14px; }
 body.np-home .rpm-hero { min-height: 540px; }
 .rpm-hero h1 { font-size: clamp(30px, 4.5vw, 42px); }
 .rpm-hero-portrait { left: 49%; width: 345px; height: 540px; }
 .rpm-hero-copy { width: 51%; }
 .rpm-hero-script { display: none; }
 body.np-home .np-player-card { width: 41%; right: 15px; top: 255px; }
 body.np-home .np-ai-host-badge { display: none; }
 body.np-home .rpm-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 body.np-home .np-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
 body.np-home .np-header { height: 70px; grid-template-columns: 1fr auto auto; }
 body.np-home .np-menu-button { color: #12132c; background: #fff2f8; }
 body.np-home .np-nav { background: #fff; border: 1px solid #ffdbea; box-shadow: 0 15px 30px rgba(90,20,70,.13); height: auto; }
 body.np-home .np-nav a { font-size: 13px; color: #26263e; }
 body.np-home .np-social-top { display: none; }
 body.np-home .rpm-hero { min-height: 575px; padding: 34px 23px; align-items: flex-start; }
 .rpm-hero-copy { width: 64%; }
 .rpm-hero-portrait { left: 65%; top: 41px; width: 365px; height: 530px; }
 .rpm-on-air { top: 30px; right: 3%; font-size: 20px; }
 body.np-home .np-player-card { position: relative; top: auto; right: auto; width: 100%; margin-top: -36px; align-self: center; }
 body.np-home .np-player-content { grid-template-columns: 75px minmax(0,1fr); }
 body.np-home .np-secondary-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 body.np-home .np-header { width: 100%; border-radius: 0 0 14px 14px; padding: 0 11px; grid-template-columns: 1fr auto; }
 body.np-home .np-logo { width: 169px; height: 52px; }
 body.np-home .np-shell { width: calc(100% - 16px); gap: 12px; }
 body.np-home .rpm-hero { min-height: 670px; padding: 23px 18px; border-radius: 0 0 20px 20px; }
 .rpm-hero-copy { width: 100%; }
 .rpm-hero h1 { font-size: clamp(30px, 9vw, 45px); max-width: 400px; }
 .rpm-hero-lead { font-size: 16px; }
 .rpm-hero-desc { font-size: 13px; }
 .rpm-hero-buttons { gap: 8px; }
 .rpm-btn { font-size: 12px; padding: 11px 14px; min-height: 42px; }
 .rpm-hero-perks { gap: 8px 11px; font-size: 10px; margin-top: 16px; max-width: 340px; }
 .rpm-hero-portrait { left: 42%; top: auto; bottom: -65px; transform: none; width: 340px; height: 405px; opacity: .92; }
 .rpm-on-air { top: auto; bottom: 230px; right: 6%; font-size: 17px; }
 body.np-home .np-player-card { margin-top: -14px; }
 body.np-home .np-player-main { padding: 16px; }
 body.np-home .np-greetings-shell { padding: 13px; }
 body.np-home .np-greetings-head { flex-wrap: wrap; }
 body.np-home .rpm-feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
 .rpm-feature-card { padding: 14px; min-height: 245px; }
 .rpm-feature-icon { width: 47px; height: 47px; font-size: 20px; }
 .rpm-feature-card h2 { font-size: 14px; }
 .rpm-feature-card p { font-size: 12px; }
 .rpm-card-link { font-size: 11px; padding: 8px 9px; }
 body.np-home .np-actions { grid-template-columns: 1fr; }
 body.np-home .np-actions .np-card { min-height: 130px; }
 .rpm-partners, .rpm-how { padding: 16px 7px; }
 .rpm-section-header h2 { font-size: 27px; }
 .rpm-partner-list { gap: 9px; }
 .rpm-partner-tile { height: 100px; padding: 7px; }
 .rpm-how-grid { grid-template-columns: 1fr; gap: 10px; }
 .rpm-how-item { padding: 17px 20px; }
 .rpm-step-number { top: 53px; }
 .rpm-mobile-promo { padding: 195px 22px 25px; }
 .rpm-mobile-portrait { width: 100%; height: 280px; top: -65px; bottom: auto; left: 0; background-position: center top; }
 .rpm-mobile-copy { text-align: center; }
 body.np-home .np-footer { width: calc(100% - 16px); padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
 .rpm-btn { transition: none; }
}

/* Mockup fidelity pass 2026-11-01: approved full panoramic radio scene */
body.np-home .np-header { background: rgba(255,250,254,.97); }
body.np-home .np-logo, body.np-home .np-footer-brand img { background: transparent; box-shadow: none; }
body.np-home .np-logo { padding: 5px 0; width: 210px; }
body.np-home .np-logo img { width: 205px; max-height: 55px; }
body.np-home .np-logo img, body.np-home .np-footer-brand img { content: url('../images/rpm-logo-dark-preview.png'); }
body.np-home .rpm-hero {
  min-height: 568px;
  border-radius: 0;
  background-image:
    linear-gradient(90deg, rgba(255,251,254,.96) 0%, rgba(255,249,253,.84) 23%, rgba(255,246,252,.28) 37%, rgba(250,62,158,.05) 65%),
    url('../images/rpm-hero-neon-alexandra-original.png');
  background-size: cover, cover;
  background-repeat: no-repeat;
  background-position: center, center 43%;
  box-shadow: 0 16px 35px rgba(240, 31, 140, .12);
}
body.np-home .rpm-hero::after {
  z-index: 0;
  height: 38px;
  background: linear-gradient(to top, rgba(255,56,144,.12), transparent);
}
body.np-home .rpm-hero-portrait { display: none; }
body.np-home .rpm-hero-copy { width: 45%; max-width: 540px; text-shadow: 0 1px 2px rgba(255,255,255,.2); }
body.np-home .rpm-hero h1 { font-size: clamp(32px,3.45vw,58px); letter-spacing:-.045em; }
body.np-home .rpm-hero-desc { font-weight: 600; color: #41435e; }
body.np-home .rpm-on-air {
  z-index: 2;
  top: 35px;
  right: 7%;
  font-size: 29px;
  background: rgba(255, 12, 135, .12);
  text-shadow: 0 0 16px #ff0088;
}
body.np-home .rpm-hero-script { top: 128px; right: 3%; font-size: 21px; color: #df006b; }
body.np-home .np-player-card { top: 265px; right: 24px; z-index: 4; border-radius: 22px; }
body.np-home .rpm-hero-perks { color: #282944; }
body.np-home .rpm-feature-grid { margin-top: 0; }
body.np-home .np-greetings-strip { order: 1; }
body.np-home .np-footer-brand img { background: transparent; padding: 0; border-radius: 0; }
@media (max-width: 1220px) {
 body.np-home .np-logo { width: 170px; }
 body.np-home .np-logo img { width: 170px; }
 body.np-home .rpm-hero-copy { width: 49%; }
 body.np-home .rpm-hero h1 { font-size: clamp(31px,3.7vw,46px); }
 body.np-home .rpm-hero { background-position: center, 53% center; }
 body.np-home .np-player-card { width: 39%; }
}
@media (max-width: 980px) {
 body.np-home .rpm-hero { min-height: 545px; background-position: center, 52% center; }
 body.np-home .rpm-hero-copy { width: 53%; }
 body.np-home .rpm-hero h1 { font-size: clamp(29px,4vw,40px); }
 body.np-home .np-player-card { width: 42%; top: 260px; }
 body.np-home .rpm-on-air { right: 3%; font-size: 20px; }
}
@media (max-width: 820px) {
 body.np-home .rpm-hero {
  min-height: 560px;
  background-image:
   linear-gradient(90deg, rgba(255,251,254,.93) 0%, rgba(255,247,252,.7) 45%, rgba(255,235,249,.09) 85%),
   url('../images/rpm-hero-neon-alexandra-original.png');
  background-position: center, 58% center;
 }
 body.np-home .rpm-hero-copy { width: 64%; }
 body.np-home .np-player-card { position: relative; right: auto; top: auto; width: calc(100% - 18px); margin: -39px auto 4px; }
 body.np-home .rpm-on-air { right: 3%; top: 24px; }
}
@media (max-width: 600px) {
 body.np-home .rpm-hero {
  min-height: 630px;
  padding: 26px 18px 12px;
  background-image:
   linear-gradient(180deg, rgba(255,248,253,.96) 0%, rgba(255,248,253,.86) 41%, rgba(255,230,247,.16) 70%),
   url('../images/rpm-hero-neon-alexandra-original.png');
  background-size: cover, auto 370px;
  background-position: center, center bottom;
  background-color: #ffdbef;
 }
 body.np-home .rpm-hero-copy { width: 100%; }
 body.np-home .rpm-hero h1 { font-size: clamp(30px,8.9vw,44px); }
 body.np-home .rpm-on-air { bottom: 45px; top: auto; right: 9px; font-size: 15px; }
 body.np-home .rpm-hero-script { display: none; }
 body.np-home .np-player-card { margin-top: 0; width: calc(100% - 8px); }
}


/* PREVIEW V2 – mockup lower-page structure: genuine greeting data, compact app panel */
body.np-home .rpm-how-app-row {
  order: 5;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  gap: 16px;
  align-items: stretch;
  min-width: 0;
}
body.np-home .rpm-how-app-row .rpm-how { padding: 17px 14px 19px; min-width: 0; }
body.np-home .rpm-how-app-row .rpm-section-header h2 { font-size: clamp(25px,2.25vw,34px); }
body.np-home .rpm-how-app-row .rpm-section-header p { font-size: 12px; }
body.np-home .rpm-how-app-row .rpm-how-grid { gap: 9px; }
body.np-home .rpm-how-app-row .rpm-how-item { padding: 16px 13px; min-width: 0; }
body.np-home .rpm-how-app-row .rpm-step-icon { width: 53px; height: 53px; font-size: 23px; margin-bottom: 12px; }
body.np-home .rpm-how-app-row .rpm-step-number { left: 49px; top: 44px; width: 24px; height: 24px; }
body.np-home .rpm-how-app-row .rpm-how-item h3 { font-size: clamp(14px,1.28vw,17px); }
body.np-home .rpm-how-app-row .rpm-how-item p { font-size: 12px; }
body.np-home .rpm-how-app-row .rpm-mobile-promo {
  order: unset;
  min-width: 0;
  min-height: 290px;
  background: linear-gradient(123deg,#ffb6da,#ffe4f3 58%,#fff2fa);
  display: grid;
  grid-template-columns: 42% minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 20px 15px 20px 4px;
  overflow: hidden;
}
.rpm-app-device {
  width: min(175px,95%);
  aspect-ratio: .57;
  transform: rotate(-9deg) translate(13px,27px);
  margin: auto 0 0;
  padding: 7px;
  border-radius: 25px;
  background: #21121e;
  border: 3px solid #1d1420;
  box-shadow: 11px 14px 20px rgba(65,14,49,.22), inset 0 1px 3px rgba(255,255,255,.4);
  box-sizing: border-box;
}
.rpm-app-device-screen {
  position: relative;
  height: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: #120814;
}
.rpm-app-device-screen::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 35%;
  right: 35%;
  height: 9px;
  background: #1b0a16;
  border-radius: 0 0 7px 7px;
  z-index: 2;
}
.rpm-app-mini-brand {
  position: absolute;
  top: 28px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}
.rpm-app-mini-brand img {
  display: block;
  width: 83%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 1px 5px rgba(52,0,29,.45));
}
.rpm-app-portrait {
  position: absolute;
  inset: 18px 0 0;
  background: url('../images/alexandra-premium-hero.webp') center center / cover no-repeat;
}
.rpm-app-mini-play {
  position: absolute;
  bottom: 18px;
  left: calc(50% - 20px);
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: #f40078;
  border-radius: 50%;
  color: white;
  box-shadow: 0 2px 14px rgba(245,0,117,.45);
  font-size: 16px;
}
body.np-home .rpm-mobile-promo .rpm-mobile-portrait { display: none; }
body.np-home .rpm-mobile-promo .rpm-mobile-copy { text-align: left; }
body.np-home .rpm-mobile-promo .rpm-eyebrow { font-size: 10px; letter-spacing: .14em; }
body.np-home .rpm-mobile-promo h2 { font-size: clamp(22px,2.35vw,34px); }
body.np-home .rpm-mobile-promo p { font-size: 13px; }
body.np-home .rpm-mobile-promo .rpm-btn { font-size: 11px; min-height: 42px; padding: 11px 12px; }
body.np-home .rpm-bottom-greetings { order: 6; padding: 6px 1px 7px; }
body.np-home .rpm-bottom-greetings .rpm-section-header { align-items: center; }
.rpm-bottom-greetings-link { display: inline-flex; gap: 9px; white-space: nowrap; align-items: center; text-decoration: none; background: #fff; border: 1px solid #ffb5da; color: #eb006c; padding: 11px 17px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.rpm-bottom-greetings-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; min-height: 155px; }
.rpm-bottom-greetings-list .np-greeting-card { min-width: 0; max-width: none; flex: unset; min-height: 155px; padding: 13px 11px; gap: 7px; box-shadow: 0 9px 19px rgba(168,39,111,.08); }
.rpm-bottom-greetings-list .np-greeting-icon { width: 29px; height: 29px; flex-basis: 29px; }
.rpm-bottom-greetings-list .np-greeting-name { font-size: 11px; }
.rpm-bottom-greetings-list .np-greeting-body p { font-size: 11px; -webkit-line-clamp: 4; }
.rpm-bottom-empty { grid-column: 1/-1; padding: 45px 12px; text-align: center; color: #555a78; background: #fff; border: 1px solid #ffdeed; border-radius: 16px; }
body.np-home .rpm-footer-benefits {
 order: 9;
 display: grid;
 grid-template-columns: repeat(4,minmax(0,1fr));
 align-items: center;
 gap: 0;
 background: rgba(255,255,255,.82);
 border: 1px solid #ffe0ee;
 border-radius: 17px;
 box-shadow: 0 8px 24px rgba(132,30,87,.08);
 padding: 25px 10px;
}
.rpm-footer-benefits > div { display:flex; flex-direction:column; gap:5px; text-align:center; align-items:center; justify-content:center; border-right:1px solid #fbe2ee; }
.rpm-footer-benefits > div:last-child { border-right:0; }
.rpm-footer-benefits i { font-size: 27px; color: #f60077; margin-bottom: 4px; }
.rpm-footer-benefits strong { color:#14152f; font-weight:900; font-size:13px; }
.rpm-footer-benefits span { color:#5e6280; font-size:10px; font-weight:750; }
/* The original dark chat and broadcast panels remain fully operational,
   but now sit after the actual public greetings. */
body.np-home .np-secondary-grid { order: 7; }
body.np-home .np-recent-panel { order: 8; }
/* Fix dark-theme texts that previously remained white in the light greetings strip */
body.np-home .np-greetings-strip .np-greeting-card,
body.np-home .rpm-bottom-greetings-list .np-greeting-card {
  background: #fff;
  border-color: #f6d8e7;
  box-shadow: 0 7px 21px rgba(136,35,87,.08);
}
body.np-home .np-greetings-strip .np-greeting-name,
body.np-home .rpm-bottom-greetings-list .np-greeting-name { color: #17182e; }
body.np-home .np-greetings-strip .np-greeting-label,
body.np-home .rpm-bottom-greetings-list .np-greeting-label { color: #5c6078; }
body.np-home .np-greetings-strip .np-greeting-message,
body.np-home .np-greetings-strip .np-greeting-body p,
body.np-home .rpm-bottom-greetings-list .np-greeting-message,
body.np-home .rpm-bottom-greetings-list .np-greeting-body p { color: #45495e; }
body.np-home .np-greetings-strip .np-greeting-status,
body.np-home .rpm-bottom-greetings-list .np-greeting-status { color: #555970; }
body.np-home .np-greetings-strip .np-greeting-time,
body.np-home .rpm-bottom-greetings-list .np-greeting-time { color: #686b83; }
body.np-home .np-greetings-strip .np-greetings-empty,
body.np-home .np-greetings-strip .np-greetings-error { color: #4a4e6b; }
body.np-home .np-greetings-strip .np-greetings-eyebrow { color: #ce0061; }
body.np-home .np-greetings-strip .np-greetings-head h2 { color: #eb006f; }
@media (max-width: 1070px) {
 body.np-home .rpm-how-app-row { grid-template-columns: 1fr; }
 body.np-home .rpm-how-app-row .rpm-mobile-promo { min-height: 255px; grid-template-columns: 200px 1fr; }
 .rpm-bottom-greetings-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
 body.np-home .rpm-how-app-row .rpm-how-grid { grid-template-columns: 1fr; }
 body.np-home .rpm-how-app-row .rpm-how-item { padding: 18px; }
 body.np-home .rpm-how-app-row .rpm-step-number { left: 53px; top: 51px; }
 body.np-home .rpm-how-app-row .rpm-mobile-promo { grid-template-columns: 42% 58%; min-height: 235px; padding: 12px 15px 12px 0; }
 .rpm-app-device { width: 130px; }
 body.np-home .rpm-mobile-promo .rpm-btn { font-size: 10px; }
 body.np-home .rpm-bottom-greetings .rpm-section-header { flex-wrap: wrap; }
 .rpm-bottom-greetings-list { grid-template-columns: 1fr; }
 .rpm-bottom-greetings-list .np-greeting-card { min-height: 120px; }
 body.np-home .rpm-footer-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 0; }
 body.np-home .rpm-footer-benefits > div:nth-child(2) { border-right:0; }
 body.np-home .np-secondary-grid { grid-template-columns: 1fr; }
}
/* Keep the three-steps panel to the left of the app panel on desktop. */
body.np-home .rpm-how-app-row .rpm-how { order: 0; }
body.np-home .rpm-how-app-row .rpm-mobile-promo { order: 1; }

/* PREVIEW ONLY: approved lower-page order, leaving legacy code intact. */
body.np-home .np-shell > .np-secondary-grid,
body.np-home .np-shell > .np-recent-panel,
body.np-home .np-shell > .np-actions { display: none !important; }
body.np-home .rpm-feature-grid { order: 2; }
body.np-home .rpm-partners { order: 3; }
body.np-home .rpm-how-app-row { order: 4; }
body.np-home .rpm-bottom-greetings { order: 5; }
body.np-home .rpm-footer-benefits {
 order: 6;
 grid-template-columns: minmax(130px,1.35fr) repeat(4,minmax(85px,1fr)) minmax(125px,1.1fr);
 padding: 18px 12px;
 gap: 4px;
}
body.np-home .rpm-footer-benefits-brand { border-right: 1px solid #fbe2ee; }
body.np-home .rpm-footer-benefits-brand img { max-width: 145px; max-height: 67px; width: 100%; height: auto; object-fit: contain; }
body.np-home .rpm-footer-listen {
 background: #e90078; border: 0; border-radius: 999px; color: #fff;
 min-height: 47px; padding: 11px 14px; font-size: 13px;
 font-weight: 800; cursor: pointer; white-space: nowrap;
}
body.np-home .rpm-footer-listen:hover { background: #c90064; }
body.np-home .rpm-partners .rpm-partner-list { grid-template-columns: repeat(4,minmax(0,1fr)); }
body.np-home .rpm-partner-tile { min-width: 0; }
/* Readability of real greeting data on light cards. */
body.np-home .np-greetings-strip .np-greeting-card *,
body.np-home .rpm-bottom-greetings-list .np-greeting-card * { text-shadow: none; }
body.np-home .np-greetings-strip .np-greeting-body,
body.np-home .np-greetings-strip .np-greeting-meta,
body.np-home .rpm-bottom-greetings-list .np-greeting-body,
body.np-home .rpm-bottom-greetings-list .np-greeting-meta { color: #34374f; }
body.np-home .np-greetings-strip .np-greeting-card :is(strong,small,time),
body.np-home .rpm-bottom-greetings-list .np-greeting-card :is(strong,small,time) { color: #35384d; }
@media (max-width: 1150px) {
 body.np-home .rpm-footer-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px 8px; }
 body.np-home .rpm-footer-benefits > div:nth-child(3) { border-right: 0; }
}
@media (max-width: 650px) {
 body.np-home .rpm-partners .rpm-partner-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.np-home .rpm-footer-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 4px; }
 body.np-home .rpm-footer-benefits > div:nth-child(even) { border-right: 0; }
 body.np-home .rpm-footer-benefits > div:nth-child(3) { border-right: 1px solid #fbe2ee; }
 body.np-home .rpm-footer-listen { grid-column: 1/-1; }
 body.np-home .rpm-footer-benefits-brand img { max-width: 120px; }
}

/* Preview-only existing partners page link; no new partner identities. */
body.np-home .rpm-partners .rpm-section-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
body.np-home .rpm-partners-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; text-decoration:none; color:#d70069; background:#fff; border:1px solid #f5bfd9; border-radius:999px; font-weight:750; font-size:12px; min-height:42px; padding:10px 16px; }
body.np-home .rpm-partners-link:hover { background:#fff2f8; }
@media(max-width:650px) { body.np-home .rpm-partners .rpm-section-header { flex-wrap:wrap; } body.np-home .rpm-partners-link { font-size:11px; } }


/* =========================================================
   MOCKUP FIDELITY V3 - NOV 1 2026 - PREVIEW ONLY
   The approved hero and functional player intentionally untouched.
   ========================================================= */

/* Bright, detailed pink scene continues under the existing hero. */
body.np-home {
 background:
   radial-gradient(ellipse 33% 17% at 4% 30%, rgba(255,121,198,.32), transparent 96%),
   radial-gradient(ellipse 29% 21% at 91% 38%, rgba(252,94,179,.28), transparent 96%),
   radial-gradient(ellipse 40% 17% at 45% 65%, rgba(255,158,209,.23), transparent 96%),
   radial-gradient(ellipse 39% 16% at 96% 83%, rgba(255,116,199,.23), transparent 96%),
   radial-gradient(ellipse 37% 25% at 8% 90%, rgba(255,183,219,.25), transparent 98%),
   linear-gradient(180deg,#fff7fc 0%,#ffeff8 48%,#fff5fb 72%,#ffe9f7 100%);
}
body.np-home::before { opacity: .26; }

/* Mockup greeting ribbon: compact, translucent, with real live-feed data. */
body.np-home .np-greetings-strip { margin-top: -5px; }
body.np-home .np-greetings-shell {
 display:grid;
 grid-template-columns:minmax(190px,245px) minmax(0,1fr);
 align-items:center;
 gap:13px;
 padding:11px 15px;
 min-height:105px;
 border-radius:18px;
 background:linear-gradient(115deg,rgba(255,255,255,.8),rgba(255,233,246,.85));
 border:1px solid rgba(255,255,255,.94);
 box-shadow:0 12px 32px rgba(241,49,144,.16),inset 0 1px rgba(255,255,255,.8);
 overflow:hidden;
}
body.np-home .np-greetings-shell::before { display:none; }
body.np-home .np-greetings-head { display:flex; align-items:center; gap:7px; min-width:0; padding:3px 6px; }
body.np-home .np-greetings-head > div { min-width:0; }
body.np-home .np-greetings-eyebrow { letter-spacing:.045em; font-size:10px; margin-bottom:5px; color:#ed0578; }
body.np-home .np-greetings-head h2 { font-size:20px; line-height:1.15; margin:0 0 5px; color:#ee0075; }
body.np-home .np-greetings-intro { font-size:10px; color:#51516c; margin:0; line-height:1.3; }
body.np-home .np-greetings-refresh {
 background:#fff; width:28px; height:28px; min-width:28px; padding:4px; margin-left:auto; border-radius:50%;
 display:grid;place-items:center;box-shadow:0 3px 8px rgba(147,37,98,.09);
}
body.np-home .np-greetings-refresh span { display:none; }
body.np-home .np-greetings-list { padding:5px 0; min-width:0; max-width:100%; gap:10px; scrollbar-width:thin; }
body.np-home .np-greetings-list .np-greeting-card {
 min-height:76px; max-height:84px; width:235px; min-width:235px;
 border-radius:12px; padding:8px 10px; gap:8px;
 display:flex; flex-direction:row; align-items:center; overflow:hidden;
 background:rgba(255,255,255,.87);border:1px solid #ffe1ee;
 box-shadow:0 3px 12px rgba(173,27,107,.06);
}
body.np-home .np-greetings-list .np-greeting-icon {
 width:39px;height:39px;min-width:39px;flex-basis:39px;border-radius:50%;
 background:linear-gradient(145deg,#ffe2ef,#fab3d6);color:#f50078;font-size:17px;
}
body.np-home .np-greetings-list .np-greeting-body {min-width:0;flex:1;}
body.np-home .np-greetings-list .np-greeting-route {gap:3px;white-space:nowrap;overflow:hidden;max-width:100%;flex-wrap:nowrap;}
body.np-home .np-greetings-list .np-greeting-name {font-size:10px;max-width:65px;overflow:hidden;text-overflow:ellipsis;}
body.np-home .np-greetings-list .np-greeting-label {font-size:9px;}
body.np-home .np-greetings-list .np-greeting-message {font-size:10px;line-height:1.18; margin:3px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
body.np-home .np-greetings-list .np-greeting-footer {font-size:9px;line-height:1.1;}

/* Four glossy, richly layered cards, close to the reference. */
body.np-home .rpm-feature-grid {gap:16px;margin-top:0;}
body.np-home .rpm-feature-card {
 min-height:252px;
 padding:22px 21px 17px;
 border:1px solid rgba(255,255,255,.95);
 border-radius:17px;
 background:
   radial-gradient(ellipse at 78% 14%,rgba(255,204,227,.47),transparent 46%),
   linear-gradient(160deg,rgba(255,255,255,.96),rgba(255,245,251,.91));
 box-shadow:0 11px 33px rgba(192,33,109,.12),inset 0 2px rgba(255,255,255,.9);
}
body.np-home .rpm-feature-card::after {
 content:''; position:absolute; inset:auto -12px -30px;
 height:100px; background:radial-gradient(ellipse,rgba(255,154,206,.12),transparent 74%);
 pointer-events:none;
}
body.np-home .rpm-feature-icon {
 width:70px;height:70px;font-size:28px;
 background:radial-gradient(circle,#fff 25%,#ffdfef 100%);
 border:1px solid #ffd4e8;
 box-shadow:0 8px 20px rgba(246,32,134,.15);
 margin:0 auto 14px;
}
body.np-home .rpm-feature-card h2 {font-size:clamp(17px,1.48vw,22px);line-height:1.22; margin:0 0 8px;color:#15142c;position:relative;z-index:1;}
body.np-home .rpm-feature-card p {font-size:13px;line-height:1.38;margin-bottom:13px;color:#454864;position:relative;z-index:1;}
body.np-home .rpm-feature-alex {
 background:
 linear-gradient(180deg,rgba(255,240,249,.1) 0,rgba(255,255,255,.9) 66%),
 url('../images/rpm-hero-neon-alexandra-original.png') 65% 8%/auto 215px no-repeat,
 linear-gradient(140deg,#ffc7e4,#fff5fb);
}
body.np-home .rpm-feature-alex::before {display:none;}
body.np-home .rpm-feature-alex .rpm-feature-icon {visibility:hidden;}
body.np-home .rpm-feature-alex h2 {font-size:clamp(16px,1.34vw,20px);text-shadow:0 1px rgba(255,255,255,.8);}
body.np-home .rpm-card-link {border-radius:8px;min-height:34px;z-index:2;position:relative;background:rgba(255,251,254,.94);}

/* Four partner logos and working carousel arrows.
   Two mockup-only logos are typographic reference placeholders, NOT verified brands. */
body.np-home .rpm-partners {background:rgba(255,255,255,.37);padding:8px 14px 14px;}
body.np-home .rpm-partners .rpm-section-header {margin-bottom:14px;}
body.np-home .rpm-partners-carousel {display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;}
body.np-home .rpm-partners-arrow {
 width:30px;height:30px;border:1px solid #ffe1ef;border-radius:50%;
 background:#fff;color:#33354d;box-shadow:0 4px 14px rgba(179,47,112,.11);
 display:grid;place-items:center;cursor:pointer;
}
body.np-home .rpm-partners-arrow:hover {color:#ee0078;background:#fff1f8;}
body.np-home .rpm-partners .rpm-partner-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body.np-home .rpm-partners .rpm-partner-tile {height:108px;padding:10px 12px;border:1px solid #ffecf5;border-radius:13px;box-shadow:0 8px 25px rgba(195,48,121,.09);}
body.np-home .rpm-partners .rpm-partner-tile img {max-height:82px;max-width:95%;}
.rpm-partner-isv,.rpm-partner-elegance {display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;white-space:nowrap;}
.rpm-partner-isv strong {color:#111;font-weight:950;font-size:clamp(13px,2vw,24px);letter-spacing:-.06em;}
.rpm-partner-isv span {color:#e60070;font-size:11px;font-weight:850;letter-spacing:.12em;}
.rpm-partner-elegance i {font-size:26px;line-height:1;color:#b87a51;margin-bottom:3px;}
.rpm-partner-elegance strong {font:650 clamp(12px,1.7vw,21px)/1.15 Georgia,serif;color:#8b5838;letter-spacing:.1em;}
.rpm-partner-elegance span {font-size:9px;color:#b87a51;letter-spacing:.2em;}

/* All three steps in ONE unified panel, joined by directional arrows. */
body.np-home .rpm-how-app-row {grid-template-columns:minmax(0,1.19fr) minmax(0,.81fr);gap:12px;align-items:stretch;}
body.np-home .rpm-how-app-row .rpm-how {background:transparent;border-radius:14px;padding:5px 4px 12px;}
body.np-home .rpm-how-app-row .rpm-how .rpm-section-header {margin:0 0 15px;}
body.np-home .rpm-how-app-row .rpm-how-grid {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
 background:rgba(255,255,255,.94);border:1px solid #ffe2ef;
 border-radius:16px;box-shadow:0 11px 31px rgba(171,30,100,.09);
 padding:17px 12px 16px;
}
body.np-home .rpm-how-app-row .rpm-how-item {
 background:transparent;border:none;box-shadow:none;border-radius:0;
 padding:13px 10px 7px;min-height:148px;
}
body.np-home .rpm-how-app-row .rpm-how-item:not(:last-child)::after {
 content:'\2192';position:absolute;right:-8px;top:49px;
 color:#f50080;font-size:30px;font-weight:700;z-index:2;
}
body.np-home .rpm-how-app-row .rpm-step-icon {height:61px;width:61px;margin:0 auto 14px;font-size:26px;}
body.np-home .rpm-how-app-row .rpm-step-number {top:50px;left:calc(50% - 38px);width:26px;height:26px;}
body.np-home .rpm-how-app-row .rpm-how-item h3 {font-size:15px;margin:0 0 7px;}
body.np-home .rpm-how-app-row .rpm-how-item p {font-size:11px;line-height:1.43;}
body.np-home .rpm-how-app-row .rpm-mobile-promo {
 border-radius:18px;min-height:260px;grid-template-columns:39% minmax(0,1fr);
 background:radial-gradient(circle at 6% 10%,rgba(255,255,255,.65),transparent 50%),linear-gradient(135deg,#ffc5e1,#ffebf6 72%,#ffd2ea);
 box-shadow:0 12px 28px rgba(222,35,121,.12);
 border:1px solid #ffe6f3;
}
body.np-home .rpm-how-app-row .rpm-app-device {box-shadow:13px 15px 23px rgba(110,11,70,.23),inset 0 1px 3px rgba(255,255,255,.4);}
body.np-home .rpm-mobile-promo .rpm-mobile-copy h2 {font-size:clamp(23px,2.4vw,35px);}
body.np-home .rpm-app-downloads {display:flex;flex-direction:column;align-items:flex-start;gap:9px;}
body.np-home .rpm-app-downloads .rpm-btn {width:fit-content;min-width:155px;justify-content:center;min-height:37px;padding:8px 13px;line-height:1.2;}

/* The real latest greetings remain real; add avatar-initials and decorative pink wave. */
body.np-home .rpm-bottom-greetings {padding:10px 3px 12px;}
body.np-home .rpm-bottom-greetings-list {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:170px;}
body.np-home .rpm-bottom-greetings-list .np-greeting-card {
 display:grid;grid-template-columns:60px minmax(0,1fr);
 grid-template-rows:minmax(0,1fr) 27px;
 gap:6px 9px;align-items:start;
 min-height:166px;max-width:none;
 padding:10px;border:1px solid #ffe5f1;
 border-radius:14px;
 background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(255,246,251,.96));
 box-shadow:0 9px 22px rgba(183,36,109,.1);
}
body.np-home .rpm-bottom-greetings-list .np-greeting-card > .np-greeting-icon {display:none;}
body.np-home .rpm-moment-avatar {
 grid-column:1;grid-row:1;
 width:60px;height:83px;border-radius:10px;
 display:grid;place-items:center;
 background:radial-gradient(circle at 25% 20%,#ffcee5,#ee78b4 63%,#b92c82);
 color:#fff;font-size:32px;font-weight:850;
 border:2px solid rgba(255,255,255,.8);
 box-shadow:inset 0 1px 6px rgba(255,255,255,.6);
}
body.np-home .rpm-bottom-greetings-list .np-greeting-body {grid-column:2;grid-row:1;min-width:0;}
body.np-home .rpm-bottom-greetings-list .np-greeting-route {gap:3px;align-items:center;flex-wrap:wrap;}
body.np-home .rpm-bottom-greetings-list .np-greeting-name {font-size:10px;color:#212039;}
body.np-home .rpm-bottom-greetings-list .np-greeting-label {font-size:9px;color:#595b78;}
body.np-home .rpm-bottom-greetings-list .np-greeting-message {
 color:#4c4a64;line-height:1.33;font-size:11px;
 -webkit-line-clamp:3;
}
body.np-home .rpm-bottom-greetings-list .np-greeting-footer {gap:8px;}
body.np-home .rpm-bottom-greetings-list .np-greeting-status {font-size:9px;color:#bb0064;}
body.np-home .rpm-bottom-greetings-list .np-greeting-time {font-size:9px;color:#66657d;}
body.np-home .rpm-moment-chrome {
 grid-column:1/-1;grid-row:2;display:flex;align-items:center;
 justify-content:space-between;gap:7px;min-width:0;
 border-top:1px solid #ffe7f2;padding:7px 4px 0;
}
body.np-home .rpm-moment-wave {display:flex;align-items:center;gap:2px;height:20px;flex:1;min-width:0;justify-content:center;overflow:hidden;}
body.np-home .rpm-moment-wave i {display:block;flex:0 0 2px;max-height:20px;background:linear-gradient(#ff88c4,#e80074);border-radius:3px;}
body.np-home .rpm-moment-heart {
 color:#f0077a;font-size:14px;display:grid;place-items:center;
 width:26px;height:22px;border:1px solid #ffc9e4;border-radius:13px;background:#fff;
}

/* Bottom promo and real readable text above pink glass. */
body.np-home .rpm-footer-benefits {
 background:rgba(255,255,255,.83);border:1px solid #ffdeee;
 box-shadow:0 9px 29px rgba(191,28,107,.13);min-height:112px;
}
body.np-home .rpm-footer-benefits-brand img {max-width:175px;max-height:72px;}
body.np-home .rpm-footer-listen {
 background:linear-gradient(135deg,#ff0083,#bd005f);
 font-size:14px;box-shadow:0 8px 18px rgba(235,0,121,.24);
}
/* Explicit contrast on light surface, including AJAX-inserted text. */
body.np-home .np-greetings-list .np-greeting-card :is(.np-greeting-name,.np-greeting-label,.np-greeting-message,.np-greeting-status,.np-greeting-time,.np-greeting-route,.np-greeting-body),
body.np-home .rpm-bottom-greetings-list .np-greeting-card :is(.np-greeting-name,.np-greeting-label,.np-greeting-message,.np-greeting-status,.np-greeting-time,.np-greeting-route,.np-greeting-body) {
 color:#30324a!important;text-shadow:none!important;
}
body.np-home .rpm-feature-card :is(h2,p,.rpm-card-link),
body.np-home .rpm-partners :is(h2,p),
body.np-home .rpm-how-app-row :is(h2,h3,p),
body.np-home .rpm-bottom-greetings :is(h2,p),
body.np-home .rpm-footer-benefits :is(strong,span) {
 text-shadow:none;
}
/* The original white text on pink action buttons stays for contrast. */

@media (max-width:1150px) {
 body.np-home .np-greetings-shell {grid-template-columns:minmax(175px,210px) minmax(0,1fr);}
 body.np-home .rpm-feature-card {padding:16px 13px;min-height:243px;}
 body.np-home .rpm-how-app-row {grid-template-columns:minmax(0,1fr);}
 body.np-home .rpm-how-app-row .rpm-how-grid {min-height:172px;}
 body.np-home .rpm-how-app-row .rpm-mobile-promo {grid-template-columns:200px minmax(0,1fr);}
 body.np-home .rpm-bottom-greetings-list {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px) {
 body.np-home .np-greetings-shell {grid-template-columns:1fr;gap:4px;padding:10px;}
 body.np-home .np-greetings-head {justify-content:space-between;}
 body.np-home .np-greetings-list .np-greeting-card {width:215px;min-width:215px;}
 body.np-home .rpm-feature-grid {gap:10px;}
 body.np-home .rpm-feature-card {min-height:240px;padding:14px 12px;}
 body.np-home .rpm-feature-icon {width:50px;height:50px;font-size:22px;}
 body.np-home .rpm-feature-card h2 {font-size:14px;}
 body.np-home .rpm-feature-card p {font-size:11px;line-height:1.35;}
 body.np-home .rpm-feature-alex {background-size:auto,auto 150px,auto;background-position:0 0,75% top,center;}
 body.np-home .rpm-partners-carousel {grid-template-columns:24px minmax(0,1fr) 24px;gap:4px;}
 body.np-home .rpm-partners-arrow {height:24px;width:24px;}
 body.np-home .rpm-partners .rpm-partner-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
 body.np-home .rpm-partners .rpm-partner-tile {height:78px;padding:6px;}
 .rpm-partner-isv strong {font-size:13px;}
 .rpm-partner-isv span {font-size:8px;}
 .rpm-partner-elegance strong {font-size:12px;}
 body.np-home .rpm-how-app-row .rpm-how-grid {grid-template-columns:1fr;gap:0;padding:7px 12px;}
 body.np-home .rpm-how-app-row .rpm-how-item {min-height:0;display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;padding:12px 4px;}
 body.np-home .rpm-how-app-row .rpm-how-item:not(:last-child) {border-bottom:1px solid #ffe3ef;}
 body.np-home .rpm-how-app-row .rpm-how-item:not(:last-child)::after {display:none;}
 body.np-home .rpm-how-app-row .rpm-step-icon {grid-column:1;grid-row:1/3;width:48px;height:48px;font-size:21px;margin:0;}
 body.np-home .rpm-how-app-row .rpm-step-number {left:35px;top:40px;width:20px;height:20px;font-size:10px;}
 body.np-home .rpm-how-app-row .rpm-how-item h3 {grid-column:2;grid-row:1;font-size:14px;}
 body.np-home .rpm-how-app-row .rpm-how-item p {grid-column:2;grid-row:2;font-size:11px;}
 body.np-home .rpm-how-app-row .rpm-mobile-promo {grid-template-columns:39% 61%;min-height:248px;}
 body.np-home .rpm-app-downloads .rpm-btn {min-width:0;padding:7px;font-size:10px;min-height:32px;}
 body.np-home .rpm-bottom-greetings-list {grid-template-columns:1fr;gap:10px;}
 body.np-home .rpm-bottom-greetings-list .np-greeting-card {min-height:125px;grid-template-columns:65px minmax(0,1fr);}
 body.np-home .rpm-moment-avatar {width:65px;height:70px;}
}

/* RPM PREVIEW TEXT CONTRAST FIX 2026-11-01 */
/* Only light-preview player badge and real greeting card text. */
body.np-home .np-player-card .np-ai-host-badge { background:#fff4fa; border-color:#f3c7dd; }
body.np-home .np-player-card .np-ai-host-copy strong,
body.np-home .np-player-card .np-ai-host-copy small { color:#c90069; opacity:1; text-shadow:none; }
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-name,
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-body p,
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-message,
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-meta,
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-route strong {
 color:#292b42 !important; opacity:1; text-shadow:none;
}
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-label,
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-time { color:#595d75 !important; opacity:1; }
body.np-home .np-greetings-strip .np-greeting-card .np-greeting-status { color:#be0065 !important; opacity:1; }

/* RPM PREVIEW GREETING CARD HEIGHT FIX 2026-11-01 */
/* Taller cards display up to five lines of actual greeting text. */
body.np-home .np-greetings-list .np-greeting-card {
  height: 158px;
  min-height: 158px;
  max-height: none;
  box-sizing: border-box;
  align-items: center;
}
body.np-home .np-greetings-list .np-greeting-message,
body.np-home .np-greetings-list .np-greeting-body > p {
  font-size: 11px;
  line-height: 1.35;
  margin: 6px 0;
  -webkit-line-clamp: 5;
}
body.np-home .np-greetings-list .np-greeting-footer { margin-top: 6px; }

/* RPM MOCKUP HOW-APP MATCH 2026-11-01 */
/* Preview section only: unified three-step card and neon Android promotion. */
body.np-home .rpm-how-app-row {
  grid-template-columns: minmax(0,1.19fr) minmax(0,.81fr);
  gap: 12px;
  align-items: stretch;
}
body.np-home .rpm-how-app-row .rpm-how {
  padding: 4px 4px 10px;
  background: transparent;
}
body.np-home .rpm-how-app-row .rpm-how .rpm-section-header {
  margin: 0 0 11px;
}
body.np-home .rpm-how-app-row .rpm-how-grid {
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.96);
  box-shadow: 0 9px 25px rgba(185,40,115,.09);
  padding: 14px 10px 13px;
}
body.np-home .rpm-how-app-row .rpm-how-item {
  padding: 8px 11px 7px;
  min-height: 142px;
}
body.np-home .rpm-how-app-row .rpm-step-icon {
  width: 61px; height: 61px;
  margin: 0 auto 11px;
  background: linear-gradient(150deg,#fff9fd,#ffe4f2);
  box-shadow: 0 5px 14px rgba(232,19,126,.10);
}
body.np-home .rpm-how-app-row .rpm-step-number {
  left: calc(50% - 40px);
  top: 40px;
}
body.np-home .rpm-how-app-row .rpm-how-item:not(:last-child)::after {
  top: 43px;
  right: -9px;
}
body.np-home .rpm-how-app-row .rpm-mobile-promo {
  min-height: 252px;
  border-radius: 17px;
  grid-template-columns: 42% minmax(0,1fr);
  gap: 6px;
  padding: 14px 15px 14px 2px;
  background:
    linear-gradient(90deg,rgba(255,238,248,.20),rgba(255,245,251,.76) 58%,rgba(255,222,240,.79)),
    url('../images/rpm-hero-neon-alexandra-original.png') right center / auto 165% no-repeat,
    linear-gradient(135deg,#ffafda,#ffeafa);
  border: 1px solid rgba(255,255,255,.96);
  box-shadow: 0 10px 27px rgba(217,33,123,.14);
}
body.np-home .rpm-how-app-row .rpm-app-device {
  width: min(172px,100%);
  transform: rotate(-9deg) translate(13px,23px);
  box-shadow: 11px 15px 22px rgba(102,9,59,.29), inset 0 1px 3px rgba(255,255,255,.4);
}
body.np-home .rpm-how-app-row .rpm-app-mini-brand {
  font-size: 13px;
}
body.np-home .rpm-how-app-row .rpm-mobile-copy {
  min-width: 0;
  text-align: left;
}
body.np-home .rpm-how-app-row .rpm-mobile-copy h2 {
  font-size: clamp(21px,1.85vw,29px);
  line-height: 1.1;
  margin: 0 0 8px;
}
body.np-home .rpm-how-app-row .rpm-mobile-copy p {
  font-size: 12px;
  line-height: 1.39;
  margin: 0 0 13px;
  color: #454760;
}
body.np-home .rpm-how-app-row .rpm-app-downloads {
  gap: 0;
}
body.np-home .rpm-how-app-row .rpm-app-downloads .rpm-btn {
  min-width: 155px;
  min-height: 39px;
  padding: 9px 13px;
  font-size: 11px;
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width:1150px) {
  body.np-home .rpm-how-app-row {grid-template-columns: minmax(0,1fr);}
  body.np-home .rpm-how-app-row .rpm-mobile-promo {grid-template-columns: minmax(0,200px) minmax(0,1fr);}
}
@media (max-width:700px) {
  body.np-home .rpm-how-app-row .rpm-how-grid {grid-template-columns:1fr; padding: 8px 12px;}
  body.np-home .rpm-how-app-row .rpm-how-item {min-height:0; padding: 12px 4px;}
  body.np-home .rpm-how-app-row .rpm-step-icon {width:48px;height:48px;margin:0;}
  body.np-home .rpm-how-app-row .rpm-step-number {left:35px;top:40px;}
  body.np-home .rpm-how-app-row .rpm-how-item:not(:last-child)::after {display:none;}
  body.np-home .rpm-how-app-row .rpm-mobile-promo {
    min-height:240px;
    grid-template-columns: 39% minmax(0,1fr);
    gap: 3px;
    padding: 10px 12px 10px 0;
  }
  body.np-home .rpm-how-app-row .rpm-app-device {width:min(133px,95%);transform:rotate(-9deg) translate(8px,18px);}
  body.np-home .rpm-how-app-row .rpm-mobile-copy h2 {font-size:22px;}
  body.np-home .rpm-how-app-row .rpm-mobile-copy p {font-size:11px;line-height:1.35;}
  body.np-home .rpm-how-app-row .rpm-app-downloads .rpm-btn {min-width:0;font-size:10px;padding:8px 11px;}
}


/* RPM COMMUNITY CHAT 2026-11-01.
   The entire original chat markup and all chat/DM endpoints remain unchanged.
   Only the preview-page layout and styling are affected. */
body.np-home .rpm-community {
  order: 5;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: clamp(17px,2.1vw,30px);
  border: 1px solid rgba(255,194,224,.8);
  border-radius: 24px;
  background: linear-gradient(140deg,rgba(255,255,255,.95),rgba(255,240,248,.94));
  box-shadow: 0 18px 42px rgba(158,35,100,.1);
}
body.np-home .rpm-community-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 1px 22px;
}
body.np-home .rpm-community-heading h2 {
  margin: 6px 0 7px;
  color: #11132f;
  font: 850 clamp(28px,3vw,40px)/1.08 'Montserrat',sans-serif;
  letter-spacing: -.035em;
}
body.np-home .rpm-community-heading p {margin:0;color:#60617e;font-size:14px;}
body.np-home .rpm-community-topline {
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid #ffc5e1;
  border-radius: 999px;
  background: #fff;
  color: #bb0067;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .055em;
}
body.np-home .rpm-community-topline i {font-size:7px;color:#ff1788;margin-right:6px;}
body.np-home .rpm-community-layout {
  display: grid;
  grid-template-columns: minmax(245px,.34fr) minmax(0,1fr);
  align-items: stretch;
  gap: 16px;
  min-width: 0;
}
body.np-home .rpm-community-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 29px clamp(20px,2.35vw,35px);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,64,159,.36),transparent 47%),
    linear-gradient(160deg,#222039 0%,#141328 56%,#480f39 100%);
  color: #fff;
  box-shadow: 0 10px 30px rgba(61,15,56,.14);
}
body.np-home .rpm-community-intro::after {
  content: '';
  position: absolute;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  right: -136px;
  bottom: 20px;
  pointer-events: none;
}
body.np-home .rpm-community-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  margin: 0 0 30px;
  border-radius: 21px;
  background: linear-gradient(135deg,#ff289b,#c10067);
  box-shadow: 0 12px 25px rgba(244,0,117,.25);
  font-size: 29px;
}
body.np-home .rpm-community-overline {
  color: #ff85bf;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
}
body.np-home .rpm-community-intro h3 {
  margin: 12px 0;
  font: 850 clamp(23px,2vw,31px)/1.18 'Montserrat',sans-serif;
  letter-spacing: -.035em;
  color: #fff;
}
body.np-home .rpm-community-intro p {
  margin: 0 0 20px;
  color: #d8c9d8;
  font-size: 13px;
  line-height: 1.65;
}
body.np-home .rpm-community-features {display:grid;gap:10px;}
body.np-home .rpm-community-features span {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 12px;
  font-weight: 700;
  color: #f5e8f0;
}
body.np-home .rpm-community-features i {color:#ff78b7;width:16px;text-align:center;}
body.np-home .rpm-community-aside-bottom {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 24px;
  color: #e1c5d7;
  font-size: 12px;
  line-height: 1.5;
}
body.np-home .rpm-community-aside-bottom > i {font-size:23px;color:#ff66b1;}
body.np-home .rpm-community-aside-bottom strong {color:#fff;}
body.np-home .rpm-community .np-chat-panel {
  grid-area: auto;
  width: 100%;
  min-width: 0;
  height: 615px;
  min-height: 0;
  margin: 0;
  padding: 17px;
  box-sizing: border-box;
  border: 1px solid rgba(255,77,166,.32);
  border-radius: 20px;
  background:
    radial-gradient(ellipse at 90% 0%,rgba(255,42,139,.17),transparent 40%),
    linear-gradient(145deg,#1e162a,#0e101d 80%);
  box-shadow: 0 12px 27px rgba(61,11,49,.2);
}
body.np-home .rpm-community .np-chat-panel::before {background:rgba(255,46,150,.08);}
body.np-home .rpm-community .np-chat-heading {
  margin: 0 0 14px;
  padding: 4px 3px;
}
body.np-home .rpm-community .np-chat-heading > div:first-child {
  font-size: 15px;
  color: #fff;
}
body.np-home .rpm-community .np-chat-heading > div:first-child > i {font-size:18px;color:#ff3999;}
body.np-home .rpm-community .np-chat-shell {
  border-color: rgba(255,255,255,.1);
  border-radius: 15px;
  background: linear-gradient(160deg,rgba(255,255,255,.038),rgba(255,255,255,.012));
}
body.np-home .rpm-community .np-chat-stage {
  min-height: 0;
  padding: 22px;
}
body.np-home .rpm-community .np-chat-welcome-copy h3 {font-size:20px;}
body.np-home .rpm-community .np-chat-welcome-copy p {font-size:12px;}
body.np-home .rpm-community .np-chat-mode-tab {font-size:10px;}
body.np-home .rpm-community .np-chat-status {font-size:10px;}
body.np-home .rpm-community .np-chat-composer {margin:0 10px 10px;}
@media (max-width: 1150px) {
  body.np-home .rpm-community-layout {grid-template-columns: minmax(0,1fr);}
  body.np-home .rpm-community-intro {padding:20px 23px;}
  body.np-home .rpm-community-icon {width:45px;height:45px;margin:0 0 12px;border-radius:14px;font-size:21px;}
  body.np-home .rpm-community-intro h3 {font-size:24px;}
  body.np-home .rpm-community-intro h3 br {display:none;}
  body.np-home .rpm-community-intro p {margin-bottom:13px;}
  body.np-home .rpm-community-features {display:flex;gap:15px;flex-wrap:wrap;}
  body.np-home .rpm-community-aside-bottom {display:none;}
}
@media (max-width: 700px) {
  body.np-home .rpm-community {padding:14px;border-radius:17px;}
  body.np-home .rpm-community-heading {align-items:flex-start;flex-direction:column;margin-bottom:16px;gap:8px;}
  body.np-home .rpm-community-heading h2 {font-size:27px;}
  body.np-home .rpm-community-heading p {font-size:12px;}
  body.np-home .rpm-community-topline {font-size:9px;padding:7px 11px;}
  body.np-home .rpm-community-layout {gap:11px;}
  body.np-home .rpm-community-intro {padding:19px;border-radius:15px;}
  body.np-home .rpm-community-intro h3 {font-size:21px;}
  body.np-home .rpm-community-intro p {font-size:11px;}
  body.np-home .rpm-community-features {gap:9px 13px;}
  body.np-home .rpm-community-features span {font-size:10px;}
  body.np-home .rpm-community .np-chat-panel {height:640px;padding:12px;border-radius:15px;}
  body.np-home .rpm-community .np-chat-heading > div:first-child {font-size:12px;}
  body.np-home .rpm-community .np-chat-stage {padding:16px;}
}


/* =========================================================
   RPM PEARL PINK CHAT 2026-11-01
   PREVIEW CSS ONLY. Original chat events, forms, API and JS untouched.
   ========================================================= */
body.np-home .rpm-community {
  border-color: #f5cde2;
  background: linear-gradient(135deg,#fffafc 0%,#ffe8f3 100%);
  box-shadow: 0 15px 40px rgba(173,47,111,.095);
}
body.np-home .rpm-community-heading {margin-bottom:20px;}
body.np-home .rpm-community-heading h2 {color:#191630;}
body.np-home .rpm-community-heading p {color:#716b81;}
body.np-home .rpm-community-topline {color:#c10069;border-color:#ffc6df;background:#fff;}
body.np-home .rpm-community-layout {display:block;min-width:0;}
body.np-home .rpm-community .np-chat-panel {
  grid-area:auto;
  height:650px;
  padding:0;
  border:1px solid #f1dce7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(166,66,108,.09);
}
body.np-home .rpm-community .np-chat-panel::before {display:none;}
body.np-home .rpm-community .np-chat-heading {
  display:flex;
  align-items:center;
  min-height:60px;
  padding:13px 20px;
  margin:0;
  border-bottom:1px solid #f5e4ed;
  background:#fff;
}
body.np-home .rpm-community .np-chat-heading > div:first-child {
  color:#1c1a33;
  font-size:15px;
  font-weight:850;
}
body.np-home .rpm-community .np-chat-heading > div:first-child > i {color:#e70078;}
body.np-home .rpm-community .np-chat-status {
  color:#c6006d;
  border-color:#ffd0e4;
  background:#fff3f8;
  font-size:10px;
}
body.np-home .rpm-community .np-chat-status-offline {color:#787388;border-color:#e9dfe8;background:#f6f4f8;}
body.np-home .rpm-community .np-chat-users-toggle {
  color:#c40069;
  border-color:#f9cce0;
  background:#fff7fb;
}
body.np-home .rpm-community .np-chat-body {
  min-width:0;
  padding:13px;
  gap:13px;
  grid-template-columns:minmax(0,1fr) minmax(205px,24%);
  background:#fff;
}
body.np-home .rpm-community .np-chat-shell {
  min-width:0;
  border:1px solid #f0dfeb;
  border-radius:15px;
  background:#fff;
  box-shadow:none;
}
body.np-home .rpm-community .np-chat-mode-bar {
  background:#fffafd;
  border-bottom:1px solid #f3e4ed;
  padding:8px 12px;
  min-height:48px;
}
body.np-home .rpm-community .np-chat-mode-tab {
  font-size:11px;
  color:#746c82;
  background:#f6edf3;
  border-color:#f4e5ef;
  border-radius:9px;
  letter-spacing:0;
  text-transform:none;
  min-height:31px;
  padding:5px 12px;
}
body.np-home .rpm-community .np-chat-mode-tab:hover {color:#b90068;background:#ffe6f2;}
body.np-home .rpm-community .np-chat-mode-tab-active {
  color:#fff;
  border-color:#eb007a;
  background:#eb007a;
}
body.np-home .rpm-community .np-chat-mode-tab-active:hover {color:#fff;background:#ca0069;}
body.np-home .rpm-community .np-chat-dm-peer {color:#a0005e;}
body.np-home .rpm-community .np-chat-stage {color:#302e43;background:#fff;}
body.np-home .rpm-community .np-chat-welcome-icon {
  border:1px solid #ffd1e6;
  color:#e6007a;
  background:#ffedf6;
  box-shadow:none;
}
body.np-home .rpm-community .np-chat-welcome-copy h3 {color:#1d1a36;font-size:19px;}
body.np-home .rpm-community .np-chat-kicker {color:#c6006c;}
body.np-home .rpm-community .np-chat-welcome-copy p {color:#686478;font-size:12px;}
body.np-home .rpm-community .np-chat-tags span {
  color:#655d71;border-color:#f4dce9;background:#fff6fa;
}
body.np-home .rpm-community .np-chat-tags i {color:#e70080;}
body.np-home .rpm-community .np-chat-messages {
  color:#29263e;
  background:#fff;
  scrollbar-color:#e9a5c7 #fff7fb;
}
body.np-home .rpm-community .np-chat-messages::-webkit-scrollbar-track {background:#fff6fa;}
body.np-home .rpm-community .np-chat-messages::-webkit-scrollbar-thumb {background:#e99cc5;}
body.np-home .rpm-community .np-chat-avatar {
  color:#a50062;
  border-color:#f6dce9;
  background:#fce8f2;
  box-shadow:none;
}
body.np-home .rpm-community .np-chat-message-team .np-chat-avatar,
body.np-home .rpm-community .np-chat-message-owner .np-chat-avatar {
  color:#fff;border-color:#eb529d;background:#e8007d;
}
body.np-home .rpm-community .np-chat-message-name {color:#343047;font-size:11px;}
body.np-home .rpm-community .np-chat-message-team .np-chat-message-name,
body.np-home .rpm-community .np-chat-message-owner .np-chat-message-name {color:#be006b;}
body.np-home .rpm-community .np-chat-message-time {color:#9990a2;}
body.np-home .rpm-community .np-chat-role {background:#fff1f8;color:#aa0064;border-color:#f8d1e2;}
body.np-home .rpm-community .np-chat-role-owner {color:#94630a;background:#fff5df;border-color:#f3deb2;}
body.np-home .rpm-community .np-chat-bubble {
  color:#373245;
  background:#f8f5f9;
  border:1px solid #f0e7ef;
  box-shadow:none;
  padding:10px 12px;
  font-size:12px;
  line-height:1.5;
}
body.np-home .rpm-community .np-chat-message-team .np-chat-bubble,
body.np-home .rpm-community .np-chat-message-owner .np-chat-bubble {
  color:#53203d;background:#ffe3f0;border-color:#ffd1e5;
}
body.np-home .rpm-community .np-chat-message-text {font-size:12px;color:inherit;line-height:1.5;}
body.np-home .rpm-community .np-chat-reply-preview {background:#f4e8ef;color:#6b5c70;}
body.np-home .rpm-community .np-chat-reply-action {color:#bd0068;}
body.np-home .rpm-community .np-chat-join-bar {
  border-color:#f1d8e7;
  background:#fff7fb;
  box-shadow:none;
}
body.np-home .rpm-community .np-chat-join-copy strong {color:#29263c;}
body.np-home .rpm-community .np-chat-join-copy span {color:#7d7288;}
body.np-home .rpm-community .np-chat-join-controls input,
body.np-home .rpm-community .np-chat-composer input {
  color:#242039;
  background:#fff;
}
body.np-home .rpm-community .np-chat-join-controls input {
  border-color:#ead7e4;
}
body.np-home .rpm-community .np-chat-join-controls input:focus {
  border-color:#ef76b1;background:#fff;
  box-shadow:0 0 0 3px rgba(238,20,130,.08);
}
body.np-home .rpm-community .np-chat-join-controls input::placeholder,
body.np-home .rpm-community .np-chat-composer input::placeholder {color:#978c9e;}
body.np-home .rpm-community .np-chat-join-controls button {
  border-color:#ea0077;
  color:#fff;
  background:#ed0079;
  box-shadow:none;
}
body.np-home .rpm-community .np-chat-composer,
body.np-home .rpm-community .np-chat-composer:not(.np-chat-composer-disabled) {
  color:#292438;
  background:#fff7fb;
  border:1px solid #efd5e4;
  box-shadow:none;
  border-radius:13px;
}
body.np-home .rpm-community .np-chat-composer input {border-radius:8px;}
body.np-home .rpm-community .np-chat-emoji,
body.np-home .rpm-community .np-chat-composer:not(.np-chat-composer-disabled) .np-chat-emoji {color:#d40075;}
body.np-home .rpm-community .np-chat-send {background:#e80079;color:#fff;box-shadow:none;}
body.np-home .rpm-community .np-chat-emoji-palette {
  color:#28233b;
  background:#fff;
  border-color:#f4d4e6;
  box-shadow:0 10px 30px rgba(150,42,94,.15);
}
body.np-home .rpm-community .np-chat-identity-bar,
body.np-home .rpm-community .np-chat-reply-bar {
  color:#675c71;
  background:#fff7fb;
  border-color:#f4ddeb;
}
body.np-home .rpm-community .np-chat-identity-bar button {color:#b90069;background:#ffebf5;border-color:#f9c6e0;}
body.np-home .rpm-community .np-chat-feedback {color:#6e6579;}
body.np-home .rpm-community .np-chat-feedback-error {color:#b6204b;}
body.np-home .rpm-community .np-chat-feedback-success {color:#27754a;}
body.np-home .rpm-community .np-chat-sidebar {
  min-width:0;
  color:#302b40;
  border-color:#f0dfeb;
  border-radius:15px;
  background:#fffafd;
  box-shadow:none;
}
body.np-home .rpm-community .np-chat-sidebar-heading {
  background:#fff;
  border-bottom:1px solid #f1e3ed;
}
body.np-home .rpm-community .np-chat-sidebar-heading > div:first-child {color:#383246;font-size:10px;}
body.np-home .rpm-community .np-chat-sidebar-heading i {color:#d50079;}
body.np-home .rpm-community .np-chat-sidebar-heading strong {
  color:#bc006c;background:#fff1f8;border-color:#f6cbdf;
}
body.np-home .rpm-community .np-chat-users-list {scrollbar-color:#df9fbe #fff7fb;}
body.np-home .rpm-community .np-chat-user {color:#322d41;}
body.np-home .rpm-community .np-chat-user:hover,
body.np-home .rpm-community .np-chat-user-dm:hover {background:#fff0f8;}
body.np-home .rpm-community .np-chat-user-avatar,
body.np-home .rpm-community .np-chat-guest-avatar {
  color:#a60065;background:#fbe7f2;border-color:#f3d5e4;
}
body.np-home .rpm-community .np-chat-user-owner .np-chat-user-avatar,
body.np-home .rpm-community .np-chat-user-team .np-chat-user-avatar {
  background:#e90080;color:#fff;border-color:#ee8cbd;
}
body.np-home .rpm-community .np-chat-user-name {color:#343047;}
body.np-home .rpm-community .np-chat-user-owner .np-chat-user-name,
body.np-home .rpm-community .np-chat-user-team .np-chat-user-name {color:#be006b;}
body.np-home .rpm-community .np-chat-user-role,
body.np-home .rpm-community .np-chat-guest-state {color:#877b8e;}
body.np-home .rpm-community .np-chat-user-role-owner {color:#8b6513;}
body.np-home .rpm-community .np-chat-user-role-team {color:#bb006a;}
body.np-home .rpm-community .np-chat-user-dot {border-color:#fff;background:#25bf75;}
body.np-home .rpm-community .np-chat-guest-dot {border-color:#fff;}
body.np-home .rpm-community .np-chat-users-empty,
body.np-home .rpm-community .np-chat-guests-empty {color:#8a8092;}
body.np-home .rpm-community .np-chat-guests-heading {
  background:#fff5fa;
  border-color:#f1e2eb;
}
body.np-home .rpm-community .np-chat-guests-heading > div {color:#554c61;}
body.np-home .rpm-community .np-chat-guests-heading i {color:#d90079;}
body.np-home .rpm-community .np-chat-guests-heading strong {color:#c1006b;border-color:#f4cde1;background:#fff;}
body.np-home .rpm-community .np-chat-guest:hover {background:#fff0f8;}
body.np-home .rpm-community .np-chat-dm-empty {color:#786e83;background:#fff;}
body.np-home .rpm-community .np-chat-dm-empty strong {color:#272139;}
body.np-home .rpm-community .np-chat-dm-conversation {color:#332d43;border-bottom-color:#f4e4ee;}
body.np-home .rpm-community .np-chat-dm-conversation:hover {background:#fff0f8;}
body.np-home .rpm-community .np-chat-dm-conversation-avatar {color:#b4006b;background:#fbe8f2;border-color:#f6d8e7;}
body.np-home .rpm-community .np-chat-dm-conversation-top strong {color:#29253d;}
body.np-home .rpm-community .np-chat-dm-conversation-top time,
body.np-home .rpm-community .np-chat-dm-conversation-bottom > span {color:#837789;}
body.np-home .rpm-community .np-chat-dm-message-meta {color:#84778b;}
body.np-home .rpm-community .np-chat-dm-message-meta strong {color:#3c3449;}
body.np-home .rpm-community .np-chat-dm-message-mine .np-chat-dm-message-meta strong {color:#bb006b;}
body.np-home .rpm-community .np-chat-dm-bubble {color:#393146;background:#f8f5f9;border-color:#efe2ec;}
body.np-home .rpm-community .np-chat-dm-message-mine .np-chat-dm-bubble {color:#52233d;background:#ffe2f0;border-color:#f8bedb;}
body.np-home .rpm-community .np-chat-dm-thread {scrollbar-color:#df9fbe #fff7fb;}
body.np-home .rpm-community .np-chat-users-close {color:#b60068;background:#fff1f8;}
@media(max-width:820px) {
  body.np-home .rpm-community .np-chat-body {display:block;position:relative;}
  body.np-home .rpm-community .np-chat-users-toggle {display:inline-flex;}
  body.np-home .rpm-community .np-chat-sidebar {background:#fffafd;}
  body.np-home .rpm-community .np-chat-sidebar-backdrop {background:rgba(31,16,35,.42);}
}
@media(max-width:620px) {
  body.np-home .rpm-community {padding:13px;}
  body.np-home .rpm-community-heading {margin-bottom:15px;}
  body.np-home .rpm-community .np-chat-panel {height:620px;border-radius:14px;}
  body.np-home .rpm-community .np-chat-heading {padding:11px 12px;gap:8px;}
  body.np-home .rpm-community .np-chat-heading > div:first-child {font-size:12px;}
  body.np-home .rpm-community .np-chat-body {padding:9px;}
  body.np-home .rpm-community .np-chat-stage {padding:11px;}
  body.np-home .rpm-community .np-chat-message-text {font-size:11px;}
  body.np-home .rpm-community .np-chat-bubble {font-size:11px;}
  body.np-home .rpm-community .np-chat-mode-tab {font-size:10px;padding:5px 9px;}
  body.np-home .rpm-community .np-chat-join-bar {grid-template-columns:minmax(0,1fr);}
}


/* RPM CHAT FONT POLISH 2026-11-01: visual-only, slightly larger type.
   No layout, interaction, DOM, API, chat or DM logic changes. */
body.np-home .rpm-community .np-chat-heading > div:first-child {font-size:16px;}
body.np-home .rpm-community .np-chat-status {font-size:11px;}
body.np-home .rpm-community .np-chat-mode-tab {font-size:12px;}
body.np-home .rpm-community .np-chat-message-name {font-size:12px;}
body.np-home .rpm-community .np-chat-message-time {font-size:10px;}
body.np-home .rpm-community .np-chat-message-text {font-size:13px;line-height:1.55;}
body.np-home .rpm-community .np-chat-reply-preview {font-size:10px;}
body.np-home .rpm-community .np-chat-join-copy strong {font-size:12px;}
body.np-home .rpm-community .np-chat-join-copy span {font-size:10px;}
body.np-home .rpm-community .np-chat-join-controls input,
body.np-home .rpm-community .np-chat-composer input {font-size:12px;}
body.np-home .rpm-community .np-chat-join-controls button {font-size:11px;}
body.np-home .rpm-community .np-chat-feedback {font-size:10px;}
body.np-home .rpm-community .np-chat-identity-bar,
body.np-home .rpm-community .np-chat-reply-bar {font-size:11px;}
body.np-home .rpm-community .np-chat-sidebar-heading > div:first-child {font-size:11px;}
body.np-home .rpm-community .np-chat-user-name {font-size:12px;}
body.np-home .rpm-community .np-chat-user-role,
body.np-home .rpm-community .np-chat-guest-state {font-size:9px;}
body.np-home .rpm-community .np-chat-users-empty,
body.np-home .rpm-community .np-chat-guests-empty {font-size:10px;}
body.np-home .rpm-community .np-chat-guests-heading > div {font-size:10px;}
body.np-home .rpm-community .np-chat-dm-conversation-top strong {font-size:12px;}
body.np-home .rpm-community .np-chat-dm-conversation-bottom > span {font-size:11px;}
body.np-home .rpm-community .np-chat-dm-bubble {font-size:12px;}
body.np-home .rpm-community .np-chat-dm-message-meta strong {font-size:11px;}
body.np-home .rpm-community .np-chat-dm-empty {font-size:12px;}
@media(max-width:620px) {
  body.np-home .rpm-community .np-chat-heading > div:first-child {font-size:13px;}
  body.np-home .rpm-community .np-chat-message-text {font-size:12px;}
  body.np-home .rpm-community .np-chat-mode-tab {font-size:11px;}
}

/* RPM ADMIN LOGIN VISIBILITY 20261101 */
body.np-home .np-nav .np-login-link {
  align-self: center !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  margin-top: 0 !important;
  margin-left: 5px !important;
  background: #fff0f8 !important;
  border: 1px solid #f3bbd8 !important;
  border-radius: 50% !important;
  color: #c5006a !important;
  box-shadow: 0 4px 12px rgba(190,0,103,.09) !important;
}
body.np-home .np-nav .np-login-link:hover {
  color: #fff !important;
  background: #dc0075 !important;
  border-color: #dc0075 !important;
}
body.np-home .np-nav .np-login-link i {
  color: inherit !important;
  font-size: 17px !important;
}
@media (max-width: 900px) {
  body.np-home .np-nav .np-login-link {
    align-self: flex-start !important;
    margin: 7px 0 !important;
  }
}

/* RPM HOME MOBILE HERO | Separate copy and controls from Alexandra portrait
 * Visual only; original PNG and interactive elements stay unchanged. */
@media (max-width: 600px) {
  body.np-home .rpm-hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    min-height:0;
    height:auto;
    padding:0 0 384px;
    isolation:isolate;
    background-image:none !important;
    background-color:#ffe4f2 !important;
    overflow:hidden;
    border-radius:0 0 20px 20px;
  }
  body.np-home .rpm-hero::before {
    content:"";
    display:block;
    position:absolute;
    inset:auto 0 0 0;
    height:384px;
    z-index:1;
    pointer-events:none;
    background:url('../images/rpm-hero-neon-alexandra-original.png') 62% center / auto 384px no-repeat;
  }
  body.np-home .rpm-hero-copy {
    position:relative;
    z-index:4;
    display:block;
    box-sizing:border-box;
    flex:none;
    max-width:none;
    width:100%;
    padding:28px 19px 23px;
    background:linear-gradient(180deg,#fff9fe 0%,#fff5fc 74%,#fff0f9 100%);
  }
  body.np-home .rpm-hero h1 {
    font-size:clamp(29px,8.45vw,39px);
    line-height:1.06;
    margin:9px 0 13px;
    max-width:none;
  }
  body.np-home .rpm-hero-lead {
    font-size:clamp(15px,4.05vw,17px);
    margin-bottom:12px;
  }
  body.np-home .rpm-hero-desc {font-size:13px;}
  body.np-home .rpm-hero-buttons {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    margin-top:18px;
  }
  body.np-home .rpm-hero-buttons .rpm-btn {
    padding:11px 13px;
    min-height:44px;
    font-size:12px;
  }
  body.np-home .rpm-hero-perks {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    max-width:none;
    gap:9px 13px;
    margin-top:18px;
  }
  body.np-home .rpm-on-air {
    top:auto;
    right:13px;
    bottom:28px;
    z-index:3;
    font-size:15px;
  }
  body.np-home .rpm-hero::after {pointer-events:none}
  body.np-home .np-player-card {
    position:relative;
    z-index:1;
    top:auto;right:auto;
    margin-top:0;
  }
}
