@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root {
  --ink: #082033;
  --muted: #698091;
  --paper: #f6f8f7;
  --line: #dce5e4;
  --navy: #06233a;
  --navy-2: #0d3550;
  --teal: #0d8f87;
  --mint: #b7f3d5;
  --lime: #d8f479;
  --coral: #ff876b;
  --sand: #f3ede4;
  --white: #ffffff;
  --shadow: 0 25px 65px rgba(8, 32, 51, 0.11);
  --display: "Playfair Display", Georgia, serif;
  --sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --mono: "DM Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font-family: var(--sans); }
button, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, textarea:focus-visible { outline: 3px solid rgba(13, 143, 135, .32); outline-offset: 3px; }

.app-shell { min-height: 100vh; overflow: hidden; background: radial-gradient(circle at 90% 5%, rgba(183,243,213,.5), transparent 23rem), linear-gradient(180deg, #f9fbfa 0%, #f4f7f6 65%, #eef4f1 100%); }
.demo-banner { min-height: 31px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 5px 20px; background: #dff6ed; color: #1b675d; font-family: var(--mono); font-size: 10px; letter-spacing: .02em; text-align: center; }
.demo-banner strong { font-size: 9px; letter-spacing: .13em; }
.demo-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #1a9d7b; box-shadow: 0 0 0 4px rgba(26,157,123,.13); }

.topbar { max-width: 1520px; height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: auto; padding: 0 42px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--navy); text-decoration: none; }
.brand-mark { position: relative; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px 15px 15px 4px; background: linear-gradient(135deg, var(--navy), #0d6172); color: #fff; font-size: 15px; font-weight: 800; letter-spacing: -.09em; box-shadow: 0 8px 22px rgba(6,35,58,.2); }
.brand-mark span { color: var(--lime); font-size: 17px; padding-left: 2px; }
.brand-copy { display: grid; line-height: 1.02; }
.brand-copy b { font-size: 15px; letter-spacing: -.05em; }
.brand-copy small { margin-top: 5px; color: var(--teal); font-family: var(--mono); font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.ghost-button { border: 1px solid #d4e0df; border-radius: 10px; padding: 10px 13px; background: rgba(255,255,255,.68); color: var(--navy); font-size: 11px; font-weight: 700; transition: .2s ease; }
.ghost-button:hover { border-color: #8fbab5; background: #fff; transform: translateY(-1px); }
.tour-button, .tour-next { border: 0; border-radius: 10px; padding: 11px 15px; background: var(--navy); color: #fff; font-size: 11px; font-weight: 800; box-shadow: 0 7px 16px rgba(6,35,58,.16); transition: .2s ease; }
.tour-button:hover, .tour-next:hover { background: #104461; transform: translateY(-1px); }
.tour-button span { color: var(--lime); padding-right: 4px; }
.user-chip { display: flex; align-items: center; gap: 8px; padding-left: 8px; }
.avatar { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid #d0e3df; border-radius: 50%; background: #dff3ed; color: #187d76; font-size: 10px; font-weight: 800; }
.user-chip > span:last-child { display: grid; line-height: 1.2; }
.user-chip b { font-size: 10px; }
.user-chip small { color: var(--muted); font-size: 8px; }

main { max-width: 1520px; margin: auto; padding: 20px 42px 52px; }
.hero-section { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; padding: 31px 2px 34px; }
.eyebrow, .overline { margin: 0; color: var(--teal); font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 8px; }
.eyebrow span { width: 20px; height: 1px; background: var(--teal); }
.hero-section h1 { max-width: 780px; margin: 11px 0 10px; color: var(--navy); font-size: clamp(39px, 4.3vw, 67px); line-height: .98; letter-spacing: -.065em; }
.hero-section h1 em { color: var(--teal); font-family: var(--display); font-weight: 600; }
.hero-copy { max-width: 625px; margin: 0; color: #587080; font-size: 14px; line-height: 1.7; }
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(92px, 1fr)); min-width: 350px; overflow: hidden; border: 1px solid #dbe7e3; border-radius: 16px; background: rgba(255,255,255,.62); box-shadow: 0 8px 28px rgba(8,32,51,.04); }
.hero-stats > div { min-height: 98px; display: flex; flex-direction: column; justify-content: center; padding: 15px 17px; border-left: 1px solid #dbe7e3; }
.hero-stats > div:first-child { border: 0; }
.hero-stats strong { color: var(--navy); font-family: var(--display); font-size: 28px; line-height: 1; }
.hero-stats span { margin-top: 8px; color: var(--muted); font-size: 9px; line-height: 1.35; }

.walkthrough-strip { display: grid; grid-template-columns: 190px 1fr auto; gap: 20px; align-items: center; min-height: 74px; margin-bottom: 17px; padding: 14px 20px; border: 1px solid #0d4354; border-radius: 15px; background: linear-gradient(90deg, #062b3d, #0a4055); color: white; box-shadow: 0 16px 31px rgba(6,35,58,.13); }
.walkthrough-label { display: grid; grid-template-columns: 10px 1fr; column-gap: 8px; align-items: center; }
.walkthrough-label .pulse { grid-row: span 2; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(216,244,121,.14); }
.walkthrough-label b { font-size: 11px; }
.walkthrough-label small { color: #abced3; font-size: 9px; }
.walkthrough-strip ol { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.walkthrough-strip li { flex: 1; display: flex; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid rgba(214,244,239,.11); border-radius: 8px; color: #b9d0d4; font-size: 10px; font-weight: 700; }
.walkthrough-strip li span { color: #74b9bd; font-family: var(--mono); font-size: 9px; }
.walkthrough-strip li.active { border-color: rgba(216,244,121,.4); background: rgba(216,244,121,.09); color: #f3fbcf; }
.walkthrough-strip li.active span { color: var(--lime); }
.text-link { border: 0; background: transparent; color: var(--lime); font-size: 10px; font-weight: 800; white-space: nowrap; }
.text-link span { padding-left: 5px; font-size: 14px; }

.workspace { display: grid; grid-template-columns: 280px minmax(420px, 1fr) 295px; overflow: hidden; min-height: 692px; border: 1px solid #d8e5e2; border-radius: 18px; background: var(--white); box-shadow: var(--shadow); }
.company-rail, .evidence-panel { display: flex; flex-direction: column; min-width: 0; background: #f8fbfa; }
.company-rail { border-right: 1px solid #dce7e4; padding: 22px 18px 18px; }
.rail-heading, .evidence-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.rail-heading h2, .evidence-heading h2 { margin: 5px 0 0; color: var(--navy); font-family: var(--display); font-size: 22px; letter-spacing: -.045em; }
.secure-badge { padding: 5px 7px; border-radius: 6px; background: #e7f5ee; color: #218274; font-family: var(--mono); font-size: 8px; }
.rail-copy { margin: 15px 0 16px; color: #718491; font-size: 10px; line-height: 1.6; }
.company-list { display: grid; gap: 7px; }
.company-card { position: relative; width: 100%; display: grid; grid-template-columns: 10px 1fr auto; gap: 10px; align-items: center; padding: 12px 10px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: inherit; text-align: left; transition: .2s ease; }
.company-card:hover { background: #eff7f4; }
.company-card.active { border-color: #9fcbbf; background: #eef8f3; box-shadow: inset 3px 0 0 var(--teal); }
.company-indicator { width: 8px; height: 32px; border-radius: 9px; background: var(--company-color); }
.company-card strong { display: block; color: #173549; font-size: 10px; line-height: 1.35; }
.company-card small { display: block; margin-top: 3px; color: #7b909c; font-size: 8px; line-height: 1.35; }
.company-card b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--teal); color: #fff; font-size: 10px; opacity: 0; transform: scale(.7); transition: .2s ease; }
.company-card.active b { opacity: 1; transform: scale(1); }
.rail-footer { display: flex; gap: 8px; align-items: flex-start; margin-top: auto; padding: 13px 10px; border: 1px solid #d7e8e3; border-radius: 10px; background: #eef7f3; }
.lock-icon { color: var(--teal); font-size: 15px; }
.rail-footer p { margin: 0; color: #52726e; font-size: 8.5px; line-height: 1.55; }
.rail-footer b { color: #28665f; }

.assistant-surface { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 21px 25px 18px; background: #fff; }
.assistant-surface::after { content: ""; position: absolute; right: 22px; top: 62px; width: 148px; height: 148px; border-radius: 50%; background: radial-gradient(circle, rgba(183,243,213,.38), rgba(183,243,213,0) 68%); pointer-events: none; }
.assistant-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid #e5ecea; }
.context-pill { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 7px 9px; border: 1px solid #dbe7e3; border-radius: 100px; background: #fbfefd; color: #47706e; font-family: var(--mono); font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.context-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--teal); }
.pill-divider { height: 11px; border-left: 1px solid #cfdedb; }
.source-action { border: 0; background: transparent; color: #287b76; font-size: 9px; font-weight: 800; white-space: nowrap; }
.source-action span { font-size: 13px; }
.assistant-intro { display: flex; align-items: center; gap: 13px; padding: 27px 0 16px; }
.bot-orb { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 auto; border-radius: 16px 16px 4px 16px; background: linear-gradient(135deg, #cdf2de, #87dad6); color: #0a5964; font-size: 18px; box-shadow: 0 9px 16px rgba(13,143,135,.15); }
.assistant-intro h2 { margin: 4px 0 5px; color: var(--navy); font-size: 21px; letter-spacing: -.05em; }
.assistant-intro p:last-child { max-width: 560px; margin: 0; color: #718691; font-size: 10px; line-height: 1.65; }
.assistant-intro b { color: #227a74; }
.suggestion-region { padding: 15px; border: 1px solid #e0ebe7; border-radius: 12px; background: linear-gradient(135deg, #f9fdfb, #f2faf7); }
.suggestion-region > p { margin: 0 0 9px; color: #6c858d; font-size: 9px; font-weight: 800; }
.suggestion-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.suggestion-chip { border: 1px solid #cce4dc; border-radius: 100px; padding: 7px 9px; background: rgba(255,255,255,.8); color: #337069; font-size: 9px; font-weight: 700; text-align: left; transition: .2s ease; }
.suggestion-chip:hover { border-color: var(--teal); background: #fff; transform: translateY(-1px); }
.conversation { display: grid; gap: 14px; max-height: 265px; min-height: 0; overflow: auto; padding: 17px 2px 6px; scroll-behavior: smooth; }
.conversation:empty { display: none; }
.message { max-width: 96%; animation: message-in .32s ease both; }
.message.user { align-self: end; justify-self: end; max-width: 76%; padding: 10px 12px; border-radius: 12px 3px 12px 12px; background: #e9f5f0; color: #245b58; font-size: 10px; line-height: 1.5; }
.answer-card { padding: 15px 16px; border: 1px solid #d9e7e3; border-radius: 5px 14px 14px 14px; background: #fbfefd; box-shadow: 0 8px 17px rgba(5,45,54,.04); }
.answer-topline { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.answer-topline span { color: var(--teal); font-family: var(--mono); font-size: 8px; font-weight: 500; letter-spacing: .11em; }
.answer-topline b { padding: 4px 7px; border-radius: 100px; background: #e3f7ed; color: #198267; font-size: 8px; }
.answer-card h3 { margin: 9px 0 6px; color: var(--navy); font-size: 13px; letter-spacing: -.02em; }
.answer-card p { margin: 0; color: #56707e; font-size: 10px; line-height: 1.7; }
.answer-limits { margin-top: 10px; padding: 9px 10px; border-left: 3px solid var(--coral); background: #fff5f1; color: #8c5146; font-size: 9px; line-height: 1.5; }
.answer-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.answer-footer span { color: #718791; font-size: 8px; }
.answer-footer button { border: 0; background: transparent; color: var(--teal); font-size: 9px; font-weight: 800; }
.question-box { margin-top: auto; padding-top: 14px; }
.question-box > label { display: block; margin-bottom: 7px; color: #52707e; font-size: 9px; font-weight: 800; }
.question-row { display: flex; align-items: stretch; padding: 4px; border: 1px solid #b9d4ce; border-radius: 12px; background: #fff; box-shadow: 0 6px 14px rgba(7,54,54,.05); }
.question-row:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(13,143,135,.1); }
#questionInput { width: 100%; min-height: 43px; resize: none; border: 0; outline: 0; padding: 10px; color: var(--ink); font-size: 10px; line-height: 1.45; }
#questionInput::placeholder { color: #9babb2; }
.ask-button { min-width: 110px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 9px; padding: 0 10px; background: var(--teal); color: #fff; font-size: 10px; font-weight: 800; transition: .2s ease; }
.ask-button:hover { background: #087972; }
.ask-button b { font-size: 15px; }
.input-hint { display: flex; align-items: center; gap: 5px; margin-top: 7px; color: #81919a; font-size: 8px; }
.input-hint span { color: var(--teal); font-size: 11px; }

.evidence-panel { border-left: 1px solid #dce7e4; padding: 22px 18px 17px; }
.live-status { display: flex; align-items: center; gap: 5px; margin-top: 4px; color: #73908f; font-family: var(--mono); font-size: 8px; }
.live-status i { width: 6px; height: 6px; border-radius: 50%; background: #72baa2; }
.evidence-empty { display: grid; place-items: center; flex: 1; align-content: center; padding: 20px; text-align: center; }
.evidence-graphic { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 13px; border: 1px solid #d5e5e0; border-radius: 16px 16px 16px 3px; background: #eef8f4; color: #43a091; font-family: var(--display); font-size: 29px; }
.evidence-empty h3 { margin: 0 0 7px; color: var(--navy); font-size: 13px; }
.evidence-empty p { margin: 0; color: #7c9099; font-size: 9px; line-height: 1.65; }
.evidence-result { padding-top: 21px; }
.hidden { display: none !important; }
.evidence-company { margin-bottom: 10px; color: #348078; font-family: var(--mono); font-size: 8px; letter-spacing: .07em; text-transform: uppercase; }
.document-card { display: flex; gap: 9px; align-items: center; margin-bottom: 16px; padding: 9px; border: 1px solid #dbe8e4; border-radius: 9px; background: #fff; }
.document-icon { display: grid; place-items: center; width: 32px; height: 38px; border-radius: 5px; background: #f6e4df; color: #b85d4f; font-family: var(--mono); font-size: 8px; font-weight: 700; }
.document-card b { display: block; color: #29455a; font-size: 9px; line-height: 1.4; }
.document-card span { display: block; margin-top: 3px; color: #82969f; font-size: 8px; }
.citation-block { padding: 13px 12px; border-radius: 10px; background: #ebf7f2; }
.citation-label { color: #368375; font-family: var(--mono); font-size: 8px; letter-spacing: .1em; }
.citation-block h3 { margin: 7px 0; color: #164b50; font-size: 10px; line-height: 1.5; }
.citation-block p { margin: 0; color: #47716f; font-size: 9px; line-height: 1.65; }
.match-meter { display: grid; grid-template-columns: 1fr auto; gap: 7px; align-items: center; margin-top: 15px; color: #69818a; font-size: 8px; }
.match-meter div { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 6px; background: #dfebe7; }
.match-meter i { display: block; width: 98%; height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--teal), #8ad2a9); transition: width .5s ease; }
.match-meter b { color: #20776e; font-family: var(--mono); font-size: 8px; }
.view-source-button { width: 100%; margin-top: 16px; border: 1px solid #9bcabc; border-radius: 8px; padding: 10px; background: #fff; color: #23766f; font-size: 9px; font-weight: 800; }
.view-source-button:hover { background: #f3faf7; }
.evidence-note { display: flex; gap: 6px; margin-top: auto; padding-top: 15px; border-top: 1px solid #dfeae6; color: #6a8788; font-size: 8px; line-height: 1.45; }
.evidence-note span { color: #159379; font-size: 12px; }

.demo-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 17px; }
.demo-notes article { display: flex; gap: 10px; padding: 15px 14px; border: 1px solid #dce7e4; border-radius: 12px; background: rgba(255,255,255,.56); }
.demo-notes > article > span { color: #66aaa3; font-family: var(--display); font-size: 21px; line-height: 1; }
.demo-notes h3 { margin: 0 0 3px; color: #264558; font-size: 10px; }
.demo-notes p { margin: 0; color: #758994; font-size: 8.5px; line-height: 1.55; }

.modal-backdrop { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(3, 24, 38, .58); backdrop-filter: blur(7px); }
.contract-modal { width: min(100%, 1040px); max-height: min(790px, calc(100vh - 40px)); overflow: hidden; border-radius: 16px; background: #f7fbfa; box-shadow: 0 25px 80px rgba(0,0,0,.35); animation: modal-in .25s ease both; }
.contract-modal > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 26px 18px; border-bottom: 1px solid #dce8e5; background: #fff; }
.contract-modal h2, .tour-modal h2 { margin: 5px 0 0; color: var(--navy); font-family: var(--display); font-size: 25px; letter-spacing: -.045em; }
.icon-close { width: 31px; height: 31px; border: 1px solid #dce7e3; border-radius: 50%; background: #fff; color: #51727e; font-size: 22px; line-height: 1; }
.contract-modal-body { display: grid; grid-template-columns: 244px 1fr; min-height: 530px; max-height: calc(min(790px, 100vh - 40px) - 83px); }
.contract-nav { overflow: auto; padding: 22px 18px; border-right: 1px solid #dce8e5; background: #f0f7f5; }
.contract-nav > div { display: grid; gap: 6px; margin-top: 12px; }
.contract-index-button { width: 100%; padding: 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #50717b; font-size: 9px; line-height: 1.45; text-align: left; }
.contract-index-button:hover, .contract-index-button.active { border-color: #b6d8cc; background: #fff; color: #206e66; }
.contract-index-button span { display: block; margin-bottom: 3px; color: #78a29d; font-family: var(--mono); font-size: 7px; }
.contract-page { overflow: auto; padding: 25px 46px 42px; background: #fffdf8; }
.page-topline { display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #ede9df; color: #8a908b; font-family: var(--mono); font-size: 8px; }
.page-disclaimer { margin: 17px 0 24px; color: #bd705d; font-family: var(--mono); font-size: 8px; letter-spacing: .05em; }
.contract-page h3 { max-width: 600px; margin: 0 0 15px; color: var(--navy); font-family: var(--display); font-size: 31px; line-height: 1.08; letter-spacing: -.05em; }
.page-copy { max-width: 670px; color: #465e66; font-size: 12px; line-height: 1.9; }
.page-copy p { margin: 0 0 14px; }
.package-at-glance { margin: 0 0 22px; padding: 15px 16px 13px; border: 1px solid #d8e8e2; border-radius: 10px; background: #f4fbf8; }
.package-at-glance > span { color: #367d72; font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.package-at-glance dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 16px; margin: 12px 0 10px; }
.package-at-glance dl div { padding-bottom: 7px; border-bottom: 1px solid #dcece7; }
.package-at-glance dt { color: #4b726c; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.package-at-glance dd { margin: 2px 0 0; color: #315d59; font-size: 9px; line-height: 1.45; }
.package-at-glance p { margin: 0; color: #6a706e; font-size: 8.5px; line-height: 1.55; }
.page-callout { max-width: 670px; margin-top: 22px; padding: 15px; border-left: 3px solid var(--teal); background: #edf9f5; }
.page-callout span { color: #348073; font-family: var(--mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.page-callout p { margin: 6px 0 0; color: #346761; font-size: 10px; line-height: 1.55; }

.tour-modal { position: fixed; left: var(--tour-left, 50%); top: var(--tour-top, 50%); width: min(440px, calc(100vw - 36px)); max-height: calc(100vh - 36px); overflow-x: hidden; overflow-y: auto; padding: 30px; border-radius: 17px; background: linear-gradient(145deg, #092b42, #0f4a58); color: white; box-shadow: 0 25px 80px rgba(0,0,0,.35); animation: modal-in .25s ease both; pointer-events: auto; }
#tourModal { z-index: 30; display: block; padding: 0; background: transparent; backdrop-filter: none; pointer-events: none; }
.tour-close { position: absolute; right: 17px; top: 17px; border-color: rgba(255,255,255,.18); background: transparent; color: #d5eeeb; }
.tour-progress { height: 4px; overflow: hidden; margin: 0 30px 27px 0; border-radius: 4px; background: rgba(255,255,255,.14); }
.tour-progress i { display: block; width: 33%; height: 100%; background: var(--lime); transition: width .3s ease; }
.tour-step { color: var(--lime); font-family: var(--mono); font-size: 9px; letter-spacing: .13em; }
.tour-modal h2 { color: white; font-size: 32px; }
.tour-modal > p { margin: 10px 0 19px; color: #c2dadd; font-size: 12px; line-height: 1.75; }
.tour-preview { display: grid; grid-template-columns: 40px 1fr; column-gap: 10px; align-items: center; padding: 13px; border: 1px solid rgba(216,244,121,.35); border-radius: 10px; background: rgba(255,255,255,.08); }
.tour-preview-mark { grid-row: span 2; display: grid; place-items: center; width: 35px; height: 35px; border-radius: 7px; background: rgba(216,244,121,.14); color: var(--lime); font-family: var(--mono); font-size: 11px; }
.tour-preview b { font-size: 10px; }
.tour-preview small { color: #a7cbd0; font-size: 8px; }
.tour-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 26px; }
.tour-actions .ghost-button { border-color: rgba(255,255,255,.2); background: transparent; color: #c8dddd; }
.tour-next { padding: 10px 13px; background: var(--lime); color: #103d4b; box-shadow: none; }
.tour-next:hover { background: #e4fa9a; }

.tour-highlight { position: relative; z-index: 4; scroll-margin-top: 112px; scroll-margin-bottom: 420px; box-shadow: 0 0 0 4px rgba(216,244,121,.78), 0 14px 34px rgba(18,90,91,.22); border-radius: 12px; animation: tour-target-pulse 1.8s ease-in-out infinite; }
@keyframes message-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes modal-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes tour-target-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(216,244,121,.78), 0 14px 34px rgba(18,90,91,.22); } 50% { box-shadow: 0 0 0 7px rgba(216,244,121,.38), 0 18px 42px rgba(18,90,91,.27); } }

@media (max-width: 1190px) {
  .workspace { grid-template-columns: 242px minmax(400px, 1fr); }
  .evidence-panel { grid-column: 1 / -1; min-height: 290px; border-top: 1px solid #dce7e4; border-left: 0; }
  .evidence-empty { padding: 12px; }
  .evidence-result { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; align-items: start; }
  .evidence-company, .document-card, .evidence-note { grid-column: 1 / -1; }
  .match-meter, .view-source-button { align-self: end; }
  .evidence-note { margin-top: 5px; }
}
@media (max-width: 880px) {
  .topbar, main { padding-left: 20px; padding-right: 20px; }
  .user-chip { display: none; }
  .hero-section { align-items: flex-start; flex-direction: column; }
  .hero-stats { width: 100%; min-width: 0; }
  .walkthrough-strip { grid-template-columns: 1fr auto; }
  .walkthrough-strip ol { grid-column: 1 / -1; grid-row: 2; }
  .workspace { grid-template-columns: 1fr; }
  .company-rail { border-right: 0; border-bottom: 1px solid #dce7e4; }
  .company-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rail-footer { display: none; }
  .assistant-surface { min-height: 620px; }
  .contract-modal-body { grid-template-columns: 190px 1fr; }
}
@media (max-width: 600px) {
  .demo-banner { justify-content: flex-start; font-size: 8px; }
  .demo-banner strong { display: none; }
  .topbar { height: 72px; padding: 0 15px; }
  .topbar-actions .ghost-button { display: none; }
  .tour-button { padding: 10px; font-size: 9px; }
  .brand-mark { width: 39px; height: 39px; border-radius: 12px 12px 12px 3px; font-size: 12px; }
  .brand-copy b { font-size: 13px; }
  .brand-copy small { font-size: 7px; }
  main { padding: 12px 12px 35px; }
  .hero-section { padding: 17px 5px 23px; }
  .hero-section h1 { font-size: 37px; }
  .hero-copy { font-size: 12px; }
  .hero-stats > div { min-height: 75px; padding: 12px; }
  .walkthrough-strip { display: block; padding: 14px; }
  .walkthrough-strip ol { display: none; }
  .text-link { margin-top: 11px; padding: 0; }
  .workspace { border-radius: 13px; }
  .company-rail, .assistant-surface, .evidence-panel { padding: 17px 14px; }
  .company-list { display: flex; overflow: auto; margin: 0 -4px; padding: 0 4px 3px; }
  .company-card { min-width: 190px; }
  .assistant-topline { align-items: flex-start; flex-direction: column; }
  .context-pill { max-width: 100%; }
  .assistant-intro { align-items: flex-start; }
  .assistant-intro h2 { font-size: 18px; }
  .suggestion-chips { flex-wrap: nowrap; overflow: auto; padding-bottom: 3px; }
  .suggestion-chip { min-width: 170px; }
  .question-row { flex-direction: column; }
  .ask-button { min-height: 39px; }
  .evidence-result { display: block; }
  .match-meter { margin-top: 15px; }
  .demo-notes { grid-template-columns: 1fr; }
  .contract-modal { max-height: calc(100vh - 20px); }
  .contract-modal > header { padding: 17px; }
  .contract-modal-body { display: block; overflow: auto; max-height: calc(100vh - 91px); }
  .contract-nav { max-height: 185px; border-right: 0; border-bottom: 1px solid #dce8e5; }
  .contract-page { padding: 22px; }
  .contract-page h3 { font-size: 26px; }
  .package-at-glance dl { grid-template-columns: 1fr; }
  .tour-modal { width: min(440px, calc(100vw - 32px)); padding: 21px; }
  .tour-modal h2 { font-size: 28px; }
  .tour-modal > p { font-size: 11px; line-height: 1.65; }
  .tour-progress { margin-bottom: 21px; }
  .tour-actions { margin-top: 20px; }
}
