
:root {
  --font-heading: 'Manrope', sans-serif;
  --font-body: 'DM Sans', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-code: ui-monospace, SFMono-Regular, Consolas, monospace;
  --ink: #0b0712;
  --ink-2: #171020;
  --paper: #f7f5fa;
  --white: #fff;
  --violet: #6d31f2;
  --violet-2: #9c68ff;
  --lavender: #e7ddff;
  --line: rgba(25, 10, 47, .14);
  --muted: #746d7d;
  --red: #e7555d;
  --orange: #e58b3c;
  --green: #2f936c;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: #a980ff; color: #10071c; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 1000; padding: 12px 18px; background: white; color: #130b20; border-radius: 6px; }
.skip-link:focus { top: 16px; }

.brand { display: inline-flex; align-items: center; gap: 9px; }
.brand__mark { width: 35px; height: 35px; overflow: visible; }
.brand__word { font: 600 22px/1 var(--font-heading); letter-spacing: -.8px; }
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; height: 96px; display: flex; align-items: center; justify-content: space-between; max-width: 1440px; margin: auto; padding: 0 48px; color: white; }
.site-header .brand__mark { filter: drop-shadow(0 0 11px rgba(171, 128, 255, .25)); }
.site-header nav { display: flex; align-items: center; gap: 34px; font-size: 13px; font-weight: 500; }
.site-header nav > a:not(.nav-cta) { opacity: .72; transition: opacity .2s; }
.site-header nav > a:hover { opacity: 1; }
.nav-cta { display: inline-flex; align-items: center; gap: 21px; padding: 11px 11px 11px 20px; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.2); border-radius: 100px; backdrop-filter: blur(12px); }
.nav-cta span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: var(--ink); background: white; }
.site-header--light { position: relative; color: white; max-width: none; border-bottom: 1px solid rgba(255,255,255,.1); }
.site-header--light .nav-cta { background: white; color: var(--ink); }
.site-header--light .nav-cta span { background: var(--ink); color: white; }
.menu-button { display: none; border: 0; background: transparent; width: 44px; height: 44px; padding: 9px; }
.menu-button span { display: block; height: 1px; background: currentColor; margin: 7px 0; }

.hero { min-height: 100svh; position: relative; overflow: hidden; color: white; background:
  radial-gradient(circle at 55% 28%, rgba(105,45,210,.54) 0, rgba(70,20,141,.22) 28%, transparent 53%),
  linear-gradient(105deg, #08040e 0%, #120720 34%, #381083 61%, #9f62ff 81%, #ede4ff 100%); }
.hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, transparent 13%, black 68%, transparent); }
.hero::after { content: ''; position: absolute; width: 55vw; height: 55vw; right: -24vw; top: -20vw; border-radius: 50%; background: white; filter: blur(100px); opacity: .35; }
.hero__atmosphere { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.hero__stars { position: absolute; inset: 0 0 12%; background: url(/public/hero-stars.svg) center top / cover no-repeat; opacity: .5; filter: drop-shadow(0 0 2px #d6e2ff73); -webkit-mask-image: linear-gradient(90deg, #000 0%, #000d 55%, #0006 100%); mask-image: linear-gradient(90deg, #000 0%, #000d 55%, #0006 100%); }
.hero__twinkle { position: absolute; inset: 0 0 12%; -webkit-mask-image: linear-gradient(90deg, #000 0%, #000d 55%, #0006 100%); mask-image: linear-gradient(90deg, #000 0%, #000d 55%, #0006 100%); }
.hero__twinkle i { position: absolute; width: var(--s); height: var(--s); border-radius: 50%; background: #f2f1ff; box-shadow: 0 0 calc(var(--s) * 2.6) #ccd8ffab; animation: starBlink var(--t) ease-in-out var(--d) infinite both; }
.hero__mountains { position: absolute; left: 0; right: 0; bottom: 0; height: clamp(240px, 38vh, 400px); background: url(/public/hero-mountains.jpg) center bottom / cover no-repeat; opacity: .28; mask-image: linear-gradient(to bottom, transparent, #0006 40%, #000 80%); }
.hero__wash { position: absolute; width: 44vw; height: 32vw; left: 30vw; bottom: -22vw; border-radius: 50%; background: #6c2ae9; filter: blur(75px); opacity: .55; }
.hero__copy { position: relative; z-index: 3; width: 52%; max-width: 780px; min-height: 100svh; padding: clamp(156px, 19vh, 220px) 0 108px max(48px, calc((100vw - 1344px)/2)); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.eyebrow { margin: 0 0 24px; display: flex; align-items: center; gap: 10px; font-size: 10px; line-height: 1; font-weight: 600; text-transform: uppercase; letter-spacing: .19em; color: rgba(255,255,255,.64); }
.eyebrow > span { width: 22px; height: 1px; background: currentColor; }
.eyebrow--dark { color: #7653bd; }
.hero h1 { margin: 0; font: 500 clamp(48px, 5.6vw, 88px)/.99 var(--font-heading); letter-spacing: -.067em; max-width: 790px; }
.hero h1 em { font-style: normal; color: #c9b4ff; }
.hero__lead { max-width: 635px; margin: 30px 0 35px; color: rgba(255,255,255,.65); font-size: clamp(16px, 1.3vw, 19px); line-height: 1.62; letter-spacing: -.015em; }
.hero__actions { display: flex; align-items: center; gap: 27px; }
.button { height: 54px; padding: 0 23px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; gap: 35px; border: 0; cursor: pointer; font-size: 13px; font-weight: 600; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: white; color: var(--ink); box-shadow: 0 15px 40px rgba(3,0,10,.28); }
.button--primary:hover { box-shadow: 0 20px 55px rgba(3,0,10,.4); }
.button--text { padding: 0; color: rgba(255,255,255,.78); background: transparent; }
.button--text span { opacity: .6; }
.button--light { background: #e7dcff; color: #1c0b33; }
.hero__visual { position: absolute; z-index: 2; top: 50%; right: max(12px, calc((100vw - 1450px)/2)); width: min(54vw, 820px); height: min(52vw, 760px); transform: translateY(-48%); }
.hero__visual.reveal { transform: translateY(calc(-48% + 18px)); }
.hero__visual.reveal.is-visible { transform: translateY(-48%); }
.scroll-cue { position: absolute; z-index: 3; left: 48px; bottom: 30px; display: flex; align-items: center; gap: 13px; color: rgba(255,255,255,.35); font-size: 9px; text-transform: uppercase; letter-spacing: .16em; }
.scroll-cue span { height: 30px; width: 16px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; position: relative; }
.scroll-cue span::after { content: ''; position: absolute; left: 7px; top: 6px; width: 1px; height: 6px; background: white; animation: scrollCue 1.8s infinite; }

.core-scene { --px: 0; --py: 0; --orbit-body: 126px; --orbit-label: 140px; position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; }
.core-stage { position: relative; flex: 1 1 auto; min-height: 0; }
.orbit-plane { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; pointer-events: none; }
.orbit-plane--back { z-index: 1; }
.orbit-plane--front { z-index: 5; }
.orbit-line { stroke-linecap: round; }
.orbit-line--main { stroke: url(#orbit-main); stroke-width: 1.5; }
.orbit-plane--back .orbit-line--main { stroke: #b388f0; stroke-width: 1; opacity: .32; }
.orbit-line--bloom { stroke: #e3c6ff; stroke-width: 7; opacity: .28; filter: url(#orbit-bloom); }
.orbit-line--sheen { stroke: url(#orbit-sheen); stroke-width: .7; opacity: .72; }
.orbit-pulse { stroke: #fffaff; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: .05 .95; stroke-dashoffset: 1; filter: drop-shadow(0 0 6px #edcfff); opacity: .6; animation: orbitPulse 8s linear infinite; }
.core-scene[data-ring="changes"] .orbit-pulse { animation-direction: reverse; }
.core-glow { position: absolute; left: 50%; top: 50%; width: 82%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(ellipse, #e6c9ff55 0%, #8e4bea28 45%, transparent 70%); filter: blur(22px); }
.logo-core { position: absolute; left: 50%; top: 50%; width: 76%; aspect-ratio: 1; z-index: 3; transform: translate(-50%, -50%); }
.logo-core::before { content: ''; position: absolute; top: 6%; left: 12%; width: 66%; height: 24%; z-index: -1; pointer-events: none; border-radius: 50%; background: radial-gradient(ellipse, #f6eaff99 0%, #ddbbff66 28%, #b77dff22 52%, transparent 74%); filter: blur(14px); transform: rotate(-8deg); }
.sculpture-mount, .sculpture-fallback { position: absolute; inset: 0; }
.sculpture-mount canvas { display: block; width: 100%; height: 100%; }
.sculpture-fallback { padding: 12%; transform: rotate(-2deg); filter: drop-shadow(0 12px 22px #5e26c928); }
.sculpture-fallback svg { visibility: hidden; }
.sculpture-fallback { background: linear-gradient(135deg, #fffaff 10%, #d8c0f7 40%, #b68ae7 72%, #8750c9); -webkit-mask: url(/public/logo.svg) center / 76% 76% no-repeat; mask: url(/public/logo.svg) center / 76% 76% no-repeat; }
.logo-core--rendered .sculpture-fallback { visibility: hidden; }

.orbit-body { position: absolute; left: 0; top: 0; z-index: 3; width: var(--orbit-body); height: var(--orbit-body); padding: 0; border: 0; border-radius: 50%; background: transparent; color: white; cursor: pointer; opacity: calc(.74 + var(--near, 1) * .26); filter: blur(calc((1 - var(--near, 1)) * .6px)); transition: opacity .3s, visibility .3s; }
/* Four transparent stone silhouettes share one atlas; the labels never rotate. */
.orbit-body__rock { position: absolute; inset: 0; background: url(/public/orbit-rocks.png) 0 0 / 200% 200% no-repeat; transform: rotate(var(--rock-turn, 0deg)) scale(1.18); filter: drop-shadow(0 10px 12px #19083245); transition: filter .25s; pointer-events: none; }
.orbit-body__rock--1 { background-position: 100% 0; }
.orbit-body__rock--2 { background-position: 0 100%; }
.orbit-body__rock--3 { background-position: 100% 100%; }
.orbit-body:hover .orbit-body__rock, .orbit-body:focus-visible .orbit-body__rock, .orbit-body--held .orbit-body__rock { filter: brightness(1.12) drop-shadow(0 0 12px #ddbbff66); }
.orbit-body:focus-visible { outline: 1px solid #f5e8ff; outline-offset: -4px; }
.orbit-label { position: absolute; left: 0; top: 0; z-index: 7; display: flex; flex-direction: column; align-items: center; gap: 6px; width: var(--orbit-label); color: #fff8ff; text-align: center; text-shadow: 0 1px 3px #30114bcc, 0 0 10px #30114b80; pointer-events: none; transition: opacity .3s, visibility .3s; }
.orbit-leaders { position: absolute; inset: 0; z-index: 7; width: 100%; height: 100%; overflow: visible; fill: #fff4ff; pointer-events: none; }
.orbit-leaders path { fill: none; stroke: #f5e2ff; stroke-width: 1; opacity: .8; }
.orbit-body__name { position: relative; font: 600 12.5px/1.25 var(--font-heading); letter-spacing: -.02em; }
.orbit-body__status { position: relative; color: #ead7ff; font: 9px/1 var(--font-code); text-transform: uppercase; letter-spacing: .2em; }
.core-scene:not(.is-placed) :is(.orbit-body, .orbit-label), .core-scene[data-ring="changes"] :is(.orbit-body, .orbit-label)[data-ring="consequences"], .core-scene[data-ring="consequences"] :is(.orbit-body, .orbit-label)[data-ring="changes"] { opacity: 0; visibility: hidden; pointer-events: none; }

.orbit-detail { position: absolute; left: 0; top: 0; z-index: 9; width: 228px; padding: 15px 16px 16px; border: 1px solid #fffdffd1; border-radius: 8px; background: linear-gradient(155deg, #fffdfffa 0%, #f4ecfff7 52%, #e4d6fcf5 100%); box-shadow: 0 0 40px #c794ff66, 0 26px 54px #0c041c59, inset 0 1px 0 #fff; color: #2b1049; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, visibility .2s; }
.orbit-detail.is-visible { opacity: 1; visibility: visible; }
.orbit-detail__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.orbit-detail__name { font: 600 13px var(--font-heading); letter-spacing: -.025em; }
.orbit-detail__status { flex-shrink: 0; padding: 4px 7px; border-radius: 3px; background: #2b104912; color: #6b3ab8; font: 7.5px var(--font-code); font-style: normal; text-transform: uppercase; letter-spacing: .13em; }
.orbit-detail[data-status="Current scope"] .orbit-detail__status { background: #7c3aed1f; color: #5b23b5; }
.orbit-detail__text { margin: 0; color: #5b4a76; font-size: 11px; line-height: 1.6; }
.orbit-detail__metric { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #2b10491f; }
.orbit-detail__metric span { color: #7a6a94; font: 9px var(--font-code); overflow-wrap: anywhere; }
.orbit-detail__metric b { flex-shrink: 0; font: 500 14px var(--font-heading); letter-spacing: -.02em; }

.orbit-switch { position: relative; align-self: center; flex-shrink: 0; display: flex; padding: 4px; border: 1px solid #ffffff2b; border-radius: 100px; background: #ffffff12; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: inset 0 1px 0 #ffffff1f; }
.orbit-switch__option { position: relative; z-index: 2; min-width: 136px; height: 44px; padding: 0 16px; border: 0; border-radius: 100px; background: transparent; color: #fff8ff; font: 600 11px var(--font-heading); cursor: pointer; transition: color .3s; }
.orbit-switch__option[aria-pressed="true"] { color: #230e40; }
.orbit-switch__thumb { position: absolute; z-index: 1; top: 4px; left: 4px; width: 136px; height: 44px; border-radius: 100px; background: linear-gradient(140deg, #fffdff, #dfc7ff); box-shadow: 0 8px 20px #10041f4d; transition: transform .42s cubic-bezier(.4, 0, .2, 1); }
.core-scene[data-ring="consequences"] .orbit-switch__thumb { transform: translateX(136px); }
.orbit-caption { flex-shrink: 0; margin: 12px 0 0; text-align: center; color: #fff8ff; text-shadow: 0 1px 3px #30114bcc; font: 11px/1.5 var(--font-body); letter-spacing: .01em; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.section { padding: 140px max(48px, calc((100vw - 1344px)/2)); position: relative; }
.section-heading { display: grid; grid-template-columns: minmax(440px, 1.2fr) 1fr; column-gap: 8vw; align-items: end; }
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2 { margin: 0; font: 500 clamp(44px, 4.3vw, 67px)/1.03 var(--font-heading); letter-spacing: -.055em; }
.section-heading > p:last-child { max-width: 480px; margin: 0 0 6px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.section-heading--light { color: white; }
.section-heading--light > p:last-child { color: rgba(255,255,255,.55); }
.section--ink { color: white; background: var(--ink); }
.section--paper { background: #ece9ef; }
.section--violet { color: white; overflow: hidden; background: radial-gradient(circle at 62% 25%, #682ac9 0, #2c0e5d 45%, #100719 85%); }

.system { background: #faf9fb; }
.system-flow { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 90px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.flow-step { min-height: 230px; padding: 27px 23px 25px 0; position: relative; }
.flow-step + .flow-step { padding-left: 23px; border-left: 1px solid var(--line); }
.flow-step > span { font-size: 9px; color: #8d63d8; font-weight: 600; letter-spacing: .12em; }
.flow-step h3 { margin: 53px 0 12px; min-height: 48px; font: 600 16px/1.35 var(--font-heading); letter-spacing: -.02em; }
.flow-step p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.flow-step > i { position: absolute; right: -10px; top: calc(50% - 10px); z-index: 2; width: 20px; height: 20px; display: grid; place-items: center; color: #7241ca; font-style: normal; background: #faf9fb; border: 1px solid var(--line); border-radius: 50%; }
.flow-step--engine { margin: -18px 0; padding-top: 45px; padding-right: 18px; color: white; background: #5f25cc; border: 0 !important; box-shadow: 0 24px 55px rgba(77,32,154,.21); }
.flow-step--engine + .flow-step { border-left: 0; }
.flow-step--engine p { color: rgba(255,255,255,.63); }.flow-step--engine > span { color: rgba(255,255,255,.55); }.flow-step--engine > i { background: white; }

.result { background: #f8f6fa; }
.result-window { margin-top: 80px; overflow: hidden; background: #100b17; color: white; border-radius: 8px; box-shadow: 0 35px 80px rgba(21,10,37,.18); }
.window-bar { height: 54px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.4); font-size: 9px; border-bottom: 1px solid rgba(255,255,255,.09); }
.window-bar > span { display: flex; gap: 6px; }.window-bar i { width: 7px; height: 7px; background: rgba(255,255,255,.2); border-radius: 50%; }.window-bar b { font-weight: 500; letter-spacing: .08em; }.window-bar em { padding: 5px 9px; color: #ef9a9f; font-style: normal; background: rgba(214,72,81,.12); border-radius: 3px; }
.result-summary { display: grid; grid-template-columns: 1.25fr 1fr 1.5fr 1fr; min-height: 150px; border-bottom: 1px solid rgba(255,255,255,.1); }
.result-summary > * { padding: 30px; border-right: 1px solid rgba(255,255,255,.1); }
.result-summary p { margin: 0 0 14px; color: rgba(255,255,255,.38); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.result-summary h3 { display: inline; margin: 0; font: 500 30px/1 var(--font-heading); letter-spacing: -.04em; }.result-summary div > span:not(.status-dot) { display: block; margin-top: 9px; color: rgba(255,255,255,.37); font-size: 9px; }.result-summary > a { display: flex; align-items: center; justify-content: space-between; border: 0; color: #c9adff; font-size: 11px; }
.status-dot { display: inline-block !important; width: 7px; height: 7px; margin: 0 7px 3px 0 !important; border-radius: 50%; box-shadow: 0 0 9px currentColor; }.status-dot--fail { color: #ee6a72; background: currentColor; }
.findings { display: grid; grid-template-columns: 1fr 1fr; }
.finding { padding: 40px; position: relative; }.finding + .finding { border-left: 1px solid rgba(255,255,255,.1); }.finding::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; }.finding--critical::before { background: var(--red); }.finding--high::before { background: var(--orange); }
.finding > div { display: flex; gap: 7px; }.finding > div span { padding: 5px 8px; color: #ffadb1; background: rgba(231,85,93,.12); border-radius: 3px; font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }.finding > div span + span { color: rgba(255,255,255,.48); background: rgba(255,255,255,.07); }.finding--high > div span:first-child { color: #f4b87d; background: rgba(229,139,60,.12); }
.finding h3 { margin: 27px 0 6px; font: 500 26px/1 var(--font-heading); }.finding > p { margin: 0 0 35px; color: rgba(255,255,255,.45); font-size: 13px; }.finding dl { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); font-size: 10px; }.finding dt { color: rgba(255,255,255,.35); }.finding dd { margin: 0; }

.evidence::after { content: ''; position: absolute; width: 600px; height: 600px; top: -180px; right: -200px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 110px rgba(255,255,255,.02), 0 0 0 220px rgba(255,255,255,.015); }
.evidence-console { position: relative; z-index: 1; display: grid; grid-template-columns: 230px 1fr; margin-top: 80px; min-height: 530px; overflow: hidden; background: rgba(10,5,17,.74); border: 1px solid rgba(255,255,255,.15); border-radius: 7px; box-shadow: 0 40px 90px rgba(0,0,0,.32); }
.evidence-console aside { display: flex; flex-direction: column; padding: 27px 18px; border-right: 1px solid rgba(255,255,255,.1); }.evidence-console aside > span { color: rgba(255,255,255,.34); font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }.evidence-console aside > strong { margin: 8px 0 25px; font: 500 12px var(--font-heading); }.evidence-console aside a { padding: 11px 10px; color: rgba(255,255,255,.4); border-radius: 3px; font-size: 10px; }.evidence-console aside a.active { color: white; background: rgba(140,87,240,.17); }.evidence-console aside small { margin-top: auto; padding: 13px; color: rgba(255,255,255,.35); background: rgba(255,255,255,.04); font-size: 8px; }.evidence-console aside small b { display: block; margin-top: 5px; color: #89e1b8; text-transform: uppercase; letter-spacing: .12em; }
.evidence-body { padding: 30px; }
.observation-head { display: grid; grid-template-columns: repeat(4,1fr); padding-bottom: 25px; border-bottom: 1px solid rgba(255,255,255,.1); }.observation-head div { display: flex; flex-direction: column; gap: 9px; }.observation-head span { color: rgba(255,255,255,.3); font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }.observation-head b { font-size: 11px; }.observation-head .matched { color: #82d8ae; text-transform: uppercase; }
.comparison { display: grid; grid-template-columns: 1fr 120px 1fr; align-items: center; padding: 42px 0; }.comparison article { padding: 23px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.09); border-radius: 4px; }.comparison article > span { color: #a782ee; font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }.comparison h3 { margin: 14px 0 28px; font: 500 14px var(--font-heading); }.comparison p { margin: 0 0 6px; color: rgba(255,255,255,.35); font-size: 9px; }.comparison strong { font: 500 20px var(--font-heading); letter-spacing: -.03em; }.comparison > div { text-align: center; }.comparison > div i { display: block; margin-bottom: 7px; color: #f2987d; font: 400 27px var(--font-heading); }.comparison > div b { padding: 5px 7px; color: #f2a58f; background: rgba(225,105,74,.1); border-radius: 3px; font-size: 8px; }
.impact-line { display: grid; grid-template-columns: 1fr 2fr auto; align-items: center; padding: 16px 18px; border: 1px solid rgba(231,85,93,.25); background: rgba(231,85,93,.06); border-radius: 4px; font-size: 9px; }.impact-line span { color: rgba(255,255,255,.35); }.impact-line b { font-weight: 500; }.impact-line em { color: #f19ba0; font-style: normal; text-transform: uppercase; letter-spacing: .08em; }
.hashes { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 24px; }.hashes span { color: rgba(255,255,255,.26); font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }.hashes b { display: block; margin-top: 4px; color: rgba(255,255,255,.58); font-family: var(--font-code); font-weight: 400; text-transform: none; }

.expectations { background: #faf9fb; }
.expectation-grid { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; margin-top: 80px; }
.expectation { min-height: 420px; padding: 34px; background: white; border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(28,13,50,.07); }.expectation > div { display: flex; align-items: center; gap: 7px; }.expectation > div span { padding: 5px 8px; border-radius: 3px; color: #cf4851; background: rgba(231,85,93,.1); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.expectation > div span + span { color: #347d63; background: rgba(47,147,108,.1); }.expectation > div em { margin-left: auto; color: #347d63; font-size: 9px; font-style: normal; }.expectation h3 { margin: 65px 0 5px; font: 500 28px/1 var(--font-heading); }.expectation > p { margin: 0 0 28px; color: var(--muted); font-size: 13px; }.expectation blockquote { min-height: 70px; margin: 0 0 30px; padding: 16px; background: #f7f4fa; border-left: 2px solid #8360d2; color: #574d61; font-size: 11px; line-height: 1.6; }.expectation dl { display: grid; grid-template-columns: 1fr auto; gap: 12px; margin: 0; padding-top: 20px; border-top: 1px solid var(--line); font-size: 10px; }.expectation dt { color: var(--muted); }.expectation dd { margin: 0; }.expectation--fail > div span + span { color: #c24e56; background: rgba(231,85,93,.1); }.expectation--fail > div em { color: #c24e56; }
.versus { display: flex; align-items: center; }.versus span { flex: 1; height: 1px; background: var(--line); }.versus b { width: 34px; height: 34px; display: grid; place-items: center; color: #8c8394; border: 1px solid var(--line); border-radius: 50%; font-size: 8px; }

.coverage { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; align-items: center; }
.coverage__copy h2 { margin: 0; font: 500 clamp(50px,5vw,74px)/.99 var(--font-heading); letter-spacing: -.06em; }.coverage__copy > p:last-child { max-width: 530px; color: var(--muted); font-size: 14px; line-height: 1.75; }.coverage__copy .quote { margin: 38px 0 25px; padding-left: 22px; max-width: 520px; border-left: 2px solid #7542cf; color: #33273f; font: 500 17px/1.6 var(--font-heading); }
.coverage-panel { padding: 39px; background: #f9f8fa; border: 1px solid rgba(22,10,40,.12); box-shadow: 0 28px 60px rgba(30,17,45,.08); }.coverage-total { display: grid; grid-template-columns: 1fr auto; align-items: end; padding-bottom: 30px; border-bottom: 1px solid var(--line); }.coverage-total span { color: var(--muted); font-size: 10px; }.coverage-total strong { grid-row: 1 / 3; grid-column: 2; font: 500 54px/1 var(--font-heading); letter-spacing: -.06em; }.coverage-total em { color: #8768bc; font-size: 9px; font-style: normal; text-transform: uppercase; letter-spacing: .11em; }.coverage-bars { padding: 30px 0; border-bottom: 1px solid var(--line); }.coverage-bars p { display: flex; justify-content: space-between; margin: 0 0 8px; font-size: 10px; }.coverage-bars i { display: block; height: 3px; margin: 0 0 20px; background: #e5e0e9; }.coverage-bars i:last-child { margin: 0; }.coverage-bars i span { display: block; height: 100%; background: #7440d1; }.limitations { padding-top: 26px; }.limitations > span { color: #8156c5; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.limitations ul { padding: 0; margin: 17px 0 0; list-style: none; }.limitations li { position: relative; padding: 8px 0 8px 18px; color: #5f5766; font-size: 10px; border-top: 1px solid rgba(22,10,40,.07); }.limitations li::before { content: '—'; position: absolute; left: 0; color: #9b74dd; }

.vision { overflow: hidden; background: radial-gradient(circle at 80% 70%, rgba(94,35,184,.36), transparent 36%), #0b0712; }
.vision-line { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 105px; position: relative; }.vision-line::before { content: ''; position: absolute; top: 45px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, #a277ef, rgba(255,255,255,.13)); }.vision-line article { position: relative; min-height: 200px; }.vision-line span { color: rgba(255,255,255,.34); font-size: 8px; text-transform: uppercase; letter-spacing: .14em; }.vision-line i { display: block; position: relative; z-index: 2; width: 10px; height: 10px; margin: 29px 0; border: 2px solid #0b0712; outline: 1px solid #6d6276; background: #6d6276; border-radius: 50%; }.vision-line .active i { background: #b28cff; outline-color: #b28cff; box-shadow: 0 0 20px #8143e8; }.vision-line h3 { margin: 0 0 15px; font: 500 21px/1.4 var(--font-heading); letter-spacing: -.035em; }.vision-line p { color: rgba(255,255,255,.3); font-size: 9px; text-transform: uppercase; letter-spacing: .11em; }
.final-cta { display: flex; align-items: end; justify-content: space-between; margin-top: 90px; padding-top: 55px; border-top: 1px solid rgba(255,255,255,.14); }.final-cta p { margin: 0; font: 500 clamp(36px,4vw,58px)/1.05 var(--font-heading); letter-spacing: -.055em; }

.footer { min-height: 240px; padding: 55px max(48px, calc((100vw - 1344px)/2)); display: grid; grid-template-columns: 1fr 1.5fr 1fr; align-items: start; gap: 30px; color: white; background: #07050b; border-top: 1px solid rgba(255,255,255,.08); }.footer > p { margin: 7px 0; color: #b8a9c6; font-size: 12px; }.footer__links { display: flex; justify-content: flex-end; gap: 25px; margin-top: 8px; color: #c5b7d4; font-size: 12px; }.footer small { grid-column: 1/-1; align-self: end; padding-top: 40px; color: #a999b9; border-top: 1px solid rgba(255,255,255,.08); font-size: 11px; }

.intro { position: fixed; z-index: 999; inset: 0; display: grid; place-items: center; overflow: hidden; background: #0c0615; animation: introExit .55s 3.1s ease-in-out forwards; }
.intro__logo { position: absolute; left: 50%; top: 50%; margin: -95px 0 0 -95px; width: 190px; height: 190px; overflow: visible; animation: introResolve .5s 2.2s ease-out both, introContentExit .35s 3s ease-in forwards; }
.intro__wave-brush, .intro__moon-brush { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
.intro__mask-complete { opacity: 0; animation: introMaskComplete .2s 2.2s forwards; }
.intro__wave-brush { animation: introDraw 1.7s .1s cubic-bezier(.45,0,.55,1) both; }
.intro__moon-brush { animation: introDraw 1s 1.2s cubic-bezier(.45,0,.55,1) both; }
.intro__bloom { position: absolute; left: 50%; top: 50%; margin: -140px 0 0 -140px; width: 280px; height: 280px; border-radius: 50%; opacity: 0; background: radial-gradient(circle, rgba(172,137,230,.25), rgba(127,85,194,.07) 45%, transparent 70%); animation: introBloom .55s 2.2s ease-out both; }
.intro__name { margin-top: 245px; color: #f5f3f9; font: 500 22px var(--font-heading); letter-spacing: -.05em; animation: introName .4s 2.25s both, introContentExit .35s 3s ease-in forwards; }
.hero .site-header, .hero .scroll-cue { transition: opacity .8s ease-in-out; }
.hero.hero--intro .site-header, .hero.hero--intro .hero__copy, .hero.hero--intro .hero__visual, .hero.hero--intro .scroll-cue { opacity: 0; }


.reveal { opacity: 1; transform: none; }

/* Legal documents follow the existing palette, with a quieter reading layout. */
.footer__legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 26px; color: #c5b7d4; font-size: 12px; }
.footer__legal a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 4px; }
.footer__legal a:hover { color: #fff8ff; text-decoration: underline; }
.legal-page { min-height: 100vh; background: var(--paper); }
.legal-page .site-header { background: var(--ink); }
.legal-main { display: grid; grid-template-columns: 220px minmax(0, 740px); gap: clamp(40px, 6vw, 90px); max-width: 1200px; margin: auto; padding: 72px 48px 110px; }
.legal-nav { position: sticky; top: 30px; align-self: start; display: grid; gap: 4px; }
.legal-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; color: #62516e; font-size: 13px; line-height: 1.5; border-radius: 5px; }
.legal-nav a:hover { color: #482277; background: #ede5f6; }
.legal-nav a[aria-current="page"] { color: #482277; background: #e9def4; font-weight: 600; }
.legal-document { min-width: 0; overflow-wrap: anywhere; font-size: 16px; line-height: 1.8; color: #493c55; }
.legal-document h1 { margin: 0 0 22px; color: var(--ink); font: 500 clamp(38px, 4vw, 56px)/1.12 var(--font-heading); letter-spacing: -.035em; }
.legal-intro { max-width: 65ch; margin: 0 0 20px; color: #5d4d6d; font-size: 18px; line-height: 1.7; }
.legal-revision { margin: 0; color: #6d5d7b; font-size: 13px; }
.legal-document section { margin-top: 48px; scroll-margin-top: 30px; }
.legal-document h2 { margin: 0 0 16px; color: #291734; font: 600 24px/1.3 var(--font-heading); letter-spacing: -.025em; }
.legal-document p { margin: 0 0 18px; }
.legal-document a { color: #623394; text-decoration: underline; text-underline-offset: 4px; }
.legal-document a:hover { color: #32174c; }
.legal-document ul { padding-left: 22px; }
.legal-document li + li { margin-top: 10px; }
.legal-draft { margin-top: 32px; padding: 20px 22px; border: 1px solid #bcb0ca; border-radius: 8px; background: #eee7f4; color: #493650; font-size: 14px; }
.legal-draft strong { color: #361e46; font-size: 15px; }
.legal-draft p { margin: 8px 0 0; }
.legal-table { overflow-x: auto; margin: 20px 0; }
.legal-table-hint { display: none; color: #6d5d7b; font-size: 12px; }
.legal-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; line-height: 1.7; }
.legal-table th, .legal-table td { padding: 16px 16px 16px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table thead th { color: #361e46; font-weight: 600; }
.legal-table tbody th { width: 25%; color: #493650; font-weight: 500; }
.legal-table code { font-size: 12px; overflow-wrap: anywhere; }
.legal-facts { margin: 20px 0; }
.legal-facts > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 22px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.legal-facts dt { color: #361e46; font-weight: 600; }
.legal-facts dd { margin: 0; }
.legal-pending { color: #704322; font-weight: 500; }
.legal-directory { padding-left: 0 !important; list-style: none; }
.legal-directory a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 900px) {
  .legal-main { grid-template-columns: minmax(0, 1fr); gap: 38px; padding: 40px 28px 80px; }
  .legal-nav { position: static; display: flex; flex-wrap: wrap; gap: 4px 8px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
}
@media (max-width: 480px) {
  .legal-main { padding: 30px 22px 70px; gap: 30px; }
  .legal-intro { font-size: 16px; }
  .legal-document h2 { font-size: 22px; }
  .legal-draft { padding: 16px; }
  .legal-facts > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (max-width: 600px) {
  .legal-table-hint { display: block; }
}

/* Analyse and report routes */
.inner-page { min-height: 100vh; color: white; background: radial-gradient(circle at 75% 18%, #48208b 0, #160a28 34%, #0b0712 66%); }
.analyse-shell { min-height: calc(100vh - 96px); max-width: 1344px; margin: auto; padding: 90px 48px 110px; display: grid; grid-template-columns: 1fr 520px; gap: 10vw; align-items: start; }.analyse-copy { padding-top: 35px; }.analyse-copy h1 { margin: 0; max-width: 620px; font: 500 clamp(52px,5vw,75px)/1 var(--font-heading); letter-spacing: -.06em; }.analyse-copy > p:not(.eyebrow) { max-width: 570px; margin: 28px 0; color: rgba(255,255,255,.53); font-size: 15px; line-height: 1.75; }.input-model { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 50px 0 35px; max-width: 600px; color: rgba(255,255,255,.44); font-size: 9px; }.input-model span, .input-model strong, .input-model em { padding: 9px 11px; border: 1px solid rgba(255,255,255,.13); border-radius: 3px; font-style: normal; font-weight: 500; }.input-model strong { color: #d5bcff; border-color: rgba(181,138,255,.35); }.input-model em { color: #b5e7d1; border-color: rgba(96,193,149,.3); }.input-model b,.input-model i { font-style: normal; color: #9475cb; }.text-link { color: #c9aaff; font-size: 11px; border-bottom: 1px solid rgba(201,170,255,.3); padding-bottom: 4px; }
.analyse-form { padding: 34px; background: #fbfafc; color: var(--ink); border-radius: 7px; box-shadow: 0 35px 85px rgba(0,0,0,.34); }.form-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }.form-head span { font: 600 18px var(--font-heading); letter-spacing: -.03em; }.form-head em { color: #7450b4; font-size: 8px; font-style: normal; text-transform: uppercase; letter-spacing: .1em; }.analyse-form > label { display: block; margin: 0 0 17px; font-size: 10px; font-weight: 600; }.analyse-form input:not([type=file]) { width: 100%; height: 47px; margin-top: 7px; padding: 0 13px; border: 1px solid #ded8e4; border-radius: 4px; outline: none; background: white; font-size: 12px; transition: border .2s, box-shadow .2s; }.analyse-form input:not([type=file]):focus { border-color: #8a5ae1; box-shadow: 0 0 0 3px rgba(114,65,202,.09); }.analyse-form label small { display: block; margin-top: 5px; color: #99919f; font-size: 8px; font-weight: 400; }.file-drop { min-height: 70px; padding: 14px; display: flex !important; align-items: center; border: 1px dashed #cfc5d8; border-radius: 4px; cursor: pointer; }.file-drop input { position: absolute; opacity: 0; pointer-events: none; }.file-drop span { display: flex; flex-direction: column; gap: 6px; }.file-drop b { font-size: 10px; }.file-drop em { color: #8b838f; font-size: 8px; font-style: normal; font-weight: 400; }.file-drop strong { margin-left: auto; padding: 8px 10px; background: #ede7f7; color: #5c319e; border-radius: 3px; font-size: 8px; }.file-drop--optional { opacity: .83; }.analyse-form .button { width: 100%; margin-top: 10px; background: #5d25c9; color: white; }.form-note { margin: 14px 0 0; color: #958c9b; font-size: 8px; line-height: 1.55; text-align: center; }.form-status { display: none; padding: 10px; margin-bottom: 10px; color: #5e42a0; background: #f0e9fc; border-radius: 3px; font-size: 9px; line-height: 1.5; }.form-status.is-visible { display: block; }.form-status.is-error { color: #a5424a; background: #f9e8e9; }.spinner { width: 12px; height: 12px; border: 1px solid rgba(255,255,255,.3); border-top-color: white; border-radius: 50%; animation: spin .7s linear infinite; }

.analyse-form .button:disabled { cursor: not-allowed; opacity: .48; transform: none; box-shadow: none; }

/* Server-authored, per-kind hosted analysis availability. */
.capability { margin: 0 0 14px; padding: 15px 16px; border: 1px solid #dcd5e3; border-left: 3px solid #8d85a0; border-radius: 5px; background: #f7f4fa; color: #342b3e; }
.capability header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.capability header strong { font: 600 13px/1.35 var(--font-heading); color: #21172c; }
.capability header span { flex-shrink: 0; color: #6f6678; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.capability p { margin: 10px 0 0; color: #6b6174; font-size: 11px; line-height: 1.55; }
.capability--ready { border-left-color: var(--green); background: rgba(47,147,108,.07); }
.capability--ready header span { color: #267b5b; }
.capability--not_ready, .capability--error { border-left-color: var(--orange); background: rgba(229,139,60,.07); }
.capability--not_ready header span, .capability--error { color: #7f4b1d; }
.capability--unsupported { border-left-color: #8d85a0; }
.capability--loading { border-left-color: var(--violet); }
.capability--compact { padding: 12px 14px; }
.capability-reasons { margin: 10px 0 0; padding: 0; list-style: none; }
.capability-reasons li { display: grid; gap: 4px; padding: 8px 0; border-top: 1px solid rgba(52,43,62,.1); color: #514759; font-size: 11px; line-height: 1.5; }
.capability-reasons small { color: #756a80; font-size: 10px; }
.capability-reasons code, .capability-technical code { overflow-wrap: anywhere; font-size: 10px; }
.capability-technical { padding-top: 9px; border-top: 1px solid rgba(52,43,62,.1); }
.capability-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.capability-groups > .capability { margin: 0; }
.capability-group { grid-column: 1 / -1; min-width: 0; }
.capability-group h3 { margin: 8px 0 10px; font: 500 16px var(--font-heading); }
.capability-subactions { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.capability-subactions .capability { margin: 0; }
.console-shell .capability { border-color: rgba(255,255,255,.14); border-left-color: #8d85a0; background: rgba(255,255,255,.035); color: rgba(255,255,255,.8); }
.console-shell .capability--ready { border-left-color: #5ec79b; background: rgba(47,147,108,.08); }
.console-shell .capability--not_ready, .console-shell .capability--error { border-left-color: #e58b3c; background: rgba(229,139,60,.07); }
.console-shell .capability--loading { border-left-color: #9c68ff; }
.console-shell .capability header strong, .console-shell .capability-group h3 { color: white; }
.console-shell .capability header span, .console-shell .capability p, .console-shell .capability-reasons li, .console-shell .capability-reasons small { color: rgba(255,255,255,.56); }
.console-shell .capability--ready header span { color: #a5e6c9; }
.console-shell .capability--not_ready header span { color: #f2c996; }
.console-shell .capability-reasons li, .console-shell .capability-technical { border-color: rgba(255,255,255,.09); }
.console-shell .capability code { color: #d9c2ff; }
@media (max-width: 760px) {
  .capability-groups { grid-template-columns: 1fr; }
  .capability-group { grid-column: auto; }
}

.report-shell { max-width: 1344px; margin: auto; padding: 70px 48px 120px; }.report-top { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; padding-bottom: 65px; }.report-top h1 { max-width: 820px; margin: 0; font: 500 clamp(46px,4.7vw,70px)/1.04 var(--font-heading); letter-spacing: -.06em; }.report-top > div > p:last-child { max-width: 650px; color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.65; }.report-verdict { min-width: 175px; padding: 22px; border: 1px solid rgba(231,85,93,.25); background: rgba(231,85,93,.08); border-radius: 5px; }.report-verdict i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; background: #ef6870; border-radius: 50%; box-shadow: 0 0 10px #ef6870; }.report-verdict span { font: 500 20px var(--font-heading); }.report-verdict em { display: block; margin: 10px 0 0 18px; color: rgba(255,255,255,.38); font-size: 8px; font-style: normal; text-transform: uppercase; letter-spacing: .1em; }.report-verdict.is-pass { border-color: rgba(47,147,108,.3); background: rgba(47,147,108,.1); }.report-verdict.is-pass i { background: #5ec79b; box-shadow: 0 0 10px #5ec79b; }.report-verdict.is-pending, .report-verdict.is-unknown { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.05); }.report-verdict.is-unknown i { background: #8d85a0; box-shadow: none; }.report-verdict.is-pending i { background: #b28cff; box-shadow: 0 0 10px #8143e8; animation: coreThroughput 1.6s ease-in-out infinite; }
.report-grid { display: grid; grid-template-columns: 220px 1fr; gap: 50px; }.report-nav { align-self: start; position: sticky; top: 30px; display: flex; flex-direction: column; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.13); }.report-nav > span { margin-bottom: 16px; color: rgba(255,255,255,.3); font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }.report-nav > a { padding: 10px 12px; color: rgba(255,255,255,.4); font-size: 10px; border-left: 1px solid rgba(255,255,255,.1); }.report-nav > a.active { color: white; border-left-color: #9b6beb; background: rgba(130,77,226,.08); }.report-nav a b { float: right; padding: 2px 5px; border-radius: 8px; background: rgba(255,255,255,.1); font-size: 7px; }.report-nav > div { margin-top: 30px; padding: 14px; background: rgba(255,255,255,.04); }.report-nav div span { color: rgba(255,255,255,.3); font-size: 7px; text-transform: uppercase; }.report-nav div strong,.report-nav div small { display: block; margin-top: 7px; font-size: 9px; }.report-nav div small { color: rgba(255,255,255,.3); font-size: 7px; }.report-content { min-width: 0; }.report-content > section { scroll-margin-top: 25px; margin-bottom: 65px; }.report-section-title { display: flex; gap: 15px; align-items: center; margin-bottom: 24px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.14); }.report-section-title span { color: #9c78e1; font-size: 8px; }.report-section-title h2 { margin: 0; font: 500 21px var(--font-heading); letter-spacing: -.03em; }.metric-row { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.12); border-radius: 5px; }.metric-row article { min-height: 120px; padding: 21px; }.metric-row article + article { border-left: 1px solid rgba(255,255,255,.1); }.metric-row span { color: rgba(255,255,255,.33); font-size: 8px; text-transform: uppercase; letter-spacing: .11em; }.metric-row strong { display: block; margin: 19px 0 7px; font: 500 27px/1 var(--font-heading); }.metric-row em { color: rgba(255,255,255,.28); font-size: 8px; font-style: normal; }.metric-row .mono { font-family: var(--font-code); font-size: 18px; }
.report-finding { padding: 27px; margin-bottom: 13px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-left: 2px solid var(--red); border-radius: 4px; }.report-finding.high { border-left-color: var(--orange); }.report-finding__head { display: flex; gap: 7px; align-items: center; }.report-finding__head span { padding: 4px 7px; color: #f39aa0; background: rgba(231,85,93,.1); border-radius: 2px; font-size: 7px; text-transform: uppercase; letter-spacing: .09em; }.report-finding.high .report-finding__head span:first-child { color: #edb77e; background: rgba(229,139,60,.1); }.report-finding__head b { margin-left: auto; color: rgba(255,255,255,.33); font-size: 8px; font-weight: 400; }.report-finding h3 { margin: 25px 0 9px; font: 500 18px var(--font-heading); }.report-finding > p { margin: 0 0 23px; color: rgba(255,255,255,.4); font-size: 10px; line-height: 1.65; }.outcome-diff { display: grid; grid-template-columns: 1fr 40px 1fr; align-items: center; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.08); }.outcome-diff span { display: flex; flex-direction: column; gap: 7px; }.outcome-diff em { color: rgba(255,255,255,.27); font-size: 7px; font-style: normal; text-transform: uppercase; }.outcome-diff b { font-size: 10px; }.outcome-diff > i { color: #8f6fc9; font-style: normal; }.outcome-diff .bad { color: #f19298; }.provenance-table { border: 1px solid rgba(255,255,255,.1); border-radius: 5px; }.provenance-table div { display: grid; grid-template-columns: 160px 1fr; padding: 14px 17px; }.provenance-table div + div { border-top: 1px solid rgba(255,255,255,.08); }.provenance-table span { color: rgba(255,255,255,.3); font-size: 8px; }.provenance-table b { overflow: hidden; text-overflow: ellipsis; font-family: var(--font-code); font-size: 9px; font-weight: 400; }.coverage-report > div { display: flex; justify-content: space-between; padding: 14px; border-bottom: 1px solid rgba(255,255,255,.09); font-size: 9px; }.coverage-report span { color: rgba(255,255,255,.4); }.coverage-report h3 { margin: 32px 0 15px; font: 500 13px var(--font-heading); }.coverage-report ul { padding: 0; list-style: none; }.coverage-report li { padding: 9px 0 9px 18px; position: relative; color: rgba(255,255,255,.4); border-top: 1px solid rgba(255,255,255,.07); font-size: 9px; }.coverage-report li::before { content: '—'; position: absolute; left: 0; color: #a77fea; }.empty-result { padding: 35px; color: #8bdec0; background: rgba(47,147,108,.08); border: 1px solid rgba(47,147,108,.2); border-radius: 4px; font-size: 11px; }

@keyframes coreFloat { 0%,100% { margin-top: 0; } 50% { margin-top: -10px; } }
@keyframes starBlink { 0%, 100% { opacity: .88; transform: scale(1); } 46% { opacity: .07; transform: scale(.55); } }
@keyframes scrollCue { 0% { transform: translateY(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(10px); opacity: 0; } }
@keyframes introMaskComplete { to { opacity: 1; } }
@keyframes introDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes introResolve { 0%,100% { filter: drop-shadow(0 0 0 transparent); } 45% { filter: drop-shadow(0 0 13px rgba(216,197,250,.25)); } }
@keyframes introBloom { 0% { opacity: 0; transform: scale(.7); } 45% { opacity: 1; } 100% { opacity: 0; transform: scale(1.12); } }
@keyframes introName { from { transform: translateY(8px); opacity: 0; } to { opacity: 1; transform: none; } }
@keyframes introContentExit { to { opacity: 0; } }
@keyframes introExit { to { opacity: 0; visibility: hidden; } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1100px) {
  .site-header { padding: 0 28px; }.site-header nav { gap: 20px; }
  .hero__copy { width: 58%; padding-left: 34px; }.hero__visual { right: 0; width: 52vw; }
  .section { padding-left: 34px; padding-right: 34px; }.section-heading { column-gap: 4vw; }
  .system-flow { grid-template-columns: repeat(3,1fr); }.flow-step { border-bottom: 1px solid var(--line); }.flow-step:nth-child(4) { margin: 0; padding-top: 27px; }.flow-step:nth-child(4) + .flow-step { border-left: 1px solid var(--line); }
  .functions { gap: 5vw; }.function-list article { grid-template-columns: 42px 110px 1fr 15px; }
  .analyse-shell { gap: 5vw; padding-left: 34px; padding-right: 34px; grid-template-columns: 1fr 470px; }
}

@media (max-width: 760px) {
  .site-header { height: 75px; padding: 0 20px; }.site-header nav { display: none; position: absolute; top: 66px; left: 14px; right: 14px; padding: 18px; flex-direction: column; align-items: stretch; gap: 8px; color: white; background: rgba(15,8,25,.96); border: 1px solid rgba(255,255,255,.12); border-radius: 6px; backdrop-filter: blur(16px); }.site-header nav.is-open { display: flex; }.site-header nav a { padding: 10px; }.nav-cta { justify-content: space-between; }.menu-button { display: block; color: white; }
  .hero { min-height: auto; padding-bottom: 70px; background: radial-gradient(circle at 62% 51%, #7134db 0, #1e0b3b 34%, #0b0613 68%); }.hero__copy { width: 100%; min-height: 0; padding: 140px 22px 30px; }.hero h1 { font-size: 41px; line-height: 1.04; }.hero__lead { width: 100%; margin: 24px 0 28px; font-size: 15px; }.hero__actions { gap: 18px; }.button { height: 50px; }.hero__visual, .hero__visual.reveal, .hero__visual.reveal.is-visible { position: relative; top: auto; right: auto; width: 100%; height: 440px; transform: none; }.scroll-cue { display: none; }
  .section { padding: 90px 22px; }.section-heading { display: block; }.section-heading h2 { font-size: 43px; }.section-heading > p:last-child { margin-top: 25px; }.system-flow { grid-template-columns: 1fr; margin-top: 55px; }.flow-step, .flow-step + .flow-step { min-height: 142px; padding: 24px 8px; border-left: 0; }.flow-step h3 { margin: 25px 0 7px; min-height: 0; }.flow-step > i { top: auto; right: 50%; bottom: -10px; transform: rotate(90deg); }.flow-step--engine { margin: 0 -7px !important; padding: 28px 15px !important; }
  .functions { display: block; }.functions__intro { position: static; }.function-list { margin-top: 55px; }.function-list article { grid-template-columns: 35px 90px 1fr; min-height: 145px; }.function-list p { font-size: 11px; }.function-list b { display: none; }
  .result-window { margin-top: 50px; }.window-bar b { display: none; }.result-summary { grid-template-columns: 1fr 1fr; }.result-summary > * { padding: 22px; }.result-summary > a { display: none; }.findings { grid-template-columns: 1fr; }.finding { padding: 28px 24px; }.finding + .finding { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .evidence-console { grid-template-columns: 1fr; margin-top: 55px; }.evidence-console aside { display: none; }.evidence-body { padding: 20px; }.observation-head { grid-template-columns: 1fr 1fr; gap: 20px; }.comparison { grid-template-columns: 1fr; gap: 12px; }.comparison > div { display: flex; gap: 8px; justify-content: center; }.comparison > div i { margin: 0; }.impact-line { grid-template-columns: 1fr; gap: 8px; }.hashes { grid-template-columns: 1fr 1fr; }
  .expectation-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 55px; }.expectation { min-height: 390px; padding: 27px; }.expectation h3 { margin-top: 45px; }.versus { justify-content: center; }.versus span { display: none; }
  .coverage { grid-template-columns: 1fr; gap: 50px; }.coverage__copy h2 { font-size: 50px; }.coverage-panel { padding: 28px 24px; }
  .vision-line { grid-template-columns: 1fr; margin-top: 60px; }.vision-line::before { top: 0; bottom: 0; left: 4px; right: auto; height: auto; width: 1px; }.vision-line article { min-height: 170px; padding-left: 35px; }.vision-line i { position: absolute; left: 0; top: 28px; margin: 0; transform: translateX(-1px); }.final-cta { display: block; }.final-cta .button { margin-top: 30px; }
  .footer { grid-template-columns: 1fr; padding: 45px 22px; }.footer__links { justify-content: flex-start; }.footer small { grid-column: 1; }
  .analyse-shell { grid-template-columns: 1fr; padding: 70px 20px; }.analyse-copy { padding: 0; }.analyse-copy h1 { font-size: 49px; }.analyse-form { padding: 24px 20px; }.form-head em { display: none; }
  .report-shell { padding: 60px 20px 90px; }.report-top { grid-template-columns: 1fr; }.report-top h1 { font-size: 45px; }.report-verdict { width: 100%; }.report-grid { grid-template-columns: 1fr; }.report-nav { display: none; }.metric-row { grid-template-columns: 1fr 1fr; }.metric-row article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }.metric-row article:nth-child(4) { border-top: 1px solid rgba(255,255,255,.1); }.provenance-table div { grid-template-columns: 110px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Public landing: one continuous change-to-consequence system. */
.hero { background: radial-gradient(ellipse at 64% 48%, rgba(168,99,255,.2) 0%, rgba(168,99,255,.08) 38%, transparent 72%), linear-gradient(105deg, #10081e 0%, #251040 20%, #51218c 40%, #8944d4 60%, #b782ed 80%, #c9a3ef 100%); }
.hero::after { background: #c898f5; filter: blur(140px); opacity: .1; }
.hero__wash { background: #9349ef; filter: blur(110px); opacity: .25; }
.hero__copy { width: 46%; padding-top: clamp(110px, 15vh, 165px); padding-bottom: 115px; padding-left: max(48px, calc((100vw - 1344px)/2)); padding-right: 15px; }
.hero h1 { font-size: clamp(46px, 4.6vw, 72px); line-height: 1.07; letter-spacing: -.04em; }
.hero h1 em { color: #dac4f5; }
.hero__lead { max-width: 510px; color: #c5b9d3; font-size: 17px; line-height: 1.75; }
.hero__actions .button--primary { height: 44px; padding: 0 17px; gap: 24px; }
.hero__visual { top: calc(50% - 20px); right: max(40px, calc((100vw - 1460px)/2 + 30px)); width: min(49vw, 745px); height: min(43vw, 620px); }
.hero .site-header { height: 68px; color: #fff; background: transparent; text-shadow: 0 1px 6px rgba(23, 9, 42, .28); }
.hero .site-header::before { content: ''; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: -1; pointer-events: none; background: rgba(34, 16, 59, .14); -webkit-backdrop-filter: blur(28px) saturate(115%); backdrop-filter: blur(28px) saturate(115%); border-bottom: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 3px 14px rgba(12, 4, 25, .04); }
.hero .site-header nav { color: #fff; gap: 27px; }
.hero .site-header nav > a:not(.nav-cta) { opacity: 1; }
.hero .nav-cta { min-height: 40px; padding: 0 18px; gap: 22px; border-radius: 5px; background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.24); backdrop-filter: none; }
.hero .nav-cta span { width: auto; height: auto; border-radius: 0; background: transparent; color: #fff; }
.proofs { background: radial-gradient(ellipse at 0 70%, #281244, transparent 60%), #0e0818; }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 75px; border-top: 1px solid #ffffff26; }
.proof-grid article { padding: 36px 36px 36px 0; border-bottom: 1px solid #ffffff26; }
.proof-grid article:nth-child(even) { padding-left: 36px; border-left: 1px solid #ffffff26; }
.proof-grid article > div { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.proof-grid article > div span { font: 10px var(--font-code); text-transform: uppercase; letter-spacing: .1em; color: #b49cd5; }
.proof-grid small { font-size: 9px; color: #c5b5dc; }
.proof-grid h3 { font: 500 27px/1.35 var(--font-heading); letter-spacing: -.035em; max-width: 380px; margin: 32px 0 18px; }
.proof-grid article > p { font-size: 14px; line-height: 1.8; color: #b0a3bf; max-width: 460px; margin: 0; }
.system-flow { position: relative; }
.system-flow::after { content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, #6930cb, #bd94fa); transform: scaleX(0); transform-origin: left; transition: transform 1.5s .2s ease; }
.system-flow.is-visible::after { transform: scaleX(1); }
.flow-step--engine { margin: 0; padding-top: 27px; box-shadow: none; }
.demo-note { max-width: 900px; margin: 24px 0 0; font-size: 12px; line-height: 1.8; color: #74677f; }
.evidence-outline { font-size: 12px; line-height: 3; color: #b9a9cb; }
.evidence-note { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; font-size: 12px; color: #c3addb; }
.evidence-note a { color: white; border-bottom: 1px solid #ffffff45; padding-bottom: 5px; }
.comparison strong { font-size: 16px; line-height: 1.5; }
.hashes span { font-size: 10px; color: #b8a3cd; }
.hashes b { font: 11px var(--font-body); line-height: 1.6; color: #eee3fc; }
.roles { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; background: #f5f2f8; }
.roles-intro { position: sticky; top: 60px; align-self: start; }
.roles h2 { font: 500 clamp(48px, 5vw, 74px)/1.04 var(--font-heading); letter-spacing: -.055em; margin: 0 0 28px; }
.roles-intro > p:last-of-type { color: #776b82; font-size: 16px; line-height: 1.8; max-width: 360px; }
.role-architecture { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; margin-top: 50px; color: #9a8aaa; font: 10px var(--font-code); letter-spacing: .1em; }
.role-architecture i { font-style: normal; color: #ad96ce; }
.role-architecture strong { font-weight: 500; color: #6e36bb; }
.role-row { padding: 35px 0; border-top: 1px solid #32204624; }
.role-row:last-child { border-bottom: 1px solid #32204624; }
.role-heading { display: flex; align-items: center; gap: 12px; color: #63468a; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.role-icon { display: grid; place-items: center; height: 26px; width: 26px; border: 1px solid #a994c3; font-size: 13px; }
.role-heading small { margin-left: auto; color: #9785ac; }
.role-row h3 { font: 500 24px/1.4 var(--font-heading); letter-spacing: -.035em; margin: 24px 0 14px; }
.role-row p { font-size: 14px; line-height: 1.8; color: #756a80; margin: 0; }
.role-tags { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 22px 0 16px; padding: 0; }
.role-tags li { font-size: 10px; color: #655279; border: 1px solid #b4a0c64a; padding: 6px 9px; }
.role-note { display: block; font-size: 11px; line-height: 1.7; color: #877692; }
.role-row:hover .role-icon { color: white; background: #713bb4; border-color: #713bb4; }
.coverage-context { margin: 30px 0 -25px; color: #84679d; font: 10px var(--font-code); }
.vision-line { gap: 35px; }
.vision-line ul { list-style: none; padding: 0; margin: 18px 0 25px; color: #ad9bbe; font-size: 13px; line-height: 2; }
.vision-model { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 65px; padding: 35px 0; border-top: 1px solid #ffffff26; border-bottom: 1px solid #ffffff26; }
.vision-model span, .vision-model > b { font: 10px/1.6 var(--font-code); text-transform: uppercase; letter-spacing: .1em; color: #ccb3ed; }
.vision-model p { margin: 13px 0 0; font-size: 12px; line-height: 1.8; color: #af9fbe; }
.vision-model > strong { font: 500 19px var(--font-heading); letter-spacing: .13em; }
.vision-model > i { font-style: normal; color: #9265cf; }
.final-cta { gap: 35px; margin-top: 110px; border-top: 0; padding-top: 0; }
.final-cta h2 { font: 500 clamp(36px,4vw,58px)/1.1 var(--font-heading); letter-spacing: -.055em; margin: 0; }
.final-cta p { max-width: 570px; font: 400 15px/1.8 var(--font-body); color: #baa9c9; margin-top: 24px; letter-spacing: 0; }
.final-actions { display: flex; flex-direction: column; align-items: flex-start; flex-shrink: 0; gap: 12px; }
a:focus-visible, button:focus-visible { outline: 2px solid #ae7cff; outline-offset: 5px; }
section[id] { scroll-margin-top: 35px; }
@keyframes orbitPulse { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes coreThroughput { 0%,22%,55%,100% { opacity: .65; } 35% { opacity: 1; } }

@media (max-width: 1100px) and (min-width: 761px) {
  .hero .site-header nav { gap: 17px; font-size: 11px; }
  .hero__copy { width: 46%; padding-left: 34px; }
  .hero h1 { font-size: 45px; }
  .hero__lead { font-size: 15px; }
  .hero__visual { width: 49vw; height: 48vw; }
  .core-scene { --orbit-body: 104px; --orbit-label: 124px; }
  .orbit-body__name { font-size: 11px; }
  .system-flow { grid-template-columns: repeat(5,1fr); }
  .flow-step { padding: 23px 14px; border-bottom: 0; }
  .flow-step + .flow-step { padding-left: 14px; }
  .flow-step:nth-child(4) { padding-top: 23px; }
  .flow-step h3 { font-size: 13px; }
  .flow-step p { font-size: 11px; }
  .roles { gap: 6vw; }
  .vision-model { flex-wrap: wrap; gap: 18px; }
}
@media (max-width: 760px) {
  .hero { background: radial-gradient(ellipse at 75% 80%, #ccabfa33 0%, #a76bec15 40%, transparent 78%), linear-gradient(145deg, #10081e 0%, #2a1048 25%, #6123a6 50%, #9a54dc 75%, #c39aee 100%); padding-bottom: 35px; }
  .hero .site-header nav { color: white; }
  .hero__copy { width: 100%; padding: 105px 22px 24px; }
  .hero h1 { font-size: clamp(37px, 9vw, 58px); max-width: 590px; line-height: 1.1; }
  .hero__lead { font-size: 15px; max-width: 550px; }
  .hero__actions { gap: 16px; }
  .button { padding: 0 18px; font-size: 12px; }
  .hero__visual, .hero__visual.reveal, .hero__visual.reveal.is-visible { position: relative; top: auto; right: auto; width: 100%; height: 460px; transform: none; margin-top: 15px; }
  .core-scene { --orbit-body: 88px; --orbit-label: 106px; }
  .orbit-label { gap: 5px; }
  .orbit-body__name { font-size: 11px; }
  .orbit-body__status { font-size: 8px; letter-spacing: .12em; }
  .orbit-detail { width: 186px; padding: 12px 13px 13px; }
  .orbit-detail__text { font-size: 10px; }
  .logo-core { width: 66%; }
  .orbit-switch__option { min-width: 112px; height: 44px; font-size: 10px; }
  .orbit-switch__thumb { width: 112px; height: 44px; }
  .core-scene[data-ring="consequences"] .orbit-switch__thumb { transform: translateX(112px); }
  .orbit-caption { margin-top: 10px; font-size: 10px; }
  .proof-grid { grid-template-columns: 1fr; margin-top: 45px; }
  .proof-grid article, .proof-grid article:nth-child(even) { border-left: 0; padding: 30px 0; }
  .proof-grid h3 { font-size: 25px; }
  .proof-grid article > div { flex-wrap: wrap; }
  .system-flow::after { width: 2px; height: 100%; left: -10px; top: 0; transform: scaleY(0); transform-origin: top; }
  .system-flow.is-visible::after { transform: scaleY(1); }
  .flow-step--engine { padding: 24px 8px !important; margin: 0 !important; }
  .evidence-note { flex-direction: column; align-items: flex-start; font-size: 11px; line-height: 1.8; }
  .comparison strong { font-size: 16px; }
  .roles { grid-template-columns: 1fr; gap: 45px; }
  .roles-intro { position: static; }
  .roles h2 { font-size: 50px; }
  .role-architecture { display: none; }
  .role-row h3 { font-size: 23px; }
  .role-heading { font-size: 9px; }
  .vision-line { gap: 25px; }
  .vision-line article { padding-bottom: 10px; }
  .vision-model { flex-direction: column; align-items: flex-start; gap: 18px; }
  .vision-model > i { transform: rotate(90deg); }
  .final-cta h2 { font-size: 40px; }
  .final-cta p { font-size: 14px; }
  .final-actions { flex-direction: row; align-items: center; margin-top: 28px; gap: 10px; }
  .final-cta .button { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-pulse { display: none; }
  .core-glow { animation: none; opacity: .65; }
}

@media (max-width: 760px) {
  .hero__visual::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 100% 43%, #bf93e899 0%, #bf93e833 35%, transparent 70%); }
  .hero .site-header { height: 64px; }
  .hero .site-header nav { top: 58px; }
}

/* Operator console: projects, bundles, tokens, run history. */
.console-shell { max-width: 1100px; margin: auto; padding: 70px 48px 120px; }
.console-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding-bottom: 46px; }
.console-head h1 { margin: 0; font: 500 clamp(38px,4vw,58px)/1.05 var(--font-heading); letter-spacing: -.055em; }
.console-head p { margin: 10px 0 0; color: rgba(255,255,255,.5); font-size: 13px; line-height: 1.6; }
.console-section { margin-top: 44px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }
.console-section h2 { margin: 0 0 6px; font: 500 19px var(--font-heading); letter-spacing: -.03em; }
.console-note { margin: 0 0 18px; color: rgba(255,255,255,.4); font-size: 11px; line-height: 1.7; }
.callout { margin-bottom: 20px; padding: 16px 18px; border: 1px solid rgba(178,140,255,.3); background: rgba(130,77,226,.1); border-radius: 5px; color: #dcccff; font-size: 12px; line-height: 1.65; }
.verify-result { margin: 18px 0; }
.verify-result dl { display: grid; grid-template-columns: 120px 1fr; gap: 6px 16px; margin: 14px 0; font-size: 11px; }
.verify-result dt { color: rgba(255,255,255,.45); }
.verify-result dd { margin: 0; overflow-wrap: anywhere; }
.callout--quiet { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: rgba(255,255,255,.55); }

.project-list, .bundle-list, .run-list { border: 1px solid rgba(255,255,255,.12); border-radius: 6px; overflow: hidden; }
.project-row, .bundle-row, .run-row { display: grid; align-items: center; gap: 18px; padding: 16px 20px; font-size: 12px; cursor: pointer; transition: background .18s; }
.project-row { grid-template-columns: 1fr 130px 160px 120px; }
.bundle-row { grid-template-columns: 1fr 170px 90px; cursor: default; }
.run-row { grid-template-columns: 150px minmax(0, 1.7fr) 110px 70px minmax(0, 1fr); }
.project-row + .project-row, .bundle-row + .bundle-row, .run-row + .run-row { border-top: 1px solid rgba(255,255,255,.08); }
.project-row:hover, .run-row:hover { background: rgba(255,255,255,.04); }
.project-row h3 { margin: 0 0 5px; font: 500 15px var(--font-heading); letter-spacing: -.02em; }
.project-row span.mono, .bundle-row span.mono, .run-row span.mono { color: rgba(255,255,255,.45); font-size: 11px; }
.project-row__adapter { color: rgba(255,255,255,.4) !important; }
.bundle-row.is-active { background: rgba(130,77,226,.08); }
.bundle-row small { display: block; margin-top: 5px; color: rgba(255,255,255,.35); font-size: 10px; }

.pill { justify-self: start; padding: 5px 10px; border-radius: 100px; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.pill--ready, .pill--passed { color: #8bdec0; background: rgba(47,147,108,.16); }
.pill--setup, .pill--queued, .pill--running { color: #d6c2ff; background: rgba(140,87,240,.18); }
.pill--disabled, .pill--execution_error { color: rgba(255,255,255,.5); background: rgba(255,255,255,.08); }
.pill--failed { color: #f19ba0; background: rgba(231,85,93,.15); }

.console-form { max-width: 520px; }
.console-form h2 { margin: 0 0 24px; font: 500 26px var(--font-heading); letter-spacing: -.04em; }
.console-form label, .connect-panel label { display: block; margin-bottom: 18px; font-size: 11px; font-weight: 600; }
.console-form input, .console-form select, .connect-panel input, .token-create input {
  width: 100%; height: 44px; margin-top: 8px; padding: 0 12px; color: white; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.16); border-radius: 4px; outline: none; font-size: 12px; }
.console-form select option { color: #1a0f2b; }
.console-form input:focus, .console-form select:focus, .connect-panel input:focus { border-color: #a274f5; }
.console-form small { display: block; margin-top: 7px; color: rgba(255,255,255,.38); font-size: 10px; font-weight: 400; line-height: 1.6; }
.console-form__actions { margin-top: 26px; }
.connect-panel { max-width: 460px; }
.connect-panel h2 { margin: 0 0 10px; font: 500 24px var(--font-heading); letter-spacing: -.04em; }
.connect-panel p { margin: 0 0 22px; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.7; }

.token-create { display: flex; gap: 12px; align-items: center; max-width: 520px; }
.token-create input { margin-top: 0; }
.token-issued { margin-bottom: 20px; padding: 18px; border: 1px solid rgba(178,140,255,.35); background: rgba(130,77,226,.12); border-radius: 5px; }
.token-issued p { margin: 0 0 12px; font-size: 12px; line-height: 1.6; }
.token-issued code { display: block; margin-bottom: 12px; padding: 12px; overflow-wrap: anywhere; background: rgba(0,0,0,.3); border-radius: 4px; font-size: 11px; }

.inner-page .empty-result { color: rgba(255,255,255,.5); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
.inner-page .empty-result.is-error { color: #f3a6ab; border-color: rgba(231,85,93,.3); background: rgba(231,85,93,.08); }
.inner-page .empty-result .button { margin-top: 16px; }
.console-shell .file-drop { color: white; border-color: rgba(255,255,255,.2); }
.console-shell .file-drop strong { color: #d9c2ff; background: rgba(140,87,240,.2); }
.console-shell .file-drop em { color: rgba(255,255,255,.4); }
.console-shell .provenance-table b { overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .console-shell { padding: 60px 20px 90px; }
  .console-head { display: block; }
  .console-head .button { margin-top: 20px; }
  .project-row, .run-row { grid-template-columns: 1fr; gap: 8px; }
  .bundle-row { grid-template-columns: 1fr; gap: 10px; }
  .token-create { flex-direction: column; align-items: stretch; }
}

/* ---- proposed change identity ------------------------------------------ */
.change-card { margin: 0 0 24px; padding: 20px 22px; border: 1px solid rgba(178,140,255,.28); border-radius: 5px; background: linear-gradient(135deg, rgba(130,77,226,.12), rgba(255,255,255,.03)); }
.change-card header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.change-card header span { color: rgba(255,255,255,.38); font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }
.change-card header em { color: #d9c2ff; font: 600 13px var(--font-heading); font-style: normal; letter-spacing: -.02em; }
.change-card h3 { margin: 14px 0 0; font: 500 19px var(--font-heading); letter-spacing: -.03em; }
.change-card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px 24px; margin: 18px 0 0; }
.change-card dt { color: rgba(255,255,255,.33); font-size: 8px; text-transform: uppercase; letter-spacing: .11em; }
.change-card dd { margin: 7px 0 0; min-width: 0; }
.change-card dd b { display: block; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.change-card dd small { display: block; margin-top: 4px; color: rgba(255,255,255,.35); font-size: 8px; }
.change-card .mono { font-family: var(--font-code); }
.change-card__note { margin: 16px 0 0; color: rgba(255,255,255,.45); font-size: 10px; line-height: 1.6; }
.change-card.is-legacy { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.03); }
.change-card.is-legacy header em { color: rgba(255,255,255,.55); }
.provenance-heading { margin: 26px 0 12px; color: rgba(255,255,255,.55); font: 500 12px var(--font-heading); }
.provenance-heading:first-of-type { margin-top: 0; }
.change-preview { margin: -4px 0 17px; padding: 14px 15px; border: 1px solid #e3d8f6; border-radius: 4px; background: #f6f1fe; }
.change-preview__kind { color: #5c319e; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.change-preview dl { margin: 10px 0 0; display: grid; gap: 8px; }
.change-preview dl div { display: grid; grid-template-columns: 70px 1fr; gap: 10px; font-size: 10px; }
.change-preview dt { color: #8b838f; }
.change-preview dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.change-preview .mono { font-family: var(--font-code); }
.inline-optional { display: inline !important; margin-left: 6px; }
.run-change { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.run-change b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.run-change small { color: rgba(255,255,255,.4); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 760px) {
  .change-card { padding: 16px; }
  .change-card dl { grid-template-columns: 1fr; }
}

/* ---- P3: analysis impact view ------------------------------------------ */
.report-verdict.is-warn { border-color: rgba(229,139,60,.3); background: rgba(229,139,60,.08); }
.report-verdict.is-warn i { background: #edb77e; box-shadow: 0 0 10px #e58b3c; }
.analysis-dimensions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: -30px 0 55px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; }
.analysis-dimension { min-width: 0; padding: 18px 20px; border-top: 2px solid transparent; }
.analysis-dimension + .analysis-dimension { border-left: 1px solid rgba(255,255,255,.1); }
.analysis-dimension span { display: block; color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .04em; }
.analysis-dimension strong { display: block; margin: 8px 0 6px; font: 500 20px/1.15 var(--font-heading); letter-spacing: -.02em; }
.analysis-dimension em { display: block; color: rgba(255,255,255,.45); font-size: 11px; font-style: normal; line-height: 1.45; overflow-wrap: anywhere; }
.analysis-dimension.is-ok { border-top-color: #5ec79b; }
.analysis-dimension.is-ok strong { color: #a5e6c9; }
.analysis-dimension.is-bad { border-top-color: #ef6870; }
.analysis-dimension.is-bad strong { color: #f7b0b4; }
.analysis-dimension.is-warn { border-top-color: #e58b3c; }
.analysis-dimension.is-warn strong { color: #f2c996; }
.analysis-dimension.is-unknown { border-top-color: #8d85a0; }
.analysis-dimension.is-unknown strong { color: rgba(255,255,255,.75); }
.analysis-dimension.is-neutral strong { color: rgba(255,255,255,.85); }
.report-page .report-content { color: rgba(255,255,255,.82); }
.analysis-subhead { margin: 30px 0 12px; font: 500 15px var(--font-heading); color: rgba(255,255,255,.85); }
.analysis-note { margin: 12px 0 0; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.6; }
.plain-list { margin: 0; padding: 0; list-style: none; }
.plain-list li { position: relative; padding: 9px 0 9px 20px; border-top: 1px solid rgba(255,255,255,.07); font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.72); }
.plain-list li:first-child { border-top: 0; }
.plain-list li::before { content: '—'; position: absolute; left: 0; color: #a77fea; }
.governance-card { margin: -8px 0 24px; padding: 18px 22px; border: 1px solid rgba(255,255,255,.14); border-left: 3px solid rgba(255,255,255,.3); border-radius: 5px; background: rgba(255,255,255,.035); }
.governance-card.is-ok { border-color: rgba(92,196,140,.32); border-left-color: #5cc48c; background: rgba(92,196,140,.07); }
.governance-card.is-alert { border-color: rgba(231,85,93,.35); border-left-color: #ef6870; background: rgba(231,85,93,.09); }
.governance-card.is-dated { border-color: rgba(229,139,60,.3); border-left-color: #e58b3c; background: rgba(229,139,60,.06); }
.governance-card header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.governance-card header span { color: rgba(255,255,255,.38); font-size: 8px; text-transform: uppercase; letter-spacing: .13em; }
.governance-card header em { font: 600 13px var(--font-heading); font-style: normal; letter-spacing: -.02em; color: rgba(255,255,255,.8); }
.governance-card h3 { margin: 12px 0 0; font: 500 17px/1.35 var(--font-heading); letter-spacing: -.02em; color: white; }
.governance-card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 24px; margin: 16px 0 0; }
.governance-card dt { color: rgba(255,255,255,.33); font-size: 8px; text-transform: uppercase; letter-spacing: .11em; }
.governance-card dd { margin: 7px 0 0; min-width: 0; }
.governance-card dd b { display: block; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.governance-card dd small { display: block; margin-top: 4px; color: rgba(255,255,255,.4); font-size: 9px; }
.governance-card__note { margin: 14px 0 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.6; }
.primary-alert { margin-bottom: 20px; padding: 20px 22px; border: 1px solid rgba(231,85,93,.35); border-left: 3px solid #ef6870; border-radius: 5px; background: rgba(231,85,93,.09); }
.primary-alert span { color: #f39aa0; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.primary-alert h3 { margin: 10px 0 8px; font: 500 19px/1.3 var(--font-heading); color: white; }
.primary-alert p { margin: 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.6; }
.not-evaluated, .unexplained { padding: 20px 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; background: rgba(255,255,255,.04); }
.not-evaluated h3, .unexplained h3 { margin: 0 0 12px; font: 500 17px/1.35 var(--font-heading); color: white; }
.unexplained { border-color: rgba(229,139,60,.3); background: rgba(229,139,60,.06); }
.unexplained > p { margin: 0 0 12px; font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.68); }
.unexplained h4 { margin: 18px 0 8px; font: 500 13px var(--font-heading); color: rgba(255,255,255,.8); }
.unexplained-list { margin: 0; padding: 0; list-style: none; }
.unexplained-list li { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.08); font-size: 13px; }
.unexplained-list li em { margin-left: auto; color: rgba(255,255,255,.45); font-size: 11px; font-style: normal; }
.unexplained-list .mono, .report-content .mono { font-family: var(--font-code); }
.impact-group { margin-bottom: 18px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; background: rgba(255,255,255,.03); }
.impact-group header span { color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.impact-group header h3 { margin: 6px 0 14px; font: 500 18px var(--font-heading); color: white; }
.subject-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.08); font-size: 13px; }
.subject-row b { font-weight: 500; }
.subject-row span { color: #a5e6c9; text-align: right; }
.subject-row em { grid-column: 1 / -1; color: rgba(255,255,255,.4); font-size: 11px; font-style: normal; }
.subject-row.is-not_compared span { color: rgba(255,255,255,.6); }
.impact-card { margin: 12px 0; padding: 16px 18px; border: 1px solid rgba(255,255,255,.1); border-left: 3px solid var(--red); border-radius: 5px; background: rgba(255,255,255,.04); }
.impact-card.is-ok { border-left-color: var(--green); }
.impact-card.is-warn { border-left-color: var(--orange); }
.impact-card__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.impact-card__head .tag { padding: 3px 8px; border-radius: 3px; background: rgba(231,85,93,.14); color: #f39aa0; font-size: 11px; }
.impact-card.is-ok .tag { background: rgba(47,147,108,.16); color: #a5e6c9; }
.impact-card.is-warn .tag { background: rgba(229,139,60,.14); color: #f2c996; }
.impact-card__head em { margin-left: auto; color: rgba(255,255,255,.45); font-size: 11px; font-style: normal; }
.impact-card h4 { margin: 12px 0 6px; font: 500 17px var(--font-heading); color: white; }
.impact-card > p { margin: 0; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.55; }
.value-table { margin-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.value-table > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 9px 0; }
.value-table > div:has(> span:only-child) { grid-template-columns: minmax(0, 1fr) auto; }
.value-table span { color: rgba(255,255,255,.45); font-size: 11px; }
.value-table b { font-family: var(--font-code); font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.affected-list { border: 1px solid rgba(255,255,255,.1); border-radius: 5px; }
.affected-list div { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; padding: 12px 16px; font-size: 13px; }
.affected-list div + div { border-top: 1px solid rgba(255,255,255,.08); }
.affected-list span { color: rgba(255,255,255,.5); }
.affected-list b { font-weight: 500; overflow-wrap: anywhere; }
.how-known, .technical { margin-top: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; }
.how-known summary, .technical summary { padding: 14px 16px; cursor: pointer; color: #d6c2ff; font-size: 13px; }
.how-known[open] summary, .technical[open] summary { border-bottom: 1px solid rgba(255,255,255,.08); }
.how-known .plain-list { padding: 4px 16px 10px; }
.technical { padding-bottom: 16px; }
.technical > .provenance-heading, .technical > .provenance-table, .technical > .analysis-note { margin-left: 16px; margin-right: 16px; }
.technical .provenance-table b { font-size: 11px; overflow-wrap: anywhere; white-space: normal; }
.technical .provenance-table span { font-size: 11px; }
.raw-finding + .raw-finding { margin-top: 10px; }
.text-link { color: #cdb4ff; text-decoration: underline; text-underline-offset: 2px; }
.chip { display: inline-flex; flex-direction: column; gap: 2px; justify-self: start; padding: 5px 10px; border-radius: 6px; font-size: 12px; white-space: nowrap; background: rgba(255,255,255,.07); color: rgba(255,255,255,.75); }
.chip small { color: rgba(255,255,255,.4); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.chip--ok { background: rgba(47,147,108,.14); color: #a5e6c9; }
.chip--bad { background: rgba(231,85,93,.14); color: #f7b0b4; }
.chip--warn { background: rgba(229,139,60,.14); color: #f2c996; }
.chip--pending { background: rgba(140,87,240,.16); color: #d6c2ff; }
.run-row { grid-template-columns: 140px minmax(0, 1.6fr) minmax(0, .8fr) minmax(0, 1fr) 56px; }
.run-row__exit { color: rgba(255,255,255,.45); font-size: 11px; }
@media (max-width: 1100px) {
  .analysis-dimensions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analysis-dimension:nth-child(3) { border-left: 0; }
  .analysis-dimension:nth-child(n+3) { border-top-width: 2px; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); }
}
@media (max-width: 760px) {
  .analysis-dimensions { margin: 0 0 40px; grid-template-columns: 1fr; }
  .analysis-dimension + .analysis-dimension { border-left: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.1); }
  .affected-list div { grid-template-columns: 1fr; gap: 4px; }
  .value-table > div { grid-template-columns: 1fr 1fr; }
  .value-table > div > :nth-child(3) { grid-column: 1 / -1; }
  .impact-card__head em { margin-left: 0; width: 100%; }
  .primary-alert h3 { font-size: 17px; }
  .run-row { grid-template-columns: 1fr; }
  .technical > .provenance-heading, .technical > .provenance-table, .technical > .analysis-note { margin-left: 10px; margin-right: 10px; }
}

/* Public pages keep overview copy and expose evidence without a mode switch. */
html[data-mode="overview"] [data-technical], html:not([data-mode="technical"]) .tech-only { display:none !important; }
html[data-mode="technical"] .ov-only { display:none !important; }
.transition-capabilities { display:grid; gap:24px; padding:32px; border:1px solid var(--line); border-radius:24px; }
.transition-capabilities h2 { font-size:24px; margin-bottom:12px; }
.transition-capabilities p { line-height:1.7; }

/* Navigation and transition content collapse before phone width. */
@media (min-width:761px) and (max-width:1100px) {
 .site-header { gap:16px; }
 .site-header nav { display:none; position:absolute; top:76px; left:28px; right:28px; padding:18px; flex-direction:column; align-items:stretch; gap:8px; background:var(--ink-2); border:1px solid var(--line); border-radius:6px; }
 .site-header nav.is-open { display:flex; }
 .site-header nav a { padding:10px; }
 .site-header .menu-button { display:block; color:inherit; }
 .transitions-page .analyse-shell { grid-template-columns:minmax(0,1fr); gap:32px; }
 .transitions-page .analyse-copy { padding-top:0; }
}
.transition-capabilities .form-note { font-size:12px; text-align:left; }


/* Public product overview and source-based CLI onboarding. */
.overview { padding-top:105px; padding-bottom:105px; background:#f0ebf5; }
.overview__intro { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:8vw; }
.overview__intro h2 { max-width:700px; margin:0; font:500 clamp(38px,3.8vw,58px)/1.1 var(--font-heading); letter-spacing:-.055em; }
.overview__intro > p { max-width:500px; margin:0 0 4px; color:#62586c; font-size:15px; line-height:1.8; }
.overview__details { display:grid; grid-template-columns:1fr 1fr; margin-top:65px; border-top:1px solid #38264c2b; border-bottom:1px solid #38264c2b; }
.overview__details article { padding:30px 50px 35px 0; }
.overview__details article + article { padding-left:50px; border-left:1px solid #38264c2b; }
.overview__details article > span { color:#7850b6; font:600 11px var(--font-body); text-transform:uppercase; letter-spacing:.1em; }
.overview__details h3 { max-width:440px; margin:25px 0 13px; font:500 23px/1.35 var(--font-heading); letter-spacing:-.035em; }
.overview__details p { max-width:520px; margin:0; color:#6b6174; font-size:14px; line-height:1.75; }
.product-grid, .roadmap-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:52px; }
.product-grid article, .roadmap-grid article { display:flex; flex-direction:column; align-items:flex-start; padding:30px; border:1px solid var(--line); border-radius:12px; }
.product-grid h3, .roadmap-grid h3, .workflow-steps h3 { margin:22px 0 12px; font:600 24px/1.2 var(--font-heading); letter-spacing:-.035em; }
.product-grid p, .roadmap-grid p, .capability-notes p { font-size:15px; line-height:1.75; color:#514759; }
.product-index, .roadmap-grid article > span { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#693da8; }
.product-grid .product-boundary { padding-top:16px; margin-top:auto; font-size:13px; border-top:1px solid var(--line); }
.text-link { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; line-height:1.5; text-decoration:underline; text-underline-offset:5px; }
.product-grid .text-link { margin-top:12px; color:#6037a0; }
.capability-notes { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:32px; }
.capability-notes strong { color:var(--ink); }
.workflow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; list-style:none; padding:0; margin:56px 0 36px; }
.workflow-steps li > span { color:var(--violet-2); font-size:14px; }
.workflow-steps p, .workflow-note { color:var(--lavender); opacity:.8; font-size:15px; line-height:1.75; }
.workflow-note { max-width:850px; border-top:1px solid rgba(255,255,255,.18); padding-top:24px; font-size:13px; }
.evidence-example .demo-note { max-width:850px; margin:24px auto 0; line-height:1.75; font-size:13px; }
.cli-preview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.cli-preview .section-heading { display:block; }
.cli-preview .section-heading > p:not(.eyebrow) { max-width:560px; margin:24px 0; }
.cli-preview .button { margin-top:16px; }
.scope-note { margin:36px 0 0; color:#514759; font-size:14px; line-height:1.75; max-width:900px; }
.command-block { min-width:0; margin:0 0 18px; border:1px solid rgba(231,221,255,.24); border-radius:10px; background:#100b1b; color:var(--paper); overflow:hidden; }
.command-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid rgba(231,221,255,.16); font-size:12px; color:var(--lavender); }
.command-bar button { flex-shrink:0; padding:8px 12px; border:1px solid rgba(231,221,255,.28); border-radius:5px; background:#261638; color:var(--paper); cursor:pointer; font-size:12px; }
.command-block pre { margin:0; padding:22px; overflow-x:auto; font:13px/1.9 var(--font-code); tab-size:2; }
.command-block code { color:inherit; }
.command-feedback { display:block; min-height:27px; padding:0 18px 10px; font-size:12px; color:var(--lavender); }
.command-note { color:#c5bace; font-size:13px; line-height:1.7; }
.guide-intro, .guide-section { max-width:1320px; margin:0 auto; padding:76px 48px; }
.guide-intro { padding-bottom:40px; }
.guide-intro h1 { margin:0 0 24px; font:500 clamp(38px,5vw,66px)/1.08 var(--font-heading); letter-spacing:-.05em; }
.guide-intro > p:not(.eyebrow) { max-width:760px; color:var(--lavender); font-size:18px; line-height:1.7; }
.guide-nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:32px; padding:22px 0; border-top:1px solid rgba(231,221,255,.2); border-bottom:1px solid rgba(231,221,255,.2); }
.guide-nav a { color:var(--lavender); font-size:14px; padding:4px 0; text-decoration:underline; text-underline-offset:5px; }
.guide-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:64px; border-bottom:1px solid rgba(231,221,255,.15); scroll-margin-top:20px; }
.guide-section > div { min-width:0; }
.guide-number { font-size:11px; color:var(--violet-2); text-transform:uppercase; letter-spacing:.12em; }
.guide-section h2 { margin:18px 0 22px; font:500 32px/1.2 var(--font-heading); letter-spacing:-.035em; }
.guide-section p { color:#c5bace; font-size:15px; line-height:1.75; overflow-wrap:anywhere; }
.guide-section p strong { color:var(--paper); }
.guide-section p code, .guide-intro p code { color:var(--paper); font-size:.9em; }
.guide-section .text-link { color:var(--lavender); }
.guide-section .command-note { font-size:13px; }
.transition-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.transition-capabilities .form-note a { text-decoration:underline; }
.site-header { gap:22px; }
.site-header nav { gap:22px; }
a:focus-visible, button:focus-visible, pre:focus-visible { outline:2px solid var(--violet-2); outline-offset:5px; }
@media (max-width:1100px) {
 .product-grid, .roadmap-grid { gap:16px; }
 .product-grid article, .roadmap-grid article { padding:22px; }
 .guide-section, .cli-preview { gap:32px; }
}
@media (max-width:900px) {
 .product-grid, .roadmap-grid, .workflow-steps { grid-template-columns:minmax(0,1fr); gap:20px; }
 .capability-notes, .cli-preview, .guide-section { grid-template-columns:minmax(0,1fr); gap:24px; }
 .product-grid article, .roadmap-grid article { padding:28px; }
 .product-grid .product-boundary { margin-top:12px; }
 .workflow-steps { gap:28px; }
}
@media (max-width:760px) {
 .overview { padding-top:75px; padding-bottom:75px; }
 .overview__intro, .overview__details { grid-template-columns:1fr; }
 .overview__intro { gap:24px; }
 .overview__intro h2 { font-size:clamp(34px,9vw,46px); }
 .overview__intro > p { font-size:14px; }
 .overview__details { margin-top:45px; }
 .overview__details article, .overview__details article + article { padding:25px 0 30px; border-left:0; }
 .overview__details article + article { border-top:1px solid #38264c2b; }
 .overview__details h3 { margin-top:18px; font-size:21px; }
 .guide-intro, .guide-section { padding:42px 22px; }
 .guide-intro > p:not(.eyebrow) { font-size:16px; }
 .guide-section h2 { font-size:28px; }
 .guide-nav { gap:10px 20px; }
 .command-block pre { padding:18px; font-size:12px; }
 .site-header { gap:10px; }
 .hero__actions { align-items:flex-start; flex-direction:column; gap:12px; }
 .hero__actions .button { font-size:12px; gap:16px; }
 .footer__links { flex-wrap:wrap; }
}

.orbit-detail[data-status="Early scope"] .orbit-detail__status { background:#e58b3c1f; color:#895014; }
.hero__copy > .eyebrow { line-height:1.5; }



/* Task-led onboarding: keep requirements beside the entry point. */
.start-intro { padding-bottom:36px; }
.start-demo { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:30px; padding:24px 28px; border:1px solid #ffffff26; border-radius:12px; background:#ffffff06; }
.start-demo strong { font-size:16px; color:#f3eaff; }
.start-demo p { margin:8px 0 0; color:#b6a9c6; font-size:14px; line-height:1.6; }
.start-demo .button { flex-shrink:0; }
.start-workflows { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:42px; max-width:1200px; margin:auto; padding:12px 48px 65px; }
.workflow-picker { border:0; padding:0; margin:0; min-width:0; }
.workflow-picker legend { padding:0; margin-bottom:20px; font-size:13px; color:#c7b5e3; }
.workflow-picker label { display:flex; position:relative; gap:12px; padding:18px 16px; margin-bottom:8px; border:1px solid #ffffff16; border-radius:9px; cursor:pointer; }
.workflow-picker label:has(input:checked) { background:#a977ff1c; border-color:#ad82f4; }
.workflow-picker label:has(input:focus-visible) { outline:2px solid #c7a4ff; outline-offset:3px; }
.workflow-picker input { flex-shrink:0; accent-color:#b18aff; margin:3px 0 0; width:16px; height:16px; }
.workflow-picker strong { display:block; color:#eee4ff; font-size:14px; font-weight:500; }
.workflow-picker small { display:block; color:#ae9dc2; font-size:11px; line-height:1.5; margin-top:6px; }
.workflow-panel { min-width:0; border:1px solid #ffffff26; border-radius:14px; padding:34px; background:#ffffff04; }
.workflow-panel[hidden] { display:none; }
.workflow-panel h2 { font:500 clamp(27px,3vw,38px)/1.2 var(--font-heading); letter-spacing:-.04em; margin:0 0 18px; color:#f5efff; }
.workflow-panel .eyebrow { color:#c2a3ef; }
.workflow-when { color:#c5b9d4; font-size:15px; line-height:1.7; }
.workflow-requirements { margin:24px 0 0; }
.workflow-requirements > div { display:grid; grid-template-columns:72px 1fr; gap:18px; padding:16px 0; border-top:1px solid #ffffff16; }
.workflow-requirements dt { color:#decbfb; font-size:12px; padding-top:3px; }
.workflow-requirements dd { margin:0; color:#bdb0cd; font-size:13px; line-height:1.7; }
.workflow-boundary { margin:8px 0 26px; padding:14px 16px; background:#b58bff0c; border-left:2px solid #a173d8; color:#c5b9d4; font-size:12px; line-height:1.7; }
.workflow-entrypoints { display:grid; grid-template-columns:1fr 1fr; gap:26px; border-top:1px solid #ffffff26; padding-top:23px; }
.workflow-entrypoints article { display:flex; flex-direction:column; align-items:flex-start; }
.workflow-entrypoints h3 { margin:0; color:#f1e7ff; font-size:15px; font-weight:500; }
.workflow-entrypoints p { margin:13px 0 22px; flex:1; color:#b4a5c6; font-size:13px; line-height:1.7; }
.workflow-entrypoints .button { font-size:12px; height:auto; min-height:44px; gap:16px; padding:12px 16px; }
.workflow-technical { font-size:12px; color:#bba9d2; line-height:1.7; margin:24px 0 0; padding-top:20px; border-top:1px solid #ffffff16; }
.start-next { display:flex; justify-content:space-between; gap:36px; max-width:1104px; margin:0 auto; padding:28px 0 65px; border-top:1px solid #ffffff26; }
.start-next h2 { margin:0; color:#e5d5fa; font-size:19px; font-weight:500; }
.start-next p { max-width:600px; color:#b4a5c6; font-size:13px; line-height:1.7; }
.start-next > div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:17px; flex-shrink:0; }
.analysis-choice a { color:#d0b2ff; text-decoration:underline; text-underline-offset:3px; }
.cli-task-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:26px; }
.cli-task-index a { padding:15px 18px; border:1px solid #ffffff26; border-radius:8px; color:#ddccf4; font-size:13px; }
.cli-task-index a:hover { border-color:#b18aff; background:#a977ff12; }
.guide-use { padding:13px 16px; border-left:2px solid #a173d8; background:#b58bff0c; }
.guide-section details { margin-top:24px; border-top:1px solid #ffffff26; padding-top:18px; }
.guide-section summary { cursor:pointer; color:#dac5fa; font-size:14px; }
.cli-exit-codes { width:100%; border-collapse:collapse; font-size:12px; color:#bdb0cd; }
.cli-exit-codes th, .cli-exit-codes td { text-align:left; padding:10px 8px; border-bottom:1px solid #ffffff16; line-height:1.6; vertical-align:top; }
.cli-exit-codes th { color:#e1d2f5; }
@media(max-width:1100px) { .start-next { margin-left:48px; margin-right:48px; } .start-workflows { gap:24px; grid-template-columns:220px minmax(0,1fr); } .workflow-panel { padding:25px; } }
@media(max-width:900px) { .start-workflows { grid-template-columns:minmax(0,1fr); } .workflow-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .workflow-picker label { margin:0; } .start-next { flex-direction:column; } }
@media(max-width:760px) { .start-workflows { padding:10px 22px 42px; } .start-demo { align-items:flex-start; flex-direction:column; padding:20px; } .workflow-picker { grid-template-columns:minmax(0,1fr); } .workflow-picker label { padding:12px 16px; } .workflow-picker small { margin-top:3px; } .workflow-panel { padding:22px; } .workflow-requirements > div { grid-template-columns:minmax(0,1fr); gap:8px; } .workflow-entrypoints { grid-template-columns:minmax(0,1fr); } .start-next { margin:0 22px; padding-bottom:42px; } .cli-task-index { grid-template-columns:minmax(0,1fr); } }

/* Retained governance observations share the report's evidence cards. */
.governance-trail { list-style: none; padding: 0; margin: 24px 0; }
.governance-trail .governance-card { margin: 0 0 16px; overflow-wrap: anywhere; }
.governance-trail .governance-card p { font-size: 12px; line-height: 1.7; }
.governance-trail details { margin-top: 16px; }
.governance-trail summary { cursor: pointer; font-size: 12px; }
[data-governance-trail] { margin-top: 28px; }
[data-governance-trail] > p, [data-trail-runs] { overflow-wrap: anywhere; font-size: 12px; line-height: 1.7; }
[data-trail-more], [data-trail-more-runs] { padding: 10px 16px; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }

/* Shared type roles; interface labels use the body face, code keeps its own. */
.orbit-body__status, .orbit-detail__status, .orbit-detail__metric span, .orbit-switch__option { font-family: var(--font-body); }
.section-heading h2, .overview__intro h2 { font-size: clamp(34px, 4.3vw, 64px); line-height: 1.1; letter-spacing: -.035em; }
.overview__details h3, .product-grid h3, .workflow-steps h3, .roadmap-grid h3 { font-size: 24px; font-weight: 600; line-height: 1.3; }

/* Motion belongs to the process connection and the controls, not the prose. */
.workflow-steps li { position: relative; --flow-start: scaleX(0); --flow-delay: 0ms; }
.workflow-steps li:nth-child(2) { --flow-delay: 160ms; }
.workflow-steps li:not(:last-child)::before,
.workflow-steps li:not(:last-child)::after { content: ''; position: absolute; top: 9px; left: 40px; right: -24px; height: 1px; background: #a780cf40; transform-origin: left center; pointer-events: none; }
.workflow-steps li:not(:last-child)::after { background: #b698de; }
.workflow-steps--animated li:not(.is-connected)::after { transform: var(--flow-start); }
.workflow-steps--animated li.is-connected::after { animation: workflowLink 650ms cubic-bezier(.16, 1, .3, 1) var(--flow-delay) both; }
.workflow-steps--paused li.is-connected::after { animation-play-state: paused; }
@keyframes workflowLink { from { transform: var(--flow-start); } to { transform: none; } }
.product-grid .text-link { border-bottom: 0; transition: color 180ms ease-out; }
.product-grid .text-link span, .cli-preview .button > span, .evidence-example .result-summary > a > span { display: inline-block; transition: transform 180ms cubic-bezier(.16, 1, .3, 1); }
.product-grid .text-link:focus-visible { color: #3f1d73; }
.product-grid .text-link:focus-visible span, .cli-preview .button:focus-visible > span, .evidence-example .result-summary > a:focus-visible > span { transform: translate(3px, -2px); }
.command-bar button { transition: background-color 150ms ease-out, border-color 150ms ease-out; }
.command-block[data-copy-state="copied"] .command-bar button { background: #42305a; border-color: #c9a9ef; }
@media (hover: hover) and (pointer: fine) {
  .product-grid .text-link:hover { color: #3f1d73; }
  .product-grid .text-link:hover span, .cli-preview .button:hover > span, .evidence-example .result-summary > a:hover > span { transform: translate(3px, -2px); }
  .command-bar button:hover { background: #36244d; border-color: #b997df; }
}
@media (max-width: 900px) {
  .workflow-steps li { padding-left: 34px; --flow-start: scaleY(0); --flow-delay: 0ms; }
  .workflow-steps li:nth-child(2) { --flow-delay: 0ms; }
  .workflow-steps li > span { position: absolute; top: 3px; left: 0; }
  .workflow-steps li h3 { margin-top: 0; }
  .workflow-steps li:not(:last-child)::before,
  .workflow-steps li:not(:last-child)::after { top: 32px; bottom: -16px; left: 7px; right: auto; width: 1px; height: auto; transform-origin: center top; }
}
@media (max-width: 760px) {
  .overview__details h3, .product-grid h3, .workflow-steps h3, .roadmap-grid h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .workflow-steps li::after { animation: none !important; transform: none !important; }
  .product-grid .text-link span, .cli-preview .button > span, .evidence-example .result-summary > a > span { transform: none !important; }
}

/* Guided first upgrade check (server-authored /setup). */
.setup__headline { margin: 0 0 14px; font: 500 14px var(--font-heading); }
.setup-steps { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.setup-step { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.12); border-left: 3px solid #8d85a0; border-radius: 5px; background: rgba(255,255,255,.03); }
.setup-step__index { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,.08); font-size: 11px; }
.setup-step header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.setup-step header strong { font: 600 13px/1.35 var(--font-heading); }
.setup-step header span { flex-shrink: 0; color: rgba(255,255,255,.56); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.setup-step p { margin: 8px 0 0; color: rgba(255,255,255,.6); font-size: 11px; line-height: 1.55; }
.setup-step--done, .setup-step--attention { border-left-color: #5ec79b; }
.setup-step--attention header span, .setup-step--todo header span { color: #f2c996; }
.setup-step--todo { border-left-color: #e58b3c; }
.setup-step--in_progress { border-left-color: #9c68ff; }
.setup-step.is-next { background: rgba(229,139,60,.07); }
.setup-actions { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.setup-actions li { display: grid; gap: 3px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.09); font-size: 11px; }
.setup-actions small { color: rgba(255,255,255,.45); font-size: 10px; }
.setup-actions code { overflow-wrap: anywhere; color: #d9c2ff; font-size: 10px; }

/* Operator view of the run queue (/v1/ops). */
.ops-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.ops-metrics article { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; }
.ops-metrics span { color: rgba(255,255,255,.45); font-size: 10px; }
.ops-metrics b { font: 500 17px var(--font-heading); }
.ops-metrics small { color: rgba(255,255,255,.45); font-size: 10px; }
.ops h3 { margin: 18px 0 8px; font: 500 14px var(--font-heading); }
.ops-failures { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ops-failures li { display: grid; gap: 3px; padding: 10px 12px; border-left: 3px solid #e58b3c; background: rgba(229,139,60,.07); border-radius: 4px; font-size: 11px; }
.ops-failures code { overflow-wrap: anywhere; color: #d9c2ff; font-size: 10px; }
.ops-failures small { color: rgba(255,255,255,.55); overflow-wrap: anywhere; }
