/* /home-layout-control.css */
/* Layout visibility is independent of each module’s content visibility. */
.np-main > [data-layout-module]{order:var(--np-layout-order)!important}
.np-main > [data-layout-hidden="true"]{display:none!important}


/* /hero-slogan.css */
/* V5.8.68: always-visible slogan, compact spacing above product search. */
.np-home570 #npHero{padding-bottom:0}
.np-home570 #npHeroSlogan{position:relative;z-index:1;margin-top:-36px;padding-bottom:16px;text-align:center}
.np-home570 .np-slogan-line{position:relative;margin:0;padding:12px 8px;color:#e6eef1;font:600 clamp(15px,1.3vw,20px)/1.65 Arial,'Segoe UI',sans-serif;letter-spacing:.025em;text-wrap:balance;overflow-wrap:break-word;text-shadow:0 2px 12px #00182199}
.np-home570 .np-slogan-line::before,.np-home570 .np-slogan-line::after{content:"";position:absolute;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,#d9bd7759,transparent)}
.np-home570 .np-slogan-line::before{top:0}.np-home570 .np-slogan-line::after{bottom:0}
.np-home570 .np-slogan-line strong{font-weight:700;color:#f5d580}
.np-home570 .np-slogan-separator{display:inline-block;margin-inline:.45em;color:#f5d580;font-size:.8em;vertical-align:.08em}
.np-home570 .np-main>.np-search-section{margin-top:0;padding-top:0}
/* Retire controls/typing even if an older HTML response is cached. */
.np-home570 #npHeroSlogan .np-slogan-controls,.np-home570 #npHeroSlogan .np-slogan-typed{display:none!important}
.np-home570 #npHeroSlogan [data-slogan-static]{visibility:visible}
.np-home570 .np-slogan-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.np-home570 .np-slogan-line{font-size:15px;letter-spacing:.01em;line-height:1.7;padding:10px 4px}.np-home570 #npHeroSlogan{margin-top:-18px;padding-bottom:12px}.np-home570 .np-slogan-separator{margin-inline:.25em}}

/* V5.8.71: total gap belongs to the slogan, not nested search wrappers. */
@media(max-width:700px){
 body.np-home570 #npHeroSlogan{padding-bottom:16px;margin-bottom:0}
 body.np-home570 .np-main>.np-search-section{margin-top:0;padding-top:0}
 body.np-home570 .np-main>.np-search-section>.np-wrap{padding-top:0}
}


/* /hero-title.css */
/* V5.8.72: center the brand over the project name, keeping the group at left. */
.np-home570 #npHero h1[data-home-project-name] { container-type: inline-size; }
.np-home570 #npHero h1[data-home-project-name] > .np-project-title-lockup {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: max-content;
  max-width: 100%;
  vertical-align: top;
  font-size: min(38px, 6.3cqi);
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  text-wrap: initial;
}
.np-home570 #npHero .np-project-title-lockup > span {
  display: block;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}
.np-home570 #npHero .np-project-title-brand {
  color: #edc575;
  font-size: 1.3em;
  line-height: 1.15;
  letter-spacing: .035em;
  margin-bottom: .14em;
}
.np-home570 #npHero .np-project-title-name {
  color: #fffdf7;
  font-size: 1em;
  line-height: 1.25;
  letter-spacing: 0;
}
/* Conservative fallback for browsers without container query units. */
@supports not (font-size: 1cqi) {
  .np-home570 #npHero h1[data-home-project-name] > .np-project-title-lockup { font-size: min(34px, 2.25vw); }
  @media (max-width: 700px) {
    .np-home570 #npHero h1[data-home-project-name] > .np-project-title-lockup { font-size: min(38px, 5.5vw); }
  }
}


/* /public-rhythm.css */
/* V5.8.73: public typography and vertical rhythm. No grid, order, image or colour changes.
   Hero title/brand, compact advisor identity, icon sizes and hidden states keep their own rules. */
body.np-rhythm, body.np-rhythm.np-site, body.np-rhythm.sf-standalone {
 --np-reading-font:var(--np-font-body,"NP Sans","Segoe UI",Arial,sans-serif);
 --np-heading-font:var(--np-font-display,"NP Serif",Georgia,serif);
 --np-type-body:1rem;
 --np-type-note:.875rem;
 --np-type-label:.8125rem;
 --np-type-control:.9375rem;
 --np-type-page:clamp(1.875rem,2.8vw,2.75rem);
 --np-type-section:clamp(1.625rem,2.3vw,2.25rem);
 --np-type-card:clamp(1.1875rem,1.5vw,1.375rem);
 --np-line-body:1.65;
 --np-line-heading:1.3;
 --np-panel-space:2rem;
 --np-module-gap:1rem;
 --np-heading-gap:1.5rem;
 font-family:var(--np-reading-font);
 font-size:var(--np-type-body);
 line-height:var(--np-line-body);
}
body.np-rhythm :is(p,li,dt,dd,label,input,select,textarea,button,summary,figcaption,small) {
 font-family:var(--np-reading-font);
}
body.np-rhythm :is(input,select,textarea) {font-size:1rem;line-height:1.5}
body.np-rhythm :is(main,#main,#main-content) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;min-height:44px;
}
body.np-rhythm :is(.np-btn,.btn,.nps-button,.nppt-cta,.sf-primary,.sf-secondary) {
 font-family:var(--np-reading-font);font-size:var(--np-type-control);line-height:1.45;
 min-height:44px;white-space:normal;
}
body.np-rhythm :is(.np-eyebrow,.kicker,.nppt-eyebrow,.npu-eyebrow,.npn-eyebrow,.np-video-eyebrow) {
 font-family:var(--np-reading-font);font-size:var(--np-type-label);line-height:1.5;letter-spacing:.08em;
}
/* Homepage: equal prominence for the heads of the existing modules. */
body.np-rhythm.np-home570 #main :is(.np-section-head,.np-overview-copy,.np-overview-heading,.np-video-intro,.np-panorama-heading,.nppt-head,.nps-demo-head,.nplc-heading,.npvb-heading) h2,
body.np-rhythm.np-home570 #main :is(#npfp-heading,#npu-heading,#npn-heading,#npFinanceTeaserTitle) {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);font-weight:700;
 line-height:var(--np-line-heading);letter-spacing:normal;word-spacing:normal;
 margin-block:0 .75rem;overflow-wrap:break-word;
}
body.np-rhythm.np-home570 #main .np-advisor-grid > div > h2 {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.3;
 letter-spacing:normal;margin-block:0 .75rem;
}
body.np-rhythm.np-home570 #main :is(.np-section-head,.np-video-intro,.np-panorama-heading,.nplc-heading,.npvb-heading) {
 margin-bottom:var(--np-heading-gap);
}
body.np-rhythm.np-home570 #main :is(.np-section-head,.np-overview-copy,.np-video-intro,.np-video-copy,.np-panorama-copy,.nplc-heading,.npvb-heading,.nppt-record-head) p,
body.np-rhythm.np-home570 #main :is(.np-overview-description,.nps-demo-intro,.np-hero-copy>p,.npu-intro,.npn-intro) {
 font-family:var(--np-reading-font);font-size:var(--np-type-body);line-height:var(--np-line-body);
}
body.np-rhythm.np-home570 #main :is(.np-type-body,.np-unit-top,.np-video-copy,.np-panorama-copy,.nppt-record-head) h3 {
 font-family:var(--np-reading-font);font-size:var(--np-type-card);line-height:1.4;
 font-weight:700;letter-spacing:normal;margin-block:0 .5rem;
}
body.np-rhythm.np-home570 #main :is(.npfp-profile-copy,.npfp-drawing-head,.np-overview-copy,.npu-copy,.npn-copy,.np-video-shorts-heading,.np-lead-form,.npvb-form) h3 {
 font-family:var(--np-reading-font);font-size:var(--np-type-card);font-weight:700;
 line-height:1.4;letter-spacing:normal;margin-block:0 .75rem;
}
body.np-rhythm.np-home570 #main .nps-demo-copy h3 {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.35;margin-block:0 .75rem;
}
body.np-rhythm.np-home570 #main :is(.np-type-detail,.np-unit-summary,.np-overview-row dt,.np-overview-row dd) {
 font-size:var(--np-type-note);line-height:1.6;
}
body.np-rhythm.np-home570 #main :is(.np-overview-row,.nplc-row,.npvb-row) {padding-block:.75rem}
body.np-rhythm.np-home570 #main :is(.nplc-row,.npvb-row) strong {
 font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;
}
body.np-rhythm.np-home570 #main :is(.np-slogan-line) {font-family:var(--np-reading-font)}
/* Keep nested panels from adding another large section gap. */
body.np-rhythm.np-home570 #main > :is(.np-section,.np-project-section,.np-video-section,.npfp-section,.npu-section,.npn-section,.nppt,.np-advisor-section) {
 padding-block:var(--np-panel-space);margin-block:0 var(--np-module-gap);
}
body.np-rhythm.np-home570 #main > :is(#vi-tri-ket-noi,#dat-lich-tham-quan,#gioi-thieu-ngoc,.nps-strip) {
 margin-block:0 var(--np-module-gap);
}
body.np-rhythm.np-home570 #main :is(.nplc-card,.npvb-card,.nps-spotlight.nps-demo) {
 padding-block:var(--np-panel-space);
}
/* Captions and useful notes: readable, but subordinate to content. */
body.np-rhythm :is(.nplc-note,.npvb-note,.nplc-caption,.npvb-caption,.nplc-row small,.npvb-row small,.nppt-source,.nppt-footer,.npfp-foot,.npfp-source-note,.np-overview-gallery figcaption,.nps-note,.nps-effective,.byline,.np-human-bar small) {
 font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.6;
}
body.np-rhythm :is(.nplc-tabs,.npvb-tabs,.nps-policy-choices) :is(a,button),
body.np-rhythm :is(.nppt-filters,.npfp-floor-tabs,.npfp-type-tabs) button {
 font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.45;min-height:44px;
}
/* Full public pages: page heads, cards, forms, and article reading measure. */
body.np-rhythm:not(.np-home570) :is(.article-heading,.page-hero,.p360-hero,.nps-hero) h1 {
 font-family:var(--np-heading-font);font-size:var(--np-type-page)!important;
 font-weight:700;line-height:1.3;letter-spacing:normal;overflow-wrap:break-word;margin-block:.75rem 1rem;
}
body.np-rhythm:not(.np-home570) :is(.article-heading,.page-hero,.p360-hero) {
 padding-block:var(--np-panel-space)!important;
}
body.np-rhythm:not(.np-home570) :is(.pub-lead,.page-hero p,.p360-hero p) {font-size:1rem;line-height:1.7;margin-block:0 1rem}
body.np-rhythm:not(.np-home570) :is(.basic-section,.catalog-section,.p360-main) {padding-block:var(--np-panel-space)}
body.np-rhythm:not(.np-home570) :is(.p360-card,.contact-layout,.prose,.source-panel,.npp-about-note,.unit-detail-main,.unit-detail-aside,.nps-page) h2 {
 font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.35;letter-spacing:normal;margin-block:0 1rem;
}
body.np-rhythm :is(.nps-page,.npp-copy) {font-family:var(--np-reading-font)}
body.np-rhythm :is(.p360-card,.contact-layout,.prose,.npp-about-note,.nps-page,.unit-detail-main,.unit-detail-aside,.editorial-card) p {font-size:1rem;line-height:1.7}
body.np-rhythm :is(.unit-detail-specs dt,.unit-detail-specs dd,.p360-facts,.np-footer p,.pub-footer p,.footer-links a) {font-size:var(--np-type-note);line-height:1.6}
body.np-rhythm :is(.catalog-card-title h2,.editorial-card h3,.unit-card h3,.progress-archive-card h2) {
 font-family:var(--np-reading-font)!important;font-size:var(--np-type-card)!important;line-height:1.4!important;
}
body.np-rhythm :is(.catalog-card-body p,.catalog-card-body dd,.catalog-unit-actions a,.catalog-unit-actions button,.catalog-table td,.compare-public-table td) {
 font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.6;
}
body.np-rhythm :is(.catalog-card-body dt,.catalog-card-body>small,.unit-card small,.breadcrumbs,.compare-legend) {font-size:var(--np-type-note);line-height:1.5}
body.np-rhythm :is(.catalog-form,.form-fields,.np-lead-form,.npvb-form) label {font-size:var(--np-type-note);line-height:1.5}
body.np-rhythm :is(.catalog-form,.form-fields,.np-lead-form,.npvb-form) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;min-height:44px;
}
body.np-rhythm .article-body {font-family:var(--np-reading-font);font-size:1.0625rem;line-height:1.8;overflow-wrap:break-word}
body.np-rhythm .article-body :is(.smart-article,.np-rich-article) {font-size:inherit;line-height:inherit}
body.np-rhythm .article-body :is(p,li) {font-size:inherit;line-height:1.8}
body.np-rhythm .article-body p {margin-block:0 1em}
body.np-rhythm .article-body :is(h2,h3,h4) {font-family:var(--np-heading-font);line-height:1.4;letter-spacing:normal;margin-block:1.5em .65em}
body.np-rhythm .article-body h2 {font-size:var(--np-type-section)}
body.np-rhythm .article-body h3 {font-size:var(--np-type-card)}
body.np-rhythm .article-body h4 {font-size:1.125rem}
body.np-rhythm .article-body :is(figcaption,.source-panel p) {font-size:var(--np-type-note);line-height:1.6}
body.np-rhythm .article-body :is(ul,ol) {padding-inline-start:1.5em;margin-block:.75em 1.25em}
body.np-rhythm .article-body li+li {margin-top:.4em}
body.np-rhythm .article-body :is(.smart-block,.content-block) {margin-block:0 1.5rem}
body.np-rhythm .article-body :is(.np-rich-article,.smart-article)>:first-child {margin-top:0}
/* Financial interface keeps its numeric layouts and calculations. */
body.np-rhythm #npFinanceSection {font-family:var(--np-reading-font);font-size:1rem;line-height:1.65;padding-block:var(--np-panel-space)}
body.np-rhythm #npFinanceSection .sf-heading h2 {font-family:var(--np-heading-font);font-size:var(--np-type-section);line-height:1.3}
body.np-rhythm #npFinanceSection :is(label,summary,.sf-check,.sf-notice,.sf-metrics small,.sf-result-meta) {font-size:var(--np-type-note);line-height:1.55}
body.np-rhythm #npFinanceSection :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-family:var(--np-reading-font);font-size:1rem;line-height:1.5;min-height:44px}
body.np-rhythm #npFinanceSection h3 {font-family:var(--np-reading-font);font-size:1.125rem;line-height:1.4;margin-block:1.5rem .75rem}
body.np-rhythm #npFinanceSection .sf-help {font-size:var(--np-type-note)!important;line-height:1.6}
body.np-rhythm #npFinanceSection .sf-tabs button {font-family:var(--np-reading-font);font-size:var(--np-type-note);line-height:1.5;min-height:44px}
/* Existing important declarations in the chat require scoped overrides. */
body.np-rhythm #ai-advisor-home.np-advisor .ai-bubble {font-size:1rem!important;line-height:1.65!important}
body.np-rhythm #ai-advisor-home.np-advisor .ai-bubble small {font-size:var(--np-type-note)!important;line-height:1.5!important}
body.np-rhythm .np-human-message p {font-size:1rem;line-height:1.65}
body.np-rhythm .np-human-message small {font-size:var(--np-type-note);line-height:1.5}
@media(max-width:700px) {
 body.np-rhythm, body.np-rhythm.np-site, body.np-rhythm.sf-standalone {--np-panel-space:1.5rem;--np-module-gap:.75rem;--np-heading-gap:1.125rem;--np-type-page:1.875rem;--np-type-section:1.625rem;--np-type-card:1.1875rem}
 body.np-rhythm .article-body {font-size:1rem}
 body.np-rhythm.np-home570 #main :is(.nps-policy-choices button) {font-size:.8125rem;line-height:1.5}
 body.np-rhythm .prose h2 {margin-top:1.5rem}
}
@media print {
 body.np-rhythm, body.np-rhythm.np-site, body.np-rhythm.sf-standalone {--np-panel-space:1rem;--np-module-gap:.75rem}
 body.np-rhythm :is(h1,h2,h3) {break-after:avoid}
 body.np-rhythm :is(p,li) {orphans:3;widows:3}
}


/* /action-experience.css */
/* 5.8.74. Scoped entry controls only; hero/module typography stays in 5.8.73. */
body.np-rhythm .np-finance-choice {box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:26px;border:1px solid #dfc780;border-radius:22px;background:#f7faf8;color:#123748;box-shadow:0 20px 80px #001e3055;font-family:var(--np-font-body,'NP Sans',system-ui);overflow:auto;overscroll-behavior:contain;}
body.np-rhythm .np-finance-choice::backdrop {background:#041d2caa;backdrop-filter:blur(3px);}
body.np-rhythm.np-finance-choice-open {overflow:hidden;}
body.np-rhythm .np-fc-head {display:flex;align-items:flex-start;gap:8px;justify-content:space-between;margin-bottom:20px;}
body.np-rhythm .np-fc-eyebrow {color:#0a716a;font-size:12px;line-height:1.5;letter-spacing:.07em;font-weight:700;}
body.np-rhythm #npFinanceChoiceTitle {margin:8px 0 6px;font:700 26px/1.3 var(--np-font-body,'NP Sans',system-ui);color:#103748;letter-spacing:0;}
body.np-rhythm #npFinanceChoiceIntro {margin:0;font-size:15px;line-height:1.55;color:#526c77;}
body.np-rhythm .np-fc-close {flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:#e9efec;color:#1b4b58;font:400 28px/1 system-ui;cursor:pointer;}
body.np-rhythm .np-fc-options {display:grid;gap:12px;}
body.np-rhythm .np-fc-options a {display:flex;align-items:center;gap:12px;min-height:86px;padding:15px 12px;border:1px solid #d7e3de;border-radius:14px;background:#fff;color:#133b4b;text-decoration:none;box-sizing:border-box;}
body.np-rhythm .np-fc-options a:hover {background:#eef8f4;border-color:#12847c;}
body.np-rhythm .np-fc-options strong {display:block;font:700 16px/1.45 var(--np-font-body,'NP Sans',system-ui);}
body.np-rhythm .np-fc-options small {display:block;margin-top:3px;color:#526c77;font-size:14px;line-height:1.5;}
body.np-rhythm .np-fc-icon {flex:0 0 36px;display:grid;place-items:center;width:36px;height:42px;background:#e8f4ef;color:#08746b;border-radius:10px;font-size:14px;font-weight:700;}
body.np-rhythm .np-fc-arrow {margin-left:auto;font-size:22px;flex-shrink:0;color:#0b7972;}
body.np-rhythm .np-fc-foot {margin:18px 0 0;font-size:13px;line-height:1.6;color:#526c77;}
body.np-rhythm .np-finance-choice :is(a,button):focus-visible,body.np-rhythm .np-robot-launcher:focus-visible {outline:3px solid #0a837c;outline-offset:3px;}
body.np-rhythm a.np-robot-launcher {position:fixed;z-index:66;right:20px;bottom:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:120px;height:auto;min-height:44px;padding:0;border:0;border-radius:16px;background:transparent;color:#fff;box-shadow:none;text-decoration:none;}
body.np-rhythm .np-robot-launcher img.np-robot-image {display:block;width:112px;height:112px;max-width:100%;object-fit:contain;filter:drop-shadow(0 5px 8px #001f3740);transition:transform .18s ease;}
body.np-rhythm .np-robot-launcher:hover img {transform:translateY(-3px);}
body.np-rhythm a.np-robot-launcher:hover {background:transparent;}
body.np-rhythm .np-robot-launcher .np-robot-label {display:block;padding:5px 10px;border:1px solid #d8bd77;border-radius:10px;background:#073447;color:#fff;font:700 14px/1.35 var(--np-font-body,'NP Sans',system-ui);text-align:center;}
body.np-rhythm .np-robot-label small {display:block;color:#eed496;font-size:10px;line-height:1.5;letter-spacing:.03em;}
body.np-rhythm .np-robot-fallback img {display:none;}
body.np-rhythm:has(dialog[open]) :is(.np-robot-launcher,.mobile-actions),body.np-rhythm:has(#mobileMenu.open) :is(.np-robot-launcher,.mobile-actions),body.np-rhythm.np-home-overlay-safe .np-robot-launcher {display:none;}
@media(max-width:700px) {
 body.np-rhythm.np-has-robot {padding-bottom:calc(80px + env(safe-area-inset-bottom));}
 body.np-rhythm .np-hub-dock,body.np-rhythm .mobile-actions {position:fixed;left:0;right:0;bottom:0;z-index:65;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 78px calc(10px + env(safe-area-inset-bottom)) 10px;background:#f9fbfa;border-top:1px solid #dce6e1;box-shadow:0 -4px 18px #042d4010;}
 body.np-rhythm :is(.np-hub-dock,.mobile-actions) a {display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:48px;padding:9px 5px;border:0;border-radius:12px;background:#082f42;color:#fff;font:700 15px/1.3 var(--np-font-body,'NP Sans',system-ui);text-align:center;text-decoration:none;white-space:normal;}
 body.np-rhythm :is(.np-hub-dock,.mobile-actions) a:first-child {background:linear-gradient(115deg,#ffe6a6,#e8bb58);color:#143746!important;}
 body.np-rhythm a.np-robot-launcher {right:10px;bottom:calc(7px + env(safe-area-inset-bottom));width:58px;height:56px;min-height:56px;border-radius:12px;}
 body.np-rhythm .np-robot-launcher img.np-robot-image {width:56px;height:56px;}
 body.np-rhythm .np-robot-launcher .np-robot-label {display:none;}
 body.np-rhythm .np-robot-fallback .np-robot-label {display:block;padding:5px;font-size:12px;}
 body.np-rhythm .np-robot-fallback .np-robot-label small {display:none;}
 body.np-rhythm:has(dialog[open]) :is(.np-hub-dock,.mobile-actions,.np-robot-launcher),body.np-rhythm:has(#mobileMenu.open) :is(.np-hub-dock,.mobile-actions,.np-robot-launcher),body.np-rhythm:has(input:focus,select:focus,textarea:focus,[contenteditable="true"]:focus) :is(.np-hub-dock,.mobile-actions,.np-robot-launcher),body.np-rhythm.np-home-overlay-safe :is(.np-hub-dock,.mobile-actions,.np-robot-launcher) {display:none;}
 body.np-rhythm .np-finance-choice {width:100%;max-width:100%;max-height:calc(100dvh - 24px);margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));}
 body.np-rhythm #npFinanceChoiceTitle {font-size:23px;}
}
@media(max-width:360px) {
 body.np-rhythm :is(.np-hub-dock,.mobile-actions) a {font-size:14px;}
 body.np-rhythm .np-finance-choice {padding-inline:14px;}
 body.np-rhythm .np-fc-options a {gap:10px;padding:12px 10px;}
 body.np-rhythm .np-fc-icon {flex-basis:30px;width:30px;}
}
@media(prefers-reduced-motion:reduce) {body.np-rhythm .np-robot-launcher img.np-robot-image {transition:none;transform:none;}}
@media print {body.np-rhythm :is(.np-robot-launcher,.np-hub-dock,.mobile-actions,.np-finance-choice) {display:none!important;}}

/* V5.8.78: circular AI concierge; centered between mobile actions. */
body.np-rhythm a.np-robot-launcher{width:96px;height:96px;min-height:96px;border:3px solid transparent;border-radius:50%;box-sizing:border-box;background:linear-gradient(145deg,#123f50,#061e30) padding-box,conic-gradient(from 35deg,#e9c770,#fff0bb,#30b9b5,#e9c770) border-box;box-shadow:0 5px 22px #03293740,inset 0 0 16px #20b5b322;isolation:isolate;bottom:42px}
body.np-rhythm a.np-robot-launcher:hover{background:linear-gradient(145deg,#174d5a,#082538) padding-box,conic-gradient(from 35deg,#e9c770,#fff0bb,#30b9b5,#e9c770) border-box}
body.np-rhythm a.np-robot-launcher::before{content:'';position:absolute;inset:-6px;border:1px solid #c8b77875;border-radius:50%;pointer-events:none;z-index:-1}
body.np-rhythm .np-robot-launcher img.np-robot-image{width:84px;height:84px;filter:drop-shadow(0 3px 4px #00152260)}
body.np-rhythm .np-robot-launcher .np-robot-label{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 9px;font-size:11px;border-radius:20px;line-height:1.5}
body.np-rhythm .np-robot-label small{display:none}
body.np-rhythm .np-robot-speaking::before{animation:np-robot-halo 2s ease-in-out infinite}
body.np-rhythm .np-robot-fallback .np-robot-label{top:50%;transform:translate(-50%,-50%);white-space:normal;width:70%;background:transparent;border:0;font-size:12px}
body.np-rhythm .np-robot-greeting{position:fixed;z-index:67;right:20px;bottom:158px;width:min(300px,calc(100vw - 32px));box-sizing:border-box;border:1px solid #cfb676;border-radius:18px 18px 5px 18px;background:linear-gradient(135deg,#fffdf5,#f0f9f7);box-shadow:0 7px 25px #03293726;color:#173e4e;padding:0;overflow:hidden}
body.np-rhythm .np-robot-greeting[hidden]{display:none!important}
body.np-rhythm .np-robot-greeting-open{display:block;width:100%;min-height:76px;border:0;border-radius:inherit;background:transparent;color:inherit;text-align:left;padding:12px 48px 12px 15px;cursor:pointer;font:500 14px/1.5 var(--np-font-body,'NP Sans',system-ui)}
body.np-rhythm .np-robot-greeting-open small{display:block;margin-bottom:4px;font-size:10px;letter-spacing:.06em;line-height:1.4;color:#087d7b;font-weight:750}
body.np-rhythm .np-robot-greeting-close{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;background:transparent;color:#58727b;font:400 23px/1 system-ui;cursor:pointer}
body.np-rhythm .np-robot-greeting button:focus-visible{outline:2px solid #138480;outline-offset:-4px}
body.np-rhythm:has(dialog[open]) .np-robot-greeting,body.np-rhythm:has(#mobileMenu.open) .np-robot-greeting,body.np-rhythm:has(input:focus,select:focus,textarea:focus,[contenteditable="true"]:focus) .np-robot-greeting,body.np-rhythm.np-home-overlay-safe .np-robot-greeting{display:none!important}
@media(max-width:700px){
 body.np-rhythm .np-hub-dock,body.np-rhythm .mobile-actions{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
 body.np-rhythm :is(.np-hub-dock,.mobile-actions) a:first-child{grid-column:1;grid-row:1}
 body.np-rhythm :is(.np-hub-dock,.mobile-actions) a:nth-child(2){grid-column:3;grid-row:1}
 body.np-rhythm :is(.np-hub-dock,.mobile-actions) a{font-size:14px;line-height:1.3;padding:6px 4px;min-height:48px}
 body.np-rhythm a.np-robot-launcher{left:50%;right:auto;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom));width:76px;height:76px;min-height:76px}
 body.np-rhythm .np-robot-launcher img.np-robot-image{width:64px;height:64px}
 body.np-rhythm .np-robot-launcher .np-robot-label{display:none}
 body.np-rhythm .np-robot-fallback .np-robot-label{display:block}
 body.np-rhythm .np-robot-greeting{left:50%;right:auto;transform:translateX(-50%);bottom:calc(103px + env(safe-area-inset-bottom));border-radius:18px;width:min(310px,calc(100vw - 32px))}
}
@keyframes np-robot-halo{0%,100%{opacity:.55;scale:1}50%{opacity:1;scale:1.04}}
@media(prefers-reduced-motion:reduce){body.np-rhythm .np-robot-speaking::before{animation:none}body.np-rhythm .np-robot-launcher:hover img{transform:none}}
@media print{body.np-rhythm .np-robot-greeting{display:none!important}}

body.np-rhythm .np-robot-launcher.np-robot-fallback img.np-robot-image{display:none}

