:root {
  --nora-black:#0d0d0d;
  --nora-white:#fff;
  --nora-blue:#1f5eff;
  --nora-lime:#b9ff2c;
  --nora-soft:#f5f5f2;
  --nora-line:#e6e6e1;
  --nora-muted:#73736e;
  --nora-shadow:0 24px 80px rgba(12,12,12,.18),0 4px 18px rgba(12,12,12,.08);
}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nora-shell{position:fixed;right:24px;bottom:24px;z-index:9800;font-family:var(--font,sans-serif);color:var(--nora-black);pointer-events:none}
.nora-shell button,.nora-shell textarea{font:inherit}
.nora-launcher,.nora-teaser,.nora-panel{pointer-events:auto;z-index:2}
.nora-backdrop{display:none}

.nora-launcher{display:flex;align-items:center;gap:11px;min-width:216px;height:64px;padding:6px 14px 6px 6px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:var(--nora-black);color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.18);cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,background .3s ease,opacity .25s ease,visibility .25s ease}
.nora-launcher.is-suppressed{opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none}
.nora-launcher:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.24);background:#151515}
.nora-launcher:focus-visible,.nora-close:focus-visible,.nora-send:focus-visible,.nora-suggestions button:focus-visible,.nora-handoff button:focus-visible,.nora-teaser:focus-visible{outline:3px solid rgba(31,94,255,.38);outline-offset:3px}
.nora-launcher-avatar{position:relative;width:50px;height:50px;flex:0 0 50px;overflow:hidden;border-radius:50%;background:#fff}
.nora-launcher-avatar img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.nora-launcher-copy{display:flex;min-width:112px;flex-direction:column;align-items:flex-start;text-align:left;line-height:1}
.nora-launcher-copy small{margin-bottom:5px;color:#a9a9a5;font-size:10px;letter-spacing:.04em}
.nora-launcher-copy strong{font-size:13px;font-weight:650;letter-spacing:.01em}
.nora-launcher-arrow{margin-left:auto;color:var(--nora-lime);font-size:17px}

.nora-teaser{position:absolute;right:0;bottom:77px;width:226px;padding:15px 17px;border:1px solid var(--nora-line);border-radius:16px;background:#fff;color:var(--nora-black);box-shadow:0 14px 42px rgba(0,0,0,.1);text-align:left;cursor:pointer;opacity:0;transform:translateY(8px) scale(.98);visibility:hidden;transition:opacity .3s ease,transform .3s cubic-bezier(.16,1,.3,1),visibility .3s}
.nora-teaser.show{opacity:1;transform:none;visibility:visible}
.nora-teaser:after{content:"";position:absolute;right:28px;bottom:-7px;width:13px;height:13px;border-right:1px solid var(--nora-line);border-bottom:1px solid var(--nora-line);background:#fff;transform:rotate(45deg)}
.nora-teaser-kicker{display:block;margin-bottom:6px;color:var(--nora-muted);font-size:10px;font-weight:600;letter-spacing:.03em}
.nora-teaser strong{font-size:13px;font-weight:650}
.nora-teaser strong span{margin-left:4px;color:var(--nora-blue)}

.nora-panel{position:absolute;right:0;bottom:78px;display:flex;width:min(420px,calc(100vw - 32px));height:min(672px,calc(100dvh - 118px));min-height:520px;overflow:hidden;flex-direction:column;border:1px solid rgba(13,13,13,.12);border-radius:28px;background:#fff;box-shadow:var(--nora-shadow);transform-origin:bottom right;animation:nora-open .42s cubic-bezier(.16,1,.3,1)}
.nora-panel[hidden]{display:none}
@keyframes nora-open{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}

.nora-header{display:flex;align-items:center;justify-content:space-between;padding:16px 17px 14px;background:var(--nora-black);color:#fff}
.nora-identity{display:flex;align-items:center;gap:11px}
.nora-avatar-wrap{position:relative;width:46px;height:46px;flex:0 0 46px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#fff}
.nora-avatar-wrap img{width:100%;height:100%;border-radius:50%;object-fit:cover;transform:scale(1.04)}
.nora-avatar-wrap i{position:absolute;right:-1px;bottom:2px;width:10px;height:10px;border:2px solid var(--nora-black);border-radius:50%;background:var(--nora-lime)}
.nora-identity>span:last-child{display:flex;flex-direction:column;gap:4px}
.nora-identity strong{font-size:15px;font-weight:700;letter-spacing:.16em}
.nora-identity small{color:#aaa;font-size:10px;letter-spacing:.03em}
.nora-close{display:grid;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#232323;color:#fff;place-items:center;cursor:pointer;transition:background .2s ease,transform .2s ease}
.nora-close:hover{background:#333;transform:rotate(3deg)}
.nora-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.nora-context-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 19px;border-bottom:1px solid var(--nora-line);background:#fafaf8;color:var(--nora-muted)}
.nora-context-bar span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.nora-context-bar span i{width:6px;height:6px;border-radius:50%;background:var(--nora-blue)}
.nora-context-bar small{font-size:9px}

.nora-conversation{flex:1;min-height:0;overflow-y:auto;padding:20px 18px 12px;scrollbar-width:thin;scrollbar-color:#d8d8d2 transparent;overscroll-behavior:contain}
.nora-messages{display:flex;flex-direction:column;gap:13px}
.nora-message{display:flex;max-width:89%;flex-direction:column;gap:5px;animation:nora-message-in .3s cubic-bezier(.16,1,.3,1)}
@keyframes nora-message-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.nora-message.assistant{align-self:flex-start}
.nora-message.user{align-self:flex-end;align-items:flex-end}
.nora-message-label{padding-left:2px;color:#8a8a85;font-size:9px;font-weight:650;letter-spacing:.11em;text-transform:uppercase}
.nora-message-bubble{padding:12px 14px;border-radius:5px 18px 18px 18px;background:var(--nora-soft);color:#252523;font-size:13px;line-height:1.55;white-space:pre-wrap}
.nora-message.user .nora-message-bubble{border-radius:18px 5px 18px 18px;background:var(--nora-black);color:#fff}
.nora-message-time{padding:0 2px;color:#a0a09a;font-size:8px}
.nora-typing{display:flex;width:max-content;align-items:center;gap:4px;padding:14px 16px;border-radius:5px 18px 18px 18px;background:var(--nora-soft)}
.nora-typing i{width:5px;height:5px;border-radius:50%;background:#888;animation:nora-dot 1s infinite ease-in-out}
.nora-typing i:nth-child(2){animation-delay:.14s}.nora-typing i:nth-child(3){animation-delay:.28s}
@keyframes nora-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.nora-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-bottom:4px}
.nora-suggestions button{padding:9px 11px;border:1px solid #d9d9d4;border-radius:999px;background:#fff;color:#343431;font-size:10px;font-weight:600;line-height:1.25;text-align:left;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}
.nora-suggestions button:hover{border-color:var(--nora-blue);background:#f7f9ff;color:var(--nora-blue);transform:translateY(-1px)}

.nora-panel.nora-result-mode .nora-conversation,.nora-panel.nora-result-mode .nora-composer,.nora-panel.nora-result-mode .nora-disclosure{display:none}
.nora-panel.nora-result-mode{height:min(590px,calc(100dvh - 118px))}
.nora-result{display:flex;flex:1;min-height:0;overflow-y:auto;flex-direction:column;padding:22px 20px 18px;background:#fff;animation:nora-result-in .42s cubic-bezier(.16,1,.3,1)}
.nora-result[hidden]{display:none}
@keyframes nora-result-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.nora-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.nora-result-head>span{color:var(--nora-blue);font-size:9px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.nora-result-head>strong{padding:7px 10px;border-radius:999px;background:var(--nora-lime);color:#10100f;font-size:9px;font-weight:750;line-height:1;white-space:nowrap}
.nora-result h3{max-width:310px;margin:0 0 20px;color:#11110f;font-size:25px;font-weight:720;letter-spacing:-.035em;line-height:1.08}
.nora-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 9px}
.nora-result-grid>div{min-width:0;padding:13px;border:1px solid var(--nora-line);border-radius:15px;background:#fafaf8}
.nora-result dt,.nora-result-next span{margin-bottom:6px;color:#83837d;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.nora-result dd{margin:0;color:#1e1e1b;font-size:11px;font-weight:680;line-height:1.35}
.nora-result-next{display:flex;flex-direction:column;margin-bottom:16px;padding:14px 15px;border-radius:16px;background:#eef3ff}
.nora-result-next strong{color:#1a1a18;font-size:12px;font-weight:650;line-height:1.45}
.nora-result-primary{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;padding:12px 15px;border:0;border-radius:999px;background:var(--nora-blue);color:#fff;font-size:11px;font-weight:750;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,background .2s ease}
.nora-result-primary:hover{background:#174bd4;transform:translateY(-1px)}
.nora-result-primary span{font-size:16px}
.nora-result-back{align-self:center;margin-top:11px;padding:4px;border:0;background:transparent;color:#5f5f5a;font-size:10px;font-weight:650;text-decoration:underline;text-decoration-color:#cfcfca;text-underline-offset:4px;cursor:pointer}
.nora-result>small{margin-top:auto;padding-top:15px;color:#8b8b85;font-size:9px;line-height:1.4;text-align:center}

.nora-composer{display:flex;align-items:flex-end;gap:8px;margin:0 14px;padding:8px 8px 8px 14px;border:1px solid #d8d8d3;border-radius:19px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.04);transition:border-color .2s ease,box-shadow .2s ease}
.nora-composer:focus-within{border-color:#9ab4ff;box-shadow:0 0 0 3px rgba(31,94,255,.08)}
.nora-composer textarea{width:100%;max-height:92px;min-height:26px;padding:5px 0;border:0;outline:0;background:transparent;color:#171715;font-size:12px;line-height:1.4;resize:none}
.nora-composer textarea::placeholder{color:#a3a39e}
.nora-send{display:grid;width:36px;height:36px;flex:0 0 36px;padding:0;border:0;border-radius:50%;background:var(--nora-blue);color:#fff;place-items:center;cursor:pointer;transition:opacity .2s ease,transform .2s ease,background .2s ease}
.nora-send:disabled{background:#d9d9d4;color:#9f9f9a;cursor:default}
.nora-send:not(:disabled):hover{transform:translateY(-1px);background:#174bd4}
.nora-send svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nora-disclosure{margin:8px 16px 12px;color:#94948f;font-size:8px;line-height:1.35;text-align:center}

.nora-contact-summary-v21{margin:0 0 24px;padding:22px 23px;border-radius:24px;background:#0d0d0d;color:#fff;box-shadow:0 18px 48px rgba(13,13,13,.12)}
.nora-contact-summary-v21[hidden]{display:none}
.nora-contact-summary-head-v21{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.nora-contact-summary-head-v21>div{display:flex;flex-direction:column;gap:6px}
.nora-contact-summary-head-v21>div span{color:#8dacff;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.nora-contact-summary-head-v21>div strong{font-size:21px;font-weight:650;letter-spacing:-.025em}
.nora-contact-ready-v21{padding:7px 10px;border-radius:999px;background:var(--nora-lime);color:#10100f;font-size:9px;font-weight:800;text-transform:uppercase}
.nora-contact-summary-grid-v21{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;overflow:hidden;border:1px solid #2c2c2a;border-radius:15px;background:#2c2c2a}
.nora-contact-summary-grid-v21>div{padding:14px;background:#171715}
.nora-contact-summary-grid-v21 dt{margin-bottom:6px;color:#858580;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nora-contact-summary-grid-v21 dd{margin:0;color:#fff;font-size:12px;font-weight:630;line-height:1.35}
.nora-contact-edit-v21{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:13px;padding:5px 1px;border:0;background:transparent;color:#b7b7b1;font-size:10px;font-weight:650;cursor:pointer}
.nora-contact-edit-v21:hover{color:#fff}
.contact-form-v16.nora-prefilled-v21 .contact-context-field-v21{display:none}

@media(max-width:700px){
  html.nora-open,html.nora-open body{overflow:hidden;overscroll-behavior:none}
  .nora-shell{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  .nora-backdrop:not([hidden]){position:fixed;inset:0;z-index:1;display:block;padding:0;border:0;background:rgba(13,13,13,.38);backdrop-filter:blur(7px);pointer-events:auto;animation:nora-backdrop-in .25s ease}
  @keyframes nora-backdrop-in{from{opacity:0}to{opacity:1}}
  .nora-launcher{min-width:148px;width:auto;height:58px;padding:5px 13px 5px 5px;gap:10px;border-color:rgba(255,255,255,.16);box-shadow:0 12px 36px rgba(0,0,0,.24)}
  .nora-launcher-avatar{width:48px;height:48px;flex-basis:48px}
  .nora-launcher-copy{display:flex;min-width:72px}
  .nora-launcher-copy small{margin-bottom:4px;font-size:8px}
  .nora-launcher-copy strong{font-size:12px}
  .nora-launcher-arrow{display:none}
  .nora-teaser{right:0;bottom:71px;width:226px}
  .nora-panel{position:fixed;top:auto;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;width:auto;height:min(660px,calc(100dvh - 16px));max-height:none;min-height:0;border:1px solid rgba(13,13,13,.14);border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.3);transform-origin:bottom center}
  .nora-panel.nora-result-mode{height:min(550px,calc(100dvh - 16px))}
  .nora-header{min-height:70px;padding:11px 13px 10px}
  .nora-identity{gap:10px}
  .nora-avatar-wrap{width:44px;height:44px;flex-basis:44px}
  .nora-identity strong{font-size:14px}
  .nora-identity small{font-size:9px}
  .nora-close{width:42px;height:42px;background:#252525}
  .nora-context-bar{position:relative;padding:10px 15px 11px;overflow:hidden}
  .nora-context-bar::after{content:'';position:absolute;right:0;bottom:0;left:0;width:var(--nora-progress,33.333%);height:2px;background:var(--nora-blue);transition:width .35s cubic-bezier(.16,1,.3,1)}
  .nora-context-bar span{font-size:9px;letter-spacing:.07em}
  .nora-context-bar small{font-size:9px;font-weight:650}
  .nora-conversation{padding:15px 13px 8px}
  .nora-messages{gap:12px}
  .nora-message{max-width:94%}
  .nora-message-bubble{padding:12px 13px;border-radius:5px 17px 17px 17px;font-size:14px;line-height:1.48}
  .nora-message.user .nora-message-bubble{border-radius:17px 5px 17px 17px}
  .nora-message-label{font-size:8px}
  .nora-suggestions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:14px;padding-bottom:6px}
  .nora-suggestions button{position:relative;width:100%;max-width:none;min-height:45px;padding:11px 39px 11px 14px;border-radius:14px;background:#fafaf8;font-size:12px;line-height:1.3}
  .nora-suggestions button::after{content:'→';position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--nora-blue);font-size:13px}
  .nora-result{padding:18px 15px 14px}
  .nora-result-head{margin-bottom:16px}
  .nora-result h3{margin-bottom:16px;font-size:23px}
  .nora-result-grid{grid-template-columns:1fr 1fr}
  .nora-result-grid>div{padding:12px}
  .nora-result dd{font-size:11px}
  .nora-result-next{margin-bottom:14px;padding:13px 14px}
  .nora-result-primary{min-height:48px;font-size:11px}
  .nora-result>small{padding-top:12px;font-size:9px}
  .nora-composer{min-height:54px;margin:0 10px;padding:7px 7px 7px 13px;border-radius:18px;box-shadow:0 4px 18px rgba(0,0,0,.06)}
  .nora-composer textarea{min-height:28px;padding:6px 0;font-size:14px;line-height:1.35}
  .nora-send{width:40px;height:40px;flex-basis:40px}
  .nora-disclosure{margin:7px 13px max(9px,env(safe-area-inset-bottom));font-size:9px}
}

@media(max-width:760px){
  .nora-contact-summary-v21{padding:19px 18px;border-radius:21px}
  .nora-contact-summary-head-v21>div strong{font-size:19px}
  .nora-contact-summary-grid-v21{grid-template-columns:1fr}
}

@media(max-width:700px) and (max-height:620px){
  .nora-panel,.nora-panel.nora-result-mode{top:0;right:0;bottom:0;left:0;height:auto;border-width:0;border-radius:0}
  .nora-header{min-height:62px;padding-top:8px;padding-bottom:8px}
  .nora-avatar-wrap{width:40px;height:40px;flex-basis:40px}
  .nora-context-bar{padding-top:8px;padding-bottom:9px}
}

@media(prefers-reduced-motion:reduce){.nora-panel,.nora-message,.nora-result,.nora-typing i{animation:none!important}.nora-launcher,.nora-teaser,.nora-suggestions button{transition:none!important}}
