/* Site assistant ("Ask NID"). Identical copy at blog.nidpartners.com/assets/assistant.css; keep them in sync.
   Uses the page's design tokens (both sites define them on :root) with fallbacks. */
.na{--na-ink:var(--ink,#14201C);--na-ink-2:var(--ink-2,#46514B);--na-ink-3:var(--ink-3,#5C6761);
  --na-surface:var(--surface,#FCFCFA);--na-surface-2:var(--surface-2,#E9EBE4);--na-rule:var(--rule,#DEE1D8);
  --na-green:var(--green,#1C6A4E);--na-green-soft:var(--green-soft,#DCEBE2);
  --na-ease:var(--ease-out,cubic-bezier(.23,1,.32,1));
  --na-shadow:var(--shadow,0 12px 24px -8px rgba(20,32,28,.10),0 32px 64px -24px rgba(20,32,28,.16));
  font-family:var(--sans,system-ui,sans-serif);color:var(--na-ink);}
.na *,.na *::before,.na *::after{box-sizing:border-box;}

/* Launcher */
.na-launch{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:60;
  display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px 0 8px;border:0;border-radius:999px;cursor:pointer;
  font:600 15px/1 var(--sans,system-ui,sans-serif);color:var(--na-surface);background:var(--na-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(20,32,28,.2),0 10px 24px -8px rgba(20,32,28,.35);
  transition:transform 160ms var(--na-ease),opacity 160ms ease;-webkit-tap-highlight-color:transparent;}
.na-launch img{width:32px;height:32px;border-radius:50%;background:#fff;padding:2px;}
.na-launch:active{transform:scale(.97);}
.na-launch:focus-visible,.na button:focus-visible,.na a:focus-visible,.na textarea:focus-visible{outline:2px solid var(--na-green);outline-offset:2px;}
.na.is-open .na-launch{opacity:0;transform:scale(.9);pointer-events:none;}
@media (hover:hover) and (pointer:fine){ .na-launch:hover{transform:translateY(-1px);} .na-launch:hover:active{transform:scale(.97);} }

/* Panel */
.na-panel{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:61;
  width:min(392px,calc(100vw - 32px));height:min(600px,calc(100dvh - 32px));
  display:flex;flex-direction:column;padding:0;background:var(--na-surface);border:1px solid var(--na-rule);border-radius:var(--radius,16px);
  box-shadow:var(--na-shadow);overflow:hidden;transform-origin:bottom right;
  opacity:0;transform:translateY(8px) scale(.98);visibility:hidden;
  transition:opacity 180ms ease,transform 220ms var(--na-ease),visibility 0s linear 220ms;}
.na.is-open .na-panel{opacity:1;transform:none;visibility:visible;transition:opacity 180ms ease,transform 220ms var(--na-ease),visibility 0s;}

.na-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--na-rule);}
.na-head img{width:32px;height:32px;flex:none;}
.na-title{flex:1;min-width:0;}
.na-title h2{margin:0;font:600 17px/1.2 var(--serif,Georgia,serif);letter-spacing:-.01em;color:var(--na-ink);}
.na-title p{margin:2px 0 0;font-size:12.5px;line-height:1.3;color:var(--na-ink-3);}
.na-x{flex:none;width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:var(--na-ink-2);cursor:pointer;
  display:grid;place-items:center;transition:background-color 150ms ease,transform 160ms var(--na-ease);}
.na-x svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;}
.na-x:active{transform:scale(.94);}
@media (hover:hover) and (pointer:fine){ .na-x:hover{background:var(--na-surface-2);} }

.na-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;}
.na-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:15px;line-height:1.5;overflow-wrap:anywhere;}
.na-msg p{margin:0;}
.na-msg p+p,.na-msg p+ul,.na-msg ul+p{margin-top:6px;}
.na-msg ul{margin:0;padding-left:18px;}
.na-msg a{color:var(--na-green);text-underline-offset:2px;}
.na-bot{align-self:flex-start;background:var(--na-surface-2);border-bottom-left-radius:4px;}
.na-me{align-self:flex-end;background:var(--na-ink);color:var(--na-surface);border-bottom-right-radius:4px;}
.na-err{color:var(--na-ink-2);}
.na-msg.is-new{animation:na-in 240ms var(--na-ease) both;}
@keyframes na-in{from{opacity:0;transform:translateY(6px);}}

.na-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.na-links a{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 10px;border-radius:999px;
  font-size:13px;font-weight:600;line-height:1.3;color:var(--na-green);background:var(--na-surface);border:1px solid var(--na-rule);text-decoration:none;
  transition:border-color 150ms ease;}
.na-links a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.na-links svg{width:13px;height:13px;flex:none;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
@media (hover:hover) and (pointer:fine){ .na-links a:hover{border-color:var(--na-green);} }

.na-sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.na-sugg button{padding:7px 12px;border-radius:999px;border:1px solid var(--na-rule);background:var(--na-surface);color:var(--na-ink);
  font:500 14px/1.3 var(--sans,system-ui,sans-serif);cursor:pointer;transition:border-color 150ms ease,transform 160ms var(--na-ease);}
.na-sugg button:active{transform:scale(.97);}
@media (hover:hover) and (pointer:fine){ .na-sugg button:hover{border-color:var(--na-green);} }

.na-typing{display:inline-flex;gap:4px;padding:14px 14px;}
.na-typing i{width:6px;height:6px;border-radius:50%;background:var(--na-ink-3);animation:na-dot 1.1s ease-in-out infinite;}
.na-typing i:nth-child(2){animation-delay:.15s;} .na-typing i:nth-child(3){animation-delay:.3s;}
@keyframes na-dot{0%,60%,100%{opacity:.3;transform:none;}30%{opacity:1;transform:translateY(-3px);}}

.na-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 8px;border-top:1px solid var(--na-rule);}
.na-form textarea{flex:1;min-width:0;resize:none;height:44px;max-height:120px;padding:11px 14px;border:1px solid var(--na-rule);border-radius:22px;
  background:#fff;color:var(--na-ink);font:16px/1.35 var(--sans,system-ui,sans-serif);}
.na-form textarea::placeholder{color:var(--na-ink-3);}
.na-send{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--na-green);color:#fff;cursor:pointer;display:grid;place-items:center;
  transition:transform 160ms var(--na-ease),opacity 150ms ease;}
.na-send svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.na-send:active{transform:scale(.94);}
.na-send:disabled{opacity:.45;cursor:default;transform:none;}
.na-note{margin:0;padding:0 16px 10px;font-size:11.5px;line-height:1.35;color:var(--na-ink-3);}
.na-note a{color:inherit;}
.na-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Phones: a bottom sheet */
@media (max-width:560px){
  .na-launch{height:44px;padding:0 16px 0 6px;font-size:14px;}
  .na-launch img{width:32px;height:32px;}
  .na-panel{left:0;right:0;bottom:0;width:100%;height:min(88dvh,640px);border-radius:18px 18px 0 0;border-bottom:0;
    transform:translateY(24px);transform-origin:bottom center;padding-bottom:env(safe-area-inset-bottom);}
  .na-msg{max-width:92%;}
}
@media (prefers-reduced-motion:reduce){
  .na-panel,.na.is-open .na-panel{transform:none;transition:opacity 150ms ease,visibility 0s linear 150ms;}
  .na.is-open .na-panel{transition:opacity 150ms ease,visibility 0s;}
  .na-msg.is-new{animation:none;}
  .na-typing i{animation:none;opacity:.6;}
  .na-log{scroll-behavior:auto;}
}
@media print{ .na{display:none;} }
