:root {
  --ink: #232522;
  --ink-2: #444743;
  --paper: #fbfbf8;
  --warm: #f0efeb;
  --warm-2: #e6e5e0;
  --white: #ffffff;
  --accent: #dce95a;
  --green: #1f685a;
  --green-soft: #dce9e5;
  --muted: #888b85;
  --line: rgba(35, 37, 34, 0.12);
  --shadow: 0 18px 50px rgba(31, 33, 30, 0.08), 0 2px 8px rgba(31, 33, 30, 0.04);
  --radius: 26px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; }
#app:focus { outline: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
svg { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
[hidden] { display: none !important; }

.topbar { height: 78px; padding: 0 clamp(24px, 5vw, 76px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; background: rgba(251,251,248,.93); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-size: 18px; font-weight: 690; letter-spacing: -.35px; }
.brand-mark { width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: var(--accent); display: grid; place-items: center; }
.brand-mark svg { width: 19px; height: 19px; }
.brand small { font-size: 9px; line-height: 1; padding: 5px 7px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); letter-spacing: .08em; margin-left: 2px; }
.desktop-nav { position: absolute; left: 50%; transform: translateX(-50%); display: flex; gap: 4px; padding: 4px; background: var(--warm); border-radius: 999px; }
.nav-item { border: 0; background: transparent; padding: 9px 18px; border-radius: 999px; cursor: pointer; color: #777a75; font-size: 14px; transition: .2s ease; }
.nav-item:hover { color: var(--ink); }
.nav-item.active { background: var(--white); color: var(--ink); box-shadow: 0 1px 5px rgba(0,0,0,.06); }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.system-state { font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 7px; }
.system-state i, .status-dot { width: 7px; height: 7px; border-radius: 50%; background: #4dac79; box-shadow: 0 0 0 4px rgba(77,172,121,.13); }
.menu-button { display: none; border: 0; background: transparent; width: 42px; height: 42px; }

.button { min-height: 45px; border: 1px solid transparent; border-radius: 999px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 620; font-size: 14px; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(220,233,90,.65); outline-offset: 3px; }
.button-dark { background: var(--ink); color: white; box-shadow: 0 8px 18px rgba(35,37,34,.14); }
.button-dark:hover { background: #111210; }
.button-ghost { background: white; border-color: var(--line); color: var(--ink); }
.button-small { min-height: 40px; padding: 0 16px; font-size: 13px; }
.button svg { width: 16px; height: 16px; }

.view { display: none; min-height: calc(100vh - 78px); animation: viewIn .35s ease; }
.view.active { display: block; }
@keyframes viewIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.page-shell { max-width: 1380px; margin: 0 auto; padding: 66px clamp(24px, 5vw, 70px) 100px; }
.narrow-shell { max-width: 1180px; }
.eyebrow, .section-kicker { display: inline-block; font-size: 11px; letter-spacing: .12em; font-weight: 700; color: var(--muted); }
.scribble { position: relative; z-index: 0; margin-left: 10px; }
.scribble::before, .scribble::after { content: ""; position: absolute; inset: -9px -14px -8px -13px; border: 2px solid var(--accent); border-radius: 50% 45% 52% 47%; transform: rotate(-4deg); z-index: -1; }
.scribble::after { inset: -6px -17px -10px -10px; transform: rotate(5deg); opacity: .8; }
.hero-grid { display: grid; grid-template-columns: 1.087fr .913fr; gap: clamp(44px, 7vw, 100px); align-items: center; padding: 58px 0 74px; }
.hero-copy h1 { font-size: clamp(48px, 5.8vw, 72px); line-height: .98; letter-spacing: -.055em; font-weight: 460; margin: 0; }
.hero-copy h1 span { color: var(--green); }
.hero-copy p { max-width: 620px; font-size: 18px; line-height: 1.75; color: #6f726d; margin: 30px 0; }
.hero-actions { display: flex; gap: 12px; }

.radar-card { background: var(--warm); border-radius: 34px; min-height: 490px; padding: 24px; position: relative; overflow: hidden; }
.radar-card::after { content: ""; position: absolute; width: 230px; height: 100px; border: 2px solid var(--accent); border-radius: 50%; right: -80px; top: -66px; transform: rotate(8deg); }
.radar-card-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--muted); position: relative; z-index: 2; }
.radar-card-head div { display: flex; align-items: center; gap: 9px; color: var(--ink); font-weight: 600; }
.radar-visual { height: 340px; position: relative; display: grid; place-items: center; }
.radar-rings { width: 280px; aspect-ratio: 1; border: 1px solid rgba(31,104,90,.18); border-radius: 50%; position: relative; display: grid; place-items: center; }
.radar-rings::before, .radar-rings::after { content: ""; position: absolute; background: rgba(31,104,90,.16); }
.radar-rings::before { height: 1px; width: 100%; }
.radar-rings::after { width: 1px; height: 100%; }
.radar-rings span { position: absolute; border: 1px solid rgba(31,104,90,.18); border-radius: 50%; width: 66%; aspect-ratio: 1; }
.radar-rings span:nth-child(2) { width: 36%; }
.radar-rings span:nth-child(3) { width: 10%; background: var(--green); border: 8px solid rgba(31,104,90,.12); box-shadow: 0 0 0 8px white; }
.radar-rings i { position: absolute; width: 50%; height: 50%; top: 0; left: 50%; transform-origin: 0 100%; animation: sweep 5s linear infinite; background: conic-gradient(from 270deg at 0 100%, rgba(31,104,90,.22), transparent 36%); border-top: 1px solid rgba(31,104,90,.42); }
@keyframes sweep { to { transform: rotate(360deg); } }
.signal { position: absolute; background: white; padding: 7px 10px 7px 7px; display: flex; align-items: center; gap: 7px; border-radius: 999px; box-shadow: 0 10px 22px rgba(35,37,34,.12); font-size: 11px; font-weight: 650; }
.signal b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; }
.signal-a { left: 2%; top: 31%; }.signal-b { right: 0; top: 46%; }.signal-c { left: 22%; bottom: 8%; }
.signal-c b { background: var(--green); }.signal-b b { background: #8b7659; }
.radar-footer { display: grid; grid-template-columns: repeat(3,1fr); background: white; border-radius: 20px; padding: 15px 0; }
.radar-footer div { padding: 0 16px; border-right: 1px solid var(--line); display: flex; align-items: baseline; gap: 6px; }.radar-footer div:last-child { border: 0; }
.radar-footer strong { font-size: 23px; font-weight: 550; }.radar-footer span { font-size: 10px; color: var(--muted); }

.metric-grid { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 14px; margin-top: 12px; }
.metric-card { min-height: 166px; border-radius: 24px; background: var(--warm); padding: 24px; position: relative; overflow: hidden; }
.metric-card span { color: var(--muted); font-size: 12px; }.metric-card strong { display: block; margin-top: 28px; font-size: 37px; font-weight: 520; letter-spacing: -.04em; }.metric-card strong small { font-size: 14px; font-weight: 500; }.metric-card p { margin: 7px 0 0; font-size: 11px; color: var(--muted); }.metric-card p em { color: var(--green); font-style: normal; font-weight: 700; }
.metric-card.dark { background: var(--ink); color: white; }.metric-card.dark span { color: #aaa; }.metric-card.accent { background: var(--accent); }.metric-card.accent span, .metric-card.accent p { color: rgba(35,37,34,.68); }
.mini-bars { position: absolute; right: 20px; bottom: 22px; display: flex; gap: 5px; align-items: end; height: 58px; }.mini-bars i { display: block; width: 8px; height: var(--h); background: #6b6d68; border-radius: 3px 3px 0 0; }.mini-bars i:nth-last-child(-n+2) { background: var(--accent); }
.section-head { display: flex; justify-content: space-between; align-items: end; margin: 80px 0 22px; }.section-head h2 { font-size: 35px; margin: 8px 0 0; font-weight: 520; letter-spacing: -.035em; }
.text-button, .back-link { border: 0; background: transparent; cursor: pointer; color: var(--muted); display: flex; align-items: center; gap: 7px; }.text-button svg { width: 15px; }
.card-surface { background: white; border: 1px solid var(--line); box-shadow: 0 8px 30px rgba(35,37,34,.035); border-radius: var(--radius); }
.task-table { overflow: hidden; }.task-row { width: 100%; display: grid; grid-template-columns: 2.2fr .8fr .8fr .7fr 32px; align-items: center; gap: 20px; padding: 18px 22px; border: 0; border-bottom: 1px solid var(--line); background: white; text-align: left; }.task-row:last-child { border: 0; }.task-row:not(.task-header):is(button):hover { background: #fafaf7; cursor: pointer; }
.task-header { min-height: 44px; padding-top: 12px; padding-bottom: 12px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; background: #f8f8f5; }
.task-name { display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; }.task-name .task-icon { grid-row: 1 / 3; width: 44px; height: 44px; border-radius: 13px; background: var(--warm); display: grid; place-items: center; color: var(--green); }.task-icon.local { background: #f0f5be; color: var(--ink); }.task-name b { font-size: 13px; align-self: end; }.task-name small { color: var(--muted); font-size: 10px; margin-top: 4px; }
.avatar-stack { display: flex; }.avatar-stack i { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: white; font-style: normal; font-size: 10px; border: 2px solid white; margin-left: -7px; }.avatar-stack i:first-child { margin: 0; }.avatar-stack i:nth-child(2) { background: #8b7659; }.avatar-stack i:nth-child(3) { background: var(--green); }
.status-pill { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; border-radius: 999px; padding: 6px 9px; font-weight: 650; white-space: nowrap; }.status-pill i { width: 6px; height: 6px; border-radius: 50%; }.status-pill.complete { background: var(--green-soft); color: var(--green); }.status-pill.complete i { background: #4dac79; }.status-pill.running { background: #f3f5d7; }.status-pill.running i { background: #a7b41a; animation: pulse 1.2s infinite; } @keyframes pulse { 50% { opacity: .3; } }
.muted { color: var(--muted); font-size: 11px; }.row-arrow { color: var(--muted); }

.page-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 42px; }.page-heading h1, .run-header h1 { font-size: clamp(42px, 5vw, 64px); font-weight: 470; letter-spacing: -.05em; margin: 9px 0 12px; }.run-header h1 { font-size: clamp(36px, 4vw, 52px); line-height: 1.08; }.page-heading p, .run-header p { color: var(--muted); margin: 0; line-height: 1.6; }.mode-badge { padding: 9px 13px; border-radius: 999px; background: var(--warm); color: var(--muted); font-size: 11px; display: flex; align-items: center; gap: 7px; }.mode-badge i { width: 6px; height: 6px; border-radius: 50%; background: #d3a830; }
.wizard-layout { display: grid; grid-template-columns: 220px 1fr; gap: 34px; align-items: start; }
.stepper { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 7px; }.step { border: 0; border-radius: 18px; background: transparent; display: flex; gap: 12px; align-items: flex-start; padding: 14px; text-align: left; cursor: pointer; color: var(--muted); }.step b { font-size: 10px; width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; }.step span { font-size: 13px; font-weight: 650; }.step small { display: block; font-size: 10px; margin-top: 4px; font-weight: 400; }.step.active { background: var(--ink); color: white; }.step.active b { background: var(--accent); color: var(--ink); border-color: transparent; }.step.done b { background: var(--green-soft); color: var(--green); border: 0; }
.research-form { padding: 34px; min-height: 610px; display: flex; flex-direction: column; }.form-step { display: none; }.form-step.active { display: block; animation: viewIn .28s ease; }.form-title { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 30px; }.form-title > span { width: 42px; height: 42px; border-radius: 13px; background: var(--accent); display: grid; place-items: center; font-size: 11px; font-weight: 700; flex: 0 0 auto; }.form-title h2 { margin: 0; font-size: 24px; font-weight: 560; letter-spacing: -.025em; }.form-title p { color: var(--muted); font-size: 12px; margin: 6px 0 0; }
.field { display: block; border: 0; padding: 0; margin: 0 0 24px; position: relative; }.field > span, .field legend { display: block; font-size: 12px; font-weight: 650; margin-bottom: 9px; }.field em { color: var(--muted); font-style: normal; font-weight: 400; margin-left: 5px; }.field input, .field textarea, .tag-input { width: 100%; border: 1px solid var(--line); background: #fafaf7; border-radius: 13px; padding: 13px 15px; color: var(--ink); outline: 0; resize: vertical; line-height: 1.55; }.field textarea { min-height: 85px; }.field input:focus, .field textarea:focus, .tag-input:focus-within { border-color: rgba(31,104,90,.55); background: white; box-shadow: 0 0 0 3px rgba(31,104,90,.08); }.field > small { color: var(--muted); font-size: 10px; display: block; margin-top: 7px; }.field textarea + small { position: absolute; right: 12px; bottom: 10px; background: #fafaf7; padding-left: 6px; }
.tag-input { display: flex; align-items: center; gap: 7px; min-height: 52px; flex-wrap: wrap; }.tag-input > div { display: contents; }.tag-input input { border: 0; padding: 3px; width: 180px; flex: 1; background: transparent; box-shadow: none !important; }.tag { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; background: var(--ink); color: white; border-radius: 999px; font-size: 11px; }.tag button { border: 0; background: rgba(255,255,255,.15); color: white; border-radius: 50%; width: 17px; height: 17px; display: grid; place-items: center; cursor: pointer; padding: 0; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.choice { border: 1px solid var(--line); background: #fafaf7; border-radius: 16px; padding: 14px; display: grid; grid-template-columns: 38px 1fr 22px; gap: 11px; align-items: center; cursor: pointer; }.choice input { position: absolute; opacity: 0; }.choice > i { width: 38px; height: 38px; border-radius: 12px; background: var(--warm); display: grid; place-items: center; font-style: normal; }.choice span b { display: block; font-size: 12px; }.choice span small { color: var(--muted); font-size: 9px; }.choice > em { width: 20px; height: 20px; border: 1px solid var(--line); border-radius: 50%; color: transparent; display: grid; place-items: center; }.choice > em svg { width: 13px; }.choice.active { border-color: var(--ink); background: white; }.choice.active > em { background: var(--ink); color: white; }.choice.active > i { background: #f1f4c6; }
.frequency-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.frequency-row label { position: relative; }.frequency-row input { position: absolute; opacity: 0; }.frequency-row span { border: 1px solid var(--line); border-radius: 14px; padding: 14px; display: block; cursor: pointer; }.frequency-row b, .frequency-row small { display: block; }.frequency-row b { font-size: 12px; }.frequency-row small { color: var(--muted); font-size: 9px; margin-top: 4px; }.frequency-row label.active span { background: var(--ink); color: white; }.frequency-row label.active small { color: #bfc1bc; }
.toggle-card { display: flex; gap: 14px; align-items: center; border: 1px solid var(--line); padding: 15px; border-radius: 16px; margin-bottom: 20px; }.toggle-card > input { position: absolute; opacity: 0; }.toggle { width: 42px; height: 24px; background: var(--warm-2); border-radius: 999px; padding: 3px; transition: .2s; }.toggle i { display: block; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.14); transition: .2s; }.toggle-card input:checked + .toggle { background: var(--green); }.toggle-card input:checked + .toggle i { transform: translateX(18px); }.toggle-card b, .toggle-card small { display: block; }.toggle-card b { font-size: 12px; }.toggle-card small { color: var(--muted); font-size: 9px; margin-top: 4px; }
.summary-box { background: var(--warm); border-radius: 18px; padding: 17px; }.summary-box > span { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }.summary-box dl { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 14px 0 0; }.summary-box dl div { border-right: 1px solid var(--line); }.summary-box dl div:last-child { border: 0; }.summary-box dt { font-size: 9px; color: var(--muted); }.summary-box dd { margin: 4px 0 0; font-size: 12px; font-weight: 650; }
.form-actions { margin-top: auto; padding-top: 28px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }.form-actions > span { color: var(--muted); font-size: 10px; margin-left: auto; margin-right: 14px; }

.run-header { display: grid; grid-template-columns: 1fr 130px; align-items: center; margin-bottom: 40px; }.back-link { padding: 0; margin-bottom: 34px; }.run-orbit { width: 120px; height: 120px; border-radius: 50%; background: var(--warm); display: grid; place-items: center; position: relative; color: var(--green); }.run-orbit svg { width: 48px; height: 48px; }.run-orbit i { position: absolute; inset: 8px; border: 2px solid transparent; border-top-color: var(--accent); border-radius: 50%; animation: sweep 2s linear infinite; }
.progress-layout { display: grid; grid-template-columns: 1fr 320px; gap: 18px; }.pipeline-card { padding: 26px; }.pipeline-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid var(--line); font-size: 12px; }.pipeline-head div { display: flex; gap: 9px; align-items: center; }.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); animation: pulse 1.2s infinite; }.pipeline-head > span { color: var(--muted); font-variant-numeric: tabular-nums; }
.pipeline { list-style: none; margin: 0; padding: 0; }.pipeline li { display: grid; grid-template-columns: 40px 1fr auto; gap: 14px; align-items: center; min-height: 92px; position: relative; }.pipeline li::after { content: ""; position: absolute; width: 1px; height: 36px; left: 19px; bottom: -18px; background: var(--line); }.pipeline li:last-child::after { display: none; }.pipeline li > i { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 11px; background: white; z-index: 1; color: var(--muted); }.pipeline li.done > i { background: var(--green); color: white; border-color: var(--green); }.pipeline li.active > i { border-color: var(--accent); box-shadow: 0 0 0 6px rgba(220,233,90,.25); }.pipeline li.active > i span { width: 10px; height: 10px; background: var(--accent); border-radius: 50%; animation: pulse 1s infinite; }.pipeline li b { font-size: 13px; }.pipeline li small { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }.pipeline li time { font-size: 9px; color: var(--muted); }.pipeline li.active time { color: #879000; }.pipeline li.done::after { background: var(--green); }
.run-aside { display: flex; flex-direction: column; gap: 18px; }.evidence-preview { padding: 22px; }.evidence-preview h3 { font-size: 18px; margin: 7px 0 20px; }.evidence-preview article { border-top: 1px solid var(--line); padding-top: 15px; }.evidence-preview article span { display: inline-block; font-size: 8px; background: var(--green-soft); color: var(--green); padding: 4px 7px; border-radius: 99px; }.evidence-preview article b, .evidence-preview article small { display: block; }.evidence-preview article b { font-size: 11px; margin: 9px 0 5px; }.evidence-preview article small { font-size: 9px; color: var(--muted); }.demo-note { background: var(--accent); border-radius: 22px; padding: 20px; }.demo-note b { font-size: 12px; }.demo-note p { font-size: 10px; line-height: 1.55; margin: 7px 0 0; }

.report-heading { margin-bottom: 30px; }.heading-actions { display: flex; gap: 10px; }.report-meta-bar { padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }.report-meta-bar > div { display: flex; align-items: center; gap: 14px; }.report-meta-bar b { font-size: 13px; }.report-meta-bar span:not(.status-pill), .report-meta-bar code { font-size: 9px; color: var(--muted); }.report-meta-bar code { background: var(--warm); padding: 5px 7px; border-radius: 6px; }
.live-reports-panel { padding: 18px 20px; margin-bottom: 18px; }.live-reports-panel h3 { font-size: 16px; margin: 5px 0 14px; }.live-reports-panel > div:first-child { display: flex; align-items: baseline; gap: 12px; }.live-reports-panel > div:first-child .section-kicker { font-size: 9px; }.live-reports-panel > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.live-reports-panel article { border: 1px solid var(--line); border-radius: 13px; padding: 12px; }.live-reports-panel article[role="button"] { cursor: pointer; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }.live-reports-panel article[role="button"]:hover, .live-reports-panel article[role="button"]:focus-visible { border-color: var(--ink); transform: translateY(-2px); box-shadow: 0 9px 24px rgba(26,29,27,.08); outline: none; }.live-reports-panel article b, .live-reports-panel article small { display: block; }.live-reports-panel article b { font-size: 11px; margin-top: 9px; }.live-reports-panel article small { color: var(--muted); font-size: 9px; margin-top: 5px; }.report-retry { margin-top: 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--warm); padding: 5px 9px; font-size: 8px; cursor: pointer; }.report-retry:hover { background: var(--accent); }.report-retry:disabled { opacity: .55; cursor: wait; }
.report-layout { display: grid; grid-template-columns: 220px 1fr; gap: 18px; align-items: start; }.report-nav { position: sticky; top: 100px; padding: 14px; display: flex; flex-direction: column; }.report-nav > span { font-size: 9px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; padding: 10px; }.report-nav button { border: 0; background: transparent; text-align: left; padding: 10px 12px; border-radius: 10px; color: var(--muted); font-size: 11px; cursor: pointer; }.report-nav button:hover, .report-nav button.active { color: var(--ink); background: var(--warm); font-weight: 650; }
.report-content { padding: clamp(28px,5vw,64px); }.report-content > section { padding: 0 0 58px; margin-bottom: 58px; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }.report-content > section:last-child { border: 0; margin: 0; padding: 0; }.report-section-label { font-size: 9px; color: var(--muted); letter-spacing: .12em; margin-bottom: 10px; }.report-content h2 { font-size: 31px; font-weight: 520; letter-spacing: -.035em; margin: 0 0 23px; }.summary-callout { background: var(--ink); color: white; border-radius: 24px; padding: 30px; display: grid; grid-template-columns: 40px 1fr; gap: 16px; }.summary-callout > svg { color: var(--accent); width: 30px; height: 30px; }.summary-callout p { margin: 0; font-size: 16px; line-height: 1.8; color: #d9dbd6; }.summary-callout strong { color: var(--accent); font-weight: 600; }
.coverage-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.coverage-grid article { border: 1px solid var(--line); border-radius: 17px; padding: 16px; position: relative; overflow: hidden; }.coverage-grid article > div { display: flex; gap: 10px; align-items: center; }.coverage-grid article > div > b { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: white; }.coverage-grid article:nth-child(2) > div > b { background: #8b7659; }.coverage-grid article:nth-child(3) > div > b { background: var(--green); }.coverage-grid span strong, .coverage-grid span small { display: block; }.coverage-grid span strong { font-size: 11px; }.coverage-grid span small { font-size: 8px; color: var(--muted); margin-top: 3px; }.coverage-grid em { display: block; margin-top: 22px; font-size: 10px; font-style: normal; }.coverage-grid > article > i { position: absolute; height: 3px; background: var(--green); left: 0; bottom: 0; width: var(--p); }
.finding-list { display: flex; flex-direction: column; }.finding-list article { display: grid; grid-template-columns: 45px 1fr; gap: 16px; border-top: 1px solid var(--line); padding: 22px 0; }.finding-list article > span { font-size: 10px; color: var(--muted); }.finding-list b { font-size: 15px; }.finding-list p { font-size: 12px; line-height: 1.7; color: var(--muted); }.finding-list em, .finding-list a, .source-row em { font-style: normal; background: var(--warm); border-radius: 99px; padding: 5px 8px; font-size: 8px; margin-right: 5px; }.finding-list a { color: inherit; text-decoration: none; }.finding-list a:hover { background: var(--accent); }.inline-evidence-link { display: block; width: fit-content; margin-top: 6px; color: var(--green); font-size: 8px; font-weight: 650; text-decoration: none; }.inline-evidence-link:hover { text-decoration: underline; }
.split-section { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }.insight-list { margin: 0; padding: 0; list-style: none; }.insight-list li { display: flex; gap: 12px; margin: 18px 0; font-size: 11px; line-height: 1.6; }.insight-list i { color: var(--green); font-style: normal; font-weight: 700; }.insight-list b { display: block; font-size: 12px; margin-bottom: 3px; }.accent-list { background: var(--accent); border-radius: 20px; padding: 8px 18px; }.accent-list i { color: var(--ink); }
.action-list { margin: 0; padding: 0; list-style: none; }.action-list li { display: grid; grid-template-columns: 62px 1fr auto; gap: 18px; padding: 18px 0; border-top: 1px solid var(--line); align-items: start; }.action-list li > span { font-size: 9px; color: var(--muted); }.action-list b { font-size: 12px; }.action-list p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }.action-list button { border: 0; background: var(--warm); padding: 6px 9px; border-radius: 99px; font-size: 8px; }
.sources-title { display: flex; justify-content: space-between; align-items: center; }.sources-title span { font-size: 9px; color: var(--muted); }.source-table { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }.source-row { display: grid; grid-template-columns: 1.5fr 1fr 90px; gap: 12px; padding: 14px; border-bottom: 1px solid var(--line); align-items: center; text-decoration: none; color: inherit; }.source-row:last-child { border: 0; }.source-row:is(a):hover { background: #fafaf7; }.source-row span b, .source-row span small { display: block; }.source-row span b { font-size: 10px; }.source-row span small { color: var(--muted); font-size: 8px; margin-top: 4px; }.source-head { background: var(--warm); color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }.trust { font-size: 9px; }.trust i { display: block; height: 3px; width: 100%; background: var(--warm); margin-top: 5px; border-radius: 2px; position: relative; }.trust i::after { content:""; position:absolute; inset:0 auto 0 0; width:var(--p); background:var(--green); border-radius:2px; }

.delivery-hero { background: var(--ink); color: white; border-radius: 36px; padding: clamp(38px,6vw,70px); display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 390px; overflow: hidden; position: relative; }.delivery-hero h1 { font-size: clamp(43px,5vw,67px); font-weight: 440; line-height: 1; letter-spacing: -.05em; margin: 34px 0 20px; }.delivery-hero p { max-width: 560px; color: #b9bbb6; line-height: 1.7; }.scribble.light { color: #d9dbd6; }.mail-illustration { height: 250px; display: grid; place-items: center; position: relative; }.envelope { width: 170px; height: 125px; border-radius: 25px; background: var(--warm); color: var(--ink); display: grid; place-items: center; transform: rotate(-5deg); position: relative; z-index: 2; box-shadow: 0 30px 50px rgba(0,0,0,.25); }.envelope svg { width: 75px; height: 75px; stroke-width: 1; }.envelope i { position: absolute; right: -8px; top: -15px; background: var(--accent); width: 47px; height: 47px; border-radius: 50%; display: grid; place-items: center; font-style: normal; }.orbit-one, .orbit-two { position: absolute; width: 270px; height: 180px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; transform: rotate(12deg); }.orbit-two { width: 340px; height: 220px; transform: rotate(-12deg); }.subscribe-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 18px; }.subscribe-card { padding: 32px; }.subscribe-card .form-title > span { color: var(--ink); }.subscribe-card .form-title svg { width: 20px; }.inline-input { display: flex; gap: 8px; }.inline-input input { flex: 1; }.inline-input .button { flex: 0 0 auto; }.consent { display: flex; gap: 9px; align-items: center; color: var(--muted); font-size: 10px; cursor: pointer; }.consent input { position: absolute; opacity: 0; }.consent i { width: 20px; height: 20px; border: 1px solid var(--line); border-radius: 6px; color: transparent; display: grid; place-items: center; }.consent i svg { width: 13px; }.consent input:checked + i { background: var(--ink); color: white; }.form-feedback { margin-top: 16px; font-size: 11px; min-height: 16px; }.form-feedback.success { color: var(--green); }.form-feedback.error { color: #a33f35; }.delivery-rules { background: var(--warm); border-radius: 26px; padding: 32px; }.delivery-rules h3 { font-size: 26px; font-weight: 520; letter-spacing: -.03em; margin: 10px 0 28px; }.delivery-rules ul { list-style: none; margin: 0; padding: 0; }.delivery-rules li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; margin: 20px 0; }.delivery-rules li i { width: 28px; height: 28px; border-radius: 50%; background: white; display: grid; place-items: center; color: var(--green); }.delivery-rules li i svg { width: 14px; }.delivery-rules li b { display: block; font-size: 11px; margin-bottom: 4px; }.delivery-rules li span { color: var(--muted); font-size: 10px; line-height: 1.5; }

.mobile-nav { display: none; }.toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 25px); background: var(--ink); color: white; padding: 11px 16px 11px 11px; border-radius: 999px; display: flex; align-items: center; gap: 9px; opacity: 0; pointer-events: none; transition: .25s; z-index: 100; font-size: 11px; box-shadow: var(--shadow); }.toast.show { opacity: 1; transform: translate(-50%,0); }.toast i { width: 25px; height: 25px; border-radius: 50%; background: var(--accent); color: var(--ink); display: grid; place-items: center; }.toast i svg { width: 14px; }

.auth-required .topbar, .auth-required #app, .auth-required .mobile-nav { display: none; }
.auth-gate { min-height: 100vh; display: none; place-items: center; padding: 48px 20px; background: radial-gradient(circle at 75% 18%, rgba(220,233,90,.32), transparent 28%), var(--warm); position: relative; }
.auth-required .auth-gate { display: grid; }.authenticated .auth-gate { display: none; }
.auth-brand { position: absolute; top: 28px; left: 34px; display: flex; gap: 10px; align-items: center; font-weight: 700; }.auth-brand small { color: var(--muted); font-size: 8px; letter-spacing: .1em; }
.auth-card { width: min(440px,100%); background: white; border: 1px solid var(--line); border-radius: 28px; padding: 36px; box-shadow: var(--shadow); }.auth-card h1 { font-size: 34px; line-height: 1.08; letter-spacing: -.04em; margin: 10px 0 12px; }.auth-card > p { color: var(--muted); font-size: 11px; line-height: 1.7; margin-bottom: 24px; }.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; background: var(--warm); border-radius: 12px; margin-bottom: 20px; }.auth-tabs button { border: 0; border-radius: 9px; padding: 9px; background: transparent; color: var(--muted); font-size: 10px; }.auth-tabs button.active { background: white; color: var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,.06); font-weight: 700; }.auth-card form .button { width: 100%; justify-content: center; margin-top: 8px; }.auth-feedback { min-height: 18px; margin: 4px 0; color: #a33f35; font-size: 10px; }.auth-footnote { position: absolute; bottom: 20px; color: var(--muted); font-size: 9px; }
.project-switcher { display: flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 10px; background: var(--warm); color: var(--muted); font-size: 8px; }.project-switcher select { max-width: 150px; border: 0; background: transparent; color: var(--ink); font-size: 9px; font-weight: 650; outline: none; }.project-switcher option { color: var(--ink); }.topbar-user { border: 0; background: transparent; color: var(--ink); display: grid; grid-template-columns: 26px auto; grid-template-rows: auto auto; column-gap: 7px; text-align: left; align-items: center; }.topbar-user > span { grid-row: 1/3; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--ink); font-size: 10px; font-weight: 700; }.topbar-user b { font-size: 9px; max-width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.topbar-user small { color: var(--muted); font-size: 7px; }.logout-button { border: 0; background: transparent; color: var(--muted); font-size: 8px; cursor: pointer; }
.project-add { border: 1px solid var(--line); background: white; border-radius: 9px; padding: 6px 8px; color: var(--ink); font-size: 8px; cursor: pointer; }.account-dialog { width: min(470px,calc(100% - 32px)); border: 1px solid var(--line); border-radius: 24px; padding: 0; color: var(--ink); box-shadow: 0 30px 90px rgba(20,22,19,.22); }.account-dialog::backdrop { background: rgba(25,27,24,.46); backdrop-filter: blur(4px); }.account-dialog > header { display: flex; justify-content: space-between; gap: 20px; padding: 25px 28px 20px; border-bottom: 1px solid var(--line); }.account-dialog h2 { margin: 6px 0 3px; font-size: 25px; }.account-dialog header p { margin: 0; color: var(--muted); font-size: 10px; }.account-dialog form { padding: 23px 28px 28px; }.account-dialog form h3 { margin: 0 0 5px; font-size: 16px; }.account-dialog form > p { margin: 0 0 20px; color: var(--muted); font-size: 10px; }.account-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }.account-actions > span { color: #a33f35; font-size: 9px; line-height: 1.4; }.account-actions .button { flex: 0 0 auto; }

@media (max-width: 1040px) {
  .desktop-nav { position: static; transform: none; }.system-state { display: none; }
  .hero-grid { grid-template-columns: 1fr; }.radar-card { min-height: 450px; }.metric-grid { grid-template-columns: 1fr 1fr; }
  .progress-layout { grid-template-columns: 1fr; }.run-aside { display: grid; grid-template-columns: 1fr 1fr; }
  .report-layout { grid-template-columns: 1fr; }.report-nav { position: static; flex-direction: row; overflow-x: auto; white-space: nowrap; }.report-nav > span { display: none; }
}

@media (max-width: 760px) {
  body { padding-bottom: 70px; }.topbar { height: 66px; padding: 0 18px; }.desktop-nav, .topbar .button-small { display: none; }.brand small { display: none; }.menu-button { display: grid; place-items: center; }
  .topbar.menu-open .desktop-nav { display: flex; position: absolute; top: 58px; left: 18px; right: 18px; transform: none; flex-direction: column; align-items: stretch; gap: 4px; padding: 10px; background: rgba(35,37,34,.97); border-radius: 18px; box-shadow: 0 18px 45px rgba(0,0,0,.22); }
  .topbar.menu-open .desktop-nav .nav-item { color: #c7c9c4; text-align: left; }
  .topbar.menu-open .desktop-nav .nav-item.active { color: var(--ink); }
  .page-shell { padding: 42px 18px 70px; }.view { min-height: calc(100vh - 66px); }.hero-grid { padding: 42px 0 55px; gap: 40px; }.hero-copy h1 { font-size: 45px; }.hero-copy p { font-size: 15px; }.hero-actions { flex-direction: column; align-items: stretch; }.radar-card { min-height: 400px; padding: 18px; }.radar-visual { height: 285px; }.radar-rings { width: 230px; }.radar-footer span { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; }.metric-card { min-height: 145px; padding: 18px; }.metric-card.dark { grid-column: 1 / -1; }.metric-card strong { font-size: 31px; }
  .section-head { margin-top: 58px; }.section-head h2 { font-size: 28px; }.task-header { display: none; }.task-row { grid-template-columns: 1fr auto; gap: 12px; }.task-row > :nth-child(2), .task-row > :nth-child(4), .task-row > :nth-child(5) { display: none; }
  .page-heading { align-items: flex-start; gap: 20px; }.page-heading h1, .run-header h1 { font-size: 42px; }.mode-badge { display: none; }.wizard-layout { grid-template-columns: 1fr; }.stepper { position: static; flex-direction: row; }.step { flex: 1; padding: 8px; justify-content: center; }.step span { display: none; }.research-form { padding: 22px; min-height: 650px; }.choice-grid { grid-template-columns: 1fr; }.frequency-row { grid-template-columns: 1fr; }.summary-box dl { grid-template-columns: 1fr 1fr; }.summary-box dl div:nth-child(2) { border: 0; }.form-actions > span { display: none; }
  .run-header { grid-template-columns: 1fr 70px; }.run-orbit { width: 68px; height: 68px; }.run-orbit svg { width: 30px; }.pipeline-card { padding: 18px; }.pipeline li { grid-template-columns: 36px 1fr; }.pipeline li > i { width: 36px; height: 36px; }.pipeline li::after { left: 17px; }.pipeline li time { display: none; }.run-aside { grid-template-columns: 1fr; }
  .report-heading { display: block; }.heading-actions { margin-top: 20px; flex-direction: column; }.report-meta-bar { display: block; }.report-meta-bar > div:last-child { margin-top: 12px; flex-wrap: wrap; }.live-reports-panel > div:last-child { grid-template-columns: 1fr; }.report-content { padding: 25px 20px; }.coverage-grid { grid-template-columns: 1fr; }.split-section { grid-template-columns: 1fr; gap: 35px; }.source-row { grid-template-columns: 1fr 78px; }.source-row > :nth-child(2) { display: none; }.action-list li { grid-template-columns: 54px 1fr; }.action-list button { display: none; }
  .delivery-hero { grid-template-columns: 1fr; min-height: auto; padding: 35px 25px; }.delivery-hero h1 { font-size: 43px; }.mail-illustration { height: 220px; }.subscribe-layout { grid-template-columns: 1fr; }.subscribe-card, .delivery-rules { padding: 23px; }.inline-input { flex-direction: column; }
  .mobile-nav { display: grid; grid-template-columns: repeat(4,1fr); position: fixed; left: 12px; right: 12px; bottom: 10px; z-index: 60; background: rgba(35,37,34,.95); backdrop-filter: blur(14px); border-radius: 19px; padding: 7px; box-shadow: 0 15px 40px rgba(0,0,0,.25); }.mobile-nav button { border: 0; background: transparent; color: #8f928c; display: grid; place-items: center; gap: 2px; font-size: 8px; padding: 5px; border-radius: 12px; }.mobile-nav button.active { background: var(--accent); color: var(--ink); }.mobile-nav svg { width: 18px; height: 18px; }
  .toast { bottom: 84px; white-space: nowrap; }
  .auth-brand { left: 20px; }.auth-card { padding: 28px 22px; }.auth-card h1 { font-size: 29px; }.project-switcher,.topbar-user,.project-add,.logout-button { display: none; }.account-dialog form,.account-dialog > header { padding-left: 20px; padding-right: 20px; }.account-actions { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
 
.summary-evidence { margin-top: 12px; }
.claim-evidence-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.claim-evidence-links .inline-evidence-link { display: inline-flex; margin: 0; padding: 5px 8px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: inherit; opacity: .78; }
.report-content > section:not(#summary) .claim-evidence-links .inline-evidence-link { border-color: var(--line); color: var(--green); }
.evidence-gap-link { color: #9d4d3b !important; }
.compact-findings { margin-top: 24px; }
.compact-findings article:first-child { border-top: 0; }
.coverage-overview { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 18px; }
.coverage-overview article { background: var(--warm); border-radius: 14px; padding: 14px; }
.coverage-overview small, .coverage-overview strong { display: block; }
.coverage-overview small { color: var(--muted); font-size: 9px; }
.coverage-overview strong { font-size: 25px; margin-top: 7px; font-weight: 520; }
.coverage-matrix { display: grid; border: 1px solid var(--line); border-radius: 16px; overflow: auto; }
.coverage-matrix > * { min-height: 48px; display: grid; place-items: center; padding: 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 9px; text-align: center; }
.coverage-matrix b { background: var(--warm); color: var(--muted); }
.coverage-matrix strong { justify-items: start; place-items: center start; font-size: 10px; }
.coverage-cell { font-weight: 650; }
.coverage-cell.covered { color: var(--green); background: var(--green-soft); }
.coverage-cell.partial { color: #8d6b13; background: #fff8db; }
.coverage-cell.gap { color: #9d4d3b; background: #fff0eb; }
.market-grid, .landscape-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.market-grid article, .landscape-grid article { border: 1px solid var(--line); border-radius: 17px; padding: 18px; }
.market-grid h3, .landscape-grid h3 { font-size: 13px; margin: 0 0 12px; }
.market-grid p, .landscape-grid p { color: var(--muted); font-size: 11px; line-height: 1.65; margin: 12px 0; }
.competitor-profiles { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.competitor-profiles > article { border: 1px solid var(--line); border-radius: 20px; padding: 19px; }
.competitor-profiles header { display: flex; gap: 11px; align-items: center; margin-bottom: 18px; }
.competitor-profiles header i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-style: normal; }
.competitor-profiles h3 { margin: 0; font-size: 17px; }
.competitor-profiles header small { color: var(--muted); font-size: 8px; }
.competitor-profiles > article > div { border-top: 1px solid var(--line); padding: 12px 0; }
.competitor-profiles > article > div > b { font-size: 9px; color: var(--muted); }
.competitor-profiles p { font-size: 10px; line-height: 1.6; margin: 5px 0 0; }
.comparison-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; }
.report-layout > *, .report-content, .report-content > section, .comparison-scroll, .coverage-matrix { min-width: 0; max-width: 100%; }
.comparison-table { border-collapse: collapse; width: 100%; min-width: 760px; }
.comparison-table th, .comparison-table td { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px; vertical-align: top; text-align: left; }
.comparison-table thead th { background: var(--warm); font-size: 9px; color: var(--muted); }
.comparison-table tbody th { font-size: 11px; min-width: 110px; }
.comparison-table td { min-width: 155px; }
.comparison-table td p { margin: 0; font-size: 10px; line-height: 1.6; }
.comparison-table td > small { display: block; color: var(--muted); font-size: 8px; margin-top: 8px; }
.comparison-table .matrix-gap { background: #fff8f5; }
.positioning-plot { height: 420px; position: relative; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(90deg,transparent 49.8%,var(--line) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,var(--line) 50%,transparent 50.2%),var(--warm); margin: 28px 24px 46px; }
.positioning-plot::before { content:""; position:absolute; inset:12px; border-left:1px solid var(--ink); border-bottom:1px solid var(--ink); opacity:.3; }
.axis-label { position: absolute; font-size: 8px; color: var(--muted); }
.axis-x-low { left: 0; bottom: -26px; }
.axis-x-high { right: 0; bottom: -26px; }
.axis-y-low { left: -22px; bottom: 0; writing-mode: vertical-rl; }
.axis-y-high { left: -22px; top: 0; writing-mode: vertical-rl; }
.position-dot { position: absolute; transform: translate(-50%,50%); border: 3px solid white; box-shadow: 0 7px 18px rgba(0,0,0,.18); background: var(--ink); color: white; border-radius: 999px; padding: 8px 11px; font-size: 9px; cursor: help; }
.position-dot:nth-of-type(2n) { background: var(--green); }
.position-dot:nth-of-type(3n) { background: #8b7659; }
.position-legend { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.position-legend article { border: 1px solid var(--line); border-radius: 14px; padding: 13px; }
.position-legend b { font-size: 10px; }
.position-legend p { color: var(--muted); font-size: 9px; line-height: 1.6; }
.opportunity-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.opportunity-grid article { background: var(--accent); border-radius: 19px; padding: 19px; }
.opportunity-grid article > div { display: flex; justify-content: space-between; align-items: center; }
.opportunity-grid article > div span { background: var(--ink); color: white; border-radius: 999px; padding: 5px 8px; font-size: 8px; }
.opportunity-grid article > div small { font-size: 8px; }
.opportunity-grid h3 { font-size: 16px; margin: 17px 0 8px; }
.opportunity-grid p { font-size: 10px; line-height: 1.65; margin: 0; }
.gap-list { display: grid; gap: 9px; }
.gap-list article { border-left: 3px solid #d47c68; background: #fff8f5; border-radius: 0 14px 14px 0; padding: 14px 16px; }
.gap-list b { font-size: 11px; }
.gap-list p { color: var(--muted); font-size: 10px; line-height: 1.6; }
.gap-list code { display: block; white-space: normal; font-size: 8px; color: #8a4d40; }
.gap-list .gap-evidence-button { margin-top: 10px; border: 1px solid #e9c8bf; background: white; color: #8a4d40; border-radius: 999px; padding: 7px 10px; font-size: 9px; cursor: pointer; }
.gap-list .gap-evidence-button:hover { background: #fff0eb; }
.evidence-composer { margin: 18px 0; padding: clamp(22px,4vw,38px); border-color: rgba(35,37,34,.16); box-shadow: 0 18px 55px rgba(35,37,34,.07); }
.evidence-composer[hidden] { display: none; }
.evidence-composer > header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.evidence-composer h2 { margin: 8px 0 5px; font-size: 27px; font-weight: 520; letter-spacing: -.03em; }
.evidence-composer header p { margin: 0; color: var(--muted); font-size: 11px; }
.icon-close { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: white; display: grid; place-items: center; cursor: pointer; }
.icon-close svg { width: 15px; }
.evidence-composer form { padding: 24px 0; border-bottom: 1px solid var(--line); }
.evidence-target-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.evidence-composer select { width: 100%; appearance: none; background: white; border: 1px solid var(--line); border-radius: 12px; padding: 12px 36px 12px 13px; color: var(--ink); font: inherit; font-size: 11px; }
.evidence-composer textarea { min-height: 132px; resize: vertical; }
.evidence-trust-note { margin-top: 14px; display: flex; gap: 11px; align-items: flex-start; padding: 13px 14px; background: var(--green-soft); border-radius: 14px; }
.evidence-trust-note > i { width: 23px; height: 23px; border-radius: 50%; background: var(--green); color: white; display: grid; place-items: center; font-style: normal; font-size: 10px; }
.evidence-trust-note b, .evidence-trust-note small { display: block; }
.evidence-trust-note b { font-size: 10px; }
.evidence-trust-note small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.evidence-form-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 18px; }
.evidence-form-actions > span { color: var(--muted); font-size: 10px; }
.user-evidence-shelf { padding-top: 24px; }
.user-evidence-shelf h3 { margin: 0; font-size: 14px; }
#userEvidenceList { display: grid; gap: 8px; margin: 15px 0; }
.user-evidence-item { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 13px; }
.user-evidence-item b, .user-evidence-item small { display: block; }
.user-evidence-item b { font-size: 10px; }
.user-evidence-item small { color: var(--muted); font-size: 8px; margin-top: 4px; }
.user-evidence-item em, .user-source-badge { align-self: start; font-style: normal; border-radius: 999px; background: #fff2bd; color: #6d5610; padding: 5px 8px; font-size: 8px; white-space: nowrap; }
.button-accent { background: var(--accent); color: var(--ink); border: 0; }
.button-accent:disabled { opacity: .42; cursor: not-allowed; }
.report-version-badge { display: inline-flex; margin-left: 7px; border: 1px solid var(--line); border-radius: 999px; padding: 4px 7px; color: var(--muted); font-size: 8px; vertical-align: middle; }
.generation-notice { display: flex; gap: 12px; align-items: baseline; margin: 0 0 14px; padding: 12px 14px; border: 1px solid #ead797; border-radius: 12px; background: #fffaf0; color: #6d5610; }
.generation-notice[hidden] { display: none; }
.generation-notice b { flex: 0 0 auto; font-size: 9px; }
.generation-notice span { font-size: 9px; line-height: 1.55; }
.structured-points { display: grid; gap: 5px; margin: 0; padding-left: 16px; font-size: inherit; line-height: inherit; }
.structured-points li::marker { color: var(--green); }
.report-mode-switch { display: inline-flex; gap: 3px; margin: 0 0 14px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: var(--warm); }
.report-mode-switch button { border: 0; border-radius: 999px; background: transparent; color: var(--muted); padding: 9px 14px; font: inherit; font-size: 10px; font-weight: 650; cursor: pointer; }
.report-mode-switch button.active { background: var(--ink); color: white; box-shadow: 0 5px 14px rgba(35,37,34,.14); }
.report-mode-switch span { display: inline-grid; min-width: 18px; height: 18px; margin-left: 5px; place-items: center; border-radius: 999px; background: rgba(255,255,255,.13); font-size: 8px; }
#deltaReportView[hidden], #baselineReportView[hidden], #deltaReportsPanel[hidden] { display: none; }
.delta-summary-callout { background: var(--ink); color: white; }
.delta-summary-callout small { display: block; margin-top: 11px; color: #b9bbb6; font-size: 10px; line-height: 1.65; }
.delta-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-top: 16px; }
.delta-metrics article { min-height: 112px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.delta-metrics small, .delta-metrics strong, .delta-metrics em { display: block; }
.delta-metrics small { color: var(--muted); font-size: 8px; }
.delta-metrics strong { margin-top: 13px; font-size: 29px; font-weight: 520; letter-spacing: -.04em; }
.delta-metrics em { margin-top: 5px; color: var(--muted); font-size: 8px; font-style: normal; }
.delta-coverage-matrix .coverage-cell.new { background: #eff6ff; color: #35699a; }
.delta-coverage-matrix .coverage-cell.changed { background: #fff2bd; color: #735b0b; }
.delta-coverage-matrix .coverage-cell.unchanged { background: var(--green-soft); color: var(--green); }
.delta-coverage-matrix .coverage-cell.retrieval_failed { background: #fff0eb; color: #9d4d3b; }
.delta-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.delta-legend span { border-radius: 999px; padding: 6px 9px; font-size: 8px; }
.delta-legend .new { background: #eff6ff; color: #35699a; }.delta-legend .changed { background: #fff2bd; color: #735b0b; }.delta-legend .unchanged { background: var(--green-soft); color: var(--green); }.delta-legend .retrieval_failed { background: #fff0eb; color: #9d4d3b; }
.delta-change-list { display: grid; gap: 12px; }
.delta-change-card { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.delta-change-card > header { display: flex; justify-content: space-between; gap: 16px; padding: 17px 18px; background: var(--warm); }
.delta-change-card header small, .delta-change-card header b { display: block; }
.delta-change-card header small { margin-bottom: 6px; color: var(--muted); font-size: 8px; }
.delta-change-card header b { font-size: 13px; }
.change-badges { display: flex; align-items: flex-end; gap: 6px; flex-direction: column; }
.change-significance { align-self: flex-start; border-radius: 999px; padding: 6px 9px; font-size: 8px; font-style: normal; white-space: nowrap; }
.change-significance.material { background: var(--accent); color: var(--ink); }.change-significance.uncertain { background: #fff2bd; color: #735b0b; }.change-significance.non_material { background: #e9ebe7; color: var(--muted); }
.analysis-status { border-radius: 999px; padding: 4px 8px; border: 1px solid var(--line); color: var(--muted); font-size: 8px; font-style: normal; white-space: nowrap; }
.analysis-status.analyzed { border-color: #cde4cf; background: var(--green-soft); color: var(--green); }
.analysis-status.fallback, .analysis-status.needs_review { border-color: #edd9a0; background: #fffaf0; color: #735b0b; }
.before-after { display: grid; grid-template-columns: 1fr 1fr; }
.before-after > div { min-width: 0; padding: 18px; }.before-after > div + div { border-left: 1px solid var(--line); }
.before-after span { display: block; margin-bottom: 9px; color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.before-after p { margin: 0; font-size: 10px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
.snapshot-points { margin: 10px 0 0; padding-left: 16px; color: var(--ink); font-size: 9px; line-height: 1.65; }
.raw-evidence { margin-top: 12px; border-top: 1px dashed var(--line); padding-top: 10px; }
.raw-evidence summary { color: var(--muted); cursor: pointer; font-size: 9px; list-style-position: inside; }
.raw-evidence p { max-height: 180px; margin-top: 9px; overflow: auto; border-radius: 10px; background: var(--warm); padding: 10px; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 8px; line-height: 1.6; }
.change-diff { padding: 15px 18px; border-top: 1px solid var(--line); background: white; }
.change-diff > b { display: block; margin-bottom: 9px; font-size: 10px; }
.change-diff > p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.change-diff ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.change-diff li { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; }
.change-diff li p { margin: 1px 0 0; font-size: 10px; line-height: 1.55; }
.diff-kind { border-radius: 999px; padding: 4px 7px; background: #eef1ed; color: var(--muted); font-size: 8px; }
.diff-kind.added { background: var(--green-soft); color: var(--green); }.diff-kind.removed { background: #fff0eb; color: #9d4d3b; }.diff-kind.modified { background: #fff2bd; color: #735b0b; }
.change-impact { margin: 0; padding: 15px 18px; border-top: 1px solid var(--line); background: #fcfcfa; font-size: 10px; line-height: 1.65; }
.change-impact b { margin-right: 7px; }
.section-intro { margin: -6px 0 18px; color: var(--muted); font-size: 10px; }
.delta-report-layout .source-row em { display: block; color: var(--muted); font-size: 8px; font-style: normal; }
.delta-report-layout .source-row .snapshot-role { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 5px 8px; color: var(--muted); }
@media (max-width: 760px) {
  .coverage-overview { grid-template-columns: repeat(2,1fr); }
  .market-grid, .landscape-grid, .competitor-profiles, .opportunity-grid, .position-legend { grid-template-columns: 1fr; }
  .positioning-plot { height: 320px; margin-left: 20px; margin-right: 8px; }
  .evidence-target-grid { grid-template-columns: 1fr; }
  .evidence-form-actions { align-items: stretch; flex-direction: column; }
  .evidence-form-actions .button, #regenerateReport { width: 100%; }
  .delta-metrics { grid-template-columns: repeat(2,1fr); }
  .before-after { grid-template-columns: 1fr; }.before-after > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .report-mode-switch { display: flex; }.report-mode-switch button { flex: 1; }
}

/* 2026-08 project-scoped workspace refresh */
input::placeholder, textarea::placeholder { color: #aaa9a3; font-size: .94em; font-weight: 400; opacity: 1; }
.topbar { height: 72px; padding-inline: clamp(22px,4vw,64px); }
.topbar-actions { gap: 7px; }
.topbar-icon-button { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 50%; background: transparent; cursor: pointer; transition: background .18s ease,border-color .18s ease; }
.topbar-icon-button:hover,.topbar-icon-button[aria-expanded="true"] { background: var(--warm); border-color: var(--line); }
.topbar-icon-button svg { width: 18px; height: 18px; }
.topbar-icon-button > span { position: absolute; top: 1px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; display: grid; place-items: center; border: 2px solid var(--paper); border-radius: 999px; background: #a84738; color: white; font-size: 8px; font-weight: 700; }
.topbar-user { min-height: 42px; padding: 4px 7px 4px 4px; border: 1px solid transparent; border-radius: 999px; display: flex; gap: 8px; cursor: pointer; transition: background .18s ease,border-color .18s ease; }
.topbar-user:hover,.topbar-user[aria-expanded="true"] { background: var(--warm); border-color: var(--line); }
.topbar-user > span { width: 32px; height: 32px; flex: 0 0 32px; font-size: 11px; }
.topbar-user b { max-width: 108px; font-size: 11px; font-weight: 600; }
.topbar-user > svg { width: 14px; color: var(--muted); }
.topbar-popover { position: fixed; top: 64px; right: clamp(22px,4vw,64px); z-index: 90; background: rgba(255,255,255,.98); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 22px 70px rgba(28,30,27,.16),0 2px 10px rgba(28,30,27,.05); backdrop-filter: blur(20px); animation: popoverIn .18s ease both; }
@keyframes popoverIn { from { opacity:0; transform:translateY(-6px) scale(.98); } }
.account-popover { width: min(320px,calc(100vw - 32px)); padding: 10px; }
.account-identity { display: flex; align-items: center; gap: 12px; padding: 11px 10px 16px; border-bottom: 1px solid var(--line); }
.account-identity > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--accent); font-size: 14px; font-weight: 700; }
.account-identity b,.account-identity small { display: block; }
.account-identity b { font-size: 13px; font-weight: 620; }
.account-identity small { max-width: 220px; margin-top: 4px; color: var(--muted); font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
.popover-action { width: 100%; margin-top: 7px; padding: 10px 11px; border: 0; border-radius: 11px; background: transparent; display: flex; align-items: center; gap: 10px; text-align: left; font-size: 11px; cursor: pointer; }
.popover-action:hover { background: var(--warm); }.popover-action.danger { color: #98473b; }.popover-action svg { width: 16px; }
.notification-popover { width: min(420px,calc(100vw - 32px)); overflow: hidden; }
.notification-popover > header { display: flex; justify-content: space-between; align-items: center; padding: 18px 19px 14px; border-bottom: 1px solid var(--line); }
.notification-popover h2 { margin: 4px 0 0; font-size: 18px; letter-spacing: -.02em; }
.notification-popover .text-button { font-size: 9px; }
.notification-list { max-height: min(520px,70vh); overflow: auto; padding: 7px; }
.notification-item { width: 100%; display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: start; padding: 12px; border: 0; border-radius: 13px; background: transparent; text-align: left; cursor: pointer; }
.notification-item:hover { background: var(--warm); }.notification-item.unread { background: #f7f8e8; }
.notification-item > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: var(--warm); color: var(--ink); font-style: normal; }
.notification-item.running > i { background: var(--accent); }.notification-item.failed > i { background: #fff0eb; color: #9d4d3b; }
.notification-item b,.notification-item small { display: block; }.notification-item b { font-size: 11px; line-height: 1.45; }.notification-item small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.notification-item > time { color: var(--muted); font-size: 8px; white-space: nowrap; }
.popover-empty { margin: 0; padding: 38px 20px; color: var(--muted); text-align: center; font-size: 10px; }

.field-label-row { display: flex !important; align-items: center; justify-content: space-between; }
.field-label-row b { font: inherit; }.forgot-link { border: 0; background: transparent; color: var(--green); font-size: 9px; cursor: pointer; }
.forgot-link:hover { text-decoration: underline; }.forgot-back { margin: 0 0 18px; }.auth-card #forgotPasswordForm h2,.auth-card #confirmPasswordForm h2 { margin: 0 0 8px; font-size: 27px; }.auth-card #forgotPasswordForm > p:not(.auth-feedback),.auth-card #confirmPasswordForm > p:not(.auth-feedback) { margin: 0 0 22px; color: var(--muted); font-size: 11px; line-height: 1.65; }.auth-card #confirmPasswordForm > .section-kicker { display:block; margin-bottom:8px; }

.project-dialog { width: min(570px,calc(100% - 32px)); padding: 0; border: 1px solid var(--line); border-radius: 24px; color: var(--ink); box-shadow: 0 30px 90px rgba(20,22,19,.20); }
.project-dialog::backdrop { background: rgba(25,27,24,.42); backdrop-filter: blur(5px); }
.project-dialog form { padding: 27px; }.project-dialog header { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 24px; }.project-dialog h2 { margin: 6px 0; font-size: 28px; letter-spacing: -.04em; }.project-dialog header p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.button-prominent { min-height: 50px; padding-inline: 24px; font-size: 15px; box-shadow: 0 10px 28px rgba(35,37,34,.14); }

.view[data-view="overview"] { background:#f8f7f3; }
.overview-shell { --overview-accent:#e3ef7a; --overview-board:#deddd8; --overview-dark:#3f3f3d; --overview-white:#fffefa; }
.product-promise { width:100%; max-width:none; margin:0 0 32px; color:#777873; font-size:20px; line-height:1.5; letter-spacing:-.018em; }
.product-promise span { color:#4d550b; font-weight:680; box-shadow:inset 0 -.36em rgba(227,239,122,.68); }
.project-page-head { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-bottom:18px; padding:0 4px; }
.project-page-head .section-kicker { color:#858680; }
.project-page-head h1 { max-width:760px; margin:6px 0 0; font-size:clamp(20px,2vw,28px); line-height:1.08; letter-spacing:-.04em; font-weight:590; text-wrap:balance; }
.project-page-head p { margin:0; color:var(--muted); font-size:11px; }
.project-page-actions { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.context-project-select { min-width:220px; height:48px; padding:7px 13px; display:grid; gap:2px; border:1px solid var(--line); border-radius:14px; background:white; }
.context-project-select > span { color:var(--muted); font-size:8px; }.context-project-select select { width:100%; padding:0 22px 0 0; border:0; outline:0; background:transparent; color:var(--ink); font-size:11px; font-weight:650; cursor:pointer; }
.overview-shell .context-project-select { min-width:240px; border-color:rgba(63,63,61,.12); border-radius:16px; background:var(--overview-white); box-shadow:0 2px 7px rgba(42,42,39,.025); }
.overview-shell .project-create-button { min-height:48px; border-radius:16px; background:var(--overview-white); border-color:rgba(63,63,61,.12); }
.overview-shell .project-create-button:hover { background:#f1f0eb; }
.project-create-button { min-height:48px; border-radius:14px; }

.marketing-home { display:block; overflow:visible; border:0; background:transparent; box-shadow:none; }
.marketing-hero { min-height:calc(100vh - 190px); display:grid; grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr); gap:clamp(44px,7vw,94px); align-items:center; padding:28px 0 82px; }
.marketing-copy { position:relative; z-index:2; }
.marketing-badge { width:max-content; max-width:100%; padding:8px 12px; display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(35,37,34,.09); border-radius:999px; background:rgba(255,255,255,.62); color:#62645e; font-size:10px; font-weight:650; letter-spacing:.045em; backdrop-filter:blur(12px); }
.marketing-badge i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(220,233,90,.22); }
.marketing-pretitle { margin:25px 0 10px; color:#777974; font-size:15px; line-height:1.5; }
.marketing-copy h1 { max-width:760px; margin:0; font-size:clamp(52px,6vw,82px); line-height:1.155; letter-spacing:-.065em; font-weight:480; text-wrap:balance; }
.marketing-copy h1 span { color:var(--green); }
.marketing-copy > p:last-of-type { max-width:650px; margin:30px 0; color:#686a65; font-size:17px; line-height:1.78; }
.marketing-actions { display:flex; align-items:center; gap:20px; }
.marketing-primary { min-height:54px; padding-inline:24px; font-size:15px; }
.marketing-primary svg { transition:transform .22s ease; }
.marketing-primary:hover svg { transform:translateX(4px); }
.marketing-text-button { min-height:46px; padding:0; display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; color:#61635e; font-size:13px; font-weight:620; cursor:pointer; }
.marketing-text-button span { width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; transition:transform .22s ease,background .22s ease; }
.marketing-text-button:hover span { transform:translateY(3px); background:white; }
.marketing-trust { margin-top:34px; display:flex; flex-wrap:wrap; gap:10px 24px; color:#8b8d87; font-size:10px; }
.marketing-trust span { display:inline-flex; align-items:baseline; gap:5px; }
.marketing-trust b { color:var(--ink); font-size:15px; font-weight:620; }
.marketing-visual { min-height:560px; position:relative; overflow:hidden; border-radius:38px; background:#e9e7e1; box-shadow:0 30px 80px rgba(48,50,45,.08); isolation:isolate; }
.marketing-visual::before { content:""; position:absolute; width:310px; height:150px; right:-104px; top:-112px; border:2px solid var(--accent); border-radius:50%; transform:rotate(12deg); z-index:3; }
.marketing-visual::after { content:""; position:absolute; inset:17% 12%; border:1px solid rgba(31,104,90,.13); border-radius:50%; animation:marketingPulse 4s ease-in-out infinite; pointer-events:none; z-index:2; }
.marketing-visual-head { height:64px; padding:20px 23px 0; display:flex; justify-content:space-between; align-items:flex-start; position:relative; z-index:4; }
.marketing-visual-head > span { color:#858781; font-size:9px; letter-spacing:.14em; font-weight:700; }
.marketing-visual-head b { display:flex; align-items:center; gap:8px; color:#51534e; font-size:10px; font-weight:620; }
.marketing-visual-head b i { width:7px; height:7px; border-radius:50%; background:#4dac79; box-shadow:0 0 0 4px rgba(77,172,121,.12); animation:pulse 1.5s ease-in-out infinite; }
.marketing-visual img { width:100%; height:calc(100% - 64px); display:block; object-fit:cover; object-position:center; mix-blend-mode:multiply; filter:saturate(.86) contrast(.98); animation:marketingFloat 8s ease-in-out infinite; }
.visual-card { position:absolute; z-index:5; border:1px solid rgba(35,37,34,.08); background:rgba(255,255,255,.88); box-shadow:0 18px 40px rgba(41,43,39,.12); backdrop-filter:blur(14px); }
.visual-card-evidence { left:24px; bottom:32px; width:144px; padding:15px 16px; border-radius:19px; animation:cardDrift 5.4s ease-in-out infinite; }
.visual-card-evidence span,.visual-card-evidence small { display:block; color:#858781; font-size:9px; }.visual-card-evidence strong { display:block; margin:7px 0 3px; font-size:29px; font-weight:560; letter-spacing:-.04em; }
.visual-card-change { top:105px; right:20px; min-width:148px; padding:12px 15px; display:grid; grid-template-columns:8px 1fr auto; gap:8px; align-items:center; border-radius:999px; animation:cardDrift 6.2s ease-in-out infinite reverse; }
.visual-card-change i { width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(220,233,90,.22); }.visual-card-change span { color:#666862; font-size:10px; }.visual-card-change strong { font-size:14px; font-weight:700; }
.visual-card-decision { right:24px; bottom:34px; min-width:158px; padding:13px 15px; display:grid; grid-template-columns:30px 1fr; grid-template-rows:auto auto; column-gap:10px; border-radius:19px; animation:cardDrift 5.8s ease-in-out .8s infinite; }
.visual-card-decision svg { grid-row:1/3; width:30px; height:30px; padding:7px; border-radius:10px; background:var(--accent); }.visual-card-decision span { color:#858781; font-size:9px; }.visual-card-decision b { font-size:12px; }
@keyframes marketingFloat { 50% { transform:scale(1.025) translateY(-7px); } }
@keyframes marketingPulse { 50% { transform:scale(1.08); opacity:.45; } }
@keyframes cardDrift { 50% { transform:translateY(-9px); } }

.marketing-flow { padding:96px 0 110px; border-top:1px solid rgba(35,37,34,.08); }
.marketing-section-head { max-width:650px; margin-bottom:50px; }.marketing-section-head h2 { margin:10px 0 12px; font-size:clamp(38px,4.5vw,58px); font-weight:500; line-height:1.02; letter-spacing:-.052em; }.marketing-section-head p { margin:0; color:var(--muted); font-size:14px; }
.marketing-flow-grid { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.marketing-flow-grid::before { content:""; position:absolute; left:7%; right:7%; top:45px; height:1px; background:linear-gradient(90deg,transparent,rgba(31,104,90,.24) 10%,rgba(31,104,90,.24) 90%,transparent); }
.marketing-flow-grid::after { content:""; position:absolute; top:41px; left:8%; width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 6px rgba(220,233,90,.18); animation:flowSignal 7s ease-in-out infinite; }
@keyframes flowSignal { 0% { left:8%; } 50%,100% { left:91%; } }
.marketing-flow-grid article { min-height:272px; padding:24px; position:relative; z-index:1; border:1px solid rgba(35,37,34,.07); border-radius:24px; background:rgba(255,255,255,.62); transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.marketing-flow-grid article:hover { transform:translateY(-5px); background:white; box-shadow:0 18px 42px rgba(35,37,34,.06); }
.marketing-flow-grid article > span { color:#9a9c96; font-size:9px; letter-spacing:.1em; }
.marketing-flow-grid article > i { width:46px; height:46px; margin:29px 0 28px; display:grid; place-items:center; border-radius:15px; background:var(--warm); color:var(--green); font-style:normal; }.marketing-flow-grid article > i svg { width:21px; height:21px; }
.marketing-flow-grid article:nth-child(5) { background:rgba(220,233,90,.24); border-color:rgba(166,181,27,.18); }
.marketing-flow-grid article:nth-child(5):hover { background:rgba(220,233,90,.34); }
.marketing-flow-grid article:nth-child(5) > i { background:var(--accent); color:var(--ink); box-shadow:0 0 0 7px rgba(220,233,90,.18); }
.marketing-flow-grid h3 { margin:0 0 10px; font-size:18px; font-weight:620; letter-spacing:-.025em; }.marketing-flow-grid p { margin:0; color:#777974; font-size:11px; line-height:1.7; }

.marketing-outcome { padding:clamp(34px,5vw,64px); display:grid; grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr); gap:clamp(44px,7vw,94px); align-items:center; border-radius:38px; background:var(--ink); color:white; overflow:hidden; position:relative; }
.marketing-outcome::after { content:""; position:absolute; width:360px; height:160px; left:-120px; bottom:-115px; border:2px solid rgba(220,233,90,.65); border-radius:50%; transform:rotate(-8deg); }
.marketing-outcome-copy { position:relative; z-index:1; }.marketing-outcome-copy .section-kicker { color:#aaa; }.marketing-outcome-copy h2 { margin:12px 0 22px; font-size:clamp(38px,4.2vw,56px); font-weight:480; line-height:1.04; letter-spacing:-.052em; }.marketing-outcome-copy > p { margin:0; color:#b8bab4; font-size:13px; line-height:1.78; }.marketing-outcome-copy ul { margin:28px 0 0; padding:0; list-style:none; display:grid; gap:13px; }.marketing-outcome-copy li { display:flex; align-items:center; gap:11px; color:#e4e5e0; font-size:12px; }.marketing-outcome-copy li i { width:8px; height:8px; border:2px solid var(--accent); border-radius:50%; }
.marketing-report-preview { position:relative; z-index:1; padding:28px; border-radius:28px; background:#fbfbf8; color:var(--ink); box-shadow:0 28px 70px rgba(0,0,0,.22); transform:rotate(1.2deg); transition:transform .35s ease; }.marketing-report-preview:hover { transform:rotate(0); }
.marketing-report-preview header { padding-bottom:18px; display:flex; justify-content:space-between; gap:16px; align-items:flex-start; border-bottom:1px solid var(--line); }.marketing-report-preview header span,.marketing-report-preview header b { display:block; }.marketing-report-preview header span { color:var(--muted); font-size:8px; letter-spacing:.12em; }.marketing-report-preview header b { margin-top:7px; font-size:14px; }.marketing-report-preview header em { padding:7px 9px; border-radius:999px; background:var(--green-soft); color:var(--green); font-size:8px; font-style:normal; font-weight:650; white-space:nowrap; }
.preview-summary { margin:22px 0; padding:19px; display:grid; grid-template-columns:28px 1fr; gap:13px; align-items:flex-start; border-radius:18px; background:var(--ink); color:white; }.preview-summary svg { width:25px; height:25px; color:var(--accent); }.preview-summary p { margin:0; font-size:12px; line-height:1.68; }
.preview-finding { padding:4px 3px 20px; }.preview-finding > span { color:var(--muted); font-size:8px; letter-spacing:.08em; }.preview-finding > b { display:block; margin:11px 0 14px; font-size:14px; line-height:1.55; }.preview-finding > div { display:flex; flex-wrap:wrap; gap:6px; }.preview-finding small,.preview-finding .preview-source { padding:5px 7px; border-radius:999px; background:var(--warm); color:#676964; font-size:8px; }.preview-finding .preview-source { color:var(--green); }
.preview-evidence { padding-top:16px; display:flex; justify-content:space-between; gap:15px; align-items:center; border-top:1px solid var(--line); }.preview-evidence span { display:flex; align-items:center; gap:8px; color:#777974; font-size:9px; }.preview-evidence span i { width:7px; height:7px; border-radius:50%; background:#4dac79; }.preview-evidence b { font-size:9px; }
.marketing-closing { margin-top:90px; padding:54px 60px; display:flex; align-items:center; justify-content:space-between; gap:34px; border-radius:32px; background:var(--accent); position:relative; overflow:hidden; }.marketing-closing::after { content:""; position:absolute; width:280px; height:120px; right:-70px; top:-90px; border:2px solid rgba(35,37,34,.24); border-radius:50%; transform:rotate(8deg); }.marketing-closing h2 { margin:9px 0 0; font-size:clamp(34px,4vw,52px); font-weight:500; line-height:1.04; letter-spacing:-.05em; }.marketing-closing .marketing-primary { position:relative; z-index:1; flex:0 0 auto; }
.empty-orbit { position: relative; width: min(260px,100%); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(240,239,235,.72); }
.empty-orbit::before,.empty-orbit::after { content:""; position:absolute; border:1px solid var(--line); border-radius:50%; }.empty-orbit::before { inset:17%; }.empty-orbit::after { inset:34%; }.empty-orbit svg { width: 52px; height: 52px; color: var(--green); }.empty-orbit i { position:absolute; width:11px; height:11px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 6px rgba(220,233,90,.22); }.empty-orbit i:first-of-type { top:21%; right:19%; }.empty-orbit i:last-of-type { bottom:24%; left:15%; background:var(--ink); box-shadow:0 0 0 6px rgba(35,37,34,.08); }.empty-orbit.small { width:110px; }.empty-orbit.small svg { width:28px; }.empty-orbit.small i { top:16%; right:12%; }
.overview-hero-grid { display:grid; grid-template-columns:minmax(0,1.087fr) minmax(440px,.913fr); gap:clamp(44px,7vw,100px); align-items:center; padding:36px 0 60px; }
.overview-hero-copy { min-height:474px; display:flex; flex-direction:column; justify-content:center; }
.overview-hero-copy .section-kicker { margin-bottom:20px; }
.overview-hero-copy h1 { margin:0; font-size:clamp(52px,5.8vw,76px); line-height:.98; letter-spacing:-.058em; font-weight:460; }
.overview-hero-copy h1 span { color:var(--green); }
.overview-hero-copy .product-promise { max-width:620px; margin:30px 0; color:#6f726d; font-size:18px; line-height:1.75; letter-spacing:0; }
.overview-hero-copy .hero-actions { display:flex; gap:12px; }
.overview-live-radar-card { min-height:490px; }
.overview-live-radar-card .radar-visual { margin:20px 0 12px; }
.overview-live-radar-card .radar-card-head > span { font-size:11px; }
.radar-project-actions { position:relative; z-index:2; justify-content:flex-end; }
.radar-monitor-footer { position:relative; z-index:2; margin-top:4px; padding:0 2px; }
.insight-grid { display:grid; grid-template-columns:1fr; gap:18px; padding:0; border:0; border-radius:0; background:transparent; }
.competitive-radar { min-height:520px; padding:clamp(26px,3vw,38px); overflow:hidden; border:1px solid rgba(35,37,34,.08); border-radius:30px; background:linear-gradient(145deg,#f3f2ef,#ebeae6); color:var(--ink); box-shadow:none; }
.competitive-radar > header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.competitive-radar h2 { margin:7px 0 0; font-size:clamp(29px,2.5vw,36px); font-weight:500; letter-spacing:-.045em; }
.competitive-radar .section-kicker { color:#858680; }
.competitive-radar .text-button { padding:8px 0; color:#5e605b; font-size:12px; }
.competitive-radar .text-button:hover { color:var(--green); }
.competitive-radar > p { max-width:900px; margin:16px 0 8px; color:#666862; font-size:13px; line-height:1.75; }
.competitive-radar > small { color:#94958f; font-size:9px; }
.radar-chart { min-height:350px; display:grid; grid-template-rows:minmax(0,1fr) auto; align-items:center; }
.radar-plot { min-width:0; display:grid; place-items:center; }
.radar-chart svg { width:min(470px,100%); height:auto; overflow:visible; }
.radar-chart .radar-grid { fill:none; stroke:rgba(31,104,90,.19); stroke-width:1; }
.radar-chart .radar-axis { stroke:rgba(31,104,90,.13); stroke-width:1; }
.radar-chart .radar-shape { stroke-width:2; stroke-linejoin:round; }
.radar-chart .radar-dot { stroke:#efeeea; stroke-width:1.8; }
.radar-chart text { fill:#686a65; stroke:none; font-size:10px; font-family:var(--font); font-weight:520; }
.radar-legend-list { min-height:34px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 24px; padding:5px 10px 0; }
.radar-legend-list span { display:inline-flex; align-items:center; gap:8px; color:#4e504c; font-size:11px; font-weight:560; white-space:nowrap; }
.radar-legend-list i { width:22px; height:0; border-top:2px solid var(--series-color); position:relative; }
.radar-legend-list i::after { content:""; position:absolute; width:6px; height:6px; top:-4px; left:8px; border-radius:50%; background:var(--series-color); box-shadow:0 0 0 2px #efeeea; }
.overview-metrics { display:grid; grid-template-columns:1.3fr repeat(3,minmax(0,1fr)); gap:14px; margin-top:12px; }
.overview-metrics .metric-card { min-height:166px; padding:24px; display:block; border:0; border-radius:24px; background:var(--warm); box-shadow:none; }
.overview-metrics .metric-card:nth-child(2),.overview-metrics .metric-card:nth-child(3) { background:var(--warm); }
.overview-metrics .metric-card.dark { background:var(--ink); color:white; }
.overview-metrics .metric-card.accent { background:var(--accent); }
.overview-metrics .metric-card > span { color:var(--muted); font-size:12px; font-weight:400; }
.overview-metrics .metric-card.dark > span { color:#aaa; }
.overview-metrics .metric-card.accent > span,.overview-metrics .metric-card.accent > p { color:rgba(35,37,34,.68); }
.overview-metrics .metric-card strong { display:block; margin-top:28px; font-size:37px; font-weight:520; line-height:normal; letter-spacing:-.04em; }
.overview-metrics .metric-card strong > span { color:inherit; font-size:inherit; font-weight:inherit; }
.overview-metrics #overviewNextTracking { font-size:37px; font-weight:520; overflow-wrap:anywhere; }
.overview-metrics .metric-card strong small { font-size:14px; font-weight:500; letter-spacing:0; }
.overview-metrics .metric-card p { min-height:0; margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.overview-metrics .metric-card.dark p { color:#aaa; }
.overview-metrics .metric-card > strong:only-child { line-height:1.1; }
.overview-recent { margin-top:72px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.overview-recent > header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; padding:0 2px; }
.overview-recent h2 { margin:7px 0 0; font-size:34px; font-weight:550; letter-spacing:-.045em; }
.overview-recent .text-button { padding:8px 0; color:#777974; font-size:12px; }
.overview-recent-columns { display:grid; grid-template-columns:150px minmax(210px,.9fr) minmax(260px,1.3fr) 160px 34px; gap:20px; padding:14px 22px; border:1px solid var(--line); border-bottom:0; border-radius:24px 24px 0 0; background:#fbfbf8; color:#989a94; font-size:9px; }
.overview-recent-grid { display:block; overflow:hidden; border:1px solid var(--line); border-radius:0 0 24px 24px; background:white; box-shadow:0 12px 34px rgba(35,37,34,.035); }
.overview-report-card { position:relative; width:100%; min-height:104px; padding:18px 22px; display:grid; grid-template-columns:150px minmax(210px,.9fr) minmax(260px,1.3fr) 160px 34px; gap:20px; align-items:center; border:0; border-bottom:1px solid var(--line); border-radius:0; background:white; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:background .18s ease; }
.overview-report-card:last-child { border-bottom:0; }
.overview-report-card:hover { transform:none; border-color:var(--line); background:#f8f8f5; box-shadow:none; }
.overview-report-card:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.overview-report-card > span { width:100%; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; gap:7px; }
.overview-report-card > span b { padding:6px 9px; border-radius:999px; background:#ebebe7; color:#555650; font-size:9px; font-weight:650; }
.overview-report-card.delta > span b { background:rgba(227,239,122,.72); color:#545c0b; }
.overview-report-card time { color:#92918c; font-size:9px; }
.overview-report-card strong { width:100%; margin:0; overflow:hidden; display:-webkit-box; font-size:13px; font-weight:650; line-height:1.45; letter-spacing:-.018em; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.overview-report-card p { display:-webkit-box; margin:0; overflow:hidden; color:#686a65; font-size:10px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.overview-report-card small { margin:0; color:#777974; font-size:9px; line-height:1.55; }
.overview-report-card > i { position:static; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:transparent; color:#777974; transition:transform .18s ease,background .18s ease; }
.overview-report-card:hover > i { transform:translateX(3px); background:#efefeb; }
.overview-report-card > i svg { width:13px; }

.research-create-project { min-height: 50px; padding-inline: 23px; border-radius: 15px; box-shadow: 0 10px 28px rgba(35,37,34,.13); font-size: 17px; line-height: 1.2; }
.research-project-card { margin: 0 0 18px; padding: 20px 22px; display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 15px; align-items: center; }.project-card-mark { width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--accent); }.project-card-mark svg{width:20px}.research-project-identity>span{display:block;color:var(--muted);font-size:8px}.research-project-select{position:relative;max-width:min(580px,100%);margin:3px 0 0 -10px;display:inline-grid;align-items:center;border:1px solid transparent;border-radius:12px;transition:background .18s ease,border-color .18s ease}.research-project-select:hover,.research-project-select:focus-within{background:var(--warm);border-color:var(--line)}.research-project-select select{width:100%;min-width:0;max-width:580px;padding:6px 38px 6px 10px;appearance:none;border:0;outline:0;background:transparent;color:var(--ink);font-size:20px;font-weight:650;letter-spacing:-.035em;cursor:pointer;text-overflow:ellipsis}.research-project-select svg{position:absolute;right:10px;width:17px;height:17px;pointer-events:none}.research-project-empty,.report-empty { padding:60px 30px; display:grid; justify-items:center; text-align:center; }.research-project-empty h2,.report-empty h2{margin:18px 0 8px;font-size:30px;letter-spacing:-.04em}.research-project-empty p,.report-empty p{max-width:570px;margin:0 0 22px;color:var(--muted);font-size:11px;line-height:1.7}

.report-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:14px; }.report-toolbar .report-mode-switch{margin:0}.report-toolbar .heading-actions{display:flex;gap:8px}.report-empty { min-height:400px; background:linear-gradient(145deg,#fff,#f5f4ef); }.delivery-project-context { margin-top:18px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--line); border-radius:18px; background:white; }.delivery-project-context > span { font-size:11px;font-weight:650; }.delivery-project-context .context-project-select{height:43px;min-width:240px;padding-block:5px}.delivery-project-context .context-project-select select{font-size:10px}
.report-subempty { padding:64px 30px; text-align:center; }.report-subempty h2 { margin:9px 0 8px; font-size:28px; letter-spacing:-.04em; }.report-subempty p { max-width:620px; margin:0 auto 22px; color:var(--muted); font-size:11px; line-height:1.7; }
.report-mode-panel { min-height: 82px; margin-bottom: 18px; padding: 16px 20px 18px; display: flex; flex-direction: column; align-items: stretch; gap: 15px; }
.report-mode-panel .report-mode-switch { width:152px; margin:0; align-self:flex-start; background:#fffefa; }
.report-version-list { display:flex; gap:10px; overflow-x:auto; padding:1px 1px 5px; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.report-version-card { flex:0 0 min(330px,31vw); min-width:260px; min-height:88px; padding:12px 13px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); border-radius:13px; background:white; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease; }
.report-version-card:hover { border-color:#b7b8b2; transform:translateY(-1px); box-shadow:0 8px 22px rgba(26,29,27,.06); }
.report-version-card:focus-visible { outline:2px solid #686b65; outline-offset:2px; }
.report-version-card.active { border-color:var(--ink); background:#fbfbf8; box-shadow:inset 0 0 0 1px rgba(35,37,34,.08); }
.report-version-card > span { width:100%; display:flex; align-items:center; gap:6px; color:var(--green); }
.report-version-card > span i { width:7px; height:7px; border-radius:50%; background:#42b98b; box-shadow:0 0 0 4px rgba(66,185,139,.10); }
.report-version-card > span b { font-size:9px; font-weight:650; }
.report-version-card > span small { margin-left:auto; color:var(--muted); font-size:8px; }
.report-version-card strong { display:block; max-width:100%; margin-top:10px; overflow:hidden; color:var(--ink); font-size:11px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.report-version-card em { display:block; margin-top:5px; color:var(--muted); font-size:8px; font-style:normal; }
.report-version-empty { min-height:72px; margin:0; flex:1; display:grid; place-items:center; border:1px dashed var(--line); border-radius:13px; color:var(--muted); font-size:10px; }
.report-content-actions { margin: -10px -10px 34px 0; display: flex; justify-content: flex-end; gap: 8px; }

@media (max-width: 1040px) {
  .overview-hero-grid{grid-template-columns:1fr;gap:40px;padding:28px 0 46px}.overview-live-radar-card{min-height:450px}.insight-grid{grid-template-columns:1fr}.competitive-radar{min-height:auto}.overview-metrics{grid-template-columns:1fr 1fr}.overview-metrics .metric-card{min-height:160px}.topbar-user b{display:none}.desktop-nav{gap:2px}.nav-item{padding-inline:13px}
}
@media (max-width: 1100px) {
  .overview-recent-columns,.overview-report-card{grid-template-columns:120px minmax(160px,.85fr) minmax(200px,1.15fr) 120px 30px;gap:12px;padding-left:16px;padding-right:16px}
}
@media (max-width: 760px) {
  .topbar { height:64px; }.topbar-user { display:flex; padding:3px; }.topbar-user b,.topbar-user > svg { display:none; }.topbar-icon-button{display:grid}.topbar-popover{top:58px;right:12px}.project-page-head{display:block}.project-page-head h1{font-size:24px}.project-page-actions{margin-top:18px;display:grid;grid-template-columns:1fr auto}.radar-project-actions{margin-top:0}.context-project-select{min-width:0}.project-create-button{padding-inline:14px}.overview-empty{min-height:480px;padding:34px 6px;grid-template-columns:1fr}.overview-empty > div:last-child{order:1}.overview-empty-visual{order:2;width:100%}.overview-empty .empty-orbit{order:2;width:180px;margin:auto}.overview-empty h2{font-size:36px}.overview-hero-grid{gap:34px;padding:26px 0 40px}.overview-hero-copy{min-height:0}.overview-hero-copy h1{font-size:45px}.overview-hero-copy .product-promise{font-size:15px;line-height:1.7}.overview-hero-copy .hero-actions{flex-direction:column;align-items:stretch}.overview-live-radar-card{min-height:400px;padding:18px}.insight-grid{grid-template-columns:1fr}.competitive-radar{padding:22px 18px}.competitive-radar h2{font-size:26px}.competitive-radar > header{display:block}.competitive-radar .text-button{margin-top:10px}.radar-chart{min-height:300px}.overview-metrics{grid-template-columns:1fr 1fr}.overview-metrics .metric-card{min-height:145px}.overview-recent{padding:21px 18px}.overview-recent-grid{grid-template-columns:1fr}.overview-report-card{min-height:175px}.research-project-card{grid-template-columns:42px 1fr}.research-project-card .research-create-project{grid-column:1/-1;width:100%;font-size:17px}.research-project-select select{font-size:17px;max-width:calc(100vw - 130px)}.research-project-empty,.report-empty{padding:42px 22px}.report-mode-panel{min-height:70px;padding-inline:14px}.report-mode-panel .report-mode-switch{width:100%;align-self:stretch}.report-version-card{flex-basis:82vw;min-width:240px}.report-content-actions{margin:0 0 28px;display:grid;grid-template-columns:1fr}.report-content-actions .button{width:100%}.delivery-project-context{align-items:stretch;flex-direction:column}.delivery-project-context .context-project-select{min-width:0;width:100%}.dialog-actions{align-items:stretch;flex-direction:column-reverse}.dialog-actions .button{width:100%}
}
@media (max-width: 760px) {
  .overview-recent{margin-top:46px;padding:0}
  .overview-recent > header{margin-bottom:16px}
  .overview-recent h2{font-size:28px}
  .overview-recent-columns{display:none}
  .overview-recent-grid{display:grid;grid-template-columns:1fr;gap:12px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
  .overview-report-card{min-height:175px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;gap:0;border:1px solid var(--line);border-radius:18px;background:white}
  .overview-report-card:last-child{border-bottom:1px solid var(--line)}
  .overview-report-card > span{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .overview-report-card strong{width:calc(100% - 28px);margin-top:17px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .overview-report-card p{margin:9px 0 18px}
  .overview-report-card small{margin-top:auto}
  .overview-report-card > i{position:absolute;right:17px;bottom:16px;background:#f0efeb}
}

@media (max-width: 1040px) {
  .marketing-hero{min-height:0;grid-template-columns:1fr;gap:44px;padding-top:40px}
  .marketing-copy{max-width:760px}
  .marketing-visual{min-height:520px}
  .marketing-flow-grid{grid-template-columns:1fr 1fr}
  .marketing-flow-grid::before,.marketing-flow-grid::after{display:none}
  .marketing-outcome{grid-template-columns:1fr;gap:48px}
  .marketing-outcome-copy{max-width:720px}
}

@media (max-width: 760px) {
  .overview-empty.marketing-home{min-height:0;padding:0;display:block}
  .marketing-hero{gap:36px;padding:22px 0 64px}
  .marketing-badge{font-size:9px}
  .marketing-pretitle{margin-top:20px;font-size:13px}
  .marketing-copy h1{font-size:clamp(44px,13.5vw,58px);line-height:1.06}
  .marketing-copy > p:last-of-type{margin:24px 0;font-size:15px;line-height:1.7}
  .marketing-actions{align-items:stretch;flex-direction:column;gap:8px}
  .marketing-text-button{justify-content:center}
  .marketing-trust{gap:10px 18px;margin-top:24px}
  .marketing-visual{min-height:430px;border-radius:28px}
  .marketing-visual-head{height:56px;padding:17px 17px 0}
  .marketing-visual img{height:calc(100% - 56px)}
  .visual-card-evidence{left:14px;bottom:18px;width:126px;padding:12px}
  .visual-card-change{top:84px;right:12px;min-width:134px}
  .visual-card-decision{right:14px;bottom:18px;min-width:138px;padding:11px 12px}
  .marketing-flow{padding:70px 0 78px}
  .marketing-section-head{margin-bottom:32px}
  .marketing-section-head h2{font-size:40px}
  .marketing-flow-grid{grid-template-columns:1fr}
  .marketing-flow-grid article{min-height:230px}
  .marketing-outcome{padding:32px 20px;border-radius:28px}
  .marketing-outcome-copy h2{font-size:40px}
  .marketing-report-preview{padding:18px;border-radius:22px;transform:none}
  .marketing-report-preview header{display:block}
  .marketing-report-preview header em{display:inline-block;margin-top:12px}
  .preview-evidence{align-items:flex-start;flex-direction:column}
  .marketing-closing{margin-top:64px;padding:34px 24px;align-items:flex-start;flex-direction:column;border-radius:26px}
  .marketing-closing h2{font-size:40px}
  .marketing-closing .marketing-primary{width:100%}
}

@media (prefers-reduced-motion: reduce) {
  .marketing-visual::after,.marketing-visual img,.visual-card,.marketing-flow-grid::after,.marketing-visual-head b i{animation:none!important}
}
