:root {
  --ink: #0b1f35;
  --ink-2: #304156;
  --muted: #68778a;
  --paper: #f7f5ef;
  --white: #fff;
  --line: #dfe3e5;
  --line-soft: #eceeea;
  --blue: #2563eb;
  --blue-dark: #1947ad;
  --blue-pale: #edf4ff;
  --navy: #0b1d32;
  --green: #16805c;
  --green-pale: #eaf7f1;
  --amber: #a8620a;
  --amber-pale: #fff5df;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow-sm: 0 2px 8px rgba(18, 35, 52, .06);
  --shadow: 0 20px 60px rgba(16, 35, 53, .12), 0 3px 12px rgba(16, 35, 53, .06);
  --shell: 1200px;
  --font-display: "Archivo", "Arial Narrow", Arial, sans-serif;
  --font-body: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, h4 { font-family: var(--font-display); letter-spacing: -.035em; line-height: 1.08; }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.section { padding: 112px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 1000; left: 16px; top: -60px; padding: 10px 16px; border-radius: 8px; background: var(--navy); color: #fff; transition: top .2s; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid rgba(37, 99, 235, .35); outline-offset: 3px; }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(13, 31, 49, .08); background: rgba(247, 245, 239, .88); backdrop-filter: blur(14px); }
.nav-wrap { min-height: 72px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 750; letter-spacing: -.035em; flex: none; }
.brand-mark { width: 28px; height: 28px; fill: none; stroke: var(--blue); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.primary-nav { display: flex; align-items: center; gap: 28px; margin: auto; }
.primary-nav a { color: #415168; font-size: 14px; font-weight: 600; }
.primary-nav a:hover, .site-footer nav a:hover, .site-footer nav button:hover { color: var(--blue); }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.text-button { padding: 9px; border: 0; background: none; cursor: pointer; font-weight: 600; font-size: 14px; }
.dashboard-link { color: var(--muted); font-size: 13px; white-space: nowrap; }
.dashboard-link:hover { color: var(--blue); }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 12px 20px; cursor: pointer; font-weight: 700; font-size: 14px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button-small { min-height: 40px; padding: 9px 15px; }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 5px 14px rgba(37, 99, 235, .2); }
.button-primary:hover { background: var(--blue-dark); box-shadow: 0 7px 18px rgba(37, 99, 235, .25); }
.button-secondary, .button-quiet { border-color: #ced5dd; background: #fff; color: var(--ink); box-shadow: var(--shadow-sm); }
.button-secondary:hover, .button-quiet:hover { border-color: #aeb9c6; }
.button-dark { background: var(--navy); color: #fff; }
.button-dark:hover { background: #17324f; }
.button-light { background: #fff; color: var(--navy); }
.button-outline-light { border-color: rgba(255,255,255,.35); color: #fff; }
.button-outline-light:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.full-width { width: 100%; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; padding: 11px; cursor: pointer; }
.menu-toggle span { display: block; width: 22px; height: 2px; background: var(--ink); margin: 4px 0; border-radius: 2px; }

.hero { padding: 88px 0 0; overflow: hidden; background: radial-gradient(circle at 50% 20%, #fff 0, rgba(255,255,255,.72) 20%, transparent 48%); }
.hero-copy { max-width: 900px; text-align: center; }
.ops-marker { margin-bottom: 18px; color: var(--blue); font-family: var(--font-mono); font-size: 11px; font-weight: 600; letter-spacing: .045em; }
.ops-marker.light { color: #8eb8ff; }
.hero-status { display: inline-flex; align-items: center; gap: 0; margin: 0 auto 24px; border: 1px solid #d5dce1; background: rgba(255,255,255,.7); }
.hero-status span { padding: 8px 12px; border-left: 1px solid #d5dce1; color: #596879; font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: .025em; }
.hero-status span:first-child { border-left: 0; color: var(--ink); }
.hero-status i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--green); }
.hero h1 { max-width: 890px; margin: 0 auto 24px; font-size: clamp(43px, 5.25vw, 68px); font-weight: 710; }
.hero h1 span { color: var(--blue); }
.hero-lede { max-width: 720px; margin: 0 auto 30px; color: var(--ink-2); font-size: 18px; }
.hero-actions { display: flex; justify-content: center; gap: 12px; }
.trust-line { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; margin: 22px 0 48px; color: var(--muted); font-size: 12px; font-weight: 600; }
.trust-line span::first-letter { color: var(--green); }

.product-window { border: 1px solid #cfd7df; border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); overflow: hidden; transform: translateY(26px); }
.product-window.demo-active { animation: window-pulse .7s ease; }
@keyframes window-pulse { 50% { box-shadow: 0 24px 70px rgba(37, 99, 235, .21); } }
.window-bar { min-height: 58px; padding: 11px 16px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--line); background: #fbfcfc; }
.window-brand { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.mini-mark { display: inline-flex; width: 27px; height: 27px; align-items: center; justify-content: center; border-radius: 7px; background: var(--blue); color: white; font-size: 12px; font-weight: 800; }
.workspace-label { padding-left: 9px; border-left: 1px solid var(--line); color: var(--muted); }
.process-track { display: flex; align-items: center; gap: 7px; }
.process-step { display: flex; align-items: center; gap: 5px; color: #738191; font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .035em; }
.process-step span { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid #cdd4dc; border-radius: 50%; background: #fff; font-size: 10px; }
.process-step.is-active { color: var(--blue); }
.process-step.is-active span { border-color: var(--blue); background: var(--blue); color: white; }
.process-step.is-done { color: var(--green); }
.process-step.is-done span { border-color: var(--green); background: var(--green); color: white; }
.process-track i { width: 18px; height: 1px; background: #d9dee3; }
.secure-chip { justify-self: end; padding: 5px 8px; border-radius: 99px; color: var(--green); background: var(--green-pale); font-size: 10px; font-weight: 750; }
.rfq-meta { display: flex; min-height: 34px; align-items: center; border-bottom: 1px solid var(--line); background: #f4f6f6; overflow-x: auto; scrollbar-width: none; }
.rfq-meta::-webkit-scrollbar { display: none; }
.rfq-meta span { flex: 1; min-width: max-content; padding: 8px 13px; border-right: 1px solid var(--line); color: #637181; font-family: var(--font-mono); font-size: 10px; font-weight: 500; }
.rfq-meta span:first-child { color: var(--ink); font-weight: 600; }
.rfq-meta .draft { color: var(--amber); }
.demo-grid { display: grid; grid-template-columns: .9fr 1.08fr .9fr; min-height: 600px; }
.demo-panel { min-width: 0; padding: 22px 20px; }
.demo-panel + .demo-panel { border-left: 1px solid var(--line); }
.source-panel { background: #fbfbf9; }
.recommendation-panel { background: #f8fafc; }
.panel-heading { min-height: 46px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.panel-heading h2 { margin: 4px 0 0; font-size: 16px; letter-spacing: -.02em; }
.kicker { color: #748291; font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.file-chip, .confidence-chip { padding: 4px 7px; border: 1px solid var(--line); border-radius: 4px; background: white; color: var(--muted); font-family: var(--font-mono); font-size: 10px; font-weight: 600; }
.confidence-chip { color: var(--green); background: var(--green-pale); border-color: #cce9dc; }
.source-tabs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 14px 0; padding: 3px; border-radius: 7px; background: #edf0f1; }
.source-tabs button { min-height: 32px; border: 0; border-radius: 5px; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 750; }
.source-tabs button[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(19,33,49,.1); }
.source-document { min-height: 365px; padding: 20px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: 0 2px 9px rgba(17,33,50,.04); color: #3c4a5a; font-family: var(--font-body); font-size: 12px; line-height: 1.68; }
.source-document .email-meta { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line-soft); font-family: var(--font-body); }
.source-document .email-meta span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.source-document .pdf-title { margin-bottom: 22px; padding: 10px; border-left: 3px solid var(--blue); background: #f5f8fd; font-family: var(--font-mono); font-weight: 600; }
.source-document table { width: 100%; border-collapse: collapse; font-family: var(--font-body); font-size: 11px; }
.source-document th, .source-document td { padding: 8px; border: 1px solid var(--line); text-align: left; }
.source-document th { background: #f5f7f7; }
.attachment-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px; border-radius: 6px; background: #f0f3f4; color: var(--muted); font-size: 11px; }
.attachment-row div { flex: 1; }
.attachment-row strong, .attachment-row small { display: block; }
.attachment-row strong { color: var(--ink-2); }
.attachment-icon { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 6px; background: #fff; color: var(--blue); }
.field-list { margin-top: 14px; }
.field-row { display: grid; grid-template-columns: .7fr 1.2fr auto; align-items: center; min-height: 56px; gap: 8px; border-bottom: 1px solid var(--line-soft); transition: opacity .25s ease, transform .25s ease, background .25s; }
.field-row > div { display: flex; align-items: center; gap: 8px; }
.field-row label { color: var(--ink-2); font-size: 12px; font-weight: 600; }
.field-row button { padding: 5px 0; border: 0; background: none; text-align: left; cursor: pointer; font-size: 12px; font-weight: 600; }
.field-row button span { color: #98a3ae; }
.field-input { min-width: 0; width: 100%; padding: 7px 8px; border: 1px solid var(--blue); border-radius: 4px; background: #fff; color: var(--ink); font-size: 12px; outline: 3px solid rgba(37,99,235,.12); }
.field-row small { padding: 4px 6px; border-radius: 3px; font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .025em; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.verified .status-dot { background: var(--green); box-shadow: 0 0 0 3px var(--green-pale); }
.verified small { color: var(--green); background: var(--green-pale); }
.missing .status-dot { background: #e39725; box-shadow: 0 0 0 3px var(--amber-pale); }
.missing small { color: var(--amber); background: var(--amber-pale); }
.missing button { color: var(--amber); }
.field-row.reveal-start { opacity: 0; transform: translateY(7px); }
.field-row.just-revealed.missing { animation: amber-flash .8s ease; }
@keyframes amber-flash { 40% { background: #fff6e5; } }
.analysis-loading { display: none; min-height: 430px; place-items: center; align-content: center; text-align: center; color: var(--muted); font-size: 12px; }
.analysis-loading span { width: 28px; height: 28px; border: 3px solid #d9e4f5; border-top-color: var(--blue); border-radius: 50%; animation: spin .7s linear infinite; }
.analysis-loading p { margin: 12px 0; }
.extraction-panel.is-loading .analysis-loading { display: grid; }
.extraction-panel.is-loading .field-list { display: none; }
@keyframes spin { to { transform: rotate(360deg); } }
.attention-card { display: flex; gap: 10px; margin: 16px 0 20px; padding: 13px; border: 1px solid #f0d6aa; border-radius: 8px; background: var(--amber-pale); }
.attention-icon { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #d68416; color: #fff; font-weight: 850; }
.attention-card strong { display: block; color: #754306; font-size: 12px; }
.attention-card p { margin: 2px 0 0; color: #82571e; font-size: 11px; }
.attention-card.complete { border-color: #b8decf; background: var(--green-pale); }
.attention-card.complete .attention-icon { background: var(--green); }
.attention-card.complete strong, .attention-card.complete p { color: #25674f; }
.recommendation-panel h3 { margin: 0 0 11px; color: var(--muted); font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.question-list { margin: 0 0 20px; padding: 0; list-style: none; }
.question-list li { display: flex; gap: 9px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); font-size: 12px; line-height: 1.4; }
.question-list span { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 5px; background: #e8eef7; color: #47607e; flex: none; font-size: 10px; font-weight: 700; }
.recommendation-panel .button { min-height: 40px; margin-top: 8px; padding: 8px 12px; font-size: 11px; }
.recommendation-panel .button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.review-label { margin: 13px 0 0; text-align: center; color: var(--muted); font-family: var(--font-mono); font-size: 10px; font-weight: 500; }
.review-label span { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--amber); }

.section-intro { max-width: 650px; margin-bottom: 52px; }
.section-intro.centered { margin-inline: auto; text-align: center; }
.section-intro h2 { margin-bottom: 0; font-size: clamp(34px, 4vw, 50px); }
.problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #cfd5d7; }
.problem-grid article { padding: 28px 25px 12px; border-left: 1px solid #cfd5d7; }
.problem-grid article:first-child { border-left: 0; }
.problem-grid article > span { color: var(--blue); font-family: var(--font-mono); font-size: 11px; font-weight: 600; }
.problem-grid h3 { margin: 42px 0 10px; font-size: 18px; }
.problem-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.transformation-card { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 26px; margin-top: 60px; padding: 30px; border: 1px solid #d8deda; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.comparison-label { display: inline-block; margin-bottom: 16px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.comparison-label.after { color: var(--blue); }
.workflow-chain { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.workflow-chain span { padding: 7px 9px; border-radius: 6px; background: #f0f2f2; color: #596777; font-size: 10px; font-weight: 700; }
.workflow-chain.short span { background: var(--blue-pale); color: var(--blue-dark); }
.workflow-chain i { color: #9ca6af; font-style: normal; }
.transformation-divider { height: 80px; border-left: 1px solid var(--line); position: relative; }
.transformation-divider span { position: absolute; top: 31px; left: -28px; width: 56px; padding: 3px; background: #fff; color: #929da8; text-align: center; font-size: 10px; text-transform: uppercase; }

.steps-section { background: #fff; }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.steps-grid article { position: relative; padding: 30px 28px 0 0; }
.steps-grid article:not(:last-child)::after { content: ""; position: absolute; top: 48px; right: 23px; width: calc(100% - 85px); border-top: 1px dashed #ccd4db; transform: translateX(50%); }
.step-number { color: var(--blue); font-family: var(--font-mono); font-size: 11px; font-weight: 600; }
.step-icon { display: grid; width: 42px; height: 42px; place-items: center; margin: 32px 0 24px; border: 1px solid #cfd9e8; border-radius: 10px; background: var(--blue-pale); color: var(--blue); font-weight: 750; }
.steps-grid h3 { font-size: 18px; }
.steps-grid p { max-width: 230px; color: var(--muted); font-size: 14px; }
.feature-section { padding: 64px 0; background: #f4f5f1; }
.feature-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 34px; }
.feature-heading-row .section-intro { margin: 0; }
.feature-heading-row > p { max-width: 390px; margin: 0; color: var(--muted); }
.feature-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.feature-eyebrow .ops-marker { margin: 0; }
.feature-eyebrow span { padding: 4px 7px; border: 1px solid #cdd4d6; border-radius: 3px; color: #647382; background: rgba(255,255,255,.55); font-family: var(--font-mono); font-size: 9px; font-weight: 600; letter-spacing: .055em; }
.showcase-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 960px); margin: 0 auto 14px; border: 1px solid #cfd5d7; background: #edf0ee; }
.showcase-tabs button { min-width: 0; min-height: 44px; padding: 10px 16px; border: 0; border-left: 1px solid #cfd5d7; background: transparent; color: #667485; cursor: pointer; font-size: 12px; font-weight: 700; }
.showcase-tabs button:first-child { border-left: 0; }
.showcase-tabs button[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: inset 0 -2px var(--blue); }
.showcase-stage { position: relative; width: min(100%, 960px); aspect-ratio: 16 / 9; margin-inline: auto; overflow: hidden; border: 1px solid #cbd2d4; border-radius: var(--radius); background: #fff; }
.showcase-panel { position: absolute; inset: 0; display: grid; margin: 0; place-items: center; overflow: hidden; }
.showcase-panel[hidden] { display: none; }
.showcase-panel img { display: block; width: 100%; height: 100%; object-fit: contain; }
.showcase-panel-quotation img { object-fit: cover; object-position: center 46%; transform: scale(1.025); }

.control-section { background: var(--navy); color: #fff; overflow: hidden; }
.control-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 90px; }
.control-copy h2 { margin-bottom: 22px; font-size: clamp(40px, 5vw, 58px); }
.control-copy > p:not(.ops-marker) { color: #b5c0cc; }
.check-list { margin: 30px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; margin: 13px 0; padding-left: 28px; color: #d7dee5; font-size: 13px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: #5fd2a5; font-weight: 800; }
.approval-card { border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: #122b46; box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.approval-card-head { display: flex; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid rgba(255,255,255,.11); color: #9fb0c0; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .04em; }
.lock { color: #65d3aa; }
.approval-doc { position: relative; height: 300px; margin: 28px auto; width: 62%; padding: 35px; background: #fff; box-shadow: 0 13px 30px rgba(0,0,0,.22); }
.doc-line { display: block; height: 7px; margin-bottom: 9px; background: #dfe5e9; }
.doc-line.wide { width: 60%; height: 11px; background: #1d3b59; }
.doc-line.medium { width: 38%; }
.doc-table { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 55px; background: #dfe5e9; border: 1px solid #dfe5e9; }
.doc-table span { height: 40px; background: #f7f9fa; }
.approval-stamp { position: absolute; right: 20px; bottom: 25px; padding: 10px; border: 2px solid var(--green); color: var(--green); transform: rotate(-7deg); text-align: center; font-size: 10px; font-weight: 850; line-height: 1.2; }
.approval-flow { display: flex; align-items: flex-start; justify-content: center; padding: 22px; border-top: 1px solid rgba(255,255,255,.11); }
.approval-flow div { width: 80px; text-align: center; color: #75899d; }
.approval-flow div > span { display: grid; width: 25px; height: 25px; margin: auto auto 7px; place-items: center; border: 1px solid #5e7388; border-radius: 50%; font-size: 10px; }
.approval-flow strong { font-family: var(--font-mono); font-size: 10px; font-weight: 500; }
.approval-flow i { width: 45px; margin-top: 12px; border-top: 1px solid #405870; }
.approval-flow .done { color: #5fd2a5; }
.approval-flow .done > span { border-color: #5fd2a5; background: rgba(95,210,165,.13); }
.approval-flow .current { color: #8eb8ff; }
.approval-flow .current > span { border-color: #558fee; background: rgba(37,99,235,.3); }

.dashboard-section { background: #f4f5f1; }
.dashboard-title { max-width: none; display: flex; align-items: end; justify-content: space-between; }
.dashboard-title h2 { max-width: 650px; }
.dashboard-title > p { max-width: 380px; margin-bottom: 0; color: var(--muted); }
.dashboard-window { border: 1px solid #d4dadd; border-radius: 15px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.dashboard-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.dash-brand, .dash-tools { display: flex; align-items: center; gap: 10px; }
.count-badge { padding: 2px 7px; border-radius: 99px; background: #edf0f2; color: var(--muted); font-size: 10px; }
.search-box { display: flex; align-items: center; gap: 6px; height: 40px; padding: 0 11px; border: 1px solid #ccd4dc; border-radius: 7px; color: var(--muted); background: #fff; }
.search-box input { width: 180px; border: 0; outline: 0; background: transparent; font-size: 12px; }
.dash-tools select { height: 40px; padding: 0 30px 0 11px; border: 1px solid #ccd4dc; border-radius: 7px; background: #fff; color: var(--ink-2); font-size: 12px; }
.table-wrap { width: 100%; overflow-x: auto; }
.dashboard-window table { width: 100%; min-width: 950px; border-collapse: collapse; font-size: 12px; }
.dashboard-window th { padding: 13px 18px; background: #f8f9f9; color: #758391; text-align: left; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.dashboard-window td { padding: 18px; border-top: 1px solid var(--line-soft); color: #4a5868; }
.dashboard-window td:first-child strong, .dashboard-window td:first-child small { display: block; }
.dashboard-window td:first-child strong { color: var(--ink); font-size: 12px; }
.dashboard-window td:first-child small { margin-top: 3px; color: #7d8994; font-family: var(--font-mono); font-size: 10px; }
.status { display: inline-block; padding: 5px 8px; border-radius: 3px; font-family: var(--font-mono); font-size: 10px; font-weight: 600; white-space: nowrap; }
.status.amber { color: var(--amber); background: var(--amber-pale); }
.status.blue { color: var(--blue-dark); background: var(--blue-pale); }
.status.gray { color: #657386; background: #edf0f2; }
.status.green { color: var(--green); background: var(--green-pale); }
.avatar { display: inline-grid; width: 26px; height: 26px; margin-right: 5px; place-items: center; border-radius: 50%; background: #efe8de; color: #74573b; font-family: var(--font-mono); font-size: 10px; font-weight: 600; }
.blue-avatar { background: #e6eefc; color: #315d9e; }
.green-avatar { background: #e3f4ed; color: #267256; }
.empty-state { padding: 35px; text-align: center; color: var(--muted); }

.pricing-section { background: #fff; }
.pricing-heading { max-width: none; display: grid; grid-template-columns: 1fr .7fr auto; align-items: end; gap: 35px; }
.pricing-heading > p { margin: 0; color: var(--muted); }
.billing-toggle { display: inline-flex; margin-top: 28px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: #f5f6f4; }
.billing-toggle button { min-height: 36px; padding: 7px 12px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 700; }
.billing-toggle button.active { background: #fff; color: var(--ink); box-shadow: var(--shadow-sm); }
.billing-toggle button span { margin-left: 4px; color: var(--green); font-size: 10px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; gap: 18px; }
.price-card { position: relative; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); }
.price-card.featured { border: 2px solid var(--blue); box-shadow: 0 16px 42px rgba(37,99,235,.12); }
.popular-label { position: absolute; top: -12px; right: 22px; padding: 5px 10px; border-radius: 99px; background: var(--blue); color: white; font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.plan-name { margin-bottom: 8px; font-size: 20px; font-weight: 750; }
.plan-copy { min-height: 43px; color: var(--muted); font-size: 13px; }
.price { display: flex; align-items: flex-start; margin: 25px 0 0; }
.price > span { margin: 7px 3px 0 0; font-size: 18px; }
.price strong { font-size: 48px; line-height: 1; letter-spacing: -.05em; }
.price small { align-self: end; margin: 0 0 5px 5px; color: var(--muted); font-size: 11px; }
.price.custom { min-height: 48px; align-items: end; }
.price.custom strong { font-size: 36px; }
.billed-note { margin: 8px 0 22px; color: #8b96a2; font-size: 10px; }
.price-card ul { margin: 26px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); list-style: none; }
.price-card li { position: relative; margin: 11px 0; padding-left: 23px; color: var(--ink-2); font-size: 13px; }
.price-card li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 800; }
.pricing-note { margin: 28px 0 0; color: var(--muted); text-align: center; font-size: 12px; }
.pricing-note span { margin: 0 9px; color: #bcc3c8; }

.faq-section { background: var(--paper); }
.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; }
.faq-layout .section-intro { position: sticky; top: 120px; align-self: start; }
.faq-layout .section-intro > p { color: var(--muted); }
.inline-action { padding: 0; border: 0; background: none; color: var(--blue); cursor: pointer; font-weight: 700; font-size: 13px; }
.faq-list article { border-top: 1px solid #cfd5d7; }
.faq-list article:last-child { border-bottom: 1px solid #cfd5d7; }
.faq-list h3 { margin: 0; }
.faq-list button { width: 100%; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 0; border: 0; background: none; text-align: left; cursor: pointer; font-size: 16px; font-weight: 700; }
.faq-list button span { color: var(--blue); font-size: 20px; font-weight: 400; }
.faq-answer { padding: 0 45px 20px 0; color: var(--muted); font-size: 14px; }
.faq-answer p { margin: 0; }
.final-cta { padding: 75px 0; background: #163967; color: #fff; }
.final-cta .shell { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.final-cta h2 { max-width: 700px; margin: 0; font-size: clamp(34px, 4vw, 50px); }
.final-cta .shell > div:last-child { display: flex; gap: 10px; flex: none; }

.site-footer { padding: 55px 0 25px; background: #081727; color: #fff; }
.footer-main { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; }
.footer-main > p { max-width: 360px; margin: 0; color: #8fa0b0; font-size: 13px; }
.site-footer nav { display: flex; align-items: center; gap: 20px; }
.site-footer nav a, .site-footer nav button { border: 0; background: none; color: #b2bdc8; cursor: pointer; padding: 6px 0; font-size: 12px; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 45px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); color: #728292; font-size: 11px; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: inherit; }

.modal-backdrop { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: 20px; background: rgba(5, 17, 30, .72); backdrop-filter: blur(6px); }
.modal-backdrop[hidden] { display: none; }
.quote-modal, .email-modal { width: min(920px, 100%); max-height: calc(100vh - 40px); overflow: auto; border-radius: 10px; background: #fff; box-shadow: 0 35px 90px rgba(0,0,0,.35); animation: modal-in .24s ease; }
.email-modal { width: min(720px, 100%); }
@keyframes modal-in { from { opacity: 0; transform: translateY(12px) scale(.985); } }
.quote-modal > header, .email-modal > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 24px 28px 18px; border-bottom: 1px solid var(--line); }
.quote-modal h2, .email-modal h2 { margin: 9px 0 0; font-size: 27px; }
.draft-pill { padding: 5px 8px; border-radius: 3px; background: var(--amber-pale); color: var(--amber); font-family: var(--font-mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .035em; }
.modal-close { border: 0; background: transparent; cursor: pointer; }
.quote-modal > header button.modal-close, .email-modal > header button.modal-close { font-size: 28px; line-height: 1; }
.quote-meta { display: grid; grid-template-columns: 1fr 1fr .7fr; gap: 25px; padding: 22px 28px; background: #f7f9fa; }
.quote-meta small, .quote-meta strong, .quote-meta span, .quote-terms small, .quote-terms strong { display: block; }
.quote-meta small, .quote-terms small { margin-bottom: 6px; color: #788593; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .035em; }
.quote-meta strong { font-size: 12px; }
.quote-meta span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.modal-table-wrap { padding: 25px 28px; overflow-x: auto; }
.quote-table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 11px; }
.quote-table th { padding: 10px; border-bottom: 1px solid var(--line); color: #74818d; text-align: left; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .035em; }
.quote-table td { padding: 15px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.quote-table td strong, .quote-table td small { display: block; }
.quote-table small { color: var(--green); }
.quote-table em { color: var(--amber); font-style: normal; }
.currency-input { display: inline-flex; align-items: center; gap: 3px; padding: 4px 7px; border: 1px solid #cbd3da; border-radius: 5px; }
.currency-input input { width: 55px; border: 0; outline: 0; }
.quote-terms { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; padding: 0 28px 25px; }
.quote-terms div { padding: 13px; border: 1px solid var(--line); border-radius: 7px; }
.quote-terms strong { font-size: 11px; }
.quote-terms .unknown { color: var(--amber); }
.quote-modal > footer, .email-modal > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 28px; border-top: 1px solid var(--line); background: #fbfcfc; }
.quote-modal > footer p, .email-modal > footer p { margin: 0; color: var(--amber); font-size: 11px; }
.quote-modal > footer p span, .email-modal > footer p span { display: inline-grid; width: 18px; height: 18px; place-items: center; margin-right: 5px; border-radius: 50%; background: var(--amber-pale); font-weight: 800; }
.quote-modal > footer > div, .email-modal > footer > div { display: flex; gap: 8px; }
.email-form { display: grid; gap: 16px; padding: 24px 28px 28px; }
.email-form label { display: grid; gap: 7px; }
.email-form label > span { color: #6f7d8a; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: .04em; }
.email-form input, .email-form textarea { width: 100%; border: 1px solid #cbd3da; border-radius: 5px; background: #fff; color: var(--ink); padding: 11px 12px; font-size: 13px; }
.email-form textarea { resize: vertical; min-height: 230px; line-height: 1.6; }
.email-form input:focus, .email-form textarea:focus { border-color: var(--blue); outline: 3px solid rgba(37,99,235,.16); }
.toast { position: fixed; z-index: 700; right: 20px; bottom: 20px; max-width: 360px; padding: 13px 16px; border-radius: 8px; background: var(--navy); color: #fff; box-shadow: var(--shadow); font-size: 12px; transform: translateY(20px); opacity: 0; pointer-events: none; transition: .22s ease; }
.toast.visible { transform: none; opacity: 1; }

@media (max-width: 1050px) {
  .primary-nav { gap: 18px; }
  .nav-actions .text-button:not(.dashboard-link), .nav-actions .button-quiet { display: none; }
  .demo-grid { grid-template-columns: 1fr 1fr; }
  .recommendation-panel { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
  .recommendation-panel .panel-heading, .recommendation-panel .review-label { grid-column: 1/-1; }
  .question-list { grid-row: span 4; }
  .problem-grid { grid-template-columns: 1fr 1fr; }
  .problem-grid article:nth-child(3) { border-left: 0; }
  .problem-grid article:nth-child(n+3) { border-top: 1px solid #cfd5d7; }
  .pricing-heading { grid-template-columns: 1fr auto; }
  .pricing-heading > p { grid-row: 2; }
  .control-grid { gap: 45px; }
  .dashboard-toolbar { align-items: flex-start; }
  .dash-tools { flex-wrap: wrap; justify-content: flex-end; }
  .footer-main { grid-template-columns: 1fr auto; }
  .footer-main > p { grid-row: 2; }
}

@media (max-width: 760px) {
  .shell { width: min(calc(100% - 28px), var(--shell)); }
  .section { padding: 78px 0; }
  .site-header { backdrop-filter: none; background: rgba(247,245,239,.98); }
  .nav-wrap { min-height: 64px; }
  .menu-toggle { display: block; margin-left: auto; }
  .primary-nav { position: absolute; top: 64px; left: 0; right: 0; display: none; padding: 15px 20px 20px; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow-sm); }
  .primary-nav.open { display: flex; }
  .primary-nav a { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid var(--line); }
  .nav-actions { display: none; }
  .hero { padding-top: 62px; }
  .hero h1 { font-size: 41px; }
  .hero-lede { font-size: 16px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .trust-line { display: grid; gap: 7px; margin-bottom: 32px; }
  .hero-status { max-width: 100%; overflow-x: auto; justify-content: flex-start; }
  .hero-status span { white-space: nowrap; }
  .product-window { transform: none; border-radius: 13px; }
  .window-bar { grid-template-columns: 1fr auto; }
  .process-track { grid-column: 1 / -1; grid-row: 2; width: 100%; margin-top: 11px; justify-content: center; }
  .process-step { font-size: 10px; }
  .process-track i { flex: 1; max-width: 30px; }
  .secure-chip { grid-column: 2; grid-row: 1; }
  .workspace-label { display: none; }
  .demo-grid { display: block; }
  .demo-panel + .demo-panel { border-left: 0; border-top: 1px solid var(--line); }
  .source-document { min-height: 300px; }
  .recommendation-panel { display: block; }
  .field-row { grid-template-columns: 1fr 1fr auto; }
  .problem-grid { display: block; border: 1px solid #cfd5d7; border-radius: var(--radius); overflow: hidden; }
  .problem-grid article, .problem-grid article:nth-child(3) { border: 0; border-top: 1px solid #cfd5d7; padding: 23px; }
  .problem-grid article:first-child { border-top: 0; }
  .problem-grid h3 { margin-top: 18px; }
  .transformation-card { display: block; padding: 22px; }
  .transformation-divider { height: 45px; border: 0; }
  .transformation-divider::before { content: "↓"; display: block; padding-top: 12px; text-align: center; color: var(--blue); }
  .transformation-divider span { display: none; }
  .steps-grid { grid-template-columns: 1fr 1fr; }
  .steps-grid article:not(:last-child)::after { display: none; }
  .feature-heading-row { display: block; }
  .feature-heading-row > p { margin-top: 20px; }
  .showcase-tabs button { padding-inline: 8px; font-size: 11px; }
  .control-grid { grid-template-columns: 1fr; }
  .approval-doc { width: 75%; }
  .approval-flow { overflow-x: auto; justify-content: flex-start; }
  .dashboard-title { display: block; }
  .dashboard-title > p { margin-top: 20px; }
  .dashboard-toolbar { display: block; }
  .dash-tools { display: grid; grid-template-columns: 1fr 1fr; margin-top: 16px; }
  .search-box { grid-column: 1/-1; }
  .search-box input { width: 100%; }
  .pricing-grid { grid-template-columns: 1fr; gap: 25px; }
  .pricing-heading { display: block; }
  .pricing-heading > p { margin-top: 16px; }
  .faq-layout { grid-template-columns: 1fr; gap: 20px; }
  .faq-layout .section-intro { position: static; }
  .final-cta .shell { display: block; }
  .final-cta .shell > div:last-child { margin-top: 30px; }
  .footer-main { display: block; }
  .footer-main > p { margin-top: 18px; }
  .site-footer nav { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 30px; }
  .footer-bottom { display: block; }
  .footer-bottom p + p { margin-top: 7px; }
  .quote-meta { grid-template-columns: 1fr 1fr; }
  .quote-terms { grid-template-columns: 1fr 1fr; }
  .quote-modal > footer, .email-modal > footer { align-items: flex-start; flex-direction: column; }
  .quote-modal > footer > div, .email-modal > footer > div { width: 100%; }
  .quote-modal > footer .button, .email-modal > footer .button { flex: 1; }
}

@media (max-width: 470px) {
  .hero h1 { font-size: 36px; }
  .hero-status { display: grid; }
  .hero-status span { border-left: 0; border-top: 1px solid #d5dce1; text-align: left; }
  .hero-status span:first-child { border-top: 0; }
  .window-brand strong { display: none; }
  .process-step { flex-direction: column; }
  .demo-panel { padding: 20px 15px; }
  .field-row { grid-template-columns: 1fr 1fr; padding: 7px 0; }
  .field-row small { grid-column: 2; justify-self: start; }
  .steps-grid { display: block; }
  .steps-grid article { padding-bottom: 25px; border-bottom: 1px solid var(--line); }
  .step-icon { margin: 18px 0; }
  .approval-doc { width: 85%; height: 250px; }
  .dash-tools { display: block; }
  .dash-tools > * { width: 100%; margin-top: 8px; }
  .final-cta .shell > div:last-child { display: grid; }
  .quote-meta, .quote-terms { grid-template-columns: 1fr; }
  .quote-modal, .email-modal { max-height: calc(100vh - 16px); }
  .modal-backdrop { padding: 8px; }
  .quote-modal > header, .email-modal > header, .quote-meta, .modal-table-wrap, .quote-terms, .quote-modal > footer, .email-modal > footer, .email-form { padding-left: 18px; padding-right: 18px; }
  .quote-modal > footer > div, .email-modal > footer > div { flex-direction: column; }
}

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