:root{--nvrpp-header-offset:0px}
.nvrpp-contact-hub-lite{--ink:#071626;--muted:#60758c;--line:rgba(100,136,171,.18);--blue:#4b96ff;--cyan:#57d8ff;--green:#25d366;--dark:#06111d;--dark2:#082039;--surface:#f7fbff;--radius:30px;--shadow:0 28px 80px rgba(13,39,70,.10);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;overflow:clip;font-synthesis:none;text-rendering:optimizeLegibility}
.nvrpp-contact-hub-lite *{box-sizing:border-box}.nvrpp-contact-hub-lite img{display:block;max-width:100%;height:auto}.nvrpp-contact-hub-lite a{text-decoration:none}.nvrpp-contact-hub-lite h1,.nvrpp-contact-hub-lite h2,.nvrpp-contact-hub-lite h3,.nvrpp-contact-hub-lite p{margin-top:0}.nvrpp-contact-hub-lite h1,.nvrpp-contact-hub-lite h2,.nvrpp-contact-hub-lite h3{letter-spacing:-.045em}.nvrpp-contact-hub-lite p{line-height:1.72;color:var(--muted)}
.nvrpp-page-main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}.nvrpp-container{width:min(1180px,calc(100% - 44px));margin-inline:auto}.nvrpp-narrow{width:min(860px,calc(100% - 44px));margin-inline:auto}.nvrpp-contact-hub-lite section[id],.nvrpp-contact-hub-lite #nvrpp-top{scroll-margin-top:calc(var(--nvrpp-header-offset) + 66px)}
.nvrpp-skip{position:fixed;z-index:100000;left:16px;top:12px;padding:10px 14px;border-radius:10px;background:#fff;color:#071626;font-weight:750;transform:translateY(-180%);box-shadow:0 10px 30px rgba(0,0,0,.2)}.nvrpp-skip:focus{transform:none}.nvrpp-contact-hub-lite :focus-visible{outline:3px solid rgba(87,216,255,.72);outline-offset:4px}
.nvrpp-eyebrow,.nvrpp-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.73rem;font-weight:820;letter-spacing:.11em;text-transform:uppercase}.nvrpp-eyebrow{color:#a9c8e8}.nvrpp-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(37,211,102,.1),0 0 24px rgba(37,211,102,.26)}.nvrpp-kicker{color:#2f78dc}
.nvrpp-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:clamp(96px,10vw,154px) 0 clamp(86px,9vw,136px);background:radial-gradient(900px 540px at 78% 30%,rgba(52,139,255,.20),transparent 64%),radial-gradient(640px 460px at 12% 18%,rgba(62,220,255,.09),transparent 68%),linear-gradient(155deg,#06111e 0%,#071a2f 52%,#08243c 100%)}.nvrpp-hero:after{content:"";position:absolute;z-index:-1;inset:auto -10% -48% 28%;height:72%;background:radial-gradient(ellipse,rgba(75,150,255,.12),transparent 68%);filter:blur(14px)}.nvrpp-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:clamp(48px,6vw,88px);align-items:center}.nvrpp-hero-copy{max-width:690px}.nvrpp-hero h1{max-width:12.5ch;margin:22px 0 28px;font-size:clamp(3.25rem,6.1vw,6.5rem);line-height:.91;letter-spacing:-.064em;color:#f7fbff;text-wrap:balance}.nvrpp-hero h1 span{background:linear-gradient(105deg,#7eb3ff,#61d7ff 58%,#a2efff);-webkit-background-clip:text;background-clip:text;color:transparent}.nvrpp-lead{max-width:62ch;font-size:clamp(1.03rem,1.6vw,1.18rem);line-height:1.78!important;color:#b0c2d5!important}.nvrpp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.nvrpp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:0;border-radius:15px;font:inherit;font-size:.94rem;font-weight:760;letter-spacing:-.015em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.nvrpp-btn:hover{transform:translateY(-2px)}.nvrpp-btn-primary{color:#fff;background:linear-gradient(135deg,#1988ff,#315fff);box-shadow:0 16px 40px rgba(42,122,246,.27),inset 0 1px rgba(255,255,255,.25)}.nvrpp-btn-primary:hover{box-shadow:0 20px 50px rgba(42,122,246,.35),inset 0 1px rgba(255,255,255,.28)}.nvrpp-btn-ghost{color:#e8f3ff;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);backdrop-filter:blur(12px)}.nvrpp-btn-disabled{cursor:not-allowed;color:#7c8ea3;background:#eef2f7;box-shadow:none}.nvrpp-btn-disabled:hover{transform:none}.nvrpp-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px;padding-top:26px;border-top:1px solid rgba(255,255,255,.10)}.nvrpp-proof b,.nvrpp-proof span{display:block}.nvrpp-proof b{margin-bottom:5px;color:#f5fbff;font-size:.87rem}.nvrpp-proof span{font-size:.75rem;line-height:1.55;color:#819ab4}
.nvrpp.no-hero-media .nvrpp-hero-grid{grid-template-columns:minmax(0,820px);justify-content:center;text-align:center}.nvrpp.no-hero-media .nvrpp-hero-copy{max-width:820px;margin-inline:auto}.nvrpp.no-hero-media .nvrpp-hero h1,.nvrpp.no-hero-media .nvrpp-lead{margin-inline:auto}.nvrpp.no-hero-media .nvrpp-actions{justify-content:center}.nvrpp.no-hero-media .nvrpp-proof{text-align:left}
.nvrpp-hero-stage{position:relative;isolation:isolate;padding:clamp(10px,1.2vw,16px);border:1px solid rgba(255,255,255,.10);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 54px 140px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.nvrpp-hero-stage:before{content:"";position:absolute;z-index:-1;inset:8% -7% -11%;background:radial-gradient(ellipse at 50% 45%,rgba(55,137,255,.24),rgba(18,91,184,.09) 40%,transparent 72%);filter:blur(20px)}
.nvrpp-product-shot{position:relative;min-width:0;margin:0}.nvrpp-shot-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.nvrpp-product-shot img{width:100%;height:auto!important;object-fit:contain!important;object-position:center!important;border-radius:28px;border:1px solid rgba(93,130,166,.14);box-shadow:0 22px 64px rgba(13,39,70,.14)}.nvrpp-product-shot figcaption{max-width:68ch;margin:12px auto 0;text-align:center;color:#71869b;font-size:.75rem;line-height:1.45}.nvrpp-hero-stage .nvrpp-product-shot img{border-color:rgba(255,255,255,.08);box-shadow:0 30px 80px rgba(0,0,0,.36)}.nvrpp-hero-stage .nvrpp-product-shot figcaption{margin:13px 10px 2px;text-align:left;color:#7f9ab5}.nvrpp-shot-portrait .nvrpp-shot-open,.nvrpp-shot-square .nvrpp-shot-open{display:flex;justify-content:center}.nvrpp-shot-portrait img{width:auto!important;max-width:100%}.nvrpp-feature-shot.nvrpp-shot-portrait,.nvrpp-feature-shot.nvrpp-shot-square{max-width:520px;justify-self:center}.nvrpp-mobile-shot{width:min(100%,520px);justify-self:center;margin-inline:auto}.nvrpp-mobile-shot.nvrpp-shot-landscape,.nvrpp-mobile-shot.nvrpp-shot-ultrawide{width:min(100%,800px)}.nvrpp-mobile-shot img{width:auto!important;max-width:100%;margin-inline:auto}.nvrpp-admin-shot.nvrpp-shot-portrait,.nvrpp-admin-shot.nvrpp-shot-square{max-width:620px;justify-self:center}
.nvrpp-anchorbar{position:sticky;top:var(--nvrpp-header-offset);z-index:30;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(108,143,181,.16);background:rgba(7,19,32,.86);backdrop-filter:blur(18px) saturate(135%);box-shadow:0 8px 28px rgba(5,17,30,.12)}.nvrpp-anchorbar .nvrpp-container{display:flex;gap:27px;overflow:auto;scrollbar-width:none}.nvrpp-anchorbar .nvrpp-container::-webkit-scrollbar{display:none}.nvrpp-anchorbar a{position:relative;display:flex;align-items:center;min-height:56px;white-space:nowrap;color:#8da6bf;font-size:.79rem;font-weight:700}.nvrpp-anchorbar a:hover,.nvrpp-anchorbar a[aria-current=true]{color:#fff}.nvrpp-anchorbar a[aria-current=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 18px rgba(79,172,255,.55)}
.nvrpp-experience{padding:clamp(104px,10vw,154px) 0;background:linear-gradient(180deg,#fff,#f8fbfe)}.nvrpp-section-intro{max-width:920px;margin-bottom:clamp(72px,8vw,118px)}.nvrpp-section-intro.center{text-align:center;margin-inline:auto}.nvrpp-section-intro h2{max-width:15ch;margin:12px 0 20px;font-size:clamp(3rem,5.7vw,6rem);line-height:.94;letter-spacing:-.061em;text-wrap:balance}.nvrpp-section-intro h2 em{font-style:normal;color:#3a86ec}.nvrpp-section-intro p{max-width:650px;font-size:1.06rem}.nvrpp-section-intro.center p{margin-inline:auto}
.nvrpp-feature-row{display:grid;position:relative;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(48px,7vw,100px);align-items:center;padding:clamp(64px,7vw,96px) 0;border-top:1px solid var(--line)}.nvrpp-feature-row:last-child{border-bottom:1px solid var(--line)}.nvrpp-feature-row-reverse{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.nvrpp-feature-row-reverse .nvrpp-feature-copy{justify-self:end}.nvrpp-feature-row-reverse .nvrpp-feature-shot{order:-1}.nvrpp-feature-copy{max-width:520px}.nvrpp-story-no{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;border-radius:999px;background:#eaf3ff;color:#3076d4;font-size:.7rem;font-weight:850;letter-spacing:.06em}.nvrpp-feature-copy h3{margin:18px 0 23px;font-size:clamp(2.7rem,4.8vw,5rem);line-height:.95;letter-spacing:-.055em;text-wrap:balance}.nvrpp-feature-copy p{font-size:1.02rem;color:#5d7188}.nvrpp-feature-copy ul{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}.nvrpp-feature-copy li{font-size:.92rem;line-height:1.55;color:#31455d}.nvrpp-feature-copy li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:#e8f7f0;color:#08985a;font-size:.68rem;font-weight:900}.nvrpp-feature-shot{position:relative;width:100%;align-self:center;padding:10px;border:1px solid #dfeaf4;border-radius:34px;background:linear-gradient(145deg,#fff,#f2f7fb);box-shadow:var(--shadow)}.nvrpp-feature-shot:before{content:"";position:absolute;z-index:-1;inset:10% 8% -10%;background:radial-gradient(ellipse,rgba(72,146,246,.15),transparent 70%);filter:blur(26px)}.nvrpp-feature-shot figcaption{text-align:left;margin-left:0}.nvrpp-feature-row.is-text-only{grid-template-columns:minmax(0,650px);justify-content:center;text-align:center}.nvrpp-feature-row.is-text-only .nvrpp-feature-copy{max-width:650px}.nvrpp-feature-row.is-text-only .nvrpp-feature-copy ul{max-width:500px;margin-inline:auto;text-align:left}
.nvrpp-mobile-showcase{position:relative;overflow:hidden;padding:clamp(106px,10vw,154px) 0;color:#fff;background:radial-gradient(900px 560px at 70% 50%,rgba(56,133,244,.18),transparent 67%),linear-gradient(150deg,#06111d,#082038 62%,#071725)}.nvrpp-mobile-showcase-grid{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:clamp(54px,7vw,104px);align-items:center}.nvrpp-mobile-showcase-copy h2,.nvrpp-setup-copy h2,.nvrpp-performance-head h2,.nvrpp-privacy-copy h2,.nvrpp-guide-title h2{margin:14px 0 22px;font-size:clamp(3rem,5vw,5.3rem);line-height:.95;letter-spacing:-.057em;text-wrap:balance}.nvrpp-mobile-showcase-copy p,.nvrpp-setup-copy>p{font-size:1.03rem;color:#9fb3c9}.nvrpp-mobile-shot{padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:38px;background:rgba(255,255,255,.045);box-shadow:0 40px 110px rgba(0,0,0,.37);backdrop-filter:blur(16px)}.nvrpp-mobile-shot img{border-color:rgba(255,255,255,.08);box-shadow:0 25px 75px rgba(0,0,0,.34)}.nvrpp-mobile-shot figcaption{color:#829ab2}
.nvrpp-setup{padding:clamp(112px,10vw,160px) 0;color:#fff;background:#071421}.nvrpp-setup-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(54px,7vw,104px);align-items:center}.nvrpp-setup-copy h2{color:#fff}.nvrpp-steps{display:grid;gap:12px;margin:36px 0 0;padding:0;list-style:none}.nvrpp-steps li{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;padding:19px 20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.035)}.nvrpp-steps b{color:#5cc7ff}.nvrpp-steps strong,.nvrpp-steps span{display:block}.nvrpp-steps strong{color:#f5f9fd}.nvrpp-steps span{margin-top:3px;color:#869db4;font-size:.82rem}.nvrpp-real-admin{padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:0 42px 120px rgba(0,0,0,.40)}.nvrpp-admin-shot img{border-color:rgba(255,255,255,.08);box-shadow:0 24px 72px rgba(0,0,0,.34)}.nvrpp-admin-shot figcaption{color:#829ab2}
.nvrpp-performance{padding:clamp(92px,8vw,126px) 0;background:#fff}.nvrpp-performance-head{max-width:850px}.nvrpp-performance-head h2 span{color:#2e7af0}.nvrpp-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.nvrpp-metrics>div{padding:30px 25px;border-right:1px solid var(--line)}.nvrpp-metrics>div:first-child{padding-left:0}.nvrpp-metrics>div:last-child{border-right:0}.nvrpp-metrics strong,.nvrpp-metrics span{display:block}.nvrpp-metrics strong{font-size:1.65rem;letter-spacing:-.04em}.nvrpp-metrics span{margin-top:7px;line-height:1.6;color:#6a7e92;font-size:.86rem}
.nvrpp-privacy{padding:clamp(100px,9vw,140px) 0;background:linear-gradient(180deg,#f4f9fd,#edf4fa)}.nvrpp-privacy-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,90px);align-items:start}.nvrpp-privacy-copy p{max-width:660px;font-size:1.04rem}.nvrpp-privacy-cards{display:grid;gap:12px}.nvrpp-privacy-cards article{padding:24px 26px;border:1px solid rgba(111,147,183,.15);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 12px 36px rgba(18,47,79,.05);backdrop-filter:blur(8px)}.nvrpp-privacy-cards strong,.nvrpp-privacy-cards span{display:block}.nvrpp-privacy-cards strong{color:#102b48}.nvrpp-privacy-cards span{margin-top:7px;color:#60758b;line-height:1.6;font-size:.9rem}.nvrpp-privacy code,.nvrpp-faq code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;background:#e7f1fb;color:#174c7a;padding:.15em .38em;border-radius:6px}
.nvrpp-guide{padding:clamp(98px,9vw,132px) 0;background:#f7f9fc}.nvrpp-guide-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:80px}.nvrpp-guide-title{position:sticky;top:calc(var(--nvrpp-header-offset) + 84px);align-self:start}.nvrpp-guide-title h2{font-size:clamp(2.45rem,4.3vw,4.4rem)}.nvrpp-guide-title p{font-size:1.02rem}.nvrpp-guide-content{display:grid;gap:0}.nvrpp-guide-content>section{padding:30px 0;border-top:1px solid #dce6f1;scroll-margin-top:calc(var(--nvrpp-header-offset) + 84px)}.nvrpp-guide-content>section:first-child{padding-top:0;border-top:0}.nvrpp-guide-content h3{margin:0 0 10px;font-size:1.45rem;letter-spacing:-.035em}.nvrpp-guide-content p{margin:0}.nvrpp-guide-toc{display:grid;gap:8px;margin-top:30px;padding:18px;border:1px solid #dce6f1;border-radius:18px;background:rgba(255,255,255,.68)}.nvrpp-guide-toc strong{margin-bottom:3px;color:#24415f;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.nvrpp-guide-toc a{width:max-content;max-width:100%;color:#496781;font-size:.86rem;font-weight:700}.nvrpp-guide-toc a:hover{color:#1f6fd1}
.nvrpp-compare{padding:clamp(96px,9vw,130px) 0;color:#fff;background:linear-gradient(180deg,#071522,#0a1d31)}.nvrpp-compare .nvrpp-section-intro h2{color:#fff}.nvrpp-compare .nvrpp-section-intro p{color:#9fb1c8}.nvrpp-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto}.nvrpp-plan{padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:rgba(255,255,255,.035)}.nvrpp-plan.featured{border-color:rgba(87,157,255,.45);background:linear-gradient(150deg,rgba(31,104,214,.22),rgba(255,255,255,.035));box-shadow:0 28px 60px rgba(0,0,0,.2)}.nvrpp-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.nvrpp-plan-top small{display:block;color:#6fb8ff;font-size:.65rem;letter-spacing:.13em;font-weight:900}.nvrpp-plan-top h3{margin:5px 0;color:#fff;font-size:1.7rem}.nvrpp-plan-top>span{padding:7px 10px;border-radius:99px;background:#e5faef;color:#12995c;font-size:.68rem;font-weight:850}.nvrpp-plan-top>span.muted{background:rgba(255,255,255,.08);color:#a6b7ca}.nvrpp-plan ul{display:grid;gap:12px;margin:28px 0;padding:0;list-style:none}.nvrpp-plan li{color:#c7d4e1}.nvrpp-plan li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:#153c2c;color:#35df88;font-size:.68rem;font-weight:900}.nvrpp-plan .nvrpp-btn{width:100%}
.nvrpp-faq{padding:clamp(94px,9vw,128px) 0;background:#fff}.nvrpp-faq-list{display:grid;gap:10px;margin-top:34px}.nvrpp-faq details{border-bottom:1px solid var(--line)}.nvrpp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font-weight:820;color:#15253d}.nvrpp-faq summary::-webkit-details-marker{display:none}.nvrpp-faq summary span{color:#3978d8;font-size:1.3rem;transition:transform .2s ease}.nvrpp-faq details[open] summary span{transform:rotate(45deg)}.nvrpp-faq details p{max-width:720px;margin:0;padding:0 0 22px}
.nvrpp-final{padding:78px 0;color:#fff;background:radial-gradient(circle at 78% 40%,rgba(41,123,255,.28),transparent 27%),linear-gradient(130deg,#06101c,#0a1b2e)}.nvrpp-final-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.nvrpp-final h2{margin:16px 0;font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.02;color:#fff}.nvrpp-final p{margin:0;color:#9fb1c8}.nvrpp-final .nvrpp-actions{margin-top:0}
.nvrpp-lightbox{width:min(94vw,1400px);max-height:92vh;padding:0;border:0;border-radius:24px;background:#07111d;color:#fff;box-shadow:0 35px 120px rgba(0,0,0,.55)}.nvrpp-lightbox::backdrop{background:rgba(1,8,15,.82);backdrop-filter:blur(8px)}.nvrpp-lightbox-inner{padding:16px}.nvrpp-lightbox-inner img{max-width:100%;max-height:80vh;margin:auto;border-radius:16px}.nvrpp-lightbox-inner p{margin:12px 4px 2px;text-align:center;color:#a8bdd2}.nvrpp-lightbox-close{position:absolute;z-index:2;right:10px;top:10px;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(5,17,30,.78);color:#fff;font-size:1.5rem;cursor:pointer;backdrop-filter:blur(8px)}
.nvrpp-reveal{opacity:1;transform:none}.nvrpp-js .nvrpp-reveal{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s ease}.nvrpp-js .nvrpp-reveal.nvrpp-visible{opacity:1;transform:none}.nvrpp-js .nvrpp-delay-1{transition-delay:.08s}
@supports(content-visibility:auto){.nvrpp-experience,.nvrpp-mobile-showcase,.nvrpp-setup,.nvrpp-performance,.nvrpp-privacy,.nvrpp-guide,.nvrpp-compare,.nvrpp-faq{content-visibility:auto;contain-intrinsic-size:1px 900px}}
@media(max-width:1100px){.nvrpp-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:44px}.nvrpp-feature-row,.nvrpp-feature-row-reverse{gap:50px}}
@media(max-width:900px){.nvrpp-guide-toc{grid-template-columns:repeat(2,minmax(0,1fr))}.nvrpp-guide-toc strong{grid-column:1/-1}.nvrpp-container{width:min(100% - 34px,760px)}.nvrpp-narrow{width:min(100% - 34px,760px)}.nvrpp-hero{padding-top:clamp(82px,13vw,112px)}.nvrpp-hero-grid,.nvrpp-feature-row,.nvrpp-feature-row-reverse,.nvrpp-mobile-showcase-grid,.nvrpp-setup-grid,.nvrpp-privacy-grid,.nvrpp-guide-grid,.nvrpp-final-grid{grid-template-columns:1fr}.nvrpp-hero-copy{max-width:740px}.nvrpp-hero h1{max-width:13ch}.nvrpp-hero-stage{margin-top:10px}.nvrpp-proof{grid-template-columns:repeat(3,1fr)}.nvrpp-feature-row,.nvrpp-feature-row-reverse{padding:58px 0;gap:34px}.nvrpp-feature-row-reverse .nvrpp-feature-copy{justify-self:start}.nvrpp-feature-row-reverse .nvrpp-feature-shot{order:initial}.nvrpp-feature-copy{max-width:660px}.nvrpp-feature-shot{width:100%}.nvrpp-mobile-showcase-copy,.nvrpp-setup-copy{max-width:680px}.nvrpp-mobile-shot,.nvrpp-real-admin{justify-self:center;width:100%}.nvrpp-metrics{grid-template-columns:1fr 1fr}.nvrpp-metrics>div{border-bottom:1px solid var(--line)}.nvrpp-metrics>div:nth-child(2n){border-right:0}.nvrpp-metrics>div:nth-last-child(-n+2){border-bottom:0}.nvrpp-metrics>div:first-child{padding-left:25px}.nvrpp-guide-title{position:static}.nvrpp-plan-grid{grid-template-columns:1fr}.nvrpp-final-grid{gap:24px}.nvrpp-final .nvrpp-actions{margin-top:0}.nvrpp.no-hero-media .nvrpp-proof{text-align:center}}
@media(max-width:620px){.nvrpp-guide-toc{grid-template-columns:1fr}.nvrpp-guide-toc strong{grid-column:auto}.nvrpp-container,.nvrpp-narrow{width:calc(100% - 28px)}.nvrpp-hero{padding:72px 0}.nvrpp-hero h1{font-size:clamp(3rem,14vw,4.55rem);line-height:.92}.nvrpp-lead{font-size:1rem}.nvrpp-actions{display:grid;grid-template-columns:1fr}.nvrpp-btn{width:100%}.nvrpp-proof{grid-template-columns:1fr;gap:14px;margin-top:34px}.nvrpp-proof>div{padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.08)}.nvrpp-proof>div:last-child{padding-bottom:0;border-bottom:0}.nvrpp-hero-stage{padding:7px;border-radius:24px}.nvrpp-product-shot img{border-radius:18px}.nvrpp-anchorbar .nvrpp-container{width:100%;padding-inline:14px;gap:22px}.nvrpp-anchorbar a{min-height:50px;font-size:.75rem}.nvrpp-experience,.nvrpp-mobile-showcase,.nvrpp-setup,.nvrpp-performance,.nvrpp-privacy,.nvrpp-guide,.nvrpp-compare,.nvrpp-faq{padding-top:78px;padding-bottom:78px}.nvrpp-section-intro{margin-bottom:38px}.nvrpp-section-intro h2,.nvrpp-feature-copy h3,.nvrpp-mobile-showcase-copy h2,.nvrpp-setup-copy h2,.nvrpp-performance-head h2,.nvrpp-privacy-copy h2,.nvrpp-guide-title h2{font-size:clamp(2.55rem,12vw,3.7rem);line-height:.96}.nvrpp-feature-row,.nvrpp-feature-row-reverse{padding:45px 0;gap:26px}.nvrpp-feature-shot,.nvrpp-mobile-shot,.nvrpp-real-admin{padding:7px;border-radius:24px}.nvrpp-feature-shot.nvrpp-shot-portrait,.nvrpp-feature-shot.nvrpp-shot-square{max-width:88vw}.nvrpp-mobile-shot{width:min(86vw,440px)}.nvrpp-story-no{min-width:38px;height:26px}.nvrpp-metrics{grid-template-columns:1fr}.nvrpp-metrics>div,.nvrpp-metrics>div:first-child{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.nvrpp-metrics>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.nvrpp-metrics>div:last-child{border-bottom:0}.nvrpp-plan{padding:24px}.nvrpp-lightbox{width:calc(100vw - 18px);border-radius:18px}.nvrpp-lightbox-inner{padding:10px}.nvrpp-lightbox-close{right:6px;top:6px}.nvrpp-product-shot figcaption{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.nvrpp-btn,.nvrpp-shot-open,.nvrpp-anchorbar a,.nvrpp-faq summary span{transition:none!important}.nvrpp-js .nvrpp-reveal{opacity:1!important;transform:none!important;transition:none!important}.nvrpp-hero-stage:before,.nvrpp-feature-shot:before{filter:none}}

/* 2.1.0 — premium non-UI visual fallbacks. These scenes are decorative and never imitate the product interface. */
.nvrpp.no-hero-media .nvrpp-hero-grid{grid-template-columns:minmax(0,.88fr) minmax(390px,1.12fr);justify-content:initial;text-align:left}.nvrpp.no-hero-media .nvrpp-hero-copy{max-width:690px;margin-inline:0}.nvrpp.no-hero-media .nvrpp-hero h1,.nvrpp.no-hero-media .nvrpp-lead{margin-left:0;margin-right:0}.nvrpp.no-hero-media .nvrpp-actions{justify-content:flex-start}.nvrpp.no-hero-media .nvrpp-proof{text-align:left}
.nvrpp-hero-art{position:relative;isolation:isolate;min-height:560px;border:1px solid rgba(255,255,255,.09);border-radius:42px;background:radial-gradient(circle at 50% 48%,rgba(55,139,255,.18),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));box-shadow:0 54px 140px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.08);overflow:hidden;backdrop-filter:blur(18px)}
.nvrpp-hero-art:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(72,153,255,.10),transparent 62%);filter:blur(8px)}.nvrpp-hero-art:after{content:"";position:absolute;left:15%;right:15%;bottom:5%;height:18%;border-radius:50%;background:rgba(19,114,255,.18);filter:blur(44px)}
.nvrpp-brand-core{position:absolute;z-index:4;left:50%;top:50%;display:grid;place-items:center;width:170px;height:170px;transform:translate(-50%,-50%) rotate(-7deg);border:1px solid rgba(255,255,255,.18);border-radius:48px;background:linear-gradient(145deg,rgba(42,145,255,.88),rgba(36,76,212,.56) 58%,rgba(11,34,66,.78));box-shadow:0 34px 90px rgba(15,92,223,.38),inset 0 1px rgba(255,255,255,.28),inset -18px -22px 46px rgba(0,0,0,.18);backdrop-filter:blur(14px)}.nvrpp-brand-core:before{content:"";position:absolute;inset:11px;border:1px solid rgba(255,255,255,.12);border-radius:38px}.nvrpp-brand-core span{font-size:6.2rem;line-height:1;font-weight:920;letter-spacing:-.12em;color:#eef8ff;text-shadow:0 8px 30px rgba(0,0,0,.24)}
.nvrpp-orbit{position:absolute;z-index:2;left:50%;top:50%;border:1px solid rgba(121,187,255,.18);border-radius:50%;transform:translate(-50%,-50%) rotate(-15deg)}.nvrpp-orbit-a{width:75%;height:48%}.nvrpp-orbit-b{width:54%;height:76%;transform:translate(-50%,-50%) rotate(34deg)}
.nvrpp-art-node{position:absolute;z-index:5;display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:linear-gradient(145deg,rgba(14,42,72,.88),rgba(8,24,42,.68));box-shadow:0 20px 55px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(16px)}.nvrpp-art-node svg{width:35px;height:35px;fill:none;stroke:#b8d9ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nvrpp-art-wa{left:9%;top:17%}.nvrpp-art-wa svg{stroke:#54e38e}.nvrpp-art-up{right:8%;top:22%}.nvrpp-art-progress{right:13%;bottom:14%}.nvrpp-art-eye{left:12%;bottom:12%}.nvrpp-art-glow{position:absolute;z-index:1;width:6px;height:6px;border-radius:50%;background:#75d8ff;box-shadow:0 0 18px 5px rgba(80,196,255,.6)}.nvrpp-art-glow.one{left:23%;top:41%}.nvrpp-art-glow.two{right:25%;top:59%}
.nvrpp-capability-visual{position:relative;isolation:isolate;min-height:440px;border:1px solid #dfeaf4;border-radius:36px;background:linear-gradient(145deg,#fff,#edf5fc);box-shadow:0 32px 90px rgba(19,55,94,.11);overflow:hidden}.nvrpp-capability-visual:before{content:"";position:absolute;inset:11%;border:1px solid rgba(52,123,206,.10);border-radius:50%;transform:rotate(-18deg)}.nvrpp-capability-visual:after{content:"";position:absolute;width:240px;height:240px;right:-70px;top:-70px;border-radius:50%;background:rgba(63,151,255,.10);filter:blur(10px)}.nvrpp-capability-visual>i,.nvrpp-capability-visual>b{position:absolute;display:block;border-radius:50%;background:#69b6ff;box-shadow:0 0 22px rgba(74,157,255,.35)}.nvrpp-capability-visual>i{width:9px;height:9px;left:18%;bottom:20%}.nvrpp-capability-visual>b{width:5px;height:5px;right:21%;top:24%}
.nvrpp-capability-wa{display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,rgba(37,211,102,.12),transparent 29%),linear-gradient(145deg,#fff,#eef8f3)}.nvrpp-capability-wa svg{position:relative;z-index:2;width:150px;height:150px;fill:none;stroke:#20b963;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 18px 24px rgba(37,211,102,.18))}.nvrpp-capability-halo{position:absolute;width:250px;height:250px;border:1px solid rgba(37,211,102,.19);border-radius:50%;box-shadow:0 0 0 35px rgba(37,211,102,.035),0 0 0 72px rgba(37,211,102,.02)}
.nvrpp-capability-progress{display:grid;place-items:center}.nvrpp-progress-track{position:absolute;left:12%;right:12%;top:50%;height:7px;border-radius:99px;background:#dce9f6;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}.nvrpp-progress-track span{display:block;width:66%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7df1,#5bd7ff);box-shadow:0 0 28px rgba(50,142,248,.3)}.nvrpp-progress-orb{position:relative;z-index:2;display:grid;place-items:center;width:170px;height:170px;border:1px solid rgba(70,132,205,.12);border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 24px 60px rgba(24,68,117,.12)}.nvrpp-progress-orb svg{width:112px;height:112px;fill:none;stroke:#c6d9ec;stroke-width:6}.nvrpp-progress-orb svg path{stroke:#3a8ff2;stroke-linecap:round}
.nvrpp-capability-up{display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(91,102,255,.10),transparent 32%),linear-gradient(145deg,#fff,#f2f2ff)}.nvrpp-up-core{display:grid;place-items:center;width:180px;height:180px;border:1px solid rgba(78,95,232,.15);border-radius:48px;background:linear-gradient(145deg,#fff,#eef0ff);box-shadow:0 28px 70px rgba(52,67,175,.13),inset 0 1px #fff;transform:rotate(-6deg)}.nvrpp-up-core svg{width:105px;height:105px;fill:none;stroke:#5669ee;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(6deg)}
.nvrpp-mobile-art{position:relative;isolation:isolate;min-height:480px;border:1px solid rgba(255,255,255,.11);border-radius:38px;background:radial-gradient(circle at 50% 50%,rgba(54,142,255,.22),transparent 31%),linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018));box-shadow:0 34px 90px rgba(0,0,0,.25);overflow:hidden}.nvrpp-mobile-symbol{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:180px;height:230px;transform:translate(-50%,-50%) rotate(6deg);border-radius:50px;background:linear-gradient(145deg,rgba(25,71,116,.85),rgba(8,25,43,.92));box-shadow:0 28px 75px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.12)}.nvrpp-mobile-symbol svg{width:130px;height:130px;fill:none;stroke:#b8d8ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.nvrpp-mobile-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(115,183,255,.18);border-radius:50%;transform:translate(-50%,-50%)}.nvrpp-mobile-ring.one{width:72%;height:55%;transform:translate(-50%,-50%) rotate(-20deg)}.nvrpp-mobile-ring.two{width:55%;height:78%;transform:translate(-50%,-50%) rotate(26deg)}.nvrpp-mobile-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#55d5ff;box-shadow:0 0 20px rgba(85,213,255,.7)}.nvrpp-mobile-dot.a{left:18%;top:29%}.nvrpp-mobile-dot.b{right:17%;top:37%;background:#43dc87;box-shadow:0 0 20px rgba(67,220,135,.55)}.nvrpp-mobile-dot.c{right:28%;bottom:16%}
.nvrpp-setup-art{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:430px;padding:40px;border:1px solid #dfe9f4;border-radius:36px;background:radial-gradient(circle at 50% 50%,rgba(74,146,245,.10),transparent 43%),linear-gradient(145deg,#fff,#f2f7fb);box-shadow:0 32px 90px rgba(19,55,94,.10);overflow:hidden}.nvrpp-setup-node{position:relative;z-index:2;display:grid;place-items:center;width:118px;height:140px;border:1px solid rgba(76,126,183,.13);border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 18px 45px rgba(23,66,112,.08)}.nvrpp-setup-node strong{position:absolute;left:12px;top:10px;color:#6d8eae;font-size:.62rem;letter-spacing:.1em}.nvrpp-setup-node svg{width:48px;height:48px;fill:none;stroke:#397ed9;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nvrpp-setup-link{width:42px;height:1px;background:linear-gradient(90deg,rgba(62,129,215,.15),rgba(62,129,215,.55),rgba(62,129,215,.15))}
@media(max-width:1100px){.nvrpp.no-hero-media .nvrpp-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.nvrpp-hero-art{min-height:500px}.nvrpp-art-node{width:68px;height:68px}}
@media(max-width:900px){.nvrpp.no-hero-media .nvrpp-hero-grid{grid-template-columns:1fr;text-align:left}.nvrpp.no-hero-media .nvrpp-hero-copy{max-width:740px}.nvrpp-hero-art{min-height:480px;margin-top:8px}.nvrpp-capability-visual{min-height:390px}.nvrpp-mobile-art{min-height:430px}.nvrpp-setup-art{min-height:360px}}
@media(max-width:620px){.nvrpp-hero-art{min-height:390px;border-radius:28px}.nvrpp-brand-core{width:132px;height:132px;border-radius:38px}.nvrpp-brand-core span{font-size:4.8rem}.nvrpp-art-node{width:58px;height:58px;border-radius:18px}.nvrpp-art-node svg{width:29px;height:29px}.nvrpp-art-wa{left:7%;top:15%}.nvrpp-art-up{right:7%;top:18%}.nvrpp-art-progress{right:8%;bottom:13%}.nvrpp-art-eye{left:8%;bottom:12%}.nvrpp-capability-visual{min-height:320px;border-radius:26px}.nvrpp-capability-wa svg{width:112px;height:112px}.nvrpp-capability-halo{width:190px;height:190px}.nvrpp-progress-orb{width:135px;height:135px}.nvrpp-progress-orb svg{width:88px;height:88px}.nvrpp-up-core{width:140px;height:140px;border-radius:38px}.nvrpp-up-core svg{width:82px;height:82px}.nvrpp-mobile-art{min-height:350px;border-radius:28px}.nvrpp-mobile-symbol{width:140px;height:185px;border-radius:38px}.nvrpp-mobile-symbol svg{width:102px;height:102px}.nvrpp-setup-art{min-height:300px;padding:22px 14px;border-radius:28px;gap:7px}.nvrpp-setup-node{width:86px;height:112px;border-radius:22px}.nvrpp-setup-node svg{width:38px;height:38px}.nvrpp-setup-link{width:18px}}

/* 2.2.0 — bundled premium product imagery. Media-library selections still override these defaults. */
.nvrpp-product-shot img{background:#eef5fb}
.nvrpp-hero-stage .nvrpp-product-shot figcaption,.nvrpp-feature-shot figcaption,.nvrpp-mobile-shot figcaption,.nvrpp-admin-shot figcaption{opacity:.82}
.nvrpp-hero-stage .nvrpp-real-product-image{aspect-ratio:16/9;object-fit:cover!important;object-position:center!important}
.nvrpp-feature-shot .nvrpp-real-product-image{aspect-ratio:16/10;object-fit:cover!important;object-position:center!important}
.nvrpp-mobile-shot .nvrpp-real-product-image{aspect-ratio:4/3;object-fit:cover!important}
.nvrpp-admin-shot .nvrpp-real-product-image{aspect-ratio:4/3;object-fit:cover!important}

/* v2.3.0 — SerdarKeser-inspired motion language + real Contact Hub Lite components */
.nvrpp-interactive-stage{--nvrpp-rx:0deg;--nvrpp-ry:0deg;--nvrpp-px:50%;--nvrpp-py:50%;position:relative;isolation:isolate;overflow:hidden;transform-style:preserve-3d;perspective:1200px;touch-action:pan-y}
.nvrpp-interactive-stage .nvrpp-stage-media{position:relative;z-index:1;transition:transform .28s cubic-bezier(.2,.7,.2,1),filter .28s ease;transform:perspective(1200px) rotateX(var(--nvrpp-rx)) rotateY(var(--nvrpp-ry)) scale(1.012);transform-origin:center}
.nvrpp-interactive-stage:hover .nvrpp-stage-media{filter:saturate(1.035) contrast(1.015)}
.nvrpp-interactive-stage .nvrpp-product-shot figcaption{display:none}
.nvrpp-interactive-stage .nvrpp-product-shot,.nvrpp-interactive-stage .nvrpp-shot-open{height:100%}
.nvrpp-interactive-stage .nvrpp-shot-open{cursor:default}
.nvrpp-interactive-stage .nvrpp-real-product-image{display:block;width:100%;height:100%!important;object-fit:cover!important}
.nvrpp-pointer-glow{position:absolute;z-index:2;left:var(--nvrpp-px);top:var(--nvrpp-py);width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(86,164,255,.18),rgba(86,164,255,.06) 38%,transparent 70%);filter:blur(6px);transform:translate(-50%,-50%);opacity:.15;pointer-events:none;transition:opacity .25s ease}
.nvrpp-interactive-stage.is-pointer-active .nvrpp-pointer-glow{opacity:.8}
.nvrpp-hero-stage.nvrpp-interactive-stage{min-height:560px;padding:0;border-radius:36px;background:#09131e}
.nvrpp-hero-stage .nvrpp-stage-media,.nvrpp-hero-stage .nvrpp-stage-media .nvrpp-product-shot,.nvrpp-hero-stage .nvrpp-stage-media .nvrpp-shot-open{height:100%}
.nvrpp-hero-stage .nvrpp-stage-media{position:absolute;inset:0}
.nvrpp-hero-stage .nvrpp-stage-media:after,.nvrpp-feature-stage .nvrpp-stage-media:after,.nvrpp-mobile-live .nvrpp-stage-media:after,.nvrpp-admin-live .nvrpp-stage-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,12,22,.02),rgba(3,12,22,.10));border-radius:inherit}

/* The demo surface deliberately mirrors Contact Hub Lite frontend markup/classes. */
.nvrpp-demo-surface.nch-root,.nvrpp-demo-surface .nch-root{box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.nvrpp-demo-surface.nch-root *{box-sizing:border-box}
.nvrpp-demo-surface.nch-root{position:absolute;z-index:8;display:flex;align-items:center;gap:10px;pointer-events:auto}
.nvrpp-demo-surface .nch-button,.nvrpp-demo-surface.nch-root>.nch-button{position:relative;display:grid;place-items:center;width:var(--nch-size);height:var(--nch-size);min-width:40px;min-height:40px;padding:0;border:0;border-radius:999px;background:var(--nch-bg);color:var(--nch-fg);box-shadow:0 11px 30px rgba(0,0,0,.2);cursor:pointer;-webkit-tap-highlight-color:transparent}
.nvrpp-demo-surface .nch-icon,.nvrpp-demo-surface.nch-root .nch-icon{position:relative;z-index:4;display:grid;place-items:center;width:52%;height:52%}
.nvrpp-demo-surface .nch-icon svg,.nvrpp-demo-surface.nch-root .nch-icon svg{display:block;width:100%;height:100%;fill:currentColor}
.nvrpp-demo-widget{right:6%;bottom:8%;transform:translate3d(calc(var(--nvrpp-demo-x,0px)),calc(var(--nvrpp-demo-y,0px)),52px)}
.nvrpp-demo-widget .nch-wa-button{isolation:isolate;overflow:visible;border:1px solid rgba(255,255,255,.5);background:radial-gradient(circle at 35% 19%,rgba(255,255,255,.72) 0,rgba(255,255,255,.18) 11%,transparent 27%),linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.03) 38%,rgba(0,0,0,.16) 80%),var(--nch-bg);box-shadow:0 16px 34px rgba(9,16,30,.27),0 6px 13px rgba(0,0,0,.17),inset 0 2px 2px rgba(255,255,255,.48),inset 0 -9px 16px rgba(0,0,0,.2),0 0 0 2px rgba(255,255,255,.08);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
.nvrpp-demo-widget .nch-wa-button:before{content:"";position:absolute;z-index:2;left:14%;right:14%;top:8%;height:28%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.14) 58%,transparent);transform:rotate(-13deg);opacity:.68;pointer-events:none}
.nvrpp-demo-widget .nch-wa-button:after{content:"";position:absolute;z-index:2;inset:4px;border-radius:inherit;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 4px 7px rgba(255,255,255,.09),inset 0 -5px 9px rgba(0,0,0,.11);pointer-events:none}
.nvrpp-demo-widget .nch-glass-rings{position:absolute;z-index:-1;inset:-64%;display:block;pointer-events:none}
.nvrpp-demo-widget .nch-glass-rings i{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid rgba(37,211,102,.26);box-shadow:0 0 18px rgba(37,211,102,.10),inset 0 0 12px rgba(255,255,255,.18);opacity:.58}
.nvrpp-demo-widget .nch-glass-rings i:nth-child(1){width:112%;height:112%}.nvrpp-demo-widget .nch-glass-rings i:nth-child(2){width:144%;height:144%;opacity:.42}.nvrpp-demo-widget .nch-glass-rings i:nth-child(3){width:178%;height:178%;opacity:.28}
.nvrpp-demo-widget .nch-glass-glare{position:absolute;z-index:3;left:15%;right:15%;top:9%;height:27%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.08));opacity:.56;transform:rotate(-12deg);pointer-events:none}
.nvrpp-demo-widget .nch-bubble{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;min-width:210px;max-width:min(360px,calc(100vw - var(--nch-size) - 58px));min-height:calc(var(--nch-size) * .78);padding:10px 48px 10px 20px;border:1px solid rgba(176,195,255,.56);border-radius:999px;background:radial-gradient(circle at 16% 0%,rgba(94,129,255,.22),transparent 34%),linear-gradient(180deg,#20283a 0%,#121827 54%,#0b101c 100%);color:#fff;box-shadow:0 16px 32px rgba(12,18,31,.28),0 5px 10px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -7px 12px rgba(0,0,0,.22),0 0 0 2px rgba(255,255,255,.06);backdrop-filter:blur(12px) saturate(135%);opacity:0;visibility:hidden;transform:translateY(5px) scale(.97);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}
.nvrpp-demo-widget .nch-bubble.is-open{opacity:1;visibility:visible;transform:none}
.nvrpp-demo-widget .nch-bubble-text{z-index:2;grid-column:1/2;grid-row:1/2;align-self:end;overflow:hidden;max-width:220px;white-space:nowrap;text-overflow:ellipsis;color:rgba(255,255,255,.66);font-size:10px;font-weight:650;letter-spacing:.01em}
.nvrpp-demo-widget .nch-bubble-cta{z-index:2;grid-column:1/3;grid-row:2/3;display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;padding:0;border:0;background:transparent;color:#fff;font-size:16px;font-weight:820;line-height:1.18;letter-spacing:-.015em}
.nvrpp-demo-widget .nch-bubble-cta:after{content:"→";color:#aebbd0;font-size:25px;font-weight:400;line-height:.7}
.nvrpp-demo-widget .nch-bubble-close{position:absolute;z-index:4;left:12px;bottom:-9px;width:21px;height:21px;padding:0;border:0;border-radius:50%;background:#fff;color:#111827;box-shadow:0 3px 9px rgba(0,0,0,.18);font-size:14px;line-height:21px;cursor:pointer}
.nvrpp-demo-widget.is-excited .nch-wa-button,.nvrpp-demo-widget .nch-wa-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 18px 38px rgba(0,0,0,.24),0 0 24px rgba(37,211,102,.28)}
.nvrpp-demo-widget.is-touch-burst .nch-wa-button{animation:nvrpp-wa-touch .72s cubic-bezier(.2,.72,.2,1)}
@keyframes nvrpp-wa-touch{0%{transform:scale(1)}20%{transform:scale(.92)}48%{transform:scale(1.12)}100%{transform:scale(1)}}

.nvrpp-demo-backtop{right:7%;bottom:8%;background:transparent;border:0;padding:0;transform:translateZ(44px)}
.nvrpp-demo-backtop .nch-button{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.42);background:radial-gradient(circle at 34% 18%,rgba(255,255,255,.68) 0,rgba(255,255,255,.19) 11%,transparent 26%),radial-gradient(circle at 70% 78%,rgba(0,0,0,.22),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.03) 38%,rgba(0,0,0,.18) 78%),var(--nch-bg);box-shadow:0 14px 28px rgba(9,16,30,.24),0 5px 11px rgba(0,0,0,.16),inset 0 2px 2px rgba(255,255,255,.5),inset 0 -8px 14px rgba(0,0,0,.2),0 0 0 2px rgba(255,255,255,.07);transition:transform .22s ease,box-shadow .22s ease}
.nvrpp-demo-backtop .nch-icon{width:54%;height:54%}.nvrpp-demo-backtop:hover .nch-button{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.24)}
.nvrpp-demo-backtop.nch-launching .nch-button{animation:nvrpp-backtop-launch .72s cubic-bezier(.2,.72,.2,1)}
.nvrpp-demo-backtop.nch-launching .nch-icon{animation:nvrpp-backtop-tilt .72s ease}
@keyframes nvrpp-backtop-launch{0%{transform:translateY(0) scale(1)}18%{transform:translateY(-5px) scale(1.04)}52%{transform:translateY(-22px) scale(.98)}100%{transform:translateY(-44px) scale(.88);opacity:.22}}
@keyframes nvrpp-backtop-tilt{0%,100%{transform:translateY(0) rotate(0)}28%{transform:translateY(-1px) rotate(-6deg)}55%{transform:translateY(-2px) rotate(0)}}

.nvrpp-demo-progress.nch-page-progress{position:absolute;z-index:7;left:0;top:0;width:100%;height:5px;background:rgba(255,255,255,.34);box-shadow:0 2px 10px rgba(15,23,42,.08);overflow:hidden;pointer-events:none}
.nvrpp-demo-progress.nch-page-progress span{display:block;width:var(--nvrpp-progress,68%);height:100%;border-radius:0 999px 999px 0;background:linear-gradient(180deg,rgba(255,255,255,.65) 0,rgba(255,255,255,.18) 34%,transparent 35%),linear-gradient(90deg,#8dbbff,#2f7df4);box-shadow:0 0 10px rgba(47,125,244,.45),0 0 22px rgba(47,125,244,.18),inset 0 1px 0 rgba(255,255,255,.56);transition:width .08s linear}
.nvrpp-demo-progress-center{top:auto!important;bottom:8%;left:8%!important;width:84%!important;height:7px!important;border-radius:999px!important;background:rgba(220,233,246,.9)!important}
.nvrpp-scroll-percent{position:absolute;z-index:8;right:9%;top:9%;display:flex;align-items:flex-start;color:#0d2239;text-shadow:0 1px rgba(255,255,255,.5);transform:translateZ(50px)}
.nvrpp-scroll-percent strong{font-size:clamp(2.4rem,5vw,4.7rem);line-height:.8;letter-spacing:-.07em}.nvrpp-scroll-percent span{margin:5px 0 0 5px;font-weight:800}

.nvrpp-feature-stage{position:relative;min-height:520px;border:1px solid #dfeaf4;border-radius:34px;background:#edf5fb;box-shadow:var(--shadow);overflow:hidden}
.nvrpp-feature-stage .nvrpp-stage-media{position:absolute;inset:0}.nvrpp-feature-stage .nvrpp-stage-media .nvrpp-feature-shot{height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.nvrpp-feature-stage .nvrpp-stage-media .nvrpp-real-product-image{border:0;border-radius:0;box-shadow:none}
.nvrpp-feature-stage[data-nvrpp-demo="whatsapp"] .nvrpp-demo-widget{right:7%;bottom:9%}
.nvrpp-feature-stage[data-nvrpp-demo="backtop"] .nvrpp-demo-backtop{right:10%;bottom:10%}
.nvrpp-feature-row{min-height:min(82vh,780px)}
.nvrpp-feature-row>.nvrpp-feature-stage{position:sticky;top:calc(var(--nvrpp-header-offset,0px) + 92px);align-self:start}
.nvrpp-feature-row-reverse>.nvrpp-feature-stage{order:-1}

.nvrpp-mobile-live{position:relative;min-height:520px;border:1px solid rgba(255,255,255,.11);border-radius:38px;background:rgba(255,255,255,.045);box-shadow:0 40px 110px rgba(0,0,0,.37);overflow:hidden}
.nvrpp-mobile-live .nvrpp-stage-media{position:absolute;inset:0}.nvrpp-mobile-live .nvrpp-stage-media .nvrpp-mobile-shot{width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.nvrpp-mobile-live .nvrpp-stage-media .nvrpp-real-product-image{border:0;border-radius:0;box-shadow:none}
.nvrpp-mobile-live .nvrpp-demo-widget{right:8%;bottom:10%}.nvrpp-touch-indicator{position:absolute;z-index:10;right:9%;bottom:9%;width:92px;height:92px;border-radius:50%;border:1px solid rgba(255,255,255,.34);box-shadow:0 0 0 0 rgba(108,180,255,.24);opacity:0;pointer-events:none}.nvrpp-mobile-live.is-touching .nvrpp-touch-indicator{animation:nvrpp-touch-ring .75s ease-out}
@keyframes nvrpp-touch-ring{0%{opacity:.9;transform:scale(.35);box-shadow:0 0 0 0 rgba(108,180,255,.35)}100%{opacity:0;transform:scale(1.35);box-shadow:0 0 0 28px rgba(108,180,255,0)}}

.nvrpp-admin-live{position:relative;min-height:520px;border-radius:36px;overflow:hidden}.nvrpp-admin-live .nvrpp-stage-media{position:absolute;inset:0}.nvrpp-admin-live .nvrpp-stage-media .nvrpp-admin-shot{height:100%}.nvrpp-admin-live .nvrpp-stage-media .nvrpp-admin-shot,.nvrpp-admin-live .nvrpp-stage-media .nvrpp-shot-open{width:100%;height:100%}.nvrpp-admin-live .nvrpp-stage-media .nvrpp-real-product-image{border-radius:36px!important}
.nvrpp-admin-style-switcher{position:absolute;z-index:9;left:5%;top:6%;display:flex;align-items:center;gap:7px;padding:8px;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 16px 38px rgba(16,42,72,.14);backdrop-filter:blur(15px);transform:translateZ(52px)}
.nvrpp-admin-style-switcher span{padding:0 7px;color:#52677d;font-size:.72rem;font-weight:800}.nvrpp-admin-style-switcher button{border:1px solid #d9e4ef;border-radius:10px;background:#fff;color:#2a4159;padding:7px 10px;font-size:.7rem;font-weight:800;cursor:pointer}.nvrpp-admin-style-switcher button.is-active{border-color:#9ac7ff;background:#eaf4ff;color:#1668c9}
.nvrpp-admin-live .nvrpp-demo-widget{right:8%;bottom:9%}.nvrpp-admin-live.is-classic .nvrpp-demo-widget .nch-glass-rings,.nvrpp-admin-live.is-classic .nvrpp-demo-widget .nch-glass-glare,.nvrpp-admin-live.is-classic .nvrpp-demo-widget .nch-wa-button:before,.nvrpp-admin-live.is-classic .nvrpp-demo-widget .nch-wa-button:after{display:none!important}.nvrpp-admin-live.is-classic .nvrpp-demo-widget .nch-wa-button{overflow:hidden;border:1px solid rgba(0,0,0,.08);background:var(--nch-bg);box-shadow:0 8px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.22)}

/* Deeper scroll reveal: visible but staged, so fast scrolling cannot skip multiple visual states. */
.nvrpp-js .nvrpp-feature-copy>*{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.nvrpp-js .nvrpp-feature-row.nvrpp-visible .nvrpp-feature-copy>*{opacity:1;transform:none}.nvrpp-js .nvrpp-feature-row.nvrpp-visible .nvrpp-feature-copy>*:nth-child(2){transition-delay:.07s}.nvrpp-js .nvrpp-feature-row.nvrpp-visible .nvrpp-feature-copy>*:nth-child(3){transition-delay:.14s}.nvrpp-js .nvrpp-feature-row.nvrpp-visible .nvrpp-feature-copy>*:nth-child(4){transition-delay:.21s}

@media(max-width:900px){.nvrpp-feature-row{min-height:0}.nvrpp-feature-row>.nvrpp-feature-stage{position:relative;top:auto;order:0}.nvrpp-feature-row-reverse>.nvrpp-feature-stage{order:0}.nvrpp-feature-stage{min-height:420px}.nvrpp-hero-stage.nvrpp-interactive-stage{min-height:470px}.nvrpp-mobile-live,.nvrpp-admin-live{min-height:430px}.nvrpp-demo-widget .nch-bubble{min-width:180px}.nvrpp-admin-style-switcher{left:4%;right:4%;top:4%;justify-content:center}}
@media(max-width:620px){.nvrpp-hero-stage.nvrpp-interactive-stage{min-height:380px;border-radius:28px}.nvrpp-feature-stage{min-height:330px;border-radius:26px}.nvrpp-mobile-live,.nvrpp-admin-live{min-height:360px;border-radius:28px}.nvrpp-demo-widget{right:7%!important;bottom:8%!important;--nch-size:56px!important}.nvrpp-demo-widget .nch-bubble{min-width:160px;max-width:220px;padding:8px 38px 8px 16px}.nvrpp-demo-widget .nch-bubble-text{max-width:145px;font-size:8px}.nvrpp-demo-widget .nch-bubble-cta{font-size:13px;gap:8px}.nvrpp-demo-widget .nch-bubble-cta:after{font-size:19px}.nvrpp-demo-widget .nch-glass-rings i:nth-child(3){display:none}.nvrpp-demo-backtop{right:7%;bottom:8%}.nvrpp-demo-backtop-large .nch-button{--nch-size:58px!important}.nvrpp-scroll-percent{right:7%;top:8%}.nvrpp-admin-style-switcher{gap:5px;padding:6px}.nvrpp-admin-style-switcher span{display:none}.nvrpp-admin-style-switcher button{padding:6px 8px;font-size:.64rem}}
@media(prefers-reduced-motion:reduce){.nvrpp-interactive-stage .nvrpp-stage-media,.nvrpp-demo-widget .nch-wa-button,.nvrpp-demo-backtop .nch-button,.nvrpp-demo-progress span,.nvrpp-js .nvrpp-feature-copy>*{transition:none!important;animation:none!important;transform:none!important}.nvrpp-pointer-glow,.nvrpp-touch-indicator{display:none!important}}

/* ========================================================================
   v2.4.0 — scroll stability, real Contact Hub motion, mobile motion and
   interactive Lite / Pro component showcase.
   ======================================================================== */
.nvrpp-contact-hub-lite{overflow-x:clip;overflow-y:visible}
.nvrpp-experience,.nvrpp-mobile-showcase,.nvrpp-setup,.nvrpp-compare{content-visibility:visible!important;contain:none!important}
.nvrpp-story-no{display:none!important}
.nvrpp-feature-copy h3{margin-top:0}
.nvrpp-interactive-stage{touch-action:pan-y;overscroll-behavior:auto;transform-style:preserve-3d}
.nvrpp-interactive-stage .nvrpp-stage-media{pointer-events:none;user-select:none;-webkit-user-select:none}
.nvrpp-demo-surface button,.nvrpp-demo-surface.nch-root,.nvrpp-plan-control{touch-action:manipulation}
.nvrpp-demo-surface .nch-icon svg.nch-svg-stroke,.nvrpp-demo-surface.nch-root .nch-icon svg.nch-svg-stroke{fill:none!important;stroke:currentColor!important}

/* Keep real overlay controls away from the controls baked into legacy scene imagery. */
.nvrpp-hero-stage .nvrpp-demo-widget{right:5.5%;bottom:8.5%}
.nvrpp-hero-stage .nvrpp-hero-backtop{left:5.5%;right:auto;bottom:8.5%}
.nvrpp-mobile-live .nvrpp-demo-widget{right:7%;bottom:9%}
.nvrpp-mobile-live .nvrpp-mobile-backtop{left:7%;right:auto;bottom:9%}

/* Exact optical language of Contact Hub Pro/Lite back-to-top, upgraded from the flat disc. */
.nvrpp-demo-backtop .nch-button{overflow:visible!important;border:1px solid rgba(255,255,255,.58)!important;background:radial-gradient(circle at 33% 18%,rgba(255,255,255,.86) 0,rgba(255,255,255,.28) 11%,transparent 27%),radial-gradient(circle at 70% 78%,rgba(0,0,0,.22),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.04) 38%,rgba(0,0,0,.16) 76%,rgba(0,0,0,.24)),var(--nch-bg)!important;box-shadow:0 18px 34px rgba(8,18,32,.30),0 7px 15px rgba(0,0,0,.20),inset 0 2px 2px rgba(255,255,255,.78),inset 0 -9px 16px rgba(0,0,0,.20),inset 7px 0 16px rgba(255,255,255,.08),0 0 0 3px rgba(255,255,255,.13)!important}
.nvrpp-demo-backtop .nch-button:before{content:"";position:absolute;z-index:1;left:13%;right:13%;top:7%;height:29%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,255,255,.32) 56%,transparent);transform:rotate(-14deg);opacity:.78;pointer-events:none}
.nvrpp-demo-backtop .nch-button:after{content:"";position:absolute;z-index:1;inset:4px;border-radius:inherit;border:1px solid rgba(255,255,255,.30);box-shadow:inset 0 5px 8px rgba(255,255,255,.15),inset 0 -5px 9px rgba(0,0,0,.12);pointer-events:none}
.nvrpp-demo-backtop .nch-icon{z-index:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.28))}

/* WhatsApp now visibly runs the same pulse/radar family as the plugin. */
.nvrpp-demo-widget.is-effect-running .nch-wa-button{animation:nvrpp-fx-glow 1.16s ease-in-out 1}
.nvrpp-demo-widget.is-effect-running .nch-glass-rings i:nth-child(1){animation:nvrpp-fx-radar 1.38s ease-out 1}
.nvrpp-demo-widget.is-effect-running .nch-glass-rings i:nth-child(2){animation:nvrpp-fx-radar 1.38s .22s ease-out 1}
.nvrpp-demo-widget.is-effect-running .nch-icon{animation:nvrpp-fx-icon-pulse .72s cubic-bezier(.2,.75,.2,1) 1}
@keyframes nvrpp-fx-glow{0%,100%{filter:brightness(1);transform:translateY(0) scale(1)}46%{filter:brightness(1.10);transform:translateY(-3px) scale(1.075);box-shadow:0 18px 38px rgba(0,0,0,.23),0 0 0 10px rgba(37,211,102,.10),0 0 34px rgba(37,211,102,.35)}}
@keyframes nvrpp-fx-radar{0%{transform:translate(-50%,-50%) scale(.88);opacity:.56}100%{transform:translate(-50%,-50%) scale(1.7);opacity:0}}
@keyframes nvrpp-fx-icon-pulse{0%,100%{transform:scale(1)}26%{transform:scale(.88)}58%{transform:scale(1.13)}}

/* Progress uses the story row as the timeline, not the sticky panel itself. */
.nvrpp-progress-story{min-height:clamp(980px,145vh,1380px)!important;align-items:start}
.nvrpp-progress-story>.nvrpp-feature-copy{padding-top:clamp(48px,7vh,86px)}
.nvrpp-progress-story>.nvrpp-feature-stage{top:calc(var(--nvrpp-header-offset,0px) + 78px)!important}
.nvrpp-scroll-percent{right:7%;top:7%;padding:13px 15px 12px;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:rgba(255,255,255,.70);box-shadow:0 18px 45px rgba(20,46,78,.14),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}
.nvrpp-scroll-percent strong{min-width:2.25ch;text-align:right;font-variant-numeric:tabular-nums}.nvrpp-scroll-percent span{margin-top:2px}
.nvrpp-demo-progress-center{bottom:6.5%!important;left:6.5%!important;width:87%!important;height:8px!important;border:1px solid rgba(255,255,255,.65)!important;box-shadow:0 7px 20px rgba(16,42,72,.10),inset 0 1px 0 rgba(255,255,255,.85)!important}

/* Mobile has autonomous motion as well as touch feedback; the page remains pan-y scrollable. */
.nvrpp-mobile-live.is-demo-active .nvrpp-stage-media{animation:nvrpp-mobile-media-drift 5.6s ease-in-out infinite alternate}
.nvrpp-mobile-live.is-demo-active .nvrpp-demo-widget{animation:nvrpp-mobile-widget-float 3.2s ease-in-out infinite}
.nvrpp-mobile-live.is-demo-active .nvrpp-mobile-backtop{animation:nvrpp-mobile-up-float 3.2s .45s ease-in-out infinite}
.nvrpp-mobile-live.is-demo-active .nvrpp-pointer-glow{opacity:.46;animation:nvrpp-mobile-glow-drift 6s ease-in-out infinite alternate}
@keyframes nvrpp-mobile-media-drift{0%{transform:scale(1.015) translate3d(-3px,2px,0)}100%{transform:scale(1.045) translate3d(5px,-5px,0)}}
@keyframes nvrpp-mobile-widget-float{0%,100%{transform:translate3d(0,0,52px)}50%{transform:translate3d(0,-9px,52px)}}
@keyframes nvrpp-mobile-up-float{0%,100%{transform:translate3d(0,0,44px)}50%{transform:translate3d(0,-6px,44px)}}
@keyframes nvrpp-mobile-glow-drift{0%{left:30%;top:65%}100%{left:72%;top:28%}}

/* Product comparison: actual Pro-style glass / 3D controls inside each card. */
.nvrpp-plan-grid-live{max-width:1120px;gap:24px}
.nvrpp-plan-grid-live .nvrpp-plan{display:flex;flex-direction:column;min-width:0;padding:34px;border-radius:32px;overflow:visible}
.nvrpp-plan-grid-live .nvrpp-plan ul{margin-bottom:24px}
.nvrpp-plan-grid-live .nvrpp-plan>.nvrpp-btn{margin-top:22px}
.nvrpp-plan-pro{border-color:rgba(108,164,255,.25)!important;background:radial-gradient(500px 300px at 86% 78%,rgba(89,101,255,.13),transparent 70%),linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.025))!important}
.nvrpp-plan-live{position:relative;isolation:isolate;min-height:270px;margin-top:auto;border:1px solid rgba(177,204,235,.18);border-radius:26px;overflow:visible;background:radial-gradient(360px 210px at 75% 70%,rgba(60,132,255,.18),transparent 70%),linear-gradient(155deg,rgba(10,30,53,.92),rgba(5,17,31,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 54px rgba(0,0,0,.18)}
.nvrpp-plan-live:before{content:"";position:absolute;z-index:-1;inset:12% 8% 4%;border-radius:30px;background:radial-gradient(ellipse,rgba(78,146,255,.17),transparent 68%);filter:blur(24px)}
.nvrpp-plan-live-label{position:absolute;z-index:3;left:18px;top:16px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#9bb4ce;font-size:.65rem;font-weight:780;letter-spacing:.03em;backdrop-filter:blur(10px)}
.nvrpp-plan-progress-rail{position:absolute;z-index:3;left:18px;right:18px;bottom:14px;height:7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.nvrpp-plan-progress-rail span{display:block;width:64%;height:100%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.12) 35%,transparent 36%),linear-gradient(90deg,#26d786,#68f2b3);box-shadow:0 0 16px rgba(57,229,145,.34);transform-origin:left center}
.nvrpp-plan-progress-rail-pro span{width:78%;background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,.12) 35%,transparent 36%),linear-gradient(90deg,#4e8cff,#735dff,#5ee7ff);box-shadow:0 0 18px rgba(88,137,255,.38)}

/* Lite demo controls live at opposite lower corners, matching the real widget placement logic. */
.nvrpp-plan-live-lite>.nvrpp-plan-control-left{position:absolute;z-index:5;left:22px;bottom:40px}
.nvrpp-plan-live-lite>.nvrpp-plan-control-right{position:absolute;z-index:5;right:22px;bottom:40px}
.nvrpp-pro-zone{position:absolute;z-index:5;display:flex;align-items:flex-end;gap:14px;bottom:40px}.nvrpp-pro-zone-left{left:22px}.nvrpp-pro-zone-right{right:22px}
.nvrpp-plan-control{position:relative;display:grid;place-items:center;width:64px;height:64px;min-width:64px;min-height:64px;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:radial-gradient(circle at 33% 20%,rgba(255,255,255,.88) 0,rgba(255,255,255,.34) 12%,transparent 27%),radial-gradient(circle at 70% 78%,rgba(0,0,0,.20),transparent 56%),linear-gradient(145deg,rgba(255,255,255,.26),rgba(255,255,255,.04) 38%,rgba(0,0,0,.10) 74%,rgba(0,0,0,.20)),var(--nvrpp-control-bg);color:var(--nvrpp-control-fg);box-shadow:0 18px 34px rgba(0,0,0,.24),0 7px 16px rgba(0,0,0,.19),inset 0 2px 2px rgba(255,255,255,.88),inset 0 -9px 16px rgba(0,0,0,.16),inset 8px 0 18px rgba(255,255,255,.10),0 0 0 3px rgba(255,255,255,.13);cursor:pointer;isolation:isolate;overflow:visible;transform:translateZ(0);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
.nvrpp-plan-control-pill{grid-template-columns:28px auto;gap:8px;width:auto;min-width:124px;padding:0 18px;border-radius:999px}.nvrpp-plan-control-pill .nvrpp-plan-icon{width:23px;height:23px}.nvrpp-plan-control-text{position:relative;z-index:4;color:inherit;font-size:.72rem;font-weight:820;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.nvrpp-plan-control:before{content:"";position:absolute;z-index:1;left:13%;right:13%;top:7%;height:29%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.38) 56%,transparent);transform:rotate(-14deg);opacity:.84;pointer-events:none}
.nvrpp-plan-control:after{content:"";position:absolute;z-index:1;inset:4px;border-radius:inherit;border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 5px 8px rgba(255,255,255,.17),inset 0 -5px 9px rgba(0,0,0,.10);pointer-events:none}
.nvrpp-plan-control:hover{transform:translateY(-4px) scale(1.035);filter:brightness(1.07);box-shadow:0 22px 42px rgba(0,0,0,.27),0 0 28px color-mix(in srgb,var(--nvrpp-control-bg) 24%,transparent),inset 0 2px 2px rgba(255,255,255,.88),inset 0 -9px 16px rgba(0,0,0,.16),0 0 0 3px rgba(255,255,255,.15)}
.nvrpp-plan-icon{position:relative;z-index:4;display:grid;place-items:center;width:48%;height:48%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.24))}.nvrpp-plan-icon svg{display:block;width:100%;height:100%;fill:currentColor}.nvrpp-plan-icon svg.nch-svg-stroke{fill:none!important;stroke:currentColor!important}
.nvrpp-plan-glare{position:absolute;z-index:3;right:17%;top:14%;width:19%;height:9%;border-radius:999px;background:rgba(255,255,255,.72);filter:blur(.4px);transform:rotate(-28deg);pointer-events:none}
.nvrpp-plan-rings{position:absolute;z-index:-1;inset:-62%;pointer-events:none}.nvrpp-plan-rings i{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.22);box-shadow:0 0 18px rgba(255,255,255,.08),inset 0 0 12px rgba(255,255,255,.12);opacity:.48}.nvrpp-plan-rings i:first-child{width:115%;height:115%}.nvrpp-plan-rings i:last-child{width:148%;height:148%;opacity:.3}
.nvrpp-pro-social-wrap{position:relative;display:grid;place-items:center}.nvrpp-pro-social-menu{position:absolute;z-index:6;right:0;bottom:78px;display:flex;gap:7px;padding:7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(145deg,rgba(30,38,54,.96),rgba(12,18,31,.94));box-shadow:0 14px 32px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(12px) saturate(130%);opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.nvrpp-pro-social-wrap.is-open .nvrpp-pro-social-menu{opacity:1;visibility:visible;transform:none}
.nvrpp-pro-social-menu span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(230,237,247,.90));color:#111827;box-shadow:0 6px 16px rgba(0,0,0,.13),inset 0 1px 0 #fff}.nvrpp-pro-social-menu svg{width:17px;height:17px;fill:currentColor}
.nvrpp-plan-control.is-fx-running[data-nvrpp-fx="ring"] .nvrpp-plan-icon{animation:nvrpp-plan-ring .82s ease-in-out 1}.nvrpp-plan-control.is-fx-running[data-nvrpp-fx="pulse"]{animation:nvrpp-plan-pulse .96s cubic-bezier(.2,.75,.2,1) 1}.nvrpp-plan-control.is-fx-running[data-nvrpp-fx="glow"]{animation:nvrpp-plan-glow 1.18s ease-in-out 1}.nvrpp-plan-control.is-fx-running[data-nvrpp-fx="bounce"]{animation:nvrpp-plan-bounce .92s cubic-bezier(.28,.84,.42,1) 1}.nvrpp-plan-control.is-fx-running .nvrpp-plan-rings i:first-child{animation:nvrpp-plan-radar 1.35s ease-out 1}
@keyframes nvrpp-plan-ring{0%,100%{transform:rotate(0)}18%{transform:rotate(18deg)}36%{transform:rotate(-16deg)}54%{transform:rotate(13deg)}72%{transform:rotate(-9deg)}86%{transform:rotate(5deg)}}
@keyframes nvrpp-plan-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.11)}72%{transform:scale(1.035)}}
@keyframes nvrpp-plan-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12);box-shadow:0 18px 34px rgba(0,0,0,.24),0 0 0 9px rgba(255,255,255,.10),0 0 30px rgba(255,255,255,.28),inset 0 2px 2px rgba(255,255,255,.88)}}
@keyframes nvrpp-plan-bounce{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(-13px) scale(1.02,.98)}42%{transform:translateY(0) scale(.98,1.02)}58%{transform:translateY(-7px)}74%{transform:translateY(0)}88%{transform:translateY(-3px)}}
@keyframes nvrpp-plan-radar{0%{transform:translate(-50%,-50%) scale(.88);opacity:.48}100%{transform:translate(-50%,-50%) scale(1.72);opacity:0}}

@media(max-width:900px){
  .nvrpp-progress-story{min-height:0!important}.nvrpp-progress-story>.nvrpp-feature-copy{padding-top:0}.nvrpp-progress-story>.nvrpp-feature-stage{top:auto!important}
  .nvrpp-plan-grid-live{grid-template-columns:1fr;max-width:720px}.nvrpp-plan-live{min-height:260px}
  .nvrpp-mobile-live .nvrpp-stage-media,.nvrpp-admin-live .nvrpp-stage-media,.nvrpp-feature-stage .nvrpp-stage-media{pointer-events:none}
}
@media(max-width:620px){
  .nvrpp-hero-stage .nvrpp-demo-widget{right:7%!important;bottom:7%!important}.nvrpp-hero-stage .nvrpp-hero-backtop{left:7%!important;right:auto!important;bottom:7%!important}
  .nvrpp-mobile-live .nvrpp-demo-widget{right:7%!important;bottom:7%!important}.nvrpp-mobile-live .nvrpp-mobile-backtop{left:7%!important;right:auto!important;bottom:7%!important}
  .nvrpp-scroll-percent{right:5%;top:5%;padding:9px 11px;border-radius:14px}.nvrpp-scroll-percent strong{font-size:2.45rem}.nvrpp-demo-progress-center{left:5%!important;width:90%!important;bottom:5%!important}
  .nvrpp-plan-grid-live .nvrpp-plan{padding:24px 20px}.nvrpp-plan-live{min-height:235px;border-radius:22px}.nvrpp-plan-live-label{left:14px;top:13px}.nvrpp-plan-live-lite>.nvrpp-plan-control-left{left:14px;bottom:37px}.nvrpp-plan-live-lite>.nvrpp-plan-control-right{right:14px;bottom:37px}.nvrpp-pro-zone{gap:10px;bottom:37px}.nvrpp-pro-zone-left{left:14px}.nvrpp-pro-zone-right{right:14px}.nvrpp-plan-control{width:54px;height:54px;min-width:54px;min-height:54px}.nvrpp-plan-control-pill{width:auto;min-width:106px;padding:0 13px;grid-template-columns:22px auto;gap:6px}.nvrpp-plan-control-pill .nvrpp-plan-icon{width:20px;height:20px}.nvrpp-plan-control-text{font-size:.65rem}.nvrpp-pro-social-menu{right:0;bottom:67px;gap:5px;padding:5px}.nvrpp-pro-social-menu span{width:29px;height:29px}.nvrpp-pro-social-menu svg{width:15px;height:15px}
}
@media(prefers-reduced-motion:reduce){
  .nvrpp-demo-widget.is-effect-running .nch-wa-button,.nvrpp-demo-widget.is-effect-running .nch-glass-rings i,.nvrpp-mobile-live.is-demo-active .nvrpp-stage-media,.nvrpp-mobile-live.is-demo-active .nvrpp-demo-widget,.nvrpp-mobile-live.is-demo-active .nvrpp-mobile-backtop,.nvrpp-plan-control.is-fx-running{animation:none!important}
}

/* ========================================================================
   v2.4.1 — mobile collision fix + always-on touch motion
   ======================================================================== */
@media (max-width:620px){
  /* Keep the two controls in separate corners. The CTA bubble now rises
     above WhatsApp instead of growing horizontally across the back-to-top. */
  .nvrpp-hero-stage .nvrpp-demo-widget,
  .nvrpp-mobile-live .nvrpp-demo-widget{
    right:7%!important;
    left:auto!important;
    bottom:7%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:9px!important;
    transform:translate3d(0,0,52px)!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-bubble,
  .nvrpp-mobile-live .nvrpp-demo-widget .nch-bubble{
    order:-1;
    width:min(190px,58vw)!important;
    min-width:0!important;
    max-width:min(190px,58vw)!important;
    min-height:0!important;
    padding:9px 34px 9px 14px!important;
    border-radius:18px!important;
    transform-origin:85% 100%;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-bubble-text,
  .nvrpp-mobile-live .nvrpp-demo-widget .nch-bubble-text{
    max-width:136px!important;
    font-size:11px!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-bubble-cta,
  .nvrpp-mobile-live .nvrpp-demo-widget .nch-bubble-cta{
    max-width:145px!important;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:12px!important;
    gap:6px!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-bubble-close{
    left:auto!important;
    right:-4px!important;
    bottom:-7px!important;
  }
  .nvrpp-hero-stage .nvrpp-hero-backtop,
  .nvrpp-mobile-live .nvrpp-mobile-backtop{
    left:7%!important;
    right:auto!important;
    bottom:7%!important;
    z-index:11!important;
  }
  .nvrpp-hero-stage .nvrpp-hero-backtop .nch-button,
  .nvrpp-mobile-live .nvrpp-mobile-backtop .nch-button{
    --nch-size:52px!important;
  }
  /* Extra safe zone so the decorative media never visually crowds controls. */
  .nvrpp-hero-stage.nvrpp-interactive-stage,
  .nvrpp-mobile-live{
    min-height:400px!important;
  }
}

/* Touch devices should feel alive even if IntersectionObserver or
   content-visibility delays the is-demo-active class. */
@media (hover:none) and (pointer:coarse){
  .nvrpp-hero-stage .nvrpp-stage-media,
  .nvrpp-mobile-live .nvrpp-stage-media{
    animation:nvrpp-touch-media-breathe 5.8s ease-in-out infinite alternate!important;
    transform-origin:center center;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget,
  .nvrpp-mobile-live .nvrpp-demo-widget{
    animation:nvrpp-touch-wa-float 3.15s ease-in-out infinite!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-backtop,
  .nvrpp-mobile-live .nvrpp-demo-backtop{
    animation:nvrpp-touch-up-float 3.15s .48s ease-in-out infinite!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-glass-rings i:nth-child(1),
  .nvrpp-mobile-live .nvrpp-demo-widget .nch-glass-rings i:nth-child(1){
    animation:nvrpp-touch-radar 2.4s ease-out infinite!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-glass-rings i:nth-child(2),
  .nvrpp-mobile-live .nvrpp-demo-widget .nch-glass-rings i:nth-child(2){
    animation:nvrpp-touch-radar 2.4s .8s ease-out infinite!important;
  }
  .nvrpp-hero-stage .nvrpp-demo-widget .nch-wa-button,
  .nvrpp-mobile-live .nvrpp-demo-widget .nch-wa-button{
    animation:nvrpp-touch-glass-pulse 2.9s ease-in-out infinite!important;
  }
  .nvrpp-touch-indicator{
    opacity:.12;
    animation:nvrpp-touch-idle-ring 2.8s ease-out infinite!important;
  }
}
@keyframes nvrpp-touch-media-breathe{
  0%{transform:scale(1.006) translate3d(-2px,2px,0)}
  100%{transform:scale(1.028) translate3d(4px,-4px,0)}
}
@keyframes nvrpp-touch-wa-float{
  0%,100%{translate:0 0}
  50%{translate:0 -7px}
}
@keyframes nvrpp-touch-up-float{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}
@keyframes nvrpp-touch-radar{
  0%{transform:translate(-50%,-50%) scale(.82);opacity:.5}
  75%,100%{transform:translate(-50%,-50%) scale(1.62);opacity:0}
}
@keyframes nvrpp-touch-glass-pulse{
  0%,100%{filter:brightness(1);box-shadow:0 16px 34px rgba(9,16,30,.27),0 6px 13px rgba(0,0,0,.17),inset 0 2px 2px rgba(255,255,255,.48),inset 0 -9px 16px rgba(0,0,0,.2),0 0 0 2px rgba(255,255,255,.08)}
  50%{filter:brightness(1.08);box-shadow:0 19px 38px rgba(9,16,30,.28),0 0 28px rgba(37,211,102,.28),inset 0 2px 2px rgba(255,255,255,.58),inset 0 -9px 16px rgba(0,0,0,.18),0 0 0 3px rgba(255,255,255,.12)}
}
@keyframes nvrpp-touch-idle-ring{
  0%{transform:scale(.45);opacity:.28;box-shadow:0 0 0 0 rgba(108,180,255,.28)}
  100%{transform:scale(1.2);opacity:0;box-shadow:0 0 0 24px rgba(108,180,255,0)}
}
@media(prefers-reduced-motion:reduce){
  .nvrpp-hero-stage .nvrpp-stage-media,
  .nvrpp-mobile-live .nvrpp-stage-media,
  .nvrpp-hero-stage .nvrpp-demo-widget,
  .nvrpp-mobile-live .nvrpp-demo-widget,
  .nvrpp-hero-stage .nvrpp-demo-backtop,
  .nvrpp-mobile-live .nvrpp-demo-backtop,
  .nvrpp-hero-stage .nch-glass-rings i,
  .nvrpp-mobile-live .nch-glass-rings i,
  .nvrpp-hero-stage .nch-wa-button,
  .nvrpp-mobile-live .nch-wa-button,
  .nvrpp-touch-indicator{animation:none!important;translate:none!important}
}
.nvrpp-touch-device .nvrpp-hero-stage .nvrpp-stage-media,
.nvrpp-touch-device .nvrpp-mobile-live .nvrpp-stage-media{animation:nvrpp-touch-media-breathe 5.8s ease-in-out infinite alternate}
.nvrpp-touch-device .nvrpp-hero-stage .nvrpp-demo-widget,
.nvrpp-touch-device .nvrpp-mobile-live .nvrpp-demo-widget{animation:nvrpp-touch-wa-float 3.15s ease-in-out infinite}
.nvrpp-touch-device .nvrpp-hero-stage .nvrpp-demo-backtop,
.nvrpp-touch-device .nvrpp-mobile-live .nvrpp-demo-backtop{animation:nvrpp-touch-up-float 3.15s .48s ease-in-out infinite}
.nvrpp-touch-device .nvrpp-hero-stage .nch-wa-button,
.nvrpp-touch-device .nvrpp-mobile-live .nch-wa-button{animation:nvrpp-touch-glass-pulse 2.9s ease-in-out infinite}

/* ========================================================================
   v2.4.2 — macOS bounce + CTA cadence + back-to-top + Pro phone vibration
   ======================================================================== */
/* WhatsApp controls use a Dock-like vertical hop: quick lift, soft squash,
   smaller rebound and settle. Applied only while JS adds the cycle class. */
.nvrpp-contact-hub-lite .nvrpp-demo-widget.is-macos-bounce .nch-wa-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-wa.is-macos-bounce{
  animation:nvrpp-macos-dock-bounce 1.08s cubic-bezier(.22,.75,.3,1) both!important;
  transform-origin:50% 100%!important;
  will-change:transform;
}
@keyframes nvrpp-macos-dock-bounce{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  16%{transform:translate3d(0,-18px,0) scale(.98,1.025)}
  30%{transform:translate3d(0,0,0) scale(1.025,.975)}
  44%{transform:translate3d(0,-10px,0) scale(.99,1.015)}
  58%{transform:translate3d(0,0,0) scale(1.012,.988)}
  70%{transform:translate3d(0,-5px,0) scale(.997,1.006)}
  82%{transform:translate3d(0,0,0) scale(1)}
}

/* Back-to-top automatically demonstrates its launch/glass response. */
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-auto-launch .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-up.is-auto-launch{
  animation:nvrpp-auto-up-launch 1.02s cubic-bezier(.2,.82,.35,1) both!important;
  transform-origin:50% 100%;
}
@keyframes nvrpp-auto-up-launch{
  0%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  18%{transform:translate3d(0,-11px,0) scale(.98,1.03);filter:brightness(1.12)}
  38%{transform:translate3d(0,0,0) scale(1.04,.97)}
  56%{transform:translate3d(0,-6px,0) scale(.995,1.015)}
  74%{transform:translate3d(0,0,0) scale(1);filter:brightness(1.04)}
}

/* Pro phone: short haptic-style vibration with a tiny tilt, then settle. */
.nvrpp-contact-hub-lite .nvrpp-pro-phone.is-phone-vibrating{
  animation:nvrpp-pro-phone-vibrate .74s ease-in-out both!important;
  transform-origin:50% 70%;
}
.nvrpp-contact-hub-lite .nvrpp-pro-phone.is-phone-vibrating .nvrpp-plan-icon{
  animation:nvrpp-pro-phone-icon-ring .74s ease-in-out both!important;
}
@keyframes nvrpp-pro-phone-vibrate{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  12%{transform:translate3d(-3px,0,0) rotate(-4deg)}
  24%{transform:translate3d(3px,0,0) rotate(4deg)}
  36%{transform:translate3d(-2.5px,0,0) rotate(-3deg)}
  48%{transform:translate3d(2.5px,0,0) rotate(3deg)}
  60%{transform:translate3d(-1.5px,0,0) rotate(-2deg)}
  72%{transform:translate3d(1.5px,0,0) rotate(2deg)}
  86%{transform:translate3d(0,0,0) rotate(0)}
}
@keyframes nvrpp-pro-phone-icon-ring{
  0%,100%{transform:rotate(0)}
  20%{transform:rotate(-13deg)}
  40%{transform:rotate(12deg)}
  60%{transform:rotate(-8deg)}
  80%{transform:rotate(5deg)}
}

/* CTA open/close feels intentional rather than snapping. */
.nvrpp-contact-hub-lite .nch-bubble{
  transition:opacity .34s ease,transform .42s cubic-bezier(.2,.75,.25,1),visibility .34s ease!important;
}

@media(max-width:620px){
  .nvrpp-contact-hub-lite .nvrpp-demo-widget.is-macos-bounce .nch-wa-button,
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-wa.is-macos-bounce{
    animation-name:nvrpp-macos-dock-bounce-mobile!important;
  }
}
@keyframes nvrpp-macos-dock-bounce-mobile{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  18%{transform:translate3d(0,-12px,0) scale(.985,1.02)}
  34%{transform:translate3d(0,0,0) scale(1.02,.98)}
  50%{transform:translate3d(0,-7px,0)}
  66%{transform:translate3d(0,0,0)}
  80%{transform:translate3d(0,-3px,0)}
}
@media(prefers-reduced-motion:reduce){
  .nvrpp-contact-hub-lite .is-macos-bounce .nch-wa-button,
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-wa.is-macos-bounce,
  .nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-auto-launch .nch-button,
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-up.is-auto-launch,
  .nvrpp-contact-hub-lite .nvrpp-pro-phone.is-phone-vibrating,
  .nvrpp-contact-hub-lite .nvrpp-pro-phone.is-phone-vibrating .nvrpp-plan-icon{animation:none!important}
}

/* ========================================================================
   v2.4.3 — reliable touch motion + tap-to-cycle style/color/effect
   ======================================================================== */
.nvrpp-contact-hub-lite .nvrpp-demo-widget .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop] .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  pointer-events:auto!important;
}

/* Every tap can change the optical material without changing layout. */
.nvrpp-contact-hub-lite .is-variant-glass .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-variant-glass .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-variant-glass{
  filter:saturate(1.05) brightness(1.04);
  box-shadow:0 18px 38px rgba(4,14,30,.30),0 0 30px color-mix(in srgb,var(--nvrpp-accent,#25D366) 26%,transparent),inset 0 2px 2px rgba(255,255,255,.82),inset 0 -10px 18px rgba(0,0,0,.18),0 0 0 3px rgba(255,255,255,.13)!important;
}
.nvrpp-contact-hub-lite .is-variant-neon .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-variant-neon .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-variant-neon{
  border-color:rgba(255,255,255,.82)!important;
  filter:saturate(1.28) brightness(1.08);
  box-shadow:0 12px 28px rgba(4,14,30,.26),0 0 12px var(--nvrpp-accent,#25D366),0 0 34px color-mix(in srgb,var(--nvrpp-accent,#25D366) 60%,transparent),inset 0 1px 2px rgba(255,255,255,.72)!important;
}
.nvrpp-contact-hub-lite .is-variant-metal .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-variant-metal .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-variant-metal{
  filter:saturate(.78) contrast(1.05);
  box-shadow:0 16px 30px rgba(3,12,28,.32),inset 0 4px 5px rgba(255,255,255,.64),inset 0 -13px 18px rgba(0,0,0,.31),inset 8px 0 14px rgba(255,255,255,.12),0 0 0 2px rgba(255,255,255,.20)!important;
}
.nvrpp-contact-hub-lite .is-variant-soft .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-variant-soft .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-variant-soft{
  filter:saturate(.94) brightness(1.10);
  box-shadow:0 12px 26px color-mix(in srgb,var(--nvrpp-accent,#25D366) 26%,rgba(13,34,57,.16)),inset 0 2px 4px rgba(255,255,255,.76),0 0 0 5px rgba(255,255,255,.10)!important;
}
.nvrpp-contact-hub-lite .is-variant-prism .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-variant-prism .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-variant-prism{
  filter:saturate(1.38) brightness(1.06);
  box-shadow:0 18px 34px rgba(4,14,30,.28),-10px -5px 24px rgba(80,188,255,.22),10px 7px 28px rgba(179,82,255,.22),0 0 28px color-mix(in srgb,var(--nvrpp-accent,#25D366) 34%,transparent),inset 0 2px 3px rgba(255,255,255,.80)!important;
}

/* Immediate user-triggered effects. They are intentionally short and work on touch. */
.nvrpp-contact-hub-lite .is-user-fx-bounce .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-user-fx-bounce .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-user-fx-bounce{animation:nvrpp243-user-bounce .72s cubic-bezier(.2,.82,.3,1) both!important}
.nvrpp-contact-hub-lite .is-user-fx-ring .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-user-fx-ring .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-user-fx-ring{animation:nvrpp243-user-ring .74s ease-in-out both!important}
.nvrpp-contact-hub-lite .is-user-fx-wobble .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-user-fx-wobble .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-user-fx-wobble{animation:nvrpp243-user-wobble .64s ease-in-out both!important}
.nvrpp-contact-hub-lite .is-user-fx-pop .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-user-fx-pop .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-user-fx-pop{animation:nvrpp243-user-pop .68s cubic-bezier(.18,.88,.32,1.28) both!important}
.nvrpp-contact-hub-lite .is-user-fx-glow .nch-wa-button,
.nvrpp-contact-hub-lite [data-nvrpp-demo-backtop].is-user-fx-glow .nch-button,
.nvrpp-contact-hub-lite .nvrpp-plan-control.is-user-fx-glow{animation:nvrpp243-user-glow .86s ease-in-out both!important}
@keyframes nvrpp243-user-bounce{0%,100%{transform:translate3d(0,0,0) scale(1)}32%{transform:translate3d(0,-16px,0) scale(.98,1.03)}55%{transform:translate3d(0,0,0) scale(1.035,.97)}74%{transform:translate3d(0,-6px,0)}}
@keyframes nvrpp243-user-ring{0%,100%{transform:rotate(0) scale(1)}22%{transform:rotate(-10deg) scale(1.08)}45%{transform:rotate(9deg) scale(1.06)}68%{transform:rotate(-4deg) scale(1.03)}}
@keyframes nvrpp243-user-wobble{0%,100%{transform:translateX(0) rotate(0)}18%{transform:translateX(-7px) rotate(-7deg)}36%{transform:translateX(7px) rotate(7deg)}54%{transform:translateX(-4px) rotate(-4deg)}72%{transform:translateX(3px) rotate(3deg)}}
@keyframes nvrpp243-user-pop{0%{transform:scale(1)}36%{transform:scale(1.18)}58%{transform:scale(.94)}78%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes nvrpp243-user-glow{0%,100%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.10);filter:brightness(1.22) saturate(1.2)}70%{transform:scale(.98);filter:brightness(1.08)}}

/* Robust mobile motion: animate the inner physical controls, not the positioned
   wrapper. This avoids the mobile layout's transform!important blocking motion. */
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-hero-stage .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-mobile-live .nch-wa-button{
  animation:nvrpp243-mobile-wa-idle 2.85s ease-in-out infinite!important;
  transform-origin:50% 100%!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-hero-stage [data-nvrpp-demo-backtop] .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-mobile-live [data-nvrpp-demo-backtop] .nch-button{
  animation:nvrpp243-mobile-up-idle 3.15s .45s ease-in-out infinite!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-pro-phone{
  animation:nvrpp243-mobile-phone-idle 2.55s ease-in-out infinite!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-demo-widget .nch-glass-rings i:first-child,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-demo-widget .nch-glass-rings i:nth-child(2){animation:nvrpp-touch-radar 2.25s ease-out infinite!important}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-demo-widget .nch-glass-rings i:nth-child(2){animation-delay:.72s!important}
@keyframes nvrpp243-mobile-wa-idle{0%,100%{transform:translate3d(0,0,0) scale(1)}48%{transform:translate3d(0,-8px,0) scale(1.035)}58%{transform:translate3d(0,-6px,0) scale(1.02)}}
@keyframes nvrpp243-mobile-up-idle{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-6px,0) scale(1.045)}}
@keyframes nvrpp243-mobile-phone-idle{0%,82%,100%{transform:translate3d(0,0,0) rotate(0)}86%{transform:translate3d(-3px,0,0) rotate(-4deg)}90%{transform:translate3d(3px,0,0) rotate(4deg)}94%{transform:translate3d(-2px,0,0) rotate(-2deg)}98%{transform:translate3d(2px,0,0) rotate(2deg)}}

/* State-change flash gives unmistakable tap feedback even between animations. */
.nvrpp-contact-hub-lite .nvrpp-state-changed{transition:background-color .22s ease,box-shadow .22s ease,filter .22s ease!important}
.nvrpp-contact-hub-lite .nvrpp-demo-widget.nvrpp-state-changed .nch-bubble{border-color:color-mix(in srgb,var(--nvrpp-accent,#25D366) 48%,rgba(255,255,255,.22))!important;box-shadow:0 16px 34px rgba(4,14,30,.24),0 0 24px color-mix(in srgb,var(--nvrpp-accent,#25D366) 22%,transparent)!important}

@media(max-width:900px){
  .nvrpp-contact-hub-lite .nvrpp-plan-control,
  .nvrpp-contact-hub-lite .nch-wa-button,
  .nvrpp-contact-hub-lite [data-nvrpp-demo-backtop] .nch-button{cursor:pointer!important}
}

/* v2.4.4 — mobile tap effects must win over continuous idle motion.
   Layout stays on the wrapper; the physical control gets the transient FX. */
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-user-animating .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive [data-nvrpp-demo-backtop].nvrpp-user-animating .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-user-animating{
  animation:none!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-user-animating.is-user-fx-bounce .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive [data-nvrpp-demo-backtop].nvrpp-user-animating.is-user-fx-bounce .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-user-animating.is-user-fx-bounce{
  animation:nvrpp244-tap-bounce .78s cubic-bezier(.18,.86,.28,1) both!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-user-animating.is-user-fx-ring .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive [data-nvrpp-demo-backtop].nvrpp-user-animating.is-user-fx-ring .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-user-animating.is-user-fx-ring{
  animation:nvrpp244-tap-ring .78s ease-in-out both!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-user-animating.is-user-fx-wobble .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive [data-nvrpp-demo-backtop].nvrpp-user-animating.is-user-fx-wobble .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-user-animating.is-user-fx-wobble{
  animation:nvrpp244-tap-wobble .72s ease-in-out both!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-user-animating.is-user-fx-pop .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive [data-nvrpp-demo-backtop].nvrpp-user-animating.is-user-fx-pop .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-user-animating.is-user-fx-pop{
  animation:nvrpp244-tap-pop .74s cubic-bezier(.16,.9,.28,1.22) both!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-user-animating.is-user-fx-glow .nch-wa-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive [data-nvrpp-demo-backtop].nvrpp-user-animating.is-user-fx-glow .nch-button,
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-plan-control.nvrpp-user-animating.is-user-fx-glow{
  animation:nvrpp244-tap-glow .88s ease-in-out both!important;
}
@keyframes nvrpp244-tap-bounce{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  22%{transform:translate3d(0,-14px,0) scale(.98,1.04)}
  42%{transform:translate3d(0,0,0) scale(1.06,.95)}
  60%{transform:translate3d(0,-7px,0) scale(.995,1.02)}
  78%{transform:translate3d(0,0,0) scale(1.02,.99)}
}
@keyframes nvrpp244-tap-ring{
  0%,100%{transform:rotate(0) scale(1);filter:brightness(1)}
  18%{transform:rotate(-11deg) scale(1.09);filter:brightness(1.18)}
  36%{transform:rotate(10deg) scale(1.07)}
  55%{transform:rotate(-6deg) scale(1.045)}
  74%{transform:rotate(3deg) scale(1.02)}
}
@keyframes nvrpp244-tap-wobble{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  16%{transform:translate3d(-8px,0,0) rotate(-8deg)}
  32%{transform:translate3d(8px,0,0) rotate(8deg)}
  48%{transform:translate3d(-5px,0,0) rotate(-5deg)}
  64%{transform:translate3d(4px,0,0) rotate(4deg)}
  80%{transform:translate3d(-2px,0,0) rotate(-2deg)}
}
@keyframes nvrpp244-tap-pop{
  0%,100%{transform:scale(1)}
  28%{transform:scale(1.2)}
  48%{transform:scale(.91)}
  68%{transform:scale(1.09)}
  84%{transform:scale(.985)}
}
@keyframes nvrpp244-tap-glow{
  0%,100%{transform:scale(1);filter:brightness(1) saturate(1)}
  34%{transform:scale(1.12);filter:brightness(1.32) saturate(1.35)}
  58%{transform:scale(.965);filter:brightness(1.12) saturate(1.16)}
  78%{transform:scale(1.045);filter:brightness(1.18) saturate(1.22)}
}

/* While a widget is explicitly tapped, make the glass/radar response obvious too. */
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-demo-widget.nvrpp-user-animating .nch-glass-rings i{
  animation:nvrpp244-touch-radar .9s ease-out both!important;
}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-demo-widget.nvrpp-user-animating .nch-glass-rings i:nth-child(2){animation-delay:.10s!important}
.nvrpp-contact-hub-lite.nvrpp-mobile-alive .nvrpp-demo-widget.nvrpp-user-animating .nch-glass-rings i:nth-child(3){animation-delay:.20s!important}
@keyframes nvrpp244-touch-radar{0%{opacity:.78;transform:scale(.72)}100%{opacity:0;transform:scale(1.42)}}

/* ========================================================================
   v2.4.6 — mobile autonomous motion: CSS-first, no tap / observer required
   ======================================================================== */
/*
 * Previous builds could still depend on JS replay classes for non-phone
 * controls. The phone worked because it already had a permanent CSS idle
 * animation. Give every showcase control the same robust treatment.
 * Explicit tap FX win by excluding .nvrpp-user-animating elements.
 */
@media (max-width:1024px){
  /* WhatsApp: macOS Dock-style bounce with a calm pause between cycles. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget:not(.nvrpp-user-animating) .nch-wa-button{
    animation:nvrpp246-wa-autoplay 3.2s cubic-bezier(.2,.78,.28,1) infinite!important;
    transform-origin:50% 100%!important;
    will-change:transform,filter;
  }

  /* Back to top: launch, glass pulse and settle. */
  .nvrpp-contact-hub-lite [data-nvrpp-demo-backtop]:not(.nvrpp-user-animating) .nch-button{
    animation:nvrpp246-up-autoplay 3.45s .42s cubic-bezier(.2,.8,.3,1) infinite!important;
    transform-origin:50% 100%!important;
    will-change:transform,filter;
  }

  /* Lite/Pro live showcase controls. Phone keeps its dedicated vibration. */
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-wa:not(.nvrpp-user-animating){
    animation:nvrpp246-wa-autoplay 3.2s .18s cubic-bezier(.2,.78,.28,1) infinite!important;
    transform-origin:50% 100%!important;
  }
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-up:not(.nvrpp-user-animating){
    animation:nvrpp246-up-autoplay 3.45s .7s cubic-bezier(.2,.8,.3,1) infinite!important;
    transform-origin:50% 100%!important;
  }
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-link:not(.nvrpp-user-animating){
    animation:nvrpp246-cta-autoplay 3.6s .3s ease-in-out infinite!important;
  }
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-social:not(.nvrpp-user-animating){
    animation:nvrpp246-social-autoplay 3.8s .82s ease-in-out infinite!important;
  }

  /* Radar/glass rings must also animate continuously without a JS class. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget:not(.nvrpp-user-animating) .nch-glass-rings i:nth-child(1),
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-wa:not(.nvrpp-user-animating) .nvrpp-plan-rings i:nth-child(1),
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-social:not(.nvrpp-user-animating) .nvrpp-plan-rings i:nth-child(1){
    animation:nvrpp246-radar 2.35s ease-out infinite!important;
  }
  .nvrpp-contact-hub-lite .nvrpp-demo-widget:not(.nvrpp-user-animating) .nch-glass-rings i:nth-child(2),
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-wa:not(.nvrpp-user-animating) .nvrpp-plan-rings i:nth-child(2),
  .nvrpp-contact-hub-lite .nvrpp-plan-control.nvrpp-pro-social:not(.nvrpp-user-animating) .nvrpp-plan-rings i:nth-child(2){
    animation:nvrpp246-radar 2.35s .78s ease-out infinite!important;
  }

  /* CTA opens and closes every two seconds: 4 s full open/close cycle. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget .nch-bubble{
    visibility:visible!important;
    animation:nvrpp246-bubble-cycle 4s ease-in-out infinite!important;
    transform-origin:85% 100%!important;
    will-change:opacity,transform;
  }

  /* Make the glass highlight visibly breathe even when position is static. */
  .nvrpp-contact-hub-lite .nvrpp-plan-control:not(.nvrpp-user-animating):before,
  .nvrpp-contact-hub-lite .nvrpp-demo-widget:not(.nvrpp-user-animating) .nch-glass-glare{
    animation:nvrpp246-glass-shimmer 3.1s ease-in-out infinite!important;
  }
}

@keyframes nvrpp246-wa-autoplay{
  0%,8%,62%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  16%{transform:translate3d(0,-14px,0) scale(.985,1.025);filter:brightness(1.12)}
  24%{transform:translate3d(0,0,0) scale(1.035,.97)}
  32%{transform:translate3d(0,-8px,0) scale(.995,1.014)}
  40%{transform:translate3d(0,0,0) scale(1.014,.99)}
  48%{transform:translate3d(0,-3px,0) scale(1.004)}
}
@keyframes nvrpp246-up-autoplay{
  0%,10%,66%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  20%{transform:translate3d(0,-11px,0) scale(.98,1.035);filter:brightness(1.2)}
  30%{transform:translate3d(0,0,0) scale(1.055,.96);filter:brightness(1.1)}
  40%{transform:translate3d(0,-6px,0) scale(1.01);filter:brightness(1.16)}
  50%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
}
@keyframes nvrpp246-cta-autoplay{
  0%,12%,68%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  22%{transform:translate3d(0,-5px,0) scale(1.045);filter:brightness(1.16)}
  32%{transform:translate3d(0,0,0) scale(.985);filter:brightness(1.08)}
  42%{transform:translate3d(0,-3px,0) scale(1.025);filter:brightness(1.13)}
  52%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
}
@keyframes nvrpp246-social-autoplay{
  0%,12%,70%,100%{transform:rotate(0) scale(1);filter:brightness(1)}
  22%{transform:rotate(-8deg) scale(1.08);filter:brightness(1.16)}
  32%{transform:rotate(8deg) scale(1.07)}
  42%{transform:rotate(-4deg) scale(1.035)}
  52%{transform:rotate(2deg) scale(1.015);filter:brightness(1.08)}
}
@keyframes nvrpp246-radar{
  0%{opacity:.58;transform:scale(.72)}
  78%,100%{opacity:0;transform:scale(1.5)}
}
@keyframes nvrpp246-bubble-cycle{
  0%,43%{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
  50%,93%{opacity:0;transform:translate3d(0,8px,0) scale(.94);pointer-events:none}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
}
@keyframes nvrpp246-glass-shimmer{
  0%,100%{opacity:.58;filter:brightness(1)}
  50%{opacity:1;filter:brightness(1.18)}
}

@media(prefers-reduced-motion:reduce){
  /* Respect the OS accessibility preference. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget .nch-wa-button,
  .nvrpp-contact-hub-lite [data-nvrpp-demo-backtop] .nch-button,
  .nvrpp-contact-hub-lite .nvrpp-plan-control,
  .nvrpp-contact-hub-lite .nvrpp-plan-rings i,
  .nvrpp-contact-hub-lite .nch-glass-rings i,
  .nvrpp-contact-hub-lite .nch-bubble,
  .nvrpp-contact-hub-lite .nvrpp-plan-control:before,
  .nvrpp-contact-hub-lite .nch-glass-glare{animation:none!important}
}


/* ========================================================================
   v2.4.7 — dedicated WhatsApp motion shell for upper/mobile showcase widgets
   ======================================================================== */
.nvrpp-contact-hub-lite .nvrpp-wa-autoplay-shell{
  position:relative;
  display:grid;
  place-items:center;
  width:max-content;
  height:max-content;
  border-radius:999px;
  transform-origin:50% 100%;
}
@media (max-width:1024px){
  /* Animate a wrapper that no positioning or interaction rule writes to. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget .nvrpp-wa-autoplay-shell{
    animation:nvrpp247-wa-shell-bounce 3.15s cubic-bezier(.2,.78,.28,1) infinite!important;
    will-change:transform,filter;
  }
  /* Disable the competing idle transform on the physical button only. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget:not(.nvrpp-user-animating) .nvrpp-wa-autoplay-shell > .nch-wa-button{
    animation:none!important;
    transform:none!important;
  }
  /* Preserve explicit tap/click effects on the inner physical button. */
  .nvrpp-contact-hub-lite .nvrpp-demo-widget.nvrpp-user-animating .nvrpp-wa-autoplay-shell{
    animation-play-state:paused!important;
  }
}
@keyframes nvrpp247-wa-shell-bounce{
  0%,7%,61%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  15%{transform:translate3d(0,-15px,0) scale(.985,1.028);filter:brightness(1.14)}
  23%{transform:translate3d(0,0,0) scale(1.04,.968)}
  31%{transform:translate3d(0,-8px,0) scale(.995,1.016);filter:brightness(1.1)}
  39%{transform:translate3d(0,0,0) scale(1.017,.99)}
  47%{transform:translate3d(0,-3px,0) scale(1.006)}
  54%{transform:translate3d(0,0,0) scale(1)}
}
@media (max-width:620px){
  .nvrpp-contact-hub-lite .nvrpp-demo-widget .nvrpp-wa-autoplay-shell{
    animation-name:nvrpp247-wa-shell-bounce-mobile!important;
    animation-duration:2.85s!important;
  }
}
@keyframes nvrpp247-wa-shell-bounce-mobile{
  0%,8%,62%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}
  17%{transform:translate3d(0,-11px,0) scale(.99,1.022);filter:brightness(1.14)}
  26%{transform:translate3d(0,0,0) scale(1.035,.974)}
  35%{transform:translate3d(0,-6px,0) scale(1.005);filter:brightness(1.1)}
  44%{transform:translate3d(0,0,0) scale(1.014,.99)}
  52%{transform:translate3d(0,-2px,0) scale(1.004)}
}


/* v3.1.0 Web Final — mobile render-cost and readability polish. */
@media(max-width:620px){
  .nvrpp-btn-ghost,.nvrpp-hero-stage,.nvrpp-anchorbar,.nvrpp-mobile-shot,.nvrpp-privacy-cards article,.nvrpp-admin-style-switcher,.nvrpp-scroll-percent,.nvrpp-plan-live-label,.nvrpp-pro-social-menu,.nvrpp-demo-widget .nch-bubble{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .nvrpp-demo-widget .nch-bubble-text{font-size:11px!important;line-height:1.35!important}
}

/* ========================================================================
   v3.1.2 — product demo placement isolation
   Prevent Contact Hub Lite's live frontend stylesheet from repositioning the
   embedded showcase controls, and remove duplicate site-level controls on the
   dedicated Contact Hub Lite product page.
   ======================================================================== */
body.nvrpp-contact-hub-lite-product-page #nch-wa-root,
body.nvrpp-contact-hub-lite-product-page #nch-tg-root,
body.nvrpp-contact-hub-lite-product-page #nch-backtop,
body.nvrpp-contact-hub-lite-product-page #nch-page-progress{
  display:none!important;
}

.nvrpp-contact-hub-lite .nvrpp-demo-surface.nch-root{
  position:absolute!important;
  z-index:8!important;
}

.nvrpp-contact-hub-lite .nvrpp-demo-widget.nch-root.nch-bottom-right{
  top:auto!important;
  right:6%!important;
  bottom:8%!important;
  left:auto!important;
}

.nvrpp-contact-hub-lite .nvrpp-hero-stage .nvrpp-demo-widget.nch-root.nch-bottom-right{
  top:auto!important;
  right:5.5%!important;
  bottom:8.5%!important;
  left:auto!important;
}

.nvrpp-contact-hub-lite .nvrpp-feature-stage[data-nvrpp-demo="whatsapp"] .nvrpp-demo-widget.nch-root.nch-bottom-right{
  top:auto!important;
  right:7%!important;
  bottom:9%!important;
  left:auto!important;
}

.nvrpp-contact-hub-lite .nvrpp-mobile-live .nvrpp-demo-widget.nch-root.nch-bottom-right{
  top:auto!important;
  right:7%!important;
  bottom:9%!important;
  left:auto!important;
}

.nvrpp-contact-hub-lite .nvrpp-admin-live .nvrpp-demo-widget.nch-root.nch-bottom-right{
  top:auto!important;
  right:8%!important;
  bottom:9%!important;
  left:auto!important;
}

.nvrpp-contact-hub-lite .nvrpp-demo-backtop.nch-root{
  position:absolute!important;
}

.nvrpp-contact-hub-lite .nvrpp-hero-stage .nvrpp-hero-backtop.nch-root{
  top:auto!important;
  right:auto!important;
  bottom:8.5%!important;
  left:5.5%!important;
}

.nvrpp-contact-hub-lite .nvrpp-mobile-live .nvrpp-mobile-backtop.nch-root{
  top:auto!important;
  right:auto!important;
  bottom:9%!important;
  left:7%!important;
}

@media(max-width:620px){
  .nvrpp-contact-hub-lite .nvrpp-hero-stage .nvrpp-demo-widget.nch-root.nch-bottom-right,
  .nvrpp-contact-hub-lite .nvrpp-mobile-live .nvrpp-demo-widget.nch-root.nch-bottom-right{
    top:auto!important;
    right:7%!important;
    bottom:7%!important;
    left:auto!important;
  }
  .nvrpp-contact-hub-lite .nvrpp-hero-stage .nvrpp-hero-backtop.nch-root,
  .nvrpp-contact-hub-lite .nvrpp-mobile-live .nvrpp-mobile-backtop.nch-root{
    top:auto!important;
    right:auto!important;
    bottom:7%!important;
    left:7%!important;
  }
}
