:root {
  --ink: #171713;
  --muted: #6f7169;
  --paper: #f3f1e9;
  --surface: #fbfaf5;
  --line: #d8d6cc;
  --line-dark: #b8b6aa;
  --accent: #e8ff72;
  --accent-soft: #f2fac6;
  --product-dark: #20231b;
  --danger: #c3462b;
  --warn: #b66b12;
  --good: #16715a;
  --shadow: 0 18px 60px rgba(27, 28, 22, 0.09);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { color: inherit; }
::selection { background: var(--accent); color: #111; }

.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: var(--ink); color: white; padding: 12px 18px; border-radius: 8px; transition: top .2s; }
.skip-link:focus { top: 12px; }

.topbar { height: 72px; padding: 0 clamp(18px, 4vw, 64px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--line); background: rgba(243, 241, 233, .92); backdrop-filter: blur(18px); position: sticky; top: 0; z-index: 50; }
.brand { display: inline-flex; width: max-content; align-items: center; gap: 11px; text-decoration: none; font-size: 17px; font-weight: 760; letter-spacing: -.02em; }
.brand b { font-weight: 520; color: var(--muted); }
.brand-mark { width: 31px; height: 31px; border-radius: 9px; display: inline-flex; gap: 2px; align-items: flex-end; justify-content: center; padding: 7px; background: var(--ink); transform: rotate(-2deg); }
.brand-mark i { display: block; width: 4px; border-radius: 2px; background: var(--accent); }
.brand-mark i:nth-child(1) { height: 8px; }
.brand-mark i:nth-child(2) { height: 16px; }
.brand-mark i:nth-child(3) { height: 12px; }
.topnav { display: flex; align-items: center; gap: 30px; font-size: 13px; font-weight: 650; color: #55574f; }
.topnav a { text-decoration: none; }
.topnav a:hover { color: var(--ink); }
.service-status { justify-self: end; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; color: var(--muted); }
.status-dot { width: 8px; height: 8px; background: #c9a74b; border-radius: 50%; box-shadow: 0 0 0 4px rgba(201, 167, 75, .13); }
.service-status.ready .status-dot { background: var(--good); box-shadow: 0 0 0 4px rgba(22, 113, 90, .12); }

main { min-height: calc(100vh - 72px); }
.shell { width: min(1420px, calc(100% - 40px)); margin: 0 auto; }
.eyebrow { margin: 0 0 18px; display: inline-flex; align-items: center; gap: 9px; color: #62645d; font-size: 11px; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--accent); box-shadow: 8px 0 0 var(--ink); }

.home-hero { min-height: 630px; padding: clamp(72px, 10vw, 142px) 0 70px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(380px, .7fr); gap: clamp(50px, 8vw, 130px); align-items: center; }
.home-copy h1 { margin: 0; max-width: 880px; font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(54px, 7.2vw, 112px); font-weight: 470; line-height: .95; letter-spacing: -.065em; }
.home-copy h1 em { color: transparent; -webkit-text-stroke: 1.5px var(--ink); font-style: italic; }
.home-copy > p:not(.eyebrow) { max-width: 650px; margin: 32px 0 0; color: #5e6059; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.btn { min-height: 46px; border-radius: 8px; border: 1px solid var(--ink); padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: transparent; font-size: 13px; font-weight: 760; text-decoration: none; cursor: pointer; transition: transform .18s, box-shadow .18s, background .18s; }
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 80%, white); outline-offset: 3px; }
.btn-primary { background: var(--ink); color: white; box-shadow: 4px 4px 0 var(--accent); }
.btn-primary:hover { box-shadow: 7px 7px 0 var(--accent); }
.btn-secondary { background: rgba(255,255,255,.35); border-color: var(--line-dark); }
.btn-small { min-height: 36px; padding: 0 13px; font-size: 12px; border-color: var(--line-dark); background: white; }
.btn-ghost { border-color: transparent; background: transparent; padding-inline: 8px; }
.btn-danger { color: var(--danger); }
.btn[disabled] { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.arrow { font-size: 17px; line-height: 1; }

.proof-board { position: relative; border: 1px solid var(--ink); border-radius: 4px; padding: 18px; background: var(--surface); box-shadow: 14px 14px 0 var(--product-dark); transform: rotate(1.1deg); }
.proof-board::before { content: "MARGIN LEAK MAP"; position: absolute; top: -28px; right: 2px; font-size: 10px; letter-spacing: .14em; font-weight: 800; color: var(--muted); }
.board-head { display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.board-head span { font-size: 11px; font-weight: 780; letter-spacing: .1em; color: var(--muted); }
.board-head strong { display: block; font-family: Georgia, serif; font-size: 30px; font-weight: 500; margin-top: 6px; }
.board-score { width: 70px; height: 70px; border-radius: 50%; border: 1px solid var(--ink); display: grid; place-content: center; text-align: center; background: var(--accent); }
.board-score b { font-size: 23px; line-height: 1; }
.board-score small { margin-top: 4px; font-size: 9px; font-weight: 700; }
.leak-list { list-style: none; padding: 0; margin: 8px 0 0; }
.leak-list li { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 16px 3px; border-bottom: 1px solid var(--line); }
.leak-list li:last-child { border-bottom: 0; }
.leak-no { width: 27px; height: 27px; display: grid; place-content: center; border-radius: 50%; background: var(--ink); color: white; font-size: 9px; font-weight: 800; }
.leak-list b { display: block; font-size: 13px; margin-bottom: 3px; }
.leak-list p { margin: 0; font-size: 11px; color: var(--muted); }
.leak-list em { font-style: normal; font-size: 11px; font-weight: 780; color: var(--danger); }

.home-band { background: var(--ink); color: white; padding: 25px 0; overflow: hidden; }
.home-band .shell { display: grid; grid-template-columns: repeat(3, 1fr); }
.band-stat { padding: 4px 28px; border-right: 1px solid rgba(255,255,255,.18); display: flex; gap: 14px; align-items: center; }
.band-stat:first-child { padding-left: 0; }
.band-stat:last-child { border-right: 0; }
.band-stat strong { font-family: Georgia, serif; font-size: 33px; font-weight: 500; color: var(--accent); }
.band-stat span { max-width: 150px; font-size: 11px; line-height: 1.45; color: #bbbdb3; }

.section { padding: clamp(80px, 10vw, 140px) 0; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 46px; }
.section-head h2 { margin: 0; max-width: 760px; font-family: Georgia, "Noto Serif SC", serif; font-size: clamp(40px, 5.3vw, 72px); font-weight: 480; line-height: 1.02; letter-spacing: -.045em; }
.section-head p { max-width: 430px; margin: 0; color: var(--muted); line-height: 1.7; font-size: 14px; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.product-card { min-height: 430px; padding: 28px; border: 1px solid var(--line-dark); background: var(--surface); display: flex; flex-direction: column; text-decoration: none; position: relative; overflow: hidden; transition: transform .22s, box-shadow .22s, border-color .22s; }
.product-card::before { content: ""; position: absolute; width: 170px; height: 170px; border-radius: 50%; background: var(--card-accent); right: -80px; top: -95px; transition: transform .3s; }
.product-card:hover { transform: translateY(-7px); border-color: var(--ink); box-shadow: var(--shadow); }
.product-card:hover::before { transform: scale(1.15); }
.card-top { display: flex; align-items: flex-start; justify-content: space-between; position: relative; }
.card-index { color: var(--muted); font-family: ui-monospace, monospace; font-size: 11px; }
.card-icon { width: 45px; height: 45px; border: 1px solid var(--ink); display: grid; place-content: center; background: var(--card-accent); font-weight: 850; font-size: 12px; transform: rotate(3deg); }
.product-card h3 { margin: 60px 0 9px; font-family: Georgia, serif; font-size: 36px; font-weight: 520; letter-spacing: -.04em; }
.product-card .tagline { margin: 0; font-size: 15px; font-weight: 690; }
.product-card .description { margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.card-bottom { margin-top: auto; padding-top: 28px; display: flex; justify-content: space-between; align-items: flex-end; border-top: 1px solid var(--line); }
.card-bottom small { color: var(--muted); display: block; margin-bottom: 5px; }
.card-bottom strong { font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.circle-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--ink); display: grid; place-content: center; font-size: 19px; }

.business-section { background: #dedcd2; }
.business-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: start; }
.business-copy h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(44px, 5vw, 72px); font-weight: 480; line-height: 1; letter-spacing: -.045em; }
.business-copy > p { max-width: 650px; color: #5f615a; line-height: 1.8; font-size: 15px; margin: 25px 0 35px; }
.business-steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #aaa99f; }
.business-step { padding: 21px 18px 0 0; }
.business-step b { font-family: ui-monospace, monospace; font-size: 11px; }
.business-step h3 { margin: 14px 0 7px; font-size: 14px; }
.business-step p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.pilot-card { border: 1px solid var(--ink); padding: 28px; background: var(--accent); box-shadow: 10px 10px 0 var(--ink); }
.pilot-card > span { font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.pilot-card h3 { margin: 24px 0 8px; font-family: Georgia, serif; font-size: 34px; font-weight: 500; }
.pilot-card > p { line-height: 1.65; font-size: 13px; }
.pilot-list { list-style: none; padding: 0; margin: 24px 0; border-top: 1px solid rgba(0,0,0,.24); }
.pilot-list li { padding: 13px 0; border-bottom: 1px solid rgba(0,0,0,.24); display: flex; justify-content: space-between; font-size: 12px; font-weight: 650; }
.pilot-card .btn { width: 100%; background: var(--ink); color: white; }

.security-strip { padding: 60px 0; }
.security-grid { border: 1px solid var(--line-dark); background: var(--surface); display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); }
.security-intro, .security-item { padding: 28px; }
.security-item { border-left: 1px solid var(--line); }
.security-intro h2 { margin: 8px 0 0; font-family: Georgia, serif; font-size: 31px; font-weight: 500; }
.security-item b { display: block; font-size: 12px; margin-bottom: 9px; }
.security-item p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.security-icon { width: 27px; height: 27px; border: 1px solid var(--ink); border-radius: 50%; display: grid; place-content: center; margin-bottom: 22px; font-size: 11px; background: var(--accent); }

/* Product workspace */
.workspace-shell { width: min(1540px, 100%); margin: 0 auto; }
.product-banner { background: var(--product-dark); color: white; min-height: 310px; padding: 56px clamp(22px, 5vw, 76px) 44px; position: relative; overflow: hidden; }
.product-banner::after { content: attr(data-icon); position: absolute; right: 2vw; bottom: -92px; font-family: Georgia, serif; font-size: clamp(180px, 24vw, 370px); font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.13); pointer-events: none; }
.product-banner .eyebrow { color: rgba(255,255,255,.65); }
.banner-content { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.banner-copy h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(46px, 5.25vw, 76px); font-weight: 480; letter-spacing: -.055em; line-height: .97; text-wrap: balance; }
.banner-copy p { max-width: 700px; margin: 19px 0 0; color: rgba(255,255,255,.7); line-height: 1.7; font-size: 15px; }
.banner-value { width: 280px; border-top: 1px solid rgba(255,255,255,.35); padding-top: 14px; }
.banner-value small { display: block; color: rgba(255,255,255,.55); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 7px; }
.banner-value strong { color: var(--accent); font-family: Georgia, serif; font-size: 23px; font-weight: 500; line-height: 1.2; }
.suite-tabs { display: flex; padding: 0 clamp(22px, 5vw, 76px); background: var(--surface); border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.suite-tab { min-width: max-content; padding: 18px 24px; border: 0; border-right: 1px solid var(--line); background: transparent; text-decoration: none; font-size: 12px; font-weight: 700; color: var(--muted); }
.suite-tab:first-child { border-left: 1px solid var(--line); }
.suite-tab.active { color: var(--ink); background: var(--accent-soft); box-shadow: inset 0 -3px 0 var(--accent); }
.suite-tab span { display: inline-grid; place-content: center; width: 22px; height: 22px; margin-right: 8px; border-radius: 50%; background: var(--ink); color: white; font-size: 8px; }

.work-area { padding: 28px clamp(14px, 3vw, 44px) 90px; display: grid; grid-template-columns: minmax(340px, 420px) minmax(0, 1fr); gap: 22px; align-items: start; }
.panel { border: 1px solid var(--line-dark); background: var(--surface); box-shadow: 0 8px 25px rgba(30,30,24,.04); }
.panel-head { padding: 20px 22px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.panel-head h2, .panel-head h3 { margin: 0; font-size: 14px; }
.panel-head p { margin: 4px 0 0; font-size: 11px; color: var(--muted); }
.input-panel { position: sticky; top: 91px; }
.mode-switch { display: grid; grid-template-columns: 1fr 1fr; background: #e8e6dc; border: 1px solid var(--line); padding: 3px; border-radius: 8px; }
.mode-switch button { min-height: 32px; border: 0; border-radius: 5px; background: transparent; font-size: 10px; font-weight: 760; cursor: pointer; color: var(--muted); }
.mode-switch button.active { background: white; color: var(--ink); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.mode-switch button:disabled { opacity: .4; cursor: not-allowed; }
.input-form { padding: 20px 22px 23px; }
.field { margin-bottom: 20px; }
.field-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.field label { font-size: 12px; font-weight: 720; }
.field-required { color: var(--danger); margin-left: 3px; }
.file-trigger { font-size: 9px; font-weight: 700; color: var(--muted); cursor: pointer; padding: 3px 6px; border: 1px solid var(--line); border-radius: 4px; }
.file-trigger:hover { color: var(--ink); border-color: var(--ink); }
.file-trigger input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.field input[type="text"], .field textarea, .field select { width: 100%; border: 1px solid var(--line-dark); border-radius: 6px; background: white; color: var(--ink); padding: 11px 12px; font-size: 12px; line-height: 1.55; transition: border .15s, box-shadow .15s; }
.field textarea { min-height: 116px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px var(--accent-soft); }
.field-help { margin: 6px 0 0; display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; line-height: 1.45; }
.field-error { margin: 5px 0 0; color: var(--danger); font-size: 10px; font-weight: 650; }
.form-actions { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding-top: 4px; }
.form-actions .btn-primary { width: 100%; }
.privacy-note { margin: 13px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; display: flex; gap: 7px; }
.privacy-note::before { content: "◆"; color: var(--good); font-size: 8px; margin-top: 2px; }
.history-block { border-top: 1px solid var(--line); padding: 17px 22px; }
.history-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }
.history-title b { font-size: 11px; }
.history-title span { color: var(--muted); font-size: 9px; }
.history-list { display: grid; gap: 7px; }
.history-empty { margin: 0; color: var(--muted); font-size: 10px; }
.history-item { display: grid; grid-template-columns: 1fr auto; gap: 8px; border: 1px solid var(--line); background: white; padding: 9px 10px; border-radius: 5px; }
.history-open { border: 0; background: transparent; text-align: left; padding: 0; cursor: pointer; min-width: 0; }
.history-open b, .history-open span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-open b { font-size: 10px; }
.history-open span { color: var(--muted); font-size: 8px; margin-top: 3px; }
.history-delete { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 14px; }

.result-panel { min-height: 720px; }
.result-toolbar { padding: 16px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 15px; align-items: center; }
.result-toolbar-left { display: flex; align-items: center; gap: 10px; }
.result-toolbar-left b { font-size: 11px; }
.result-mode { font-size: 9px; padding: 4px 7px; border-radius: 99px; color: #6e5b18; background: #f2e8b9; border: 1px solid #dacb8e; font-weight: 760; }
.result-mode.live { color: #145846; background: #dcefe8; border-color: #afd4c7; }
.result-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.tool-btn { min-height: 31px; border: 1px solid var(--line); border-radius: 5px; padding: 0 9px; background: white; font-size: 9px; font-weight: 720; cursor: pointer; }
.tool-btn:hover { border-color: var(--ink); }
.empty-result { min-height: 650px; display: grid; place-content: center; padding: 50px; text-align: center; position: relative; overflow: hidden; }
.empty-result::before { content: ""; width: 370px; height: 370px; border: 1px solid var(--line); border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 54px rgba(210,208,198,.22), 0 0 0 108px rgba(210,208,198,.12); }
.empty-icon { width: 76px; height: 76px; margin: 0 auto 25px; display: grid; place-content: center; background: var(--product-dark); color: var(--accent); border-radius: 50%; font-family: Georgia, serif; font-size: 22px; position: relative; }
.empty-result h2, .empty-result p, .empty-result ul { position: relative; }
.empty-result h2 { margin: 0; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.empty-result p { margin: 11px auto 20px; max-width: 440px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.empty-result ul { margin: 0 auto; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.empty-result li { padding: 6px 9px; border: 1px solid var(--line); border-radius: 99px; background: var(--surface); font-size: 9px; }
.analyzing { min-height: 650px; display: grid; place-content: center; text-align: center; }
.scan-orbit { width: 112px; height: 112px; border: 1px solid var(--line-dark); border-radius: 50%; margin: 0 auto 27px; position: relative; display: grid; place-content: center; }
.scan-orbit::before { content: ""; position: absolute; inset: -1px; border-radius: 50%; border: 2px solid transparent; border-top-color: var(--accent); border-right-color: var(--product-dark); animation: spin 1.4s linear infinite; }
.scan-orbit span { font-family: ui-monospace, monospace; font-weight: 800; font-size: 13px; }
.analyzing h2 { margin: 0; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.analyzing p { color: var(--muted); font-size: 11px; }
.progress-steps { width: min(420px, 75vw); margin-top: 25px; display: grid; gap: 8px; }
.progress-step { display: flex; gap: 10px; align-items: center; color: #a0a197; font-size: 10px; text-align: left; }
.progress-step i { width: 8px; height: 8px; border-radius: 50%; background: #d1d0c8; }
.progress-step.active { color: var(--ink); font-weight: 700; }
.progress-step.active i { background: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }

.report { padding: clamp(22px, 4vw, 48px); }
.report-head { display: grid; grid-template-columns: 1fr auto; gap: 30px; padding-bottom: 32px; border-bottom: 1px solid var(--line-dark); }
.report-kicker { font-size: 10px; font-weight: 800; letter-spacing: .12em; color: var(--muted); }
.report h2 { margin: 12px 0 10px; max-width: 800px; font-family: Georgia, serif; font-size: clamp(31px, 4vw, 52px); font-weight: 500; line-height: 1.03; letter-spacing: -.04em; }
.report-verdict { margin: 0; max-width: 730px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.confidence-ring { --score: 0deg; width: 100px; height: 100px; border-radius: 50%; background: conic-gradient(var(--accent) var(--score), #dfded6 0); display: grid; place-content: center; position: relative; }
.confidence-ring::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: var(--surface); }
.confidence-ring strong, .confidence-ring small { position: relative; text-align: center; display: block; }
.confidence-ring strong { font-family: Georgia, serif; font-size: 25px; }
.confidence-ring small { color: var(--muted); font-size: 8px; margin-top: 2px; }
.summary-box { margin: 25px 0; padding: 18px 20px; border-left: 4px solid var(--accent); background: var(--accent-soft); }
.summary-box b { display: block; margin-bottom: 7px; font-size: 10px; letter-spacing: .08em; }
.summary-box p { margin: 0; font-size: 12px; line-height: 1.7; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); border: 1px solid var(--line); margin-bottom: 34px; }
.metric { min-height: 95px; padding: 17px; border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric span { display: block; color: var(--muted); font-size: 9px; margin-bottom: 13px; }
.metric strong { font-family: Georgia, serif; font-size: 21px; font-weight: 500; }
.metric.danger strong { color: var(--danger); }
.metric.warn strong { color: var(--warn); }
.metric.good strong { color: var(--good); }
.report-section { margin-top: 34px; }
.report-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; }
.report-section-head h3 { margin: 0; font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.report-section-head span { color: var(--muted); font-size: 9px; }
.finding-list { display: grid; gap: 9px; }
.finding { border: 1px solid var(--line); background: white; }
.finding summary { list-style: none; cursor: pointer; padding: 15px 17px; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; }
.finding summary::-webkit-details-marker { display: none; }
.severity { min-width: 59px; padding: 4px 6px; border-radius: 4px; text-align: center; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.severity.critical { background: #f1d5cf; color: #972f1c; }
.severity.high { background: #f5dfca; color: #95500e; }
.severity.medium { background: #eee8c9; color: #74640c; }
.severity.low { background: #dcece6; color: #1b6250; }
.finding-title { min-width: 0; }
.finding-title b { display: block; font-size: 12px; }
.finding-title span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.finding-chevron { font-size: 15px; transition: transform .15s; }
.finding[open] .finding-chevron { transform: rotate(45deg); }
.finding-body { display: grid; grid-template-columns: 1.1fr .9fr; border-top: 1px solid var(--line); }
.evidence, .impact-action { padding: 17px; }
.impact-action { background: #f3f2ec; border-left: 1px solid var(--line); }
.finding-body h4 { margin: 0 0 7px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.finding-body p { margin: 0; font-size: 11px; line-height: 1.65; }
.finding-body h4:not(:first-child) { margin-top: 15px; }
.checklist { width: 100%; border-collapse: collapse; border: 1px solid var(--line); background: white; }
.checklist th, .checklist td { padding: 12px 13px; text-align: left; border-bottom: 1px solid var(--line); font-size: 10px; }
.checklist th { color: var(--muted); background: #f0efe8; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.checklist tr:last-child td { border-bottom: 0; }
.priority { font-family: ui-monospace, monospace; font-weight: 800; }
.status { font-size: 8px; border-radius: 99px; padding: 4px 7px; background: #e8e7df; white-space: nowrap; }
.status.ready { background: #dcece6; color: #1b6250; }
.status.blocked { background: #f1d5cf; color: #972f1c; }
.draft-card { border: 1px solid var(--ink); background: var(--product-dark); color: white; }
.draft-head { padding: 15px 17px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,.15); }
.draft-head h3 { margin: 0; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.draft-head button { color: white; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.draft-body { margin: 0; padding: 20px; white-space: pre-wrap; word-break: break-word; color: #e5e5dd; font: 11px/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; }
.disclaimer { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.65; }
.report-error { margin: 18px; padding: 22px; border: 1px solid #d7a89d; background: #f8e8e4; }
.report-error b { display: block; color: #8e2e1c; margin-bottom: 8px; }
.report-error p { margin: 0; font-size: 12px; line-height: 1.6; }

.workspace-commercial { padding: 0 clamp(14px, 3vw, 44px) 110px; }
.commercial-card { background: var(--product-dark); color: white; padding: clamp(28px, 5vw, 60px); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; position: relative; overflow: hidden; }
.commercial-card::after { content: ""; position: absolute; width: 240px; height: 240px; right: -90px; top: -110px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.035), 0 0 0 90px rgba(255,255,255,.025); }
.commercial-card .eyebrow { color: rgba(255,255,255,.6); }
.commercial-card h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(35px, 4.5vw, 57px); font-weight: 500; letter-spacing: -.04em; }
.commercial-card p { max-width: 650px; color: rgba(255,255,255,.66); line-height: 1.7; font-size: 12px; }
.price-block { min-width: 260px; position: relative; z-index: 1; border: 1px solid rgba(255,255,255,.25); padding: 23px; background: rgba(255,255,255,.06); }
.price-block small { color: rgba(255,255,255,.6); }
.price { margin: 9px 0 4px; display: flex; align-items: baseline; gap: 4px; }
.price strong { color: var(--accent); font-family: Georgia, serif; font-size: 43px; font-weight: 500; }
.price span { color: rgba(255,255,255,.55); font-size: 11px; }
.price-block ul { padding: 0; margin: 20px 0; list-style: none; }
.price-block li { padding: 8px 0; border-top: 1px solid rgba(255,255,255,.13); font-size: 10px; }
.price-block li::before { content: "✓"; color: var(--accent); margin-right: 7px; }
.price-block .btn { width: 100%; background: var(--accent); color: var(--ink); border-color: var(--accent); box-shadow: none; }

.footer { padding: 46px clamp(22px, 5vw, 72px); border-top: 1px solid var(--line); background: #e5e3da; display: grid; grid-template-columns: 1fr auto; gap: 25px; align-items: end; }
.footer p { margin: 11px 0 0; color: var(--muted); font-size: 11px; }
.footer-meta { display: flex; gap: 16px; color: var(--muted); font-size: 9px; }
.footer-meta span::before { content: "•"; color: var(--good); margin-right: 6px; }
.copyright { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--line); }

.toast { position: fixed; z-index: 80; right: 24px; bottom: 24px; max-width: 360px; padding: 13px 16px; border-radius: 7px; background: var(--ink); color: white; font-size: 11px; line-height: 1.5; box-shadow: 0 12px 35px rgba(0,0,0,.22); opacity: 0; transform: translateY(18px); pointer-events: none; transition: opacity .2s, transform .2s; }
.toast.show { opacity: 1; transform: translateY(0); }
.loading-shell { width: min(1420px, calc(100% - 40px)); margin: 0 auto; padding-top: 130px; }
.skeleton { background: linear-gradient(90deg, #dedcd2 25%, #ebe9e1 50%, #dedcd2 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; border-radius: 5px; }
.skeleton-kicker { width: 160px; height: 14px; }
.skeleton-title { width: min(850px, 90%); height: 150px; margin-top: 30px; }
.skeleton-line { width: min(570px, 70%); height: 45px; margin-top: 32px; }
.skeleton-grid { width: 100%; height: 260px; margin-top: 70px; }

@keyframes shimmer { to { background-position: -200% 0; } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1050px) {
  .home-hero { grid-template-columns: 1fr; }
  .proof-board { max-width: 570px; margin-left: auto; margin-right: 10px; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .product-card:last-child { grid-column: span 2; min-height: 320px; }
  .business-grid { grid-template-columns: 1fr; }
  .work-area { grid-template-columns: 360px minmax(0, 1fr); }
  .finding-body { grid-template-columns: 1fr; }
  .impact-action { border-left: 0; border-top: 1px solid var(--line); }
  .security-grid { grid-template-columns: 1fr 1fr; }
  .security-item:nth-child(odd) { border-left: 0; }
  .security-item { border-top: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .topbar { grid-template-columns: 1fr auto; }
  .topnav { display: none; }
  .home-hero { min-height: 0; padding-top: 80px; }
  .home-band .shell { grid-template-columns: 1fr; }
  .band-stat { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); padding: 16px 0; }
  .band-stat:last-child { border-bottom: 0; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card:last-child { grid-column: auto; min-height: 430px; }
  .banner-content { grid-template-columns: 1fr; }
  .banner-value { width: min(100%, 420px); }
  .work-area { grid-template-columns: 1fr; }
  .input-panel { position: static; }
  .result-panel { min-height: 600px; }
  .commercial-card { grid-template-columns: 1fr; }
  .price-block { width: 100%; }
  .footer { grid-template-columns: 1fr; }
  .footer-meta { flex-wrap: wrap; }
}

@media (max-width: 560px) {
  .topbar { height: 64px; padding: 0 16px; }
  .service-status span:last-child { display: none; }
  .shell { width: min(100% - 28px, 1420px); }
  .home-copy h1 { font-size: 52px; }
  .proof-board { margin-right: 3px; box-shadow: 8px 8px 0 var(--product-dark); }
  .section { padding: 75px 0; }
  .product-card { padding: 23px; }
  .business-steps { grid-template-columns: 1fr; }
  .business-step { border-bottom: 1px solid #aaa99f; }
  .security-grid { grid-template-columns: 1fr; }
  .security-item { border-left: 0; }
  .product-banner { padding-top: 42px; }
  .suite-tabs { padding: 0; }
  .work-area { padding: 14px 10px 65px; }
  .panel-head, .input-form { padding-left: 16px; padding-right: 16px; }
  .result-toolbar { align-items: flex-start; flex-direction: column; }
  .report { padding: 20px 15px; }
  .report-head { grid-template-columns: 1fr; }
  .confidence-ring { width: 84px; height: 84px; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric:nth-child(2n) { border-right: 0; }
  .finding summary { grid-template-columns: auto 1fr; }
  .finding-chevron { display: none; }
  .checklist th:nth-child(3), .checklist td:nth-child(3) { display: none; }
  .workspace-commercial { padding: 0 10px 75px; }
  .commercial-card { padding: 30px 22px; }
  .footer { padding: 38px 20px; }
}

@media print {
  .topbar, .footer, .input-panel, .suite-tabs, .result-toolbar, .workspace-commercial, .toast { display: none !important; }
  body, :root { background: white; }
  .product-banner { min-height: auto; padding: 24px; background: white; color: black; border-bottom: 2px solid black; }
  .product-banner p, .product-banner .eyebrow { color: #555; }
  .work-area { display: block; padding: 0; }
  .result-panel { border: 0; box-shadow: none; }
  .report { padding: 24px 0; }
  .finding, .draft-card { break-inside: avoid; }
  .draft-card { background: white; color: black; }
  .draft-body { color: black; }
}

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