/* 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}
